xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/aarch64/arm_neon.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2011-2020 Free Software Foundation, Inc.
4    Contributed by ARM Ltd.
5 
6    This file is part of GCC.
7 
8    GCC is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published
10    by the Free Software Foundation; either version 3, or (at your
11    option) any later version.
12 
13    GCC is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17 
18    Under Section 7 of GPL version 3, you are granted additional
19    permissions described in the GCC Runtime Library Exception, version
20    3.1, as published by the Free Software Foundation.
21 
22    You should have received a copy of the GNU General Public License and
23    a copy of the GCC Runtime Library Exception along with this program;
24    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
25    <http://www.gnu.org/licenses/>.  */
26 
27 #ifndef _AARCH64_NEON_H_
28 #define _AARCH64_NEON_H_
29 
30 #pragma GCC push_options
31 #pragma GCC target ("+nothing+simd")
32 
33 #include <stdint.h>
34 
35 #define __AARCH64_UINT64_C(__C) ((uint64_t) __C)
36 #define __AARCH64_INT64_C(__C) ((int64_t) __C)
37 
38 typedef __Int8x8_t int8x8_t;
39 typedef __Int16x4_t int16x4_t;
40 typedef __Int32x2_t int32x2_t;
41 typedef __Int64x1_t int64x1_t;
42 typedef __Float16x4_t float16x4_t;
43 typedef __Float32x2_t float32x2_t;
44 typedef __Poly8x8_t poly8x8_t;
45 typedef __Poly16x4_t poly16x4_t;
46 typedef __Uint8x8_t uint8x8_t;
47 typedef __Uint16x4_t uint16x4_t;
48 typedef __Uint32x2_t uint32x2_t;
49 typedef __Float64x1_t float64x1_t;
50 typedef __Uint64x1_t uint64x1_t;
51 typedef __Int8x16_t int8x16_t;
52 typedef __Int16x8_t int16x8_t;
53 typedef __Int32x4_t int32x4_t;
54 typedef __Int64x2_t int64x2_t;
55 typedef __Float16x8_t float16x8_t;
56 typedef __Float32x4_t float32x4_t;
57 typedef __Float64x2_t float64x2_t;
58 typedef __Poly8x16_t poly8x16_t;
59 typedef __Poly16x8_t poly16x8_t;
60 typedef __Poly64x2_t poly64x2_t;
61 typedef __Poly64x1_t poly64x1_t;
62 typedef __Uint8x16_t uint8x16_t;
63 typedef __Uint16x8_t uint16x8_t;
64 typedef __Uint32x4_t uint32x4_t;
65 typedef __Uint64x2_t uint64x2_t;
66 
67 typedef __Poly8_t poly8_t;
68 typedef __Poly16_t poly16_t;
69 typedef __Poly64_t poly64_t;
70 typedef __Poly128_t poly128_t;
71 
72 typedef __fp16 float16_t;
73 typedef float float32_t;
74 typedef double float64_t;
75 
76 typedef __Bfloat16x4_t bfloat16x4_t;
77 typedef __Bfloat16x8_t bfloat16x8_t;
78 
79 typedef struct bfloat16x4x2_t
80 {
81   bfloat16x4_t val[2];
82 } bfloat16x4x2_t;
83 
84 typedef struct bfloat16x8x2_t
85 {
86   bfloat16x8_t val[2];
87 } bfloat16x8x2_t;
88 
89 typedef struct bfloat16x4x3_t
90 {
91   bfloat16x4_t val[3];
92 } bfloat16x4x3_t;
93 
94 typedef struct bfloat16x8x3_t
95 {
96   bfloat16x8_t val[3];
97 } bfloat16x8x3_t;
98 
99 typedef struct bfloat16x4x4_t
100 {
101   bfloat16x4_t val[4];
102 } bfloat16x4x4_t;
103 
104 typedef struct bfloat16x8x4_t
105 {
106   bfloat16x8_t val[4];
107 } bfloat16x8x4_t;
108 
109 typedef struct int8x8x2_t
110 {
111   int8x8_t val[2];
112 } int8x8x2_t;
113 
114 typedef struct int8x16x2_t
115 {
116   int8x16_t val[2];
117 } int8x16x2_t;
118 
119 typedef struct int16x4x2_t
120 {
121   int16x4_t val[2];
122 } int16x4x2_t;
123 
124 typedef struct int16x8x2_t
125 {
126   int16x8_t val[2];
127 } int16x8x2_t;
128 
129 typedef struct int32x2x2_t
130 {
131   int32x2_t val[2];
132 } int32x2x2_t;
133 
134 typedef struct int32x4x2_t
135 {
136   int32x4_t val[2];
137 } int32x4x2_t;
138 
139 typedef struct int64x1x2_t
140 {
141   int64x1_t val[2];
142 } int64x1x2_t;
143 
144 typedef struct int64x2x2_t
145 {
146   int64x2_t val[2];
147 } int64x2x2_t;
148 
149 typedef struct uint8x8x2_t
150 {
151   uint8x8_t val[2];
152 } uint8x8x2_t;
153 
154 typedef struct uint8x16x2_t
155 {
156   uint8x16_t val[2];
157 } uint8x16x2_t;
158 
159 typedef struct uint16x4x2_t
160 {
161   uint16x4_t val[2];
162 } uint16x4x2_t;
163 
164 typedef struct uint16x8x2_t
165 {
166   uint16x8_t val[2];
167 } uint16x8x2_t;
168 
169 typedef struct uint32x2x2_t
170 {
171   uint32x2_t val[2];
172 } uint32x2x2_t;
173 
174 typedef struct uint32x4x2_t
175 {
176   uint32x4_t val[2];
177 } uint32x4x2_t;
178 
179 typedef struct uint64x1x2_t
180 {
181   uint64x1_t val[2];
182 } uint64x1x2_t;
183 
184 typedef struct uint64x2x2_t
185 {
186   uint64x2_t val[2];
187 } uint64x2x2_t;
188 
189 typedef struct float16x4x2_t
190 {
191   float16x4_t val[2];
192 } float16x4x2_t;
193 
194 typedef struct float16x8x2_t
195 {
196   float16x8_t val[2];
197 } float16x8x2_t;
198 
199 typedef struct float32x2x2_t
200 {
201   float32x2_t val[2];
202 } float32x2x2_t;
203 
204 typedef struct float32x4x2_t
205 {
206   float32x4_t val[2];
207 } float32x4x2_t;
208 
209 typedef struct float64x2x2_t
210 {
211   float64x2_t val[2];
212 } float64x2x2_t;
213 
214 typedef struct float64x1x2_t
215 {
216   float64x1_t val[2];
217 } float64x1x2_t;
218 
219 typedef struct poly8x8x2_t
220 {
221   poly8x8_t val[2];
222 } poly8x8x2_t;
223 
224 typedef struct poly8x16x2_t
225 {
226   poly8x16_t val[2];
227 } poly8x16x2_t;
228 
229 typedef struct poly16x4x2_t
230 {
231   poly16x4_t val[2];
232 } poly16x4x2_t;
233 
234 typedef struct poly16x8x2_t
235 {
236   poly16x8_t val[2];
237 } poly16x8x2_t;
238 
239 typedef struct poly64x1x2_t
240 {
241   poly64x1_t val[2];
242 } poly64x1x2_t;
243 
244 typedef struct poly64x1x3_t
245 {
246   poly64x1_t val[3];
247 } poly64x1x3_t;
248 
249 typedef struct poly64x1x4_t
250 {
251   poly64x1_t val[4];
252 } poly64x1x4_t;
253 
254 typedef struct poly64x2x2_t
255 {
256   poly64x2_t val[2];
257 } poly64x2x2_t;
258 
259 typedef struct poly64x2x3_t
260 {
261   poly64x2_t val[3];
262 } poly64x2x3_t;
263 
264 typedef struct poly64x2x4_t
265 {
266   poly64x2_t val[4];
267 } poly64x2x4_t;
268 
269 typedef struct int8x8x3_t
270 {
271   int8x8_t val[3];
272 } int8x8x3_t;
273 
274 typedef struct int8x16x3_t
275 {
276   int8x16_t val[3];
277 } int8x16x3_t;
278 
279 typedef struct int16x4x3_t
280 {
281   int16x4_t val[3];
282 } int16x4x3_t;
283 
284 typedef struct int16x8x3_t
285 {
286   int16x8_t val[3];
287 } int16x8x3_t;
288 
289 typedef struct int32x2x3_t
290 {
291   int32x2_t val[3];
292 } int32x2x3_t;
293 
294 typedef struct int32x4x3_t
295 {
296   int32x4_t val[3];
297 } int32x4x3_t;
298 
299 typedef struct int64x1x3_t
300 {
301   int64x1_t val[3];
302 } int64x1x3_t;
303 
304 typedef struct int64x2x3_t
305 {
306   int64x2_t val[3];
307 } int64x2x3_t;
308 
309 typedef struct uint8x8x3_t
310 {
311   uint8x8_t val[3];
312 } uint8x8x3_t;
313 
314 typedef struct uint8x16x3_t
315 {
316   uint8x16_t val[3];
317 } uint8x16x3_t;
318 
319 typedef struct uint16x4x3_t
320 {
321   uint16x4_t val[3];
322 } uint16x4x3_t;
323 
324 typedef struct uint16x8x3_t
325 {
326   uint16x8_t val[3];
327 } uint16x8x3_t;
328 
329 typedef struct uint32x2x3_t
330 {
331   uint32x2_t val[3];
332 } uint32x2x3_t;
333 
334 typedef struct uint32x4x3_t
335 {
336   uint32x4_t val[3];
337 } uint32x4x3_t;
338 
339 typedef struct uint64x1x3_t
340 {
341   uint64x1_t val[3];
342 } uint64x1x3_t;
343 
344 typedef struct uint64x2x3_t
345 {
346   uint64x2_t val[3];
347 } uint64x2x3_t;
348 
349 typedef struct float16x4x3_t
350 {
351   float16x4_t val[3];
352 } float16x4x3_t;
353 
354 typedef struct float16x8x3_t
355 {
356   float16x8_t val[3];
357 } float16x8x3_t;
358 
359 typedef struct float32x2x3_t
360 {
361   float32x2_t val[3];
362 } float32x2x3_t;
363 
364 typedef struct float32x4x3_t
365 {
366   float32x4_t val[3];
367 } float32x4x3_t;
368 
369 typedef struct float64x2x3_t
370 {
371   float64x2_t val[3];
372 } float64x2x3_t;
373 
374 typedef struct float64x1x3_t
375 {
376   float64x1_t val[3];
377 } float64x1x3_t;
378 
379 typedef struct poly8x8x3_t
380 {
381   poly8x8_t val[3];
382 } poly8x8x3_t;
383 
384 typedef struct poly8x16x3_t
385 {
386   poly8x16_t val[3];
387 } poly8x16x3_t;
388 
389 typedef struct poly16x4x3_t
390 {
391   poly16x4_t val[3];
392 } poly16x4x3_t;
393 
394 typedef struct poly16x8x3_t
395 {
396   poly16x8_t val[3];
397 } poly16x8x3_t;
398 
399 typedef struct int8x8x4_t
400 {
401   int8x8_t val[4];
402 } int8x8x4_t;
403 
404 typedef struct int8x16x4_t
405 {
406   int8x16_t val[4];
407 } int8x16x4_t;
408 
409 typedef struct int16x4x4_t
410 {
411   int16x4_t val[4];
412 } int16x4x4_t;
413 
414 typedef struct int16x8x4_t
415 {
416   int16x8_t val[4];
417 } int16x8x4_t;
418 
419 typedef struct int32x2x4_t
420 {
421   int32x2_t val[4];
422 } int32x2x4_t;
423 
424 typedef struct int32x4x4_t
425 {
426   int32x4_t val[4];
427 } int32x4x4_t;
428 
429 typedef struct int64x1x4_t
430 {
431   int64x1_t val[4];
432 } int64x1x4_t;
433 
434 typedef struct int64x2x4_t
435 {
436   int64x2_t val[4];
437 } int64x2x4_t;
438 
439 typedef struct uint8x8x4_t
440 {
441   uint8x8_t val[4];
442 } uint8x8x4_t;
443 
444 typedef struct uint8x16x4_t
445 {
446   uint8x16_t val[4];
447 } uint8x16x4_t;
448 
449 typedef struct uint16x4x4_t
450 {
451   uint16x4_t val[4];
452 } uint16x4x4_t;
453 
454 typedef struct uint16x8x4_t
455 {
456   uint16x8_t val[4];
457 } uint16x8x4_t;
458 
459 typedef struct uint32x2x4_t
460 {
461   uint32x2_t val[4];
462 } uint32x2x4_t;
463 
464 typedef struct uint32x4x4_t
465 {
466   uint32x4_t val[4];
467 } uint32x4x4_t;
468 
469 typedef struct uint64x1x4_t
470 {
471   uint64x1_t val[4];
472 } uint64x1x4_t;
473 
474 typedef struct uint64x2x4_t
475 {
476   uint64x2_t val[4];
477 } uint64x2x4_t;
478 
479 typedef struct float16x4x4_t
480 {
481   float16x4_t val[4];
482 } float16x4x4_t;
483 
484 typedef struct float16x8x4_t
485 {
486   float16x8_t val[4];
487 } float16x8x4_t;
488 
489 typedef struct float32x2x4_t
490 {
491   float32x2_t val[4];
492 } float32x2x4_t;
493 
494 typedef struct float32x4x4_t
495 {
496   float32x4_t val[4];
497 } float32x4x4_t;
498 
499 typedef struct float64x2x4_t
500 {
501   float64x2_t val[4];
502 } float64x2x4_t;
503 
504 typedef struct float64x1x4_t
505 {
506   float64x1_t val[4];
507 } float64x1x4_t;
508 
509 typedef struct poly8x8x4_t
510 {
511   poly8x8_t val[4];
512 } poly8x8x4_t;
513 
514 typedef struct poly8x16x4_t
515 {
516   poly8x16_t val[4];
517 } poly8x16x4_t;
518 
519 typedef struct poly16x4x4_t
520 {
521   poly16x4_t val[4];
522 } poly16x4x4_t;
523 
524 typedef struct poly16x8x4_t
525 {
526   poly16x8_t val[4];
527 } poly16x8x4_t;
528 
529 /* __aarch64_vdup_lane internal macros.  */
530 #define __aarch64_vdup_lane_any(__size, __q, __a, __b) \
531   vdup##__q##_n_##__size (__aarch64_vget_lane_any (__a, __b))
532 
533 #define __aarch64_vdup_lane_f16(__a, __b) \
534    __aarch64_vdup_lane_any (f16, , __a, __b)
535 #define __aarch64_vdup_lane_f32(__a, __b) \
536    __aarch64_vdup_lane_any (f32, , __a, __b)
537 #define __aarch64_vdup_lane_f64(__a, __b) \
538    __aarch64_vdup_lane_any (f64, , __a, __b)
539 #define __aarch64_vdup_lane_p8(__a, __b) \
540    __aarch64_vdup_lane_any (p8, , __a, __b)
541 #define __aarch64_vdup_lane_p16(__a, __b) \
542    __aarch64_vdup_lane_any (p16, , __a, __b)
543 #define __aarch64_vdup_lane_p64(__a, __b) \
544    __aarch64_vdup_lane_any (p64, , __a, __b)
545 #define __aarch64_vdup_lane_s8(__a, __b) \
546    __aarch64_vdup_lane_any (s8, , __a, __b)
547 #define __aarch64_vdup_lane_s16(__a, __b) \
548    __aarch64_vdup_lane_any (s16, , __a, __b)
549 #define __aarch64_vdup_lane_s32(__a, __b) \
550    __aarch64_vdup_lane_any (s32, , __a, __b)
551 #define __aarch64_vdup_lane_s64(__a, __b) \
552   __aarch64_vdup_lane_any (s64, , __a, __b)
553 #define __aarch64_vdup_lane_u8(__a, __b) \
554    __aarch64_vdup_lane_any (u8, , __a, __b)
555 #define __aarch64_vdup_lane_u16(__a, __b) \
556    __aarch64_vdup_lane_any (u16, , __a, __b)
557 #define __aarch64_vdup_lane_u32(__a, __b) \
558    __aarch64_vdup_lane_any (u32, , __a, __b)
559 #define __aarch64_vdup_lane_u64(__a, __b) \
560    __aarch64_vdup_lane_any (u64, , __a, __b)
561 
562 /* __aarch64_vdup_laneq internal macros.  */
563 #define __aarch64_vdup_laneq_f16(__a, __b) \
564    __aarch64_vdup_lane_any (f16, , __a, __b)
565 #define __aarch64_vdup_laneq_f32(__a, __b) \
566    __aarch64_vdup_lane_any (f32, , __a, __b)
567 #define __aarch64_vdup_laneq_f64(__a, __b) \
568    __aarch64_vdup_lane_any (f64, , __a, __b)
569 #define __aarch64_vdup_laneq_p8(__a, __b) \
570    __aarch64_vdup_lane_any (p8, , __a, __b)
571 #define __aarch64_vdup_laneq_p16(__a, __b) \
572    __aarch64_vdup_lane_any (p16, , __a, __b)
573 #define __aarch64_vdup_laneq_p64(__a, __b) \
574    __aarch64_vdup_lane_any (p64, , __a, __b)
575 #define __aarch64_vdup_laneq_s8(__a, __b) \
576    __aarch64_vdup_lane_any (s8, , __a, __b)
577 #define __aarch64_vdup_laneq_s16(__a, __b) \
578    __aarch64_vdup_lane_any (s16, , __a, __b)
579 #define __aarch64_vdup_laneq_s32(__a, __b) \
580    __aarch64_vdup_lane_any (s32, , __a, __b)
581 #define __aarch64_vdup_laneq_s64(__a, __b) \
582    __aarch64_vdup_lane_any (s64, , __a, __b)
583 #define __aarch64_vdup_laneq_u8(__a, __b) \
584    __aarch64_vdup_lane_any (u8, , __a, __b)
585 #define __aarch64_vdup_laneq_u16(__a, __b) \
586    __aarch64_vdup_lane_any (u16, , __a, __b)
587 #define __aarch64_vdup_laneq_u32(__a, __b) \
588    __aarch64_vdup_lane_any (u32, , __a, __b)
589 #define __aarch64_vdup_laneq_u64(__a, __b) \
590    __aarch64_vdup_lane_any (u64, , __a, __b)
591 
592 /* __aarch64_vdupq_lane internal macros.  */
593 #define __aarch64_vdupq_lane_f16(__a, __b) \
594    __aarch64_vdup_lane_any (f16, q, __a, __b)
595 #define __aarch64_vdupq_lane_f32(__a, __b) \
596    __aarch64_vdup_lane_any (f32, q, __a, __b)
597 #define __aarch64_vdupq_lane_f64(__a, __b) \
598    __aarch64_vdup_lane_any (f64, q, __a, __b)
599 #define __aarch64_vdupq_lane_p8(__a, __b) \
600    __aarch64_vdup_lane_any (p8, q, __a, __b)
601 #define __aarch64_vdupq_lane_p16(__a, __b) \
602    __aarch64_vdup_lane_any (p16, q, __a, __b)
603 #define __aarch64_vdupq_lane_p64(__a, __b) \
604    __aarch64_vdup_lane_any (p64, q, __a, __b)
605 #define __aarch64_vdupq_lane_s8(__a, __b) \
606    __aarch64_vdup_lane_any (s8, q, __a, __b)
607 #define __aarch64_vdupq_lane_s16(__a, __b) \
608    __aarch64_vdup_lane_any (s16, q, __a, __b)
609 #define __aarch64_vdupq_lane_s32(__a, __b) \
610    __aarch64_vdup_lane_any (s32, q, __a, __b)
611 #define __aarch64_vdupq_lane_s64(__a, __b) \
612    __aarch64_vdup_lane_any (s64, q, __a, __b)
613 #define __aarch64_vdupq_lane_u8(__a, __b) \
614    __aarch64_vdup_lane_any (u8, q, __a, __b)
615 #define __aarch64_vdupq_lane_u16(__a, __b) \
616    __aarch64_vdup_lane_any (u16, q, __a, __b)
617 #define __aarch64_vdupq_lane_u32(__a, __b) \
618    __aarch64_vdup_lane_any (u32, q, __a, __b)
619 #define __aarch64_vdupq_lane_u64(__a, __b) \
620    __aarch64_vdup_lane_any (u64, q, __a, __b)
621 
622 /* __aarch64_vdupq_laneq internal macros.  */
623 #define __aarch64_vdupq_laneq_f16(__a, __b) \
624    __aarch64_vdup_lane_any (f16, q, __a, __b)
625 #define __aarch64_vdupq_laneq_f32(__a, __b) \
626    __aarch64_vdup_lane_any (f32, q, __a, __b)
627 #define __aarch64_vdupq_laneq_f64(__a, __b) \
628    __aarch64_vdup_lane_any (f64, q, __a, __b)
629 #define __aarch64_vdupq_laneq_p8(__a, __b) \
630    __aarch64_vdup_lane_any (p8, q, __a, __b)
631 #define __aarch64_vdupq_laneq_p16(__a, __b) \
632    __aarch64_vdup_lane_any (p16, q, __a, __b)
633 #define __aarch64_vdupq_laneq_p64(__a, __b) \
634    __aarch64_vdup_lane_any (p64, q, __a, __b)
635 #define __aarch64_vdupq_laneq_s8(__a, __b) \
636    __aarch64_vdup_lane_any (s8, q, __a, __b)
637 #define __aarch64_vdupq_laneq_s16(__a, __b) \
638    __aarch64_vdup_lane_any (s16, q, __a, __b)
639 #define __aarch64_vdupq_laneq_s32(__a, __b) \
640    __aarch64_vdup_lane_any (s32, q, __a, __b)
641 #define __aarch64_vdupq_laneq_s64(__a, __b) \
642    __aarch64_vdup_lane_any (s64, q, __a, __b)
643 #define __aarch64_vdupq_laneq_u8(__a, __b) \
644    __aarch64_vdup_lane_any (u8, q, __a, __b)
645 #define __aarch64_vdupq_laneq_u16(__a, __b) \
646    __aarch64_vdup_lane_any (u16, q, __a, __b)
647 #define __aarch64_vdupq_laneq_u32(__a, __b) \
648    __aarch64_vdup_lane_any (u32, q, __a, __b)
649 #define __aarch64_vdupq_laneq_u64(__a, __b) \
650    __aarch64_vdup_lane_any (u64, q, __a, __b)
651 
652 /* Internal macro for lane indices.  */
653 
654 #define __AARCH64_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
655 #define __AARCH64_LANE_CHECK(__vec, __idx)	\
656 	__builtin_aarch64_im_lane_boundsi (sizeof(__vec), sizeof(__vec[0]), __idx)
657 
658 /* For big-endian, GCC's vector indices are the opposite way around
659    to the architectural lane indices used by Neon intrinsics.  */
660 #ifdef __AARCH64EB__
661 #define __aarch64_lane(__vec, __idx) (__AARCH64_NUM_LANES (__vec) - 1 - __idx)
662 #else
663 #define __aarch64_lane(__vec, __idx) __idx
664 #endif
665 
666 /* vget_lane internal macro.  */
667 #define __aarch64_vget_lane_any(__vec, __index)				\
668   __extension__								\
669   ({									\
670     __AARCH64_LANE_CHECK (__vec, __index);				\
671     __vec[__aarch64_lane (__vec, __index)];				\
672   })
673 
674 /* vset_lane and vld1_lane internal macro.  */
675 #define __aarch64_vset_lane_any(__elem, __vec, __index)			\
676   __extension__								\
677   ({									\
678     __AARCH64_LANE_CHECK (__vec, __index);				\
679     __vec[__aarch64_lane (__vec, __index)] = __elem;			\
680     __vec;								\
681   })
682 
683 /* vadd  */
684 __extension__ extern __inline int8x8_t
685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s8(int8x8_t __a,int8x8_t __b)686 vadd_s8 (int8x8_t __a, int8x8_t __b)
687 {
688   return __a + __b;
689 }
690 
691 __extension__ extern __inline int16x4_t
692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s16(int16x4_t __a,int16x4_t __b)693 vadd_s16 (int16x4_t __a, int16x4_t __b)
694 {
695   return __a + __b;
696 }
697 
698 __extension__ extern __inline int32x2_t
699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s32(int32x2_t __a,int32x2_t __b)700 vadd_s32 (int32x2_t __a, int32x2_t __b)
701 {
702   return __a + __b;
703 }
704 
705 __extension__ extern __inline float32x2_t
706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f32(float32x2_t __a,float32x2_t __b)707 vadd_f32 (float32x2_t __a, float32x2_t __b)
708 {
709   return __a + __b;
710 }
711 
712 __extension__ extern __inline float64x1_t
713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f64(float64x1_t __a,float64x1_t __b)714 vadd_f64 (float64x1_t __a, float64x1_t __b)
715 {
716   return __a + __b;
717 }
718 
719 __extension__ extern __inline uint8x8_t
720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)721 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
722 {
723   return __a + __b;
724 }
725 
726 __extension__ extern __inline uint16x4_t
727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)728 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
729 {
730   return __a + __b;
731 }
732 
733 __extension__ extern __inline uint32x2_t
734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)735 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
736 {
737   return __a + __b;
738 }
739 
740 __extension__ extern __inline int64x1_t
741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s64(int64x1_t __a,int64x1_t __b)742 vadd_s64 (int64x1_t __a, int64x1_t __b)
743 {
744   return __a + __b;
745 }
746 
747 __extension__ extern __inline uint64x1_t
748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)749 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
750 {
751   return __a + __b;
752 }
753 
754 __extension__ extern __inline int8x16_t
755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s8(int8x16_t __a,int8x16_t __b)756 vaddq_s8 (int8x16_t __a, int8x16_t __b)
757 {
758   return __a + __b;
759 }
760 
761 __extension__ extern __inline int16x8_t
762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s16(int16x8_t __a,int16x8_t __b)763 vaddq_s16 (int16x8_t __a, int16x8_t __b)
764 {
765   return __a + __b;
766 }
767 
768 __extension__ extern __inline int32x4_t
769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s32(int32x4_t __a,int32x4_t __b)770 vaddq_s32 (int32x4_t __a, int32x4_t __b)
771 {
772   return __a + __b;
773 }
774 
775 __extension__ extern __inline int64x2_t
776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s64(int64x2_t __a,int64x2_t __b)777 vaddq_s64 (int64x2_t __a, int64x2_t __b)
778 {
779   return __a + __b;
780 }
781 
782 __extension__ extern __inline float32x4_t
783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f32(float32x4_t __a,float32x4_t __b)784 vaddq_f32 (float32x4_t __a, float32x4_t __b)
785 {
786   return __a + __b;
787 }
788 
789 __extension__ extern __inline float64x2_t
790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f64(float64x2_t __a,float64x2_t __b)791 vaddq_f64 (float64x2_t __a, float64x2_t __b)
792 {
793   return __a + __b;
794 }
795 
796 __extension__ extern __inline uint8x16_t
797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)798 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
799 {
800   return __a + __b;
801 }
802 
803 __extension__ extern __inline uint16x8_t
804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)805 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
806 {
807   return __a + __b;
808 }
809 
810 __extension__ extern __inline uint32x4_t
811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)812 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
813 {
814   return __a + __b;
815 }
816 
817 __extension__ extern __inline uint64x2_t
818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)819 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
820 {
821   return __a + __b;
822 }
823 
824 __extension__ extern __inline int16x8_t
825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s8(int8x8_t __a,int8x8_t __b)826 vaddl_s8 (int8x8_t __a, int8x8_t __b)
827 {
828   return (int16x8_t) __builtin_aarch64_saddlv8qi (__a, __b);
829 }
830 
831 __extension__ extern __inline int32x4_t
832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s16(int16x4_t __a,int16x4_t __b)833 vaddl_s16 (int16x4_t __a, int16x4_t __b)
834 {
835   return (int32x4_t) __builtin_aarch64_saddlv4hi (__a, __b);
836 }
837 
838 __extension__ extern __inline int64x2_t
839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s32(int32x2_t __a,int32x2_t __b)840 vaddl_s32 (int32x2_t __a, int32x2_t __b)
841 {
842   return (int64x2_t) __builtin_aarch64_saddlv2si (__a, __b);
843 }
844 
845 __extension__ extern __inline uint16x8_t
846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)847 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
848 {
849   return (uint16x8_t) __builtin_aarch64_uaddlv8qi ((int8x8_t) __a,
850 						   (int8x8_t) __b);
851 }
852 
853 __extension__ extern __inline uint32x4_t
854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)855 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
856 {
857   return (uint32x4_t) __builtin_aarch64_uaddlv4hi ((int16x4_t) __a,
858 						   (int16x4_t) __b);
859 }
860 
861 __extension__ extern __inline uint64x2_t
862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)863 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
864 {
865   return (uint64x2_t) __builtin_aarch64_uaddlv2si ((int32x2_t) __a,
866 						   (int32x2_t) __b);
867 }
868 
869 __extension__ extern __inline int16x8_t
870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s8(int8x16_t __a,int8x16_t __b)871 vaddl_high_s8 (int8x16_t __a, int8x16_t __b)
872 {
873   return (int16x8_t) __builtin_aarch64_saddl2v16qi (__a, __b);
874 }
875 
876 __extension__ extern __inline int32x4_t
877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s16(int16x8_t __a,int16x8_t __b)878 vaddl_high_s16 (int16x8_t __a, int16x8_t __b)
879 {
880   return (int32x4_t) __builtin_aarch64_saddl2v8hi (__a, __b);
881 }
882 
883 __extension__ extern __inline int64x2_t
884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s32(int32x4_t __a,int32x4_t __b)885 vaddl_high_s32 (int32x4_t __a, int32x4_t __b)
886 {
887   return (int64x2_t) __builtin_aarch64_saddl2v4si (__a, __b);
888 }
889 
890 __extension__ extern __inline uint16x8_t
891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u8(uint8x16_t __a,uint8x16_t __b)892 vaddl_high_u8 (uint8x16_t __a, uint8x16_t __b)
893 {
894   return (uint16x8_t) __builtin_aarch64_uaddl2v16qi ((int8x16_t) __a,
895 						     (int8x16_t) __b);
896 }
897 
898 __extension__ extern __inline uint32x4_t
899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u16(uint16x8_t __a,uint16x8_t __b)900 vaddl_high_u16 (uint16x8_t __a, uint16x8_t __b)
901 {
902   return (uint32x4_t) __builtin_aarch64_uaddl2v8hi ((int16x8_t) __a,
903 						    (int16x8_t) __b);
904 }
905 
906 __extension__ extern __inline uint64x2_t
907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u32(uint32x4_t __a,uint32x4_t __b)908 vaddl_high_u32 (uint32x4_t __a, uint32x4_t __b)
909 {
910   return (uint64x2_t) __builtin_aarch64_uaddl2v4si ((int32x4_t) __a,
911 						    (int32x4_t) __b);
912 }
913 
914 __extension__ extern __inline int16x8_t
915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s8(int16x8_t __a,int8x8_t __b)916 vaddw_s8 (int16x8_t __a, int8x8_t __b)
917 {
918   return (int16x8_t) __builtin_aarch64_saddwv8qi (__a, __b);
919 }
920 
921 __extension__ extern __inline int32x4_t
922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s16(int32x4_t __a,int16x4_t __b)923 vaddw_s16 (int32x4_t __a, int16x4_t __b)
924 {
925   return (int32x4_t) __builtin_aarch64_saddwv4hi (__a, __b);
926 }
927 
928 __extension__ extern __inline int64x2_t
929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s32(int64x2_t __a,int32x2_t __b)930 vaddw_s32 (int64x2_t __a, int32x2_t __b)
931 {
932   return (int64x2_t) __builtin_aarch64_saddwv2si (__a, __b);
933 }
934 
935 __extension__ extern __inline uint16x8_t
936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)937 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
938 {
939   return (uint16x8_t) __builtin_aarch64_uaddwv8qi ((int16x8_t) __a,
940 						   (int8x8_t) __b);
941 }
942 
943 __extension__ extern __inline uint32x4_t
944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)945 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
946 {
947   return (uint32x4_t) __builtin_aarch64_uaddwv4hi ((int32x4_t) __a,
948 						   (int16x4_t) __b);
949 }
950 
951 __extension__ extern __inline uint64x2_t
952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)953 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
954 {
955   return (uint64x2_t) __builtin_aarch64_uaddwv2si ((int64x2_t) __a,
956 						   (int32x2_t) __b);
957 }
958 
959 __extension__ extern __inline int16x8_t
960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s8(int16x8_t __a,int8x16_t __b)961 vaddw_high_s8 (int16x8_t __a, int8x16_t __b)
962 {
963   return (int16x8_t) __builtin_aarch64_saddw2v16qi (__a, __b);
964 }
965 
966 __extension__ extern __inline int32x4_t
967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s16(int32x4_t __a,int16x8_t __b)968 vaddw_high_s16 (int32x4_t __a, int16x8_t __b)
969 {
970   return (int32x4_t) __builtin_aarch64_saddw2v8hi (__a, __b);
971 }
972 
973 __extension__ extern __inline int64x2_t
974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s32(int64x2_t __a,int32x4_t __b)975 vaddw_high_s32 (int64x2_t __a, int32x4_t __b)
976 {
977   return (int64x2_t) __builtin_aarch64_saddw2v4si (__a, __b);
978 }
979 
980 __extension__ extern __inline uint16x8_t
981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u8(uint16x8_t __a,uint8x16_t __b)982 vaddw_high_u8 (uint16x8_t __a, uint8x16_t __b)
983 {
984   return (uint16x8_t) __builtin_aarch64_uaddw2v16qi ((int16x8_t) __a,
985 						     (int8x16_t) __b);
986 }
987 
988 __extension__ extern __inline uint32x4_t
989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u16(uint32x4_t __a,uint16x8_t __b)990 vaddw_high_u16 (uint32x4_t __a, uint16x8_t __b)
991 {
992   return (uint32x4_t) __builtin_aarch64_uaddw2v8hi ((int32x4_t) __a,
993 						    (int16x8_t) __b);
994 }
995 
996 __extension__ extern __inline uint64x2_t
997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u32(uint64x2_t __a,uint32x4_t __b)998 vaddw_high_u32 (uint64x2_t __a, uint32x4_t __b)
999 {
1000   return (uint64x2_t) __builtin_aarch64_uaddw2v4si ((int64x2_t) __a,
1001 						    (int32x4_t) __b);
1002 }
1003 
1004 __extension__ extern __inline int8x8_t
1005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s8(int8x8_t __a,int8x8_t __b)1006 vhadd_s8 (int8x8_t __a, int8x8_t __b)
1007 {
1008   return (int8x8_t) __builtin_aarch64_shaddv8qi (__a, __b);
1009 }
1010 
1011 __extension__ extern __inline int16x4_t
1012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s16(int16x4_t __a,int16x4_t __b)1013 vhadd_s16 (int16x4_t __a, int16x4_t __b)
1014 {
1015   return (int16x4_t) __builtin_aarch64_shaddv4hi (__a, __b);
1016 }
1017 
1018 __extension__ extern __inline int32x2_t
1019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s32(int32x2_t __a,int32x2_t __b)1020 vhadd_s32 (int32x2_t __a, int32x2_t __b)
1021 {
1022   return (int32x2_t) __builtin_aarch64_shaddv2si (__a, __b);
1023 }
1024 
1025 __extension__ extern __inline uint8x8_t
1026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)1027 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
1028 {
1029   return (uint8x8_t) __builtin_aarch64_uhaddv8qi ((int8x8_t) __a,
1030 						  (int8x8_t) __b);
1031 }
1032 
1033 __extension__ extern __inline uint16x4_t
1034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)1035 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
1036 {
1037   return (uint16x4_t) __builtin_aarch64_uhaddv4hi ((int16x4_t) __a,
1038 						   (int16x4_t) __b);
1039 }
1040 
1041 __extension__ extern __inline uint32x2_t
1042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)1043 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
1044 {
1045   return (uint32x2_t) __builtin_aarch64_uhaddv2si ((int32x2_t) __a,
1046 						   (int32x2_t) __b);
1047 }
1048 
1049 __extension__ extern __inline int8x16_t
1050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)1051 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
1052 {
1053   return (int8x16_t) __builtin_aarch64_shaddv16qi (__a, __b);
1054 }
1055 
1056 __extension__ extern __inline int16x8_t
1057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)1058 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
1059 {
1060   return (int16x8_t) __builtin_aarch64_shaddv8hi (__a, __b);
1061 }
1062 
1063 __extension__ extern __inline int32x4_t
1064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)1065 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
1066 {
1067   return (int32x4_t) __builtin_aarch64_shaddv4si (__a, __b);
1068 }
1069 
1070 __extension__ extern __inline uint8x16_t
1071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)1072 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
1073 {
1074   return (uint8x16_t) __builtin_aarch64_uhaddv16qi ((int8x16_t) __a,
1075 						    (int8x16_t) __b);
1076 }
1077 
1078 __extension__ extern __inline uint16x8_t
1079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)1080 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
1081 {
1082   return (uint16x8_t) __builtin_aarch64_uhaddv8hi ((int16x8_t) __a,
1083 						   (int16x8_t) __b);
1084 }
1085 
1086 __extension__ extern __inline uint32x4_t
1087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)1088 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1089 {
1090   return (uint32x4_t) __builtin_aarch64_uhaddv4si ((int32x4_t) __a,
1091 						   (int32x4_t) __b);
1092 }
1093 
1094 __extension__ extern __inline int8x8_t
1095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)1096 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
1097 {
1098   return (int8x8_t) __builtin_aarch64_srhaddv8qi (__a, __b);
1099 }
1100 
1101 __extension__ extern __inline int16x4_t
1102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)1103 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
1104 {
1105   return (int16x4_t) __builtin_aarch64_srhaddv4hi (__a, __b);
1106 }
1107 
1108 __extension__ extern __inline int32x2_t
1109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)1110 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
1111 {
1112   return (int32x2_t) __builtin_aarch64_srhaddv2si (__a, __b);
1113 }
1114 
1115 __extension__ extern __inline uint8x8_t
1116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)1117 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
1118 {
1119   return (uint8x8_t) __builtin_aarch64_urhaddv8qi ((int8x8_t) __a,
1120 						   (int8x8_t) __b);
1121 }
1122 
1123 __extension__ extern __inline uint16x4_t
1124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)1125 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
1126 {
1127   return (uint16x4_t) __builtin_aarch64_urhaddv4hi ((int16x4_t) __a,
1128 						    (int16x4_t) __b);
1129 }
1130 
1131 __extension__ extern __inline uint32x2_t
1132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)1133 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
1134 {
1135   return (uint32x2_t) __builtin_aarch64_urhaddv2si ((int32x2_t) __a,
1136 						    (int32x2_t) __b);
1137 }
1138 
1139 __extension__ extern __inline int8x16_t
1140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)1141 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
1142 {
1143   return (int8x16_t) __builtin_aarch64_srhaddv16qi (__a, __b);
1144 }
1145 
1146 __extension__ extern __inline int16x8_t
1147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)1148 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
1149 {
1150   return (int16x8_t) __builtin_aarch64_srhaddv8hi (__a, __b);
1151 }
1152 
1153 __extension__ extern __inline int32x4_t
1154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)1155 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
1156 {
1157   return (int32x4_t) __builtin_aarch64_srhaddv4si (__a, __b);
1158 }
1159 
1160 __extension__ extern __inline uint8x16_t
1161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)1162 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
1163 {
1164   return (uint8x16_t) __builtin_aarch64_urhaddv16qi ((int8x16_t) __a,
1165 						     (int8x16_t) __b);
1166 }
1167 
1168 __extension__ extern __inline uint16x8_t
1169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)1170 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
1171 {
1172   return (uint16x8_t) __builtin_aarch64_urhaddv8hi ((int16x8_t) __a,
1173 						    (int16x8_t) __b);
1174 }
1175 
1176 __extension__ extern __inline uint32x4_t
1177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)1178 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1179 {
1180   return (uint32x4_t) __builtin_aarch64_urhaddv4si ((int32x4_t) __a,
1181 						    (int32x4_t) __b);
1182 }
1183 
1184 __extension__ extern __inline int8x8_t
1185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)1186 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
1187 {
1188   return (int8x8_t) __builtin_aarch64_addhnv8hi (__a, __b);
1189 }
1190 
1191 __extension__ extern __inline int16x4_t
1192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)1193 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
1194 {
1195   return (int16x4_t) __builtin_aarch64_addhnv4si (__a, __b);
1196 }
1197 
1198 __extension__ extern __inline int32x2_t
1199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)1200 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
1201 {
1202   return (int32x2_t) __builtin_aarch64_addhnv2di (__a, __b);
1203 }
1204 
1205 __extension__ extern __inline uint8x8_t
1206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)1207 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1208 {
1209   return (uint8x8_t) __builtin_aarch64_addhnv8hi ((int16x8_t) __a,
1210 						  (int16x8_t) __b);
1211 }
1212 
1213 __extension__ extern __inline uint16x4_t
1214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)1215 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1216 {
1217   return (uint16x4_t) __builtin_aarch64_addhnv4si ((int32x4_t) __a,
1218 						   (int32x4_t) __b);
1219 }
1220 
1221 __extension__ extern __inline uint32x2_t
1222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)1223 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1224 {
1225   return (uint32x2_t) __builtin_aarch64_addhnv2di ((int64x2_t) __a,
1226 						   (int64x2_t) __b);
1227 }
1228 
1229 __extension__ extern __inline int8x8_t
1230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)1231 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
1232 {
1233   return (int8x8_t) __builtin_aarch64_raddhnv8hi (__a, __b);
1234 }
1235 
1236 __extension__ extern __inline int16x4_t
1237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)1238 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
1239 {
1240   return (int16x4_t) __builtin_aarch64_raddhnv4si (__a, __b);
1241 }
1242 
1243 __extension__ extern __inline int32x2_t
1244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)1245 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
1246 {
1247   return (int32x2_t) __builtin_aarch64_raddhnv2di (__a, __b);
1248 }
1249 
1250 __extension__ extern __inline uint8x8_t
1251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)1252 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1253 {
1254   return (uint8x8_t) __builtin_aarch64_raddhnv8hi ((int16x8_t) __a,
1255 						   (int16x8_t) __b);
1256 }
1257 
1258 __extension__ extern __inline uint16x4_t
1259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)1260 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1261 {
1262   return (uint16x4_t) __builtin_aarch64_raddhnv4si ((int32x4_t) __a,
1263 						    (int32x4_t) __b);
1264 }
1265 
1266 __extension__ extern __inline uint32x2_t
1267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)1268 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1269 {
1270   return (uint32x2_t) __builtin_aarch64_raddhnv2di ((int64x2_t) __a,
1271 						    (int64x2_t) __b);
1272 }
1273 
1274 __extension__ extern __inline int8x16_t
1275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)1276 vaddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
1277 {
1278   return (int8x16_t) __builtin_aarch64_addhn2v8hi (__a, __b, __c);
1279 }
1280 
1281 __extension__ extern __inline int16x8_t
1282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)1283 vaddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
1284 {
1285   return (int16x8_t) __builtin_aarch64_addhn2v4si (__a, __b, __c);
1286 }
1287 
1288 __extension__ extern __inline int32x4_t
1289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)1290 vaddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
1291 {
1292   return (int32x4_t) __builtin_aarch64_addhn2v2di (__a, __b, __c);
1293 }
1294 
1295 __extension__ extern __inline uint8x16_t
1296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)1297 vaddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
1298 {
1299   return (uint8x16_t) __builtin_aarch64_addhn2v8hi ((int8x8_t) __a,
1300 						    (int16x8_t) __b,
1301 						    (int16x8_t) __c);
1302 }
1303 
1304 __extension__ extern __inline uint16x8_t
1305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)1306 vaddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
1307 {
1308   return (uint16x8_t) __builtin_aarch64_addhn2v4si ((int16x4_t) __a,
1309 						    (int32x4_t) __b,
1310 						    (int32x4_t) __c);
1311 }
1312 
1313 __extension__ extern __inline uint32x4_t
1314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)1315 vaddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
1316 {
1317   return (uint32x4_t) __builtin_aarch64_addhn2v2di ((int32x2_t) __a,
1318 						    (int64x2_t) __b,
1319 						    (int64x2_t) __c);
1320 }
1321 
1322 __extension__ extern __inline int8x16_t
1323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)1324 vraddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
1325 {
1326   return (int8x16_t) __builtin_aarch64_raddhn2v8hi (__a, __b, __c);
1327 }
1328 
1329 __extension__ extern __inline int16x8_t
1330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)1331 vraddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
1332 {
1333   return (int16x8_t) __builtin_aarch64_raddhn2v4si (__a, __b, __c);
1334 }
1335 
1336 __extension__ extern __inline int32x4_t
1337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)1338 vraddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
1339 {
1340   return (int32x4_t) __builtin_aarch64_raddhn2v2di (__a, __b, __c);
1341 }
1342 
1343 __extension__ extern __inline uint8x16_t
1344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)1345 vraddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
1346 {
1347   return (uint8x16_t) __builtin_aarch64_raddhn2v8hi ((int8x8_t) __a,
1348 						     (int16x8_t) __b,
1349 						     (int16x8_t) __c);
1350 }
1351 
1352 __extension__ extern __inline uint16x8_t
1353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)1354 vraddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
1355 {
1356   return (uint16x8_t) __builtin_aarch64_raddhn2v4si ((int16x4_t) __a,
1357 						     (int32x4_t) __b,
1358 						     (int32x4_t) __c);
1359 }
1360 
1361 __extension__ extern __inline uint32x4_t
1362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)1363 vraddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
1364 {
1365   return (uint32x4_t) __builtin_aarch64_raddhn2v2di ((int32x2_t) __a,
1366 						     (int64x2_t) __b,
1367 						     (int64x2_t) __c);
1368 }
1369 
1370 __extension__ extern __inline float32x2_t
1371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f32(float32x2_t __a,float32x2_t __b)1372 vdiv_f32 (float32x2_t __a, float32x2_t __b)
1373 {
1374   return __a / __b;
1375 }
1376 
1377 __extension__ extern __inline float64x1_t
1378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f64(float64x1_t __a,float64x1_t __b)1379 vdiv_f64 (float64x1_t __a, float64x1_t __b)
1380 {
1381   return __a / __b;
1382 }
1383 
1384 __extension__ extern __inline float32x4_t
1385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f32(float32x4_t __a,float32x4_t __b)1386 vdivq_f32 (float32x4_t __a, float32x4_t __b)
1387 {
1388   return __a / __b;
1389 }
1390 
1391 __extension__ extern __inline float64x2_t
1392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f64(float64x2_t __a,float64x2_t __b)1393 vdivq_f64 (float64x2_t __a, float64x2_t __b)
1394 {
1395   return __a / __b;
1396 }
1397 
1398 __extension__ extern __inline int8x8_t
1399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s8(int8x8_t __a,int8x8_t __b)1400 vmul_s8 (int8x8_t __a, int8x8_t __b)
1401 {
1402   return __a * __b;
1403 }
1404 
1405 __extension__ extern __inline int16x4_t
1406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s16(int16x4_t __a,int16x4_t __b)1407 vmul_s16 (int16x4_t __a, int16x4_t __b)
1408 {
1409   return __a * __b;
1410 }
1411 
1412 __extension__ extern __inline int32x2_t
1413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s32(int32x2_t __a,int32x2_t __b)1414 vmul_s32 (int32x2_t __a, int32x2_t __b)
1415 {
1416   return __a * __b;
1417 }
1418 
1419 __extension__ extern __inline float32x2_t
1420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f32(float32x2_t __a,float32x2_t __b)1421 vmul_f32 (float32x2_t __a, float32x2_t __b)
1422 {
1423   return __a * __b;
1424 }
1425 
1426 __extension__ extern __inline float64x1_t
1427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f64(float64x1_t __a,float64x1_t __b)1428 vmul_f64 (float64x1_t __a, float64x1_t __b)
1429 {
1430   return __a * __b;
1431 }
1432 
1433 __extension__ extern __inline uint8x8_t
1434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)1435 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
1436 {
1437   return __a * __b;
1438 }
1439 
1440 __extension__ extern __inline uint16x4_t
1441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)1442 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
1443 {
1444   return __a * __b;
1445 }
1446 
1447 __extension__ extern __inline uint32x2_t
1448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)1449 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
1450 {
1451   return __a * __b;
1452 }
1453 
1454 __extension__ extern __inline poly8x8_t
1455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)1456 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
1457 {
1458   return (poly8x8_t) __builtin_aarch64_pmulv8qi ((int8x8_t) __a,
1459 						 (int8x8_t) __b);
1460 }
1461 
1462 __extension__ extern __inline int8x16_t
1463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s8(int8x16_t __a,int8x16_t __b)1464 vmulq_s8 (int8x16_t __a, int8x16_t __b)
1465 {
1466   return __a * __b;
1467 }
1468 
1469 __extension__ extern __inline int16x8_t
1470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s16(int16x8_t __a,int16x8_t __b)1471 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1472 {
1473   return __a * __b;
1474 }
1475 
1476 __extension__ extern __inline int32x4_t
1477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s32(int32x4_t __a,int32x4_t __b)1478 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1479 {
1480   return __a * __b;
1481 }
1482 
1483 __extension__ extern __inline float32x4_t
1484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f32(float32x4_t __a,float32x4_t __b)1485 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1486 {
1487   return __a * __b;
1488 }
1489 
1490 __extension__ extern __inline float64x2_t
1491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f64(float64x2_t __a,float64x2_t __b)1492 vmulq_f64 (float64x2_t __a, float64x2_t __b)
1493 {
1494   return __a * __b;
1495 }
1496 
1497 __extension__ extern __inline uint8x16_t
1498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)1499 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1500 {
1501   return __a * __b;
1502 }
1503 
1504 __extension__ extern __inline uint16x8_t
1505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)1506 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1507 {
1508   return __a * __b;
1509 }
1510 
1511 __extension__ extern __inline uint32x4_t
1512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)1513 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1514 {
1515   return __a * __b;
1516 }
1517 
1518 __extension__ extern __inline poly8x16_t
1519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)1520 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1521 {
1522   return (poly8x16_t) __builtin_aarch64_pmulv16qi ((int8x16_t) __a,
1523 						   (int8x16_t) __b);
1524 }
1525 
1526 __extension__ extern __inline int8x8_t
1527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s8(int8x8_t __a,int8x8_t __b)1528 vand_s8 (int8x8_t __a, int8x8_t __b)
1529 {
1530   return __a & __b;
1531 }
1532 
1533 __extension__ extern __inline int16x4_t
1534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s16(int16x4_t __a,int16x4_t __b)1535 vand_s16 (int16x4_t __a, int16x4_t __b)
1536 {
1537   return __a & __b;
1538 }
1539 
1540 __extension__ extern __inline int32x2_t
1541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s32(int32x2_t __a,int32x2_t __b)1542 vand_s32 (int32x2_t __a, int32x2_t __b)
1543 {
1544   return __a & __b;
1545 }
1546 
1547 __extension__ extern __inline uint8x8_t
1548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u8(uint8x8_t __a,uint8x8_t __b)1549 vand_u8 (uint8x8_t __a, uint8x8_t __b)
1550 {
1551   return __a & __b;
1552 }
1553 
1554 __extension__ extern __inline uint16x4_t
1555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u16(uint16x4_t __a,uint16x4_t __b)1556 vand_u16 (uint16x4_t __a, uint16x4_t __b)
1557 {
1558   return __a & __b;
1559 }
1560 
1561 __extension__ extern __inline uint32x2_t
1562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u32(uint32x2_t __a,uint32x2_t __b)1563 vand_u32 (uint32x2_t __a, uint32x2_t __b)
1564 {
1565   return __a & __b;
1566 }
1567 
1568 __extension__ extern __inline int64x1_t
1569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s64(int64x1_t __a,int64x1_t __b)1570 vand_s64 (int64x1_t __a, int64x1_t __b)
1571 {
1572   return __a & __b;
1573 }
1574 
1575 __extension__ extern __inline uint64x1_t
1576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u64(uint64x1_t __a,uint64x1_t __b)1577 vand_u64 (uint64x1_t __a, uint64x1_t __b)
1578 {
1579   return __a & __b;
1580 }
1581 
1582 __extension__ extern __inline int8x16_t
1583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s8(int8x16_t __a,int8x16_t __b)1584 vandq_s8 (int8x16_t __a, int8x16_t __b)
1585 {
1586   return __a & __b;
1587 }
1588 
1589 __extension__ extern __inline int16x8_t
1590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s16(int16x8_t __a,int16x8_t __b)1591 vandq_s16 (int16x8_t __a, int16x8_t __b)
1592 {
1593   return __a & __b;
1594 }
1595 
1596 __extension__ extern __inline int32x4_t
1597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s32(int32x4_t __a,int32x4_t __b)1598 vandq_s32 (int32x4_t __a, int32x4_t __b)
1599 {
1600   return __a & __b;
1601 }
1602 
1603 __extension__ extern __inline int64x2_t
1604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s64(int64x2_t __a,int64x2_t __b)1605 vandq_s64 (int64x2_t __a, int64x2_t __b)
1606 {
1607   return __a & __b;
1608 }
1609 
1610 __extension__ extern __inline uint8x16_t
1611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)1612 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
1613 {
1614   return __a & __b;
1615 }
1616 
1617 __extension__ extern __inline uint16x8_t
1618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)1619 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
1620 {
1621   return __a & __b;
1622 }
1623 
1624 __extension__ extern __inline uint32x4_t
1625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)1626 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
1627 {
1628   return __a & __b;
1629 }
1630 
1631 __extension__ extern __inline uint64x2_t
1632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)1633 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
1634 {
1635   return __a & __b;
1636 }
1637 
1638 __extension__ extern __inline int8x8_t
1639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s8(int8x8_t __a,int8x8_t __b)1640 vorr_s8 (int8x8_t __a, int8x8_t __b)
1641 {
1642   return __a | __b;
1643 }
1644 
1645 __extension__ extern __inline int16x4_t
1646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s16(int16x4_t __a,int16x4_t __b)1647 vorr_s16 (int16x4_t __a, int16x4_t __b)
1648 {
1649   return __a | __b;
1650 }
1651 
1652 __extension__ extern __inline int32x2_t
1653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s32(int32x2_t __a,int32x2_t __b)1654 vorr_s32 (int32x2_t __a, int32x2_t __b)
1655 {
1656   return __a | __b;
1657 }
1658 
1659 __extension__ extern __inline uint8x8_t
1660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)1661 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
1662 {
1663   return __a | __b;
1664 }
1665 
1666 __extension__ extern __inline uint16x4_t
1667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)1668 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
1669 {
1670   return __a | __b;
1671 }
1672 
1673 __extension__ extern __inline uint32x2_t
1674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)1675 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
1676 {
1677   return __a | __b;
1678 }
1679 
1680 __extension__ extern __inline int64x1_t
1681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s64(int64x1_t __a,int64x1_t __b)1682 vorr_s64 (int64x1_t __a, int64x1_t __b)
1683 {
1684   return __a | __b;
1685 }
1686 
1687 __extension__ extern __inline uint64x1_t
1688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)1689 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
1690 {
1691   return __a | __b;
1692 }
1693 
1694 __extension__ extern __inline int8x16_t
1695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s8(int8x16_t __a,int8x16_t __b)1696 vorrq_s8 (int8x16_t __a, int8x16_t __b)
1697 {
1698   return __a | __b;
1699 }
1700 
1701 __extension__ extern __inline int16x8_t
1702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s16(int16x8_t __a,int16x8_t __b)1703 vorrq_s16 (int16x8_t __a, int16x8_t __b)
1704 {
1705   return __a | __b;
1706 }
1707 
1708 __extension__ extern __inline int32x4_t
1709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s32(int32x4_t __a,int32x4_t __b)1710 vorrq_s32 (int32x4_t __a, int32x4_t __b)
1711 {
1712   return __a | __b;
1713 }
1714 
1715 __extension__ extern __inline int64x2_t
1716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s64(int64x2_t __a,int64x2_t __b)1717 vorrq_s64 (int64x2_t __a, int64x2_t __b)
1718 {
1719   return __a | __b;
1720 }
1721 
1722 __extension__ extern __inline uint8x16_t
1723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)1724 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
1725 {
1726   return __a | __b;
1727 }
1728 
1729 __extension__ extern __inline uint16x8_t
1730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)1731 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
1732 {
1733   return __a | __b;
1734 }
1735 
1736 __extension__ extern __inline uint32x4_t
1737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)1738 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
1739 {
1740   return __a | __b;
1741 }
1742 
1743 __extension__ extern __inline uint64x2_t
1744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)1745 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
1746 {
1747   return __a | __b;
1748 }
1749 
1750 __extension__ extern __inline int8x8_t
1751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s8(int8x8_t __a,int8x8_t __b)1752 veor_s8 (int8x8_t __a, int8x8_t __b)
1753 {
1754   return __a ^ __b;
1755 }
1756 
1757 __extension__ extern __inline int16x4_t
1758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s16(int16x4_t __a,int16x4_t __b)1759 veor_s16 (int16x4_t __a, int16x4_t __b)
1760 {
1761   return __a ^ __b;
1762 }
1763 
1764 __extension__ extern __inline int32x2_t
1765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s32(int32x2_t __a,int32x2_t __b)1766 veor_s32 (int32x2_t __a, int32x2_t __b)
1767 {
1768   return __a ^ __b;
1769 }
1770 
1771 __extension__ extern __inline uint8x8_t
1772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u8(uint8x8_t __a,uint8x8_t __b)1773 veor_u8 (uint8x8_t __a, uint8x8_t __b)
1774 {
1775   return __a ^ __b;
1776 }
1777 
1778 __extension__ extern __inline uint16x4_t
1779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u16(uint16x4_t __a,uint16x4_t __b)1780 veor_u16 (uint16x4_t __a, uint16x4_t __b)
1781 {
1782   return __a ^ __b;
1783 }
1784 
1785 __extension__ extern __inline uint32x2_t
1786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u32(uint32x2_t __a,uint32x2_t __b)1787 veor_u32 (uint32x2_t __a, uint32x2_t __b)
1788 {
1789   return __a ^ __b;
1790 }
1791 
1792 __extension__ extern __inline int64x1_t
1793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s64(int64x1_t __a,int64x1_t __b)1794 veor_s64 (int64x1_t __a, int64x1_t __b)
1795 {
1796   return __a ^ __b;
1797 }
1798 
1799 __extension__ extern __inline uint64x1_t
1800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u64(uint64x1_t __a,uint64x1_t __b)1801 veor_u64 (uint64x1_t __a, uint64x1_t __b)
1802 {
1803   return __a ^ __b;
1804 }
1805 
1806 __extension__ extern __inline int8x16_t
1807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s8(int8x16_t __a,int8x16_t __b)1808 veorq_s8 (int8x16_t __a, int8x16_t __b)
1809 {
1810   return __a ^ __b;
1811 }
1812 
1813 __extension__ extern __inline int16x8_t
1814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s16(int16x8_t __a,int16x8_t __b)1815 veorq_s16 (int16x8_t __a, int16x8_t __b)
1816 {
1817   return __a ^ __b;
1818 }
1819 
1820 __extension__ extern __inline int32x4_t
1821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s32(int32x4_t __a,int32x4_t __b)1822 veorq_s32 (int32x4_t __a, int32x4_t __b)
1823 {
1824   return __a ^ __b;
1825 }
1826 
1827 __extension__ extern __inline int64x2_t
1828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s64(int64x2_t __a,int64x2_t __b)1829 veorq_s64 (int64x2_t __a, int64x2_t __b)
1830 {
1831   return __a ^ __b;
1832 }
1833 
1834 __extension__ extern __inline uint8x16_t
1835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)1836 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
1837 {
1838   return __a ^ __b;
1839 }
1840 
1841 __extension__ extern __inline uint16x8_t
1842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)1843 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
1844 {
1845   return __a ^ __b;
1846 }
1847 
1848 __extension__ extern __inline uint32x4_t
1849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)1850 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
1851 {
1852   return __a ^ __b;
1853 }
1854 
1855 __extension__ extern __inline uint64x2_t
1856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)1857 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
1858 {
1859   return __a ^ __b;
1860 }
1861 
1862 __extension__ extern __inline int8x8_t
1863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s8(int8x8_t __a,int8x8_t __b)1864 vbic_s8 (int8x8_t __a, int8x8_t __b)
1865 {
1866   return __a & ~__b;
1867 }
1868 
1869 __extension__ extern __inline int16x4_t
1870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s16(int16x4_t __a,int16x4_t __b)1871 vbic_s16 (int16x4_t __a, int16x4_t __b)
1872 {
1873   return __a & ~__b;
1874 }
1875 
1876 __extension__ extern __inline int32x2_t
1877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s32(int32x2_t __a,int32x2_t __b)1878 vbic_s32 (int32x2_t __a, int32x2_t __b)
1879 {
1880   return __a & ~__b;
1881 }
1882 
1883 __extension__ extern __inline uint8x8_t
1884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)1885 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
1886 {
1887   return __a & ~__b;
1888 }
1889 
1890 __extension__ extern __inline uint16x4_t
1891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)1892 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
1893 {
1894   return __a & ~__b;
1895 }
1896 
1897 __extension__ extern __inline uint32x2_t
1898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)1899 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
1900 {
1901   return __a & ~__b;
1902 }
1903 
1904 __extension__ extern __inline int64x1_t
1905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s64(int64x1_t __a,int64x1_t __b)1906 vbic_s64 (int64x1_t __a, int64x1_t __b)
1907 {
1908   return __a & ~__b;
1909 }
1910 
1911 __extension__ extern __inline uint64x1_t
1912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)1913 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
1914 {
1915   return __a & ~__b;
1916 }
1917 
1918 __extension__ extern __inline int8x16_t
1919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s8(int8x16_t __a,int8x16_t __b)1920 vbicq_s8 (int8x16_t __a, int8x16_t __b)
1921 {
1922   return __a & ~__b;
1923 }
1924 
1925 __extension__ extern __inline int16x8_t
1926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s16(int16x8_t __a,int16x8_t __b)1927 vbicq_s16 (int16x8_t __a, int16x8_t __b)
1928 {
1929   return __a & ~__b;
1930 }
1931 
1932 __extension__ extern __inline int32x4_t
1933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s32(int32x4_t __a,int32x4_t __b)1934 vbicq_s32 (int32x4_t __a, int32x4_t __b)
1935 {
1936   return __a & ~__b;
1937 }
1938 
1939 __extension__ extern __inline int64x2_t
1940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s64(int64x2_t __a,int64x2_t __b)1941 vbicq_s64 (int64x2_t __a, int64x2_t __b)
1942 {
1943   return __a & ~__b;
1944 }
1945 
1946 __extension__ extern __inline uint8x16_t
1947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)1948 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
1949 {
1950   return __a & ~__b;
1951 }
1952 
1953 __extension__ extern __inline uint16x8_t
1954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)1955 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
1956 {
1957   return __a & ~__b;
1958 }
1959 
1960 __extension__ extern __inline uint32x4_t
1961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)1962 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
1963 {
1964   return __a & ~__b;
1965 }
1966 
1967 __extension__ extern __inline uint64x2_t
1968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)1969 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
1970 {
1971   return __a & ~__b;
1972 }
1973 
1974 __extension__ extern __inline int8x8_t
1975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s8(int8x8_t __a,int8x8_t __b)1976 vorn_s8 (int8x8_t __a, int8x8_t __b)
1977 {
1978   return __a | ~__b;
1979 }
1980 
1981 __extension__ extern __inline int16x4_t
1982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s16(int16x4_t __a,int16x4_t __b)1983 vorn_s16 (int16x4_t __a, int16x4_t __b)
1984 {
1985   return __a | ~__b;
1986 }
1987 
1988 __extension__ extern __inline int32x2_t
1989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s32(int32x2_t __a,int32x2_t __b)1990 vorn_s32 (int32x2_t __a, int32x2_t __b)
1991 {
1992   return __a | ~__b;
1993 }
1994 
1995 __extension__ extern __inline uint8x8_t
1996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)1997 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
1998 {
1999   return __a | ~__b;
2000 }
2001 
2002 __extension__ extern __inline uint16x4_t
2003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)2004 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
2005 {
2006   return __a | ~__b;
2007 }
2008 
2009 __extension__ extern __inline uint32x2_t
2010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)2011 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
2012 {
2013   return __a | ~__b;
2014 }
2015 
2016 __extension__ extern __inline int64x1_t
2017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s64(int64x1_t __a,int64x1_t __b)2018 vorn_s64 (int64x1_t __a, int64x1_t __b)
2019 {
2020   return __a | ~__b;
2021 }
2022 
2023 __extension__ extern __inline uint64x1_t
2024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)2025 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
2026 {
2027   return __a | ~__b;
2028 }
2029 
2030 __extension__ extern __inline int8x16_t
2031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s8(int8x16_t __a,int8x16_t __b)2032 vornq_s8 (int8x16_t __a, int8x16_t __b)
2033 {
2034   return __a | ~__b;
2035 }
2036 
2037 __extension__ extern __inline int16x8_t
2038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s16(int16x8_t __a,int16x8_t __b)2039 vornq_s16 (int16x8_t __a, int16x8_t __b)
2040 {
2041   return __a | ~__b;
2042 }
2043 
2044 __extension__ extern __inline int32x4_t
2045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s32(int32x4_t __a,int32x4_t __b)2046 vornq_s32 (int32x4_t __a, int32x4_t __b)
2047 {
2048   return __a | ~__b;
2049 }
2050 
2051 __extension__ extern __inline int64x2_t
2052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s64(int64x2_t __a,int64x2_t __b)2053 vornq_s64 (int64x2_t __a, int64x2_t __b)
2054 {
2055   return __a | ~__b;
2056 }
2057 
2058 __extension__ extern __inline uint8x16_t
2059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)2060 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
2061 {
2062   return __a | ~__b;
2063 }
2064 
2065 __extension__ extern __inline uint16x8_t
2066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)2067 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
2068 {
2069   return __a | ~__b;
2070 }
2071 
2072 __extension__ extern __inline uint32x4_t
2073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)2074 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
2075 {
2076   return __a | ~__b;
2077 }
2078 
2079 __extension__ extern __inline uint64x2_t
2080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)2081 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
2082 {
2083   return __a | ~__b;
2084 }
2085 
2086 __extension__ extern __inline int8x8_t
2087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s8(int8x8_t __a,int8x8_t __b)2088 vsub_s8 (int8x8_t __a, int8x8_t __b)
2089 {
2090   return __a - __b;
2091 }
2092 
2093 __extension__ extern __inline int16x4_t
2094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s16(int16x4_t __a,int16x4_t __b)2095 vsub_s16 (int16x4_t __a, int16x4_t __b)
2096 {
2097   return __a - __b;
2098 }
2099 
2100 __extension__ extern __inline int32x2_t
2101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s32(int32x2_t __a,int32x2_t __b)2102 vsub_s32 (int32x2_t __a, int32x2_t __b)
2103 {
2104   return __a - __b;
2105 }
2106 
2107 __extension__ extern __inline float32x2_t
2108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f32(float32x2_t __a,float32x2_t __b)2109 vsub_f32 (float32x2_t __a, float32x2_t __b)
2110 {
2111   return __a - __b;
2112 }
2113 
2114 __extension__ extern __inline float64x1_t
2115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f64(float64x1_t __a,float64x1_t __b)2116 vsub_f64 (float64x1_t __a, float64x1_t __b)
2117 {
2118   return __a - __b;
2119 }
2120 
2121 __extension__ extern __inline uint8x8_t
2122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)2123 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
2124 {
2125   return __a - __b;
2126 }
2127 
2128 __extension__ extern __inline uint16x4_t
2129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)2130 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
2131 {
2132   return __a - __b;
2133 }
2134 
2135 __extension__ extern __inline uint32x2_t
2136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)2137 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
2138 {
2139   return __a - __b;
2140 }
2141 
2142 __extension__ extern __inline int64x1_t
2143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s64(int64x1_t __a,int64x1_t __b)2144 vsub_s64 (int64x1_t __a, int64x1_t __b)
2145 {
2146   return __a - __b;
2147 }
2148 
2149 __extension__ extern __inline uint64x1_t
2150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)2151 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
2152 {
2153   return __a - __b;
2154 }
2155 
2156 __extension__ extern __inline int8x16_t
2157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s8(int8x16_t __a,int8x16_t __b)2158 vsubq_s8 (int8x16_t __a, int8x16_t __b)
2159 {
2160   return __a - __b;
2161 }
2162 
2163 __extension__ extern __inline int16x8_t
2164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s16(int16x8_t __a,int16x8_t __b)2165 vsubq_s16 (int16x8_t __a, int16x8_t __b)
2166 {
2167   return __a - __b;
2168 }
2169 
2170 __extension__ extern __inline int32x4_t
2171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s32(int32x4_t __a,int32x4_t __b)2172 vsubq_s32 (int32x4_t __a, int32x4_t __b)
2173 {
2174   return __a - __b;
2175 }
2176 
2177 __extension__ extern __inline int64x2_t
2178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s64(int64x2_t __a,int64x2_t __b)2179 vsubq_s64 (int64x2_t __a, int64x2_t __b)
2180 {
2181   return __a - __b;
2182 }
2183 
2184 __extension__ extern __inline float32x4_t
2185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f32(float32x4_t __a,float32x4_t __b)2186 vsubq_f32 (float32x4_t __a, float32x4_t __b)
2187 {
2188   return __a - __b;
2189 }
2190 
2191 __extension__ extern __inline float64x2_t
2192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f64(float64x2_t __a,float64x2_t __b)2193 vsubq_f64 (float64x2_t __a, float64x2_t __b)
2194 {
2195   return __a - __b;
2196 }
2197 
2198 __extension__ extern __inline uint8x16_t
2199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)2200 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2201 {
2202   return __a - __b;
2203 }
2204 
2205 __extension__ extern __inline uint16x8_t
2206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)2207 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2208 {
2209   return __a - __b;
2210 }
2211 
2212 __extension__ extern __inline uint32x4_t
2213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)2214 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2215 {
2216   return __a - __b;
2217 }
2218 
2219 __extension__ extern __inline uint64x2_t
2220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)2221 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2222 {
2223   return __a - __b;
2224 }
2225 
2226 __extension__ extern __inline int16x8_t
2227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s8(int8x8_t __a,int8x8_t __b)2228 vsubl_s8 (int8x8_t __a, int8x8_t __b)
2229 {
2230   return (int16x8_t) __builtin_aarch64_ssublv8qi (__a, __b);
2231 }
2232 
2233 __extension__ extern __inline int32x4_t
2234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s16(int16x4_t __a,int16x4_t __b)2235 vsubl_s16 (int16x4_t __a, int16x4_t __b)
2236 {
2237   return (int32x4_t) __builtin_aarch64_ssublv4hi (__a, __b);
2238 }
2239 
2240 __extension__ extern __inline int64x2_t
2241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s32(int32x2_t __a,int32x2_t __b)2242 vsubl_s32 (int32x2_t __a, int32x2_t __b)
2243 {
2244   return (int64x2_t) __builtin_aarch64_ssublv2si (__a, __b);
2245 }
2246 
2247 __extension__ extern __inline uint16x8_t
2248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)2249 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
2250 {
2251   return (uint16x8_t) __builtin_aarch64_usublv8qi ((int8x8_t) __a,
2252 						   (int8x8_t) __b);
2253 }
2254 
2255 __extension__ extern __inline uint32x4_t
2256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)2257 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
2258 {
2259   return (uint32x4_t) __builtin_aarch64_usublv4hi ((int16x4_t) __a,
2260 						   (int16x4_t) __b);
2261 }
2262 
2263 __extension__ extern __inline uint64x2_t
2264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)2265 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
2266 {
2267   return (uint64x2_t) __builtin_aarch64_usublv2si ((int32x2_t) __a,
2268 						   (int32x2_t) __b);
2269 }
2270 
2271 __extension__ extern __inline int16x8_t
2272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s8(int8x16_t __a,int8x16_t __b)2273 vsubl_high_s8 (int8x16_t __a, int8x16_t __b)
2274 {
2275   return (int16x8_t) __builtin_aarch64_ssubl2v16qi (__a, __b);
2276 }
2277 
2278 __extension__ extern __inline int32x4_t
2279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s16(int16x8_t __a,int16x8_t __b)2280 vsubl_high_s16 (int16x8_t __a, int16x8_t __b)
2281 {
2282   return (int32x4_t) __builtin_aarch64_ssubl2v8hi (__a, __b);
2283 }
2284 
2285 __extension__ extern __inline int64x2_t
2286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s32(int32x4_t __a,int32x4_t __b)2287 vsubl_high_s32 (int32x4_t __a, int32x4_t __b)
2288 {
2289   return (int64x2_t) __builtin_aarch64_ssubl2v4si (__a, __b);
2290 }
2291 
2292 __extension__ extern __inline uint16x8_t
2293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u8(uint8x16_t __a,uint8x16_t __b)2294 vsubl_high_u8 (uint8x16_t __a, uint8x16_t __b)
2295 {
2296   return (uint16x8_t) __builtin_aarch64_usubl2v16qi ((int8x16_t) __a,
2297 						     (int8x16_t) __b);
2298 }
2299 
2300 __extension__ extern __inline uint32x4_t
2301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u16(uint16x8_t __a,uint16x8_t __b)2302 vsubl_high_u16 (uint16x8_t __a, uint16x8_t __b)
2303 {
2304   return (uint32x4_t) __builtin_aarch64_usubl2v8hi ((int16x8_t) __a,
2305 						    (int16x8_t) __b);
2306 }
2307 
2308 __extension__ extern __inline uint64x2_t
2309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u32(uint32x4_t __a,uint32x4_t __b)2310 vsubl_high_u32 (uint32x4_t __a, uint32x4_t __b)
2311 {
2312   return (uint64x2_t) __builtin_aarch64_usubl2v4si ((int32x4_t) __a,
2313 						    (int32x4_t) __b);
2314 }
2315 
2316 __extension__ extern __inline int16x8_t
2317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s8(int16x8_t __a,int8x8_t __b)2318 vsubw_s8 (int16x8_t __a, int8x8_t __b)
2319 {
2320   return (int16x8_t) __builtin_aarch64_ssubwv8qi (__a, __b);
2321 }
2322 
2323 __extension__ extern __inline int32x4_t
2324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s16(int32x4_t __a,int16x4_t __b)2325 vsubw_s16 (int32x4_t __a, int16x4_t __b)
2326 {
2327   return (int32x4_t) __builtin_aarch64_ssubwv4hi (__a, __b);
2328 }
2329 
2330 __extension__ extern __inline int64x2_t
2331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s32(int64x2_t __a,int32x2_t __b)2332 vsubw_s32 (int64x2_t __a, int32x2_t __b)
2333 {
2334   return (int64x2_t) __builtin_aarch64_ssubwv2si (__a, __b);
2335 }
2336 
2337 __extension__ extern __inline uint16x8_t
2338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)2339 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
2340 {
2341   return (uint16x8_t) __builtin_aarch64_usubwv8qi ((int16x8_t) __a,
2342 						   (int8x8_t) __b);
2343 }
2344 
2345 __extension__ extern __inline uint32x4_t
2346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)2347 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
2348 {
2349   return (uint32x4_t) __builtin_aarch64_usubwv4hi ((int32x4_t) __a,
2350 						   (int16x4_t) __b);
2351 }
2352 
2353 __extension__ extern __inline uint64x2_t
2354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)2355 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
2356 {
2357   return (uint64x2_t) __builtin_aarch64_usubwv2si ((int64x2_t) __a,
2358 						   (int32x2_t) __b);
2359 }
2360 
2361 __extension__ extern __inline int16x8_t
2362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s8(int16x8_t __a,int8x16_t __b)2363 vsubw_high_s8 (int16x8_t __a, int8x16_t __b)
2364 {
2365   return (int16x8_t) __builtin_aarch64_ssubw2v16qi (__a, __b);
2366 }
2367 
2368 __extension__ extern __inline int32x4_t
2369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s16(int32x4_t __a,int16x8_t __b)2370 vsubw_high_s16 (int32x4_t __a, int16x8_t __b)
2371 {
2372   return (int32x4_t) __builtin_aarch64_ssubw2v8hi (__a, __b);
2373 }
2374 
2375 __extension__ extern __inline int64x2_t
2376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s32(int64x2_t __a,int32x4_t __b)2377 vsubw_high_s32 (int64x2_t __a, int32x4_t __b)
2378 {
2379   return (int64x2_t) __builtin_aarch64_ssubw2v4si (__a, __b);
2380 }
2381 
2382 __extension__ extern __inline uint16x8_t
2383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u8(uint16x8_t __a,uint8x16_t __b)2384 vsubw_high_u8 (uint16x8_t __a, uint8x16_t __b)
2385 {
2386   return (uint16x8_t) __builtin_aarch64_usubw2v16qi ((int16x8_t) __a,
2387 						     (int8x16_t) __b);
2388 }
2389 
2390 __extension__ extern __inline uint32x4_t
2391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u16(uint32x4_t __a,uint16x8_t __b)2392 vsubw_high_u16 (uint32x4_t __a, uint16x8_t __b)
2393 {
2394   return (uint32x4_t) __builtin_aarch64_usubw2v8hi ((int32x4_t) __a,
2395 						    (int16x8_t) __b);
2396 }
2397 
2398 __extension__ extern __inline uint64x2_t
2399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u32(uint64x2_t __a,uint32x4_t __b)2400 vsubw_high_u32 (uint64x2_t __a, uint32x4_t __b)
2401 {
2402   return (uint64x2_t) __builtin_aarch64_usubw2v4si ((int64x2_t) __a,
2403 						    (int32x4_t) __b);
2404 }
2405 
2406 __extension__ extern __inline int8x8_t
2407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s8(int8x8_t __a,int8x8_t __b)2408 vqadd_s8 (int8x8_t __a, int8x8_t __b)
2409 {
2410   return (int8x8_t) __builtin_aarch64_sqaddv8qi (__a, __b);
2411 }
2412 
2413 __extension__ extern __inline int16x4_t
2414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s16(int16x4_t __a,int16x4_t __b)2415 vqadd_s16 (int16x4_t __a, int16x4_t __b)
2416 {
2417   return (int16x4_t) __builtin_aarch64_sqaddv4hi (__a, __b);
2418 }
2419 
2420 __extension__ extern __inline int32x2_t
2421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s32(int32x2_t __a,int32x2_t __b)2422 vqadd_s32 (int32x2_t __a, int32x2_t __b)
2423 {
2424   return (int32x2_t) __builtin_aarch64_sqaddv2si (__a, __b);
2425 }
2426 
2427 __extension__ extern __inline int64x1_t
2428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s64(int64x1_t __a,int64x1_t __b)2429 vqadd_s64 (int64x1_t __a, int64x1_t __b)
2430 {
2431   return (int64x1_t) {__builtin_aarch64_sqadddi (__a[0], __b[0])};
2432 }
2433 
2434 __extension__ extern __inline uint8x8_t
2435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)2436 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
2437 {
2438   return __builtin_aarch64_uqaddv8qi_uuu (__a, __b);
2439 }
2440 
2441 __extension__ extern __inline int8x8_t
2442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s8(int8x8_t __a,int8x8_t __b)2443 vhsub_s8 (int8x8_t __a, int8x8_t __b)
2444 {
2445   return (int8x8_t)__builtin_aarch64_shsubv8qi (__a, __b);
2446 }
2447 
2448 __extension__ extern __inline int16x4_t
2449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s16(int16x4_t __a,int16x4_t __b)2450 vhsub_s16 (int16x4_t __a, int16x4_t __b)
2451 {
2452   return (int16x4_t) __builtin_aarch64_shsubv4hi (__a, __b);
2453 }
2454 
2455 __extension__ extern __inline int32x2_t
2456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s32(int32x2_t __a,int32x2_t __b)2457 vhsub_s32 (int32x2_t __a, int32x2_t __b)
2458 {
2459   return (int32x2_t) __builtin_aarch64_shsubv2si (__a, __b);
2460 }
2461 
2462 __extension__ extern __inline uint8x8_t
2463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)2464 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
2465 {
2466   return (uint8x8_t) __builtin_aarch64_uhsubv8qi ((int8x8_t) __a,
2467 						  (int8x8_t) __b);
2468 }
2469 
2470 __extension__ extern __inline uint16x4_t
2471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)2472 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
2473 {
2474   return (uint16x4_t) __builtin_aarch64_uhsubv4hi ((int16x4_t) __a,
2475 						   (int16x4_t) __b);
2476 }
2477 
2478 __extension__ extern __inline uint32x2_t
2479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)2480 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
2481 {
2482   return (uint32x2_t) __builtin_aarch64_uhsubv2si ((int32x2_t) __a,
2483 						   (int32x2_t) __b);
2484 }
2485 
2486 __extension__ extern __inline int8x16_t
2487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)2488 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
2489 {
2490   return (int8x16_t) __builtin_aarch64_shsubv16qi (__a, __b);
2491 }
2492 
2493 __extension__ extern __inline int16x8_t
2494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)2495 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
2496 {
2497   return (int16x8_t) __builtin_aarch64_shsubv8hi (__a, __b);
2498 }
2499 
2500 __extension__ extern __inline int32x4_t
2501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)2502 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
2503 {
2504   return (int32x4_t) __builtin_aarch64_shsubv4si (__a, __b);
2505 }
2506 
2507 __extension__ extern __inline uint8x16_t
2508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)2509 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2510 {
2511   return (uint8x16_t) __builtin_aarch64_uhsubv16qi ((int8x16_t) __a,
2512 						    (int8x16_t) __b);
2513 }
2514 
2515 __extension__ extern __inline uint16x8_t
2516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)2517 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2518 {
2519   return (uint16x8_t) __builtin_aarch64_uhsubv8hi ((int16x8_t) __a,
2520 						   (int16x8_t) __b);
2521 }
2522 
2523 __extension__ extern __inline uint32x4_t
2524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)2525 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2526 {
2527   return (uint32x4_t) __builtin_aarch64_uhsubv4si ((int32x4_t) __a,
2528 						   (int32x4_t) __b);
2529 }
2530 
2531 __extension__ extern __inline int8x8_t
2532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)2533 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
2534 {
2535   return (int8x8_t) __builtin_aarch64_subhnv8hi (__a, __b);
2536 }
2537 
2538 __extension__ extern __inline int16x4_t
2539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)2540 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
2541 {
2542   return (int16x4_t) __builtin_aarch64_subhnv4si (__a, __b);
2543 }
2544 
2545 __extension__ extern __inline int32x2_t
2546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)2547 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
2548 {
2549   return (int32x2_t) __builtin_aarch64_subhnv2di (__a, __b);
2550 }
2551 
2552 __extension__ extern __inline uint8x8_t
2553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)2554 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2555 {
2556   return (uint8x8_t) __builtin_aarch64_subhnv8hi ((int16x8_t) __a,
2557 						  (int16x8_t) __b);
2558 }
2559 
2560 __extension__ extern __inline uint16x4_t
2561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)2562 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2563 {
2564   return (uint16x4_t) __builtin_aarch64_subhnv4si ((int32x4_t) __a,
2565 						   (int32x4_t) __b);
2566 }
2567 
2568 __extension__ extern __inline uint32x2_t
2569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)2570 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2571 {
2572   return (uint32x2_t) __builtin_aarch64_subhnv2di ((int64x2_t) __a,
2573 						   (int64x2_t) __b);
2574 }
2575 
2576 __extension__ extern __inline int8x8_t
2577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)2578 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
2579 {
2580   return (int8x8_t) __builtin_aarch64_rsubhnv8hi (__a, __b);
2581 }
2582 
2583 __extension__ extern __inline int16x4_t
2584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)2585 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
2586 {
2587   return (int16x4_t) __builtin_aarch64_rsubhnv4si (__a, __b);
2588 }
2589 
2590 __extension__ extern __inline int32x2_t
2591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)2592 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
2593 {
2594   return (int32x2_t) __builtin_aarch64_rsubhnv2di (__a, __b);
2595 }
2596 
2597 __extension__ extern __inline uint8x8_t
2598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)2599 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2600 {
2601   return (uint8x8_t) __builtin_aarch64_rsubhnv8hi ((int16x8_t) __a,
2602 						   (int16x8_t) __b);
2603 }
2604 
2605 __extension__ extern __inline uint16x4_t
2606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)2607 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2608 {
2609   return (uint16x4_t) __builtin_aarch64_rsubhnv4si ((int32x4_t) __a,
2610 						    (int32x4_t) __b);
2611 }
2612 
2613 __extension__ extern __inline uint32x2_t
2614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)2615 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2616 {
2617   return (uint32x2_t) __builtin_aarch64_rsubhnv2di ((int64x2_t) __a,
2618 						    (int64x2_t) __b);
2619 }
2620 
2621 __extension__ extern __inline int8x16_t
2622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)2623 vrsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2624 {
2625   return (int8x16_t) __builtin_aarch64_rsubhn2v8hi (__a, __b, __c);
2626 }
2627 
2628 __extension__ extern __inline int16x8_t
2629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)2630 vrsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2631 {
2632   return (int16x8_t) __builtin_aarch64_rsubhn2v4si (__a, __b, __c);
2633 }
2634 
2635 __extension__ extern __inline int32x4_t
2636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)2637 vrsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2638 {
2639   return (int32x4_t) __builtin_aarch64_rsubhn2v2di (__a, __b, __c);
2640 }
2641 
2642 __extension__ extern __inline uint8x16_t
2643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)2644 vrsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2645 {
2646   return (uint8x16_t) __builtin_aarch64_rsubhn2v8hi ((int8x8_t) __a,
2647 						     (int16x8_t) __b,
2648 						     (int16x8_t) __c);
2649 }
2650 
2651 __extension__ extern __inline uint16x8_t
2652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)2653 vrsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2654 {
2655   return (uint16x8_t) __builtin_aarch64_rsubhn2v4si ((int16x4_t) __a,
2656 						     (int32x4_t) __b,
2657 						     (int32x4_t) __c);
2658 }
2659 
2660 __extension__ extern __inline uint32x4_t
2661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)2662 vrsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2663 {
2664   return (uint32x4_t) __builtin_aarch64_rsubhn2v2di ((int32x2_t) __a,
2665 						     (int64x2_t) __b,
2666 						     (int64x2_t) __c);
2667 }
2668 
2669 __extension__ extern __inline int8x16_t
2670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)2671 vsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2672 {
2673   return (int8x16_t) __builtin_aarch64_subhn2v8hi (__a, __b, __c);
2674 }
2675 
2676 __extension__ extern __inline int16x8_t
2677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)2678 vsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2679 {
2680   return (int16x8_t) __builtin_aarch64_subhn2v4si (__a, __b, __c);;
2681 }
2682 
2683 __extension__ extern __inline int32x4_t
2684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)2685 vsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2686 {
2687   return (int32x4_t) __builtin_aarch64_subhn2v2di (__a, __b, __c);
2688 }
2689 
2690 __extension__ extern __inline uint8x16_t
2691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)2692 vsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2693 {
2694   return (uint8x16_t) __builtin_aarch64_subhn2v8hi ((int8x8_t) __a,
2695 						    (int16x8_t) __b,
2696 						    (int16x8_t) __c);
2697 }
2698 
2699 __extension__ extern __inline uint16x8_t
2700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)2701 vsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2702 {
2703   return (uint16x8_t) __builtin_aarch64_subhn2v4si ((int16x4_t) __a,
2704 						    (int32x4_t) __b,
2705 						    (int32x4_t) __c);
2706 }
2707 
2708 __extension__ extern __inline uint32x4_t
2709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)2710 vsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2711 {
2712   return (uint32x4_t) __builtin_aarch64_subhn2v2di ((int32x2_t) __a,
2713 						    (int64x2_t) __b,
2714 						    (int64x2_t) __c);
2715 }
2716 
2717 __extension__ extern __inline uint16x4_t
2718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)2719 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
2720 {
2721   return __builtin_aarch64_uqaddv4hi_uuu (__a, __b);
2722 }
2723 
2724 __extension__ extern __inline uint32x2_t
2725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)2726 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
2727 {
2728   return __builtin_aarch64_uqaddv2si_uuu (__a, __b);
2729 }
2730 
2731 __extension__ extern __inline uint64x1_t
2732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)2733 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
2734 {
2735   return (uint64x1_t) {__builtin_aarch64_uqadddi_uuu (__a[0], __b[0])};
2736 }
2737 
2738 __extension__ extern __inline int8x16_t
2739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)2740 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
2741 {
2742   return (int8x16_t) __builtin_aarch64_sqaddv16qi (__a, __b);
2743 }
2744 
2745 __extension__ extern __inline int16x8_t
2746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)2747 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
2748 {
2749   return (int16x8_t) __builtin_aarch64_sqaddv8hi (__a, __b);
2750 }
2751 
2752 __extension__ extern __inline int32x4_t
2753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)2754 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
2755 {
2756   return (int32x4_t) __builtin_aarch64_sqaddv4si (__a, __b);
2757 }
2758 
2759 __extension__ extern __inline int64x2_t
2760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)2761 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
2762 {
2763   return (int64x2_t) __builtin_aarch64_sqaddv2di (__a, __b);
2764 }
2765 
2766 __extension__ extern __inline uint8x16_t
2767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)2768 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
2769 {
2770   return __builtin_aarch64_uqaddv16qi_uuu (__a, __b);
2771 }
2772 
2773 __extension__ extern __inline uint16x8_t
2774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)2775 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
2776 {
2777   return __builtin_aarch64_uqaddv8hi_uuu (__a, __b);
2778 }
2779 
2780 __extension__ extern __inline uint32x4_t
2781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)2782 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
2783 {
2784   return __builtin_aarch64_uqaddv4si_uuu (__a, __b);
2785 }
2786 
2787 __extension__ extern __inline uint64x2_t
2788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)2789 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
2790 {
2791   return __builtin_aarch64_uqaddv2di_uuu (__a, __b);
2792 }
2793 
2794 __extension__ extern __inline int8x8_t
2795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s8(int8x8_t __a,int8x8_t __b)2796 vqsub_s8 (int8x8_t __a, int8x8_t __b)
2797 {
2798   return (int8x8_t) __builtin_aarch64_sqsubv8qi (__a, __b);
2799 }
2800 
2801 __extension__ extern __inline int16x4_t
2802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s16(int16x4_t __a,int16x4_t __b)2803 vqsub_s16 (int16x4_t __a, int16x4_t __b)
2804 {
2805   return (int16x4_t) __builtin_aarch64_sqsubv4hi (__a, __b);
2806 }
2807 
2808 __extension__ extern __inline int32x2_t
2809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s32(int32x2_t __a,int32x2_t __b)2810 vqsub_s32 (int32x2_t __a, int32x2_t __b)
2811 {
2812   return (int32x2_t) __builtin_aarch64_sqsubv2si (__a, __b);
2813 }
2814 
2815 __extension__ extern __inline int64x1_t
2816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s64(int64x1_t __a,int64x1_t __b)2817 vqsub_s64 (int64x1_t __a, int64x1_t __b)
2818 {
2819   return (int64x1_t) {__builtin_aarch64_sqsubdi (__a[0], __b[0])};
2820 }
2821 
2822 __extension__ extern __inline uint8x8_t
2823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)2824 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
2825 {
2826   return __builtin_aarch64_uqsubv8qi_uuu (__a, __b);
2827 }
2828 
2829 __extension__ extern __inline uint16x4_t
2830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)2831 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
2832 {
2833   return __builtin_aarch64_uqsubv4hi_uuu (__a, __b);
2834 }
2835 
2836 __extension__ extern __inline uint32x2_t
2837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)2838 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
2839 {
2840   return __builtin_aarch64_uqsubv2si_uuu (__a, __b);
2841 }
2842 
2843 __extension__ extern __inline uint64x1_t
2844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)2845 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
2846 {
2847   return (uint64x1_t) {__builtin_aarch64_uqsubdi_uuu (__a[0], __b[0])};
2848 }
2849 
2850 __extension__ extern __inline int8x16_t
2851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)2852 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
2853 {
2854   return (int8x16_t) __builtin_aarch64_sqsubv16qi (__a, __b);
2855 }
2856 
2857 __extension__ extern __inline int16x8_t
2858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)2859 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
2860 {
2861   return (int16x8_t) __builtin_aarch64_sqsubv8hi (__a, __b);
2862 }
2863 
2864 __extension__ extern __inline int32x4_t
2865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)2866 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
2867 {
2868   return (int32x4_t) __builtin_aarch64_sqsubv4si (__a, __b);
2869 }
2870 
2871 __extension__ extern __inline int64x2_t
2872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)2873 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
2874 {
2875   return (int64x2_t) __builtin_aarch64_sqsubv2di (__a, __b);
2876 }
2877 
2878 __extension__ extern __inline uint8x16_t
2879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)2880 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2881 {
2882   return __builtin_aarch64_uqsubv16qi_uuu (__a, __b);
2883 }
2884 
2885 __extension__ extern __inline uint16x8_t
2886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)2887 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2888 {
2889   return __builtin_aarch64_uqsubv8hi_uuu (__a, __b);
2890 }
2891 
2892 __extension__ extern __inline uint32x4_t
2893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)2894 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2895 {
2896   return __builtin_aarch64_uqsubv4si_uuu (__a, __b);
2897 }
2898 
2899 __extension__ extern __inline uint64x2_t
2900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)2901 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2902 {
2903   return __builtin_aarch64_uqsubv2di_uuu (__a, __b);
2904 }
2905 
2906 __extension__ extern __inline int8x8_t
2907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s8(int8x8_t __a)2908 vqneg_s8 (int8x8_t __a)
2909 {
2910   return (int8x8_t) __builtin_aarch64_sqnegv8qi (__a);
2911 }
2912 
2913 __extension__ extern __inline int16x4_t
2914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s16(int16x4_t __a)2915 vqneg_s16 (int16x4_t __a)
2916 {
2917   return (int16x4_t) __builtin_aarch64_sqnegv4hi (__a);
2918 }
2919 
2920 __extension__ extern __inline int32x2_t
2921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s32(int32x2_t __a)2922 vqneg_s32 (int32x2_t __a)
2923 {
2924   return (int32x2_t) __builtin_aarch64_sqnegv2si (__a);
2925 }
2926 
2927 __extension__ extern __inline int64x1_t
2928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s64(int64x1_t __a)2929 vqneg_s64 (int64x1_t __a)
2930 {
2931   return (int64x1_t) {__builtin_aarch64_sqnegdi (__a[0])};
2932 }
2933 
2934 __extension__ extern __inline int8x16_t
2935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s8(int8x16_t __a)2936 vqnegq_s8 (int8x16_t __a)
2937 {
2938   return (int8x16_t) __builtin_aarch64_sqnegv16qi (__a);
2939 }
2940 
2941 __extension__ extern __inline int16x8_t
2942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s16(int16x8_t __a)2943 vqnegq_s16 (int16x8_t __a)
2944 {
2945   return (int16x8_t) __builtin_aarch64_sqnegv8hi (__a);
2946 }
2947 
2948 __extension__ extern __inline int32x4_t
2949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s32(int32x4_t __a)2950 vqnegq_s32 (int32x4_t __a)
2951 {
2952   return (int32x4_t) __builtin_aarch64_sqnegv4si (__a);
2953 }
2954 
2955 __extension__ extern __inline int8x8_t
2956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s8(int8x8_t __a)2957 vqabs_s8 (int8x8_t __a)
2958 {
2959   return (int8x8_t) __builtin_aarch64_sqabsv8qi (__a);
2960 }
2961 
2962 __extension__ extern __inline int16x4_t
2963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s16(int16x4_t __a)2964 vqabs_s16 (int16x4_t __a)
2965 {
2966   return (int16x4_t) __builtin_aarch64_sqabsv4hi (__a);
2967 }
2968 
2969 __extension__ extern __inline int32x2_t
2970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s32(int32x2_t __a)2971 vqabs_s32 (int32x2_t __a)
2972 {
2973   return (int32x2_t) __builtin_aarch64_sqabsv2si (__a);
2974 }
2975 
2976 __extension__ extern __inline int64x1_t
2977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s64(int64x1_t __a)2978 vqabs_s64 (int64x1_t __a)
2979 {
2980   return (int64x1_t) {__builtin_aarch64_sqabsdi (__a[0])};
2981 }
2982 
2983 __extension__ extern __inline int8x16_t
2984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s8(int8x16_t __a)2985 vqabsq_s8 (int8x16_t __a)
2986 {
2987   return (int8x16_t) __builtin_aarch64_sqabsv16qi (__a);
2988 }
2989 
2990 __extension__ extern __inline int16x8_t
2991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s16(int16x8_t __a)2992 vqabsq_s16 (int16x8_t __a)
2993 {
2994   return (int16x8_t) __builtin_aarch64_sqabsv8hi (__a);
2995 }
2996 
2997 __extension__ extern __inline int32x4_t
2998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s32(int32x4_t __a)2999 vqabsq_s32 (int32x4_t __a)
3000 {
3001   return (int32x4_t) __builtin_aarch64_sqabsv4si (__a);
3002 }
3003 
3004 __extension__ extern __inline int16x4_t
3005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)3006 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
3007 {
3008   return (int16x4_t) __builtin_aarch64_sqdmulhv4hi (__a, __b);
3009 }
3010 
3011 __extension__ extern __inline int32x2_t
3012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)3013 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
3014 {
3015   return (int32x2_t) __builtin_aarch64_sqdmulhv2si (__a, __b);
3016 }
3017 
3018 __extension__ extern __inline int16x8_t
3019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)3020 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
3021 {
3022   return (int16x8_t) __builtin_aarch64_sqdmulhv8hi (__a, __b);
3023 }
3024 
3025 __extension__ extern __inline int32x4_t
3026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)3027 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
3028 {
3029   return (int32x4_t) __builtin_aarch64_sqdmulhv4si (__a, __b);
3030 }
3031 
3032 __extension__ extern __inline int16x4_t
3033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)3034 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
3035 {
3036   return (int16x4_t) __builtin_aarch64_sqrdmulhv4hi (__a, __b);
3037 }
3038 
3039 __extension__ extern __inline int32x2_t
3040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)3041 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
3042 {
3043   return (int32x2_t) __builtin_aarch64_sqrdmulhv2si (__a, __b);
3044 }
3045 
3046 __extension__ extern __inline int16x8_t
3047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)3048 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
3049 {
3050   return (int16x8_t) __builtin_aarch64_sqrdmulhv8hi (__a, __b);
3051 }
3052 
3053 __extension__ extern __inline int32x4_t
3054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)3055 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
3056 {
3057   return (int32x4_t) __builtin_aarch64_sqrdmulhv4si (__a, __b);
3058 }
3059 
3060 __extension__ extern __inline int8x8_t
3061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s8(uint64_t __a)3062 vcreate_s8 (uint64_t __a)
3063 {
3064   return (int8x8_t) __a;
3065 }
3066 
3067 __extension__ extern __inline int16x4_t
3068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s16(uint64_t __a)3069 vcreate_s16 (uint64_t __a)
3070 {
3071   return (int16x4_t) __a;
3072 }
3073 
3074 __extension__ extern __inline int32x2_t
3075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s32(uint64_t __a)3076 vcreate_s32 (uint64_t __a)
3077 {
3078   return (int32x2_t) __a;
3079 }
3080 
3081 __extension__ extern __inline int64x1_t
3082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s64(uint64_t __a)3083 vcreate_s64 (uint64_t __a)
3084 {
3085   return (int64x1_t) {__a};
3086 }
3087 
3088 __extension__ extern __inline float16x4_t
3089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f16(uint64_t __a)3090 vcreate_f16 (uint64_t __a)
3091 {
3092   return (float16x4_t) __a;
3093 }
3094 
3095 __extension__ extern __inline float32x2_t
3096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f32(uint64_t __a)3097 vcreate_f32 (uint64_t __a)
3098 {
3099   return (float32x2_t) __a;
3100 }
3101 
3102 __extension__ extern __inline uint8x8_t
3103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u8(uint64_t __a)3104 vcreate_u8 (uint64_t __a)
3105 {
3106   return (uint8x8_t) __a;
3107 }
3108 
3109 __extension__ extern __inline uint16x4_t
3110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u16(uint64_t __a)3111 vcreate_u16 (uint64_t __a)
3112 {
3113   return (uint16x4_t) __a;
3114 }
3115 
3116 __extension__ extern __inline uint32x2_t
3117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u32(uint64_t __a)3118 vcreate_u32 (uint64_t __a)
3119 {
3120   return (uint32x2_t) __a;
3121 }
3122 
3123 __extension__ extern __inline uint64x1_t
3124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u64(uint64_t __a)3125 vcreate_u64 (uint64_t __a)
3126 {
3127   return (uint64x1_t) {__a};
3128 }
3129 
3130 __extension__ extern __inline float64x1_t
3131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f64(uint64_t __a)3132 vcreate_f64 (uint64_t __a)
3133 {
3134   return (float64x1_t) __a;
3135 }
3136 
3137 __extension__ extern __inline poly8x8_t
3138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p8(uint64_t __a)3139 vcreate_p8 (uint64_t __a)
3140 {
3141   return (poly8x8_t) __a;
3142 }
3143 
3144 __extension__ extern __inline poly16x4_t
3145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p16(uint64_t __a)3146 vcreate_p16 (uint64_t __a)
3147 {
3148   return (poly16x4_t) __a;
3149 }
3150 
3151 __extension__ extern __inline poly64x1_t
3152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p64(uint64_t __a)3153 vcreate_p64 (uint64_t __a)
3154 {
3155   return (poly64x1_t) __a;
3156 }
3157 
3158 /* vget_lane  */
3159 
3160 __extension__ extern __inline float16_t
3161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f16(float16x4_t __a,const int __b)3162 vget_lane_f16 (float16x4_t __a, const int __b)
3163 {
3164   return __aarch64_vget_lane_any (__a, __b);
3165 }
3166 
3167 __extension__ extern __inline float32_t
3168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f32(float32x2_t __a,const int __b)3169 vget_lane_f32 (float32x2_t __a, const int __b)
3170 {
3171   return __aarch64_vget_lane_any (__a, __b);
3172 }
3173 
3174 __extension__ extern __inline float64_t
3175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f64(float64x1_t __a,const int __b)3176 vget_lane_f64 (float64x1_t __a, const int __b)
3177 {
3178   return __aarch64_vget_lane_any (__a, __b);
3179 }
3180 
3181 __extension__ extern __inline poly8_t
3182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p8(poly8x8_t __a,const int __b)3183 vget_lane_p8 (poly8x8_t __a, const int __b)
3184 {
3185   return __aarch64_vget_lane_any (__a, __b);
3186 }
3187 
3188 __extension__ extern __inline poly16_t
3189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p16(poly16x4_t __a,const int __b)3190 vget_lane_p16 (poly16x4_t __a, const int __b)
3191 {
3192   return __aarch64_vget_lane_any (__a, __b);
3193 }
3194 
3195 __extension__ extern __inline poly64_t
3196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p64(poly64x1_t __a,const int __b)3197 vget_lane_p64 (poly64x1_t __a, const int __b)
3198 {
3199   return __aarch64_vget_lane_any (__a, __b);
3200 }
3201 
3202 __extension__ extern __inline int8_t
3203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s8(int8x8_t __a,const int __b)3204 vget_lane_s8 (int8x8_t __a, const int __b)
3205 {
3206   return __aarch64_vget_lane_any (__a, __b);
3207 }
3208 
3209 __extension__ extern __inline int16_t
3210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s16(int16x4_t __a,const int __b)3211 vget_lane_s16 (int16x4_t __a, const int __b)
3212 {
3213   return __aarch64_vget_lane_any (__a, __b);
3214 }
3215 
3216 __extension__ extern __inline int32_t
3217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s32(int32x2_t __a,const int __b)3218 vget_lane_s32 (int32x2_t __a, const int __b)
3219 {
3220   return __aarch64_vget_lane_any (__a, __b);
3221 }
3222 
3223 __extension__ extern __inline int64_t
3224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s64(int64x1_t __a,const int __b)3225 vget_lane_s64 (int64x1_t __a, const int __b)
3226 {
3227   return __aarch64_vget_lane_any (__a, __b);
3228 }
3229 
3230 __extension__ extern __inline uint8_t
3231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u8(uint8x8_t __a,const int __b)3232 vget_lane_u8 (uint8x8_t __a, const int __b)
3233 {
3234   return __aarch64_vget_lane_any (__a, __b);
3235 }
3236 
3237 __extension__ extern __inline uint16_t
3238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u16(uint16x4_t __a,const int __b)3239 vget_lane_u16 (uint16x4_t __a, const int __b)
3240 {
3241   return __aarch64_vget_lane_any (__a, __b);
3242 }
3243 
3244 __extension__ extern __inline uint32_t
3245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u32(uint32x2_t __a,const int __b)3246 vget_lane_u32 (uint32x2_t __a, const int __b)
3247 {
3248   return __aarch64_vget_lane_any (__a, __b);
3249 }
3250 
3251 __extension__ extern __inline uint64_t
3252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u64(uint64x1_t __a,const int __b)3253 vget_lane_u64 (uint64x1_t __a, const int __b)
3254 {
3255   return __aarch64_vget_lane_any (__a, __b);
3256 }
3257 
3258 /* vgetq_lane  */
3259 
3260 __extension__ extern __inline float16_t
3261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f16(float16x8_t __a,const int __b)3262 vgetq_lane_f16 (float16x8_t __a, const int __b)
3263 {
3264   return __aarch64_vget_lane_any (__a, __b);
3265 }
3266 
3267 __extension__ extern __inline float32_t
3268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f32(float32x4_t __a,const int __b)3269 vgetq_lane_f32 (float32x4_t __a, const int __b)
3270 {
3271   return __aarch64_vget_lane_any (__a, __b);
3272 }
3273 
3274 __extension__ extern __inline float64_t
3275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f64(float64x2_t __a,const int __b)3276 vgetq_lane_f64 (float64x2_t __a, const int __b)
3277 {
3278   return __aarch64_vget_lane_any (__a, __b);
3279 }
3280 
3281 __extension__ extern __inline poly8_t
3282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p8(poly8x16_t __a,const int __b)3283 vgetq_lane_p8 (poly8x16_t __a, const int __b)
3284 {
3285   return __aarch64_vget_lane_any (__a, __b);
3286 }
3287 
3288 __extension__ extern __inline poly16_t
3289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p16(poly16x8_t __a,const int __b)3290 vgetq_lane_p16 (poly16x8_t __a, const int __b)
3291 {
3292   return __aarch64_vget_lane_any (__a, __b);
3293 }
3294 
3295 __extension__ extern __inline poly64_t
3296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p64(poly64x2_t __a,const int __b)3297 vgetq_lane_p64 (poly64x2_t __a, const int __b)
3298 {
3299   return __aarch64_vget_lane_any (__a, __b);
3300 }
3301 
3302 __extension__ extern __inline int8_t
3303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s8(int8x16_t __a,const int __b)3304 vgetq_lane_s8 (int8x16_t __a, const int __b)
3305 {
3306   return __aarch64_vget_lane_any (__a, __b);
3307 }
3308 
3309 __extension__ extern __inline int16_t
3310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s16(int16x8_t __a,const int __b)3311 vgetq_lane_s16 (int16x8_t __a, const int __b)
3312 {
3313   return __aarch64_vget_lane_any (__a, __b);
3314 }
3315 
3316 __extension__ extern __inline int32_t
3317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s32(int32x4_t __a,const int __b)3318 vgetq_lane_s32 (int32x4_t __a, const int __b)
3319 {
3320   return __aarch64_vget_lane_any (__a, __b);
3321 }
3322 
3323 __extension__ extern __inline int64_t
3324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s64(int64x2_t __a,const int __b)3325 vgetq_lane_s64 (int64x2_t __a, const int __b)
3326 {
3327   return __aarch64_vget_lane_any (__a, __b);
3328 }
3329 
3330 __extension__ extern __inline uint8_t
3331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u8(uint8x16_t __a,const int __b)3332 vgetq_lane_u8 (uint8x16_t __a, const int __b)
3333 {
3334   return __aarch64_vget_lane_any (__a, __b);
3335 }
3336 
3337 __extension__ extern __inline uint16_t
3338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u16(uint16x8_t __a,const int __b)3339 vgetq_lane_u16 (uint16x8_t __a, const int __b)
3340 {
3341   return __aarch64_vget_lane_any (__a, __b);
3342 }
3343 
3344 __extension__ extern __inline uint32_t
3345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u32(uint32x4_t __a,const int __b)3346 vgetq_lane_u32 (uint32x4_t __a, const int __b)
3347 {
3348   return __aarch64_vget_lane_any (__a, __b);
3349 }
3350 
3351 __extension__ extern __inline uint64_t
3352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u64(uint64x2_t __a,const int __b)3353 vgetq_lane_u64 (uint64x2_t __a, const int __b)
3354 {
3355   return __aarch64_vget_lane_any (__a, __b);
3356 }
3357 
3358 /* vreinterpret  */
3359 
3360 __extension__ extern __inline poly8x8_t
3361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f16(float16x4_t __a)3362 vreinterpret_p8_f16 (float16x4_t __a)
3363 {
3364   return (poly8x8_t) __a;
3365 }
3366 
3367 __extension__ extern __inline poly8x8_t
3368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f64(float64x1_t __a)3369 vreinterpret_p8_f64 (float64x1_t __a)
3370 {
3371   return (poly8x8_t) __a;
3372 }
3373 
3374 __extension__ extern __inline poly8x8_t
3375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s8(int8x8_t __a)3376 vreinterpret_p8_s8 (int8x8_t __a)
3377 {
3378   return (poly8x8_t) __a;
3379 }
3380 
3381 __extension__ extern __inline poly8x8_t
3382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s16(int16x4_t __a)3383 vreinterpret_p8_s16 (int16x4_t __a)
3384 {
3385   return (poly8x8_t) __a;
3386 }
3387 
3388 __extension__ extern __inline poly8x8_t
3389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s32(int32x2_t __a)3390 vreinterpret_p8_s32 (int32x2_t __a)
3391 {
3392   return (poly8x8_t) __a;
3393 }
3394 
3395 __extension__ extern __inline poly8x8_t
3396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s64(int64x1_t __a)3397 vreinterpret_p8_s64 (int64x1_t __a)
3398 {
3399   return (poly8x8_t) __a;
3400 }
3401 
3402 __extension__ extern __inline poly8x8_t
3403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f32(float32x2_t __a)3404 vreinterpret_p8_f32 (float32x2_t __a)
3405 {
3406   return (poly8x8_t) __a;
3407 }
3408 
3409 __extension__ extern __inline poly8x8_t
3410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u8(uint8x8_t __a)3411 vreinterpret_p8_u8 (uint8x8_t __a)
3412 {
3413   return (poly8x8_t) __a;
3414 }
3415 
3416 __extension__ extern __inline poly8x8_t
3417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u16(uint16x4_t __a)3418 vreinterpret_p8_u16 (uint16x4_t __a)
3419 {
3420   return (poly8x8_t) __a;
3421 }
3422 
3423 __extension__ extern __inline poly8x8_t
3424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u32(uint32x2_t __a)3425 vreinterpret_p8_u32 (uint32x2_t __a)
3426 {
3427   return (poly8x8_t) __a;
3428 }
3429 
3430 __extension__ extern __inline poly8x8_t
3431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u64(uint64x1_t __a)3432 vreinterpret_p8_u64 (uint64x1_t __a)
3433 {
3434   return (poly8x8_t) __a;
3435 }
3436 
3437 __extension__ extern __inline poly8x8_t
3438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p16(poly16x4_t __a)3439 vreinterpret_p8_p16 (poly16x4_t __a)
3440 {
3441   return (poly8x8_t) __a;
3442 }
3443 
3444 __extension__ extern __inline poly8x8_t
3445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p64(poly64x1_t __a)3446 vreinterpret_p8_p64 (poly64x1_t __a)
3447 {
3448   return (poly8x8_t) __a;
3449 }
3450 
3451 __extension__ extern __inline poly8x16_t
3452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f64(float64x2_t __a)3453 vreinterpretq_p8_f64 (float64x2_t __a)
3454 {
3455   return (poly8x16_t) __a;
3456 }
3457 
3458 __extension__ extern __inline poly8x16_t
3459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s8(int8x16_t __a)3460 vreinterpretq_p8_s8 (int8x16_t __a)
3461 {
3462   return (poly8x16_t) __a;
3463 }
3464 
3465 __extension__ extern __inline poly8x16_t
3466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s16(int16x8_t __a)3467 vreinterpretq_p8_s16 (int16x8_t __a)
3468 {
3469   return (poly8x16_t) __a;
3470 }
3471 
3472 __extension__ extern __inline poly8x16_t
3473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s32(int32x4_t __a)3474 vreinterpretq_p8_s32 (int32x4_t __a)
3475 {
3476   return (poly8x16_t) __a;
3477 }
3478 
3479 __extension__ extern __inline poly8x16_t
3480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s64(int64x2_t __a)3481 vreinterpretq_p8_s64 (int64x2_t __a)
3482 {
3483   return (poly8x16_t) __a;
3484 }
3485 
3486 __extension__ extern __inline poly8x16_t
3487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f16(float16x8_t __a)3488 vreinterpretq_p8_f16 (float16x8_t __a)
3489 {
3490   return (poly8x16_t) __a;
3491 }
3492 
3493 __extension__ extern __inline poly8x16_t
3494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f32(float32x4_t __a)3495 vreinterpretq_p8_f32 (float32x4_t __a)
3496 {
3497   return (poly8x16_t) __a;
3498 }
3499 
3500 __extension__ extern __inline poly8x16_t
3501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u8(uint8x16_t __a)3502 vreinterpretq_p8_u8 (uint8x16_t __a)
3503 {
3504   return (poly8x16_t) __a;
3505 }
3506 
3507 __extension__ extern __inline poly8x16_t
3508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u16(uint16x8_t __a)3509 vreinterpretq_p8_u16 (uint16x8_t __a)
3510 {
3511   return (poly8x16_t) __a;
3512 }
3513 
3514 __extension__ extern __inline poly8x16_t
3515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u32(uint32x4_t __a)3516 vreinterpretq_p8_u32 (uint32x4_t __a)
3517 {
3518   return (poly8x16_t) __a;
3519 }
3520 
3521 __extension__ extern __inline poly8x16_t
3522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u64(uint64x2_t __a)3523 vreinterpretq_p8_u64 (uint64x2_t __a)
3524 {
3525   return (poly8x16_t) __a;
3526 }
3527 
3528 __extension__ extern __inline poly8x16_t
3529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p16(poly16x8_t __a)3530 vreinterpretq_p8_p16 (poly16x8_t __a)
3531 {
3532   return (poly8x16_t) __a;
3533 }
3534 
3535 __extension__ extern __inline poly8x16_t
3536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p64(poly64x2_t __a)3537 vreinterpretq_p8_p64 (poly64x2_t __a)
3538 {
3539   return (poly8x16_t) __a;
3540 }
3541 
3542 __extension__ extern __inline poly8x16_t
3543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p128(poly128_t __a)3544 vreinterpretq_p8_p128 (poly128_t __a)
3545 {
3546   return (poly8x16_t)__a;
3547 }
3548 
3549 __extension__ extern __inline poly16x4_t
3550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f16(float16x4_t __a)3551 vreinterpret_p16_f16 (float16x4_t __a)
3552 {
3553   return (poly16x4_t) __a;
3554 }
3555 
3556 __extension__ extern __inline poly16x4_t
3557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f64(float64x1_t __a)3558 vreinterpret_p16_f64 (float64x1_t __a)
3559 {
3560   return (poly16x4_t) __a;
3561 }
3562 
3563 __extension__ extern __inline poly16x4_t
3564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s8(int8x8_t __a)3565 vreinterpret_p16_s8 (int8x8_t __a)
3566 {
3567   return (poly16x4_t) __a;
3568 }
3569 
3570 __extension__ extern __inline poly16x4_t
3571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s16(int16x4_t __a)3572 vreinterpret_p16_s16 (int16x4_t __a)
3573 {
3574   return (poly16x4_t) __a;
3575 }
3576 
3577 __extension__ extern __inline poly16x4_t
3578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s32(int32x2_t __a)3579 vreinterpret_p16_s32 (int32x2_t __a)
3580 {
3581   return (poly16x4_t) __a;
3582 }
3583 
3584 __extension__ extern __inline poly16x4_t
3585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s64(int64x1_t __a)3586 vreinterpret_p16_s64 (int64x1_t __a)
3587 {
3588   return (poly16x4_t) __a;
3589 }
3590 
3591 __extension__ extern __inline poly16x4_t
3592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f32(float32x2_t __a)3593 vreinterpret_p16_f32 (float32x2_t __a)
3594 {
3595   return (poly16x4_t) __a;
3596 }
3597 
3598 __extension__ extern __inline poly16x4_t
3599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u8(uint8x8_t __a)3600 vreinterpret_p16_u8 (uint8x8_t __a)
3601 {
3602   return (poly16x4_t) __a;
3603 }
3604 
3605 __extension__ extern __inline poly16x4_t
3606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u16(uint16x4_t __a)3607 vreinterpret_p16_u16 (uint16x4_t __a)
3608 {
3609   return (poly16x4_t) __a;
3610 }
3611 
3612 __extension__ extern __inline poly16x4_t
3613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u32(uint32x2_t __a)3614 vreinterpret_p16_u32 (uint32x2_t __a)
3615 {
3616   return (poly16x4_t) __a;
3617 }
3618 
3619 __extension__ extern __inline poly16x4_t
3620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u64(uint64x1_t __a)3621 vreinterpret_p16_u64 (uint64x1_t __a)
3622 {
3623   return (poly16x4_t) __a;
3624 }
3625 
3626 __extension__ extern __inline poly16x4_t
3627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p8(poly8x8_t __a)3628 vreinterpret_p16_p8 (poly8x8_t __a)
3629 {
3630   return (poly16x4_t) __a;
3631 }
3632 
3633 __extension__ extern __inline poly16x4_t
3634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p64(poly64x1_t __a)3635 vreinterpret_p16_p64 (poly64x1_t __a)
3636 {
3637   return (poly16x4_t) __a;
3638 }
3639 
3640 __extension__ extern __inline poly16x8_t
3641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f64(float64x2_t __a)3642 vreinterpretq_p16_f64 (float64x2_t __a)
3643 {
3644   return (poly16x8_t) __a;
3645 }
3646 
3647 __extension__ extern __inline poly16x8_t
3648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s8(int8x16_t __a)3649 vreinterpretq_p16_s8 (int8x16_t __a)
3650 {
3651   return (poly16x8_t) __a;
3652 }
3653 
3654 __extension__ extern __inline poly16x8_t
3655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s16(int16x8_t __a)3656 vreinterpretq_p16_s16 (int16x8_t __a)
3657 {
3658   return (poly16x8_t) __a;
3659 }
3660 
3661 __extension__ extern __inline poly16x8_t
3662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s32(int32x4_t __a)3663 vreinterpretq_p16_s32 (int32x4_t __a)
3664 {
3665   return (poly16x8_t) __a;
3666 }
3667 
3668 __extension__ extern __inline poly16x8_t
3669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s64(int64x2_t __a)3670 vreinterpretq_p16_s64 (int64x2_t __a)
3671 {
3672   return (poly16x8_t) __a;
3673 }
3674 
3675 __extension__ extern __inline poly16x8_t
3676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f16(float16x8_t __a)3677 vreinterpretq_p16_f16 (float16x8_t __a)
3678 {
3679   return (poly16x8_t) __a;
3680 }
3681 
3682 __extension__ extern __inline poly16x8_t
3683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f32(float32x4_t __a)3684 vreinterpretq_p16_f32 (float32x4_t __a)
3685 {
3686   return (poly16x8_t) __a;
3687 }
3688 
3689 __extension__ extern __inline poly16x8_t
3690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u8(uint8x16_t __a)3691 vreinterpretq_p16_u8 (uint8x16_t __a)
3692 {
3693   return (poly16x8_t) __a;
3694 }
3695 
3696 __extension__ extern __inline poly16x8_t
3697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u16(uint16x8_t __a)3698 vreinterpretq_p16_u16 (uint16x8_t __a)
3699 {
3700   return (poly16x8_t) __a;
3701 }
3702 
3703 __extension__ extern __inline poly16x8_t
3704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u32(uint32x4_t __a)3705 vreinterpretq_p16_u32 (uint32x4_t __a)
3706 {
3707   return (poly16x8_t) __a;
3708 }
3709 
3710 __extension__ extern __inline poly16x8_t
3711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u64(uint64x2_t __a)3712 vreinterpretq_p16_u64 (uint64x2_t __a)
3713 {
3714   return (poly16x8_t) __a;
3715 }
3716 
3717 __extension__ extern __inline poly16x8_t
3718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p8(poly8x16_t __a)3719 vreinterpretq_p16_p8 (poly8x16_t __a)
3720 {
3721   return (poly16x8_t) __a;
3722 }
3723 
3724 __extension__ extern __inline poly16x8_t
3725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p64(poly64x2_t __a)3726 vreinterpretq_p16_p64 (poly64x2_t __a)
3727 {
3728   return (poly16x8_t) __a;
3729 }
3730 
3731 __extension__ extern __inline poly16x8_t
3732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p128(poly128_t __a)3733 vreinterpretq_p16_p128 (poly128_t __a)
3734 {
3735   return (poly16x8_t)__a;
3736 }
3737 
3738 __extension__ extern __inline poly64x1_t
3739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f16(float16x4_t __a)3740 vreinterpret_p64_f16 (float16x4_t __a)
3741 {
3742   return (poly64x1_t) __a;
3743 }
3744 
3745 __extension__ extern __inline poly64x1_t
3746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f64(float64x1_t __a)3747 vreinterpret_p64_f64 (float64x1_t __a)
3748 {
3749   return (poly64x1_t) __a;
3750 }
3751 
3752 __extension__ extern __inline poly64x1_t
3753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s8(int8x8_t __a)3754 vreinterpret_p64_s8 (int8x8_t __a)
3755 {
3756   return (poly64x1_t) __a;
3757 }
3758 
3759 __extension__ extern __inline poly64x1_t
3760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s16(int16x4_t __a)3761 vreinterpret_p64_s16 (int16x4_t __a)
3762 {
3763   return (poly64x1_t) __a;
3764 }
3765 
3766 __extension__ extern __inline poly64x1_t
3767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s32(int32x2_t __a)3768 vreinterpret_p64_s32 (int32x2_t __a)
3769 {
3770   return (poly64x1_t) __a;
3771 }
3772 
3773 __extension__ extern __inline poly64x1_t
3774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s64(int64x1_t __a)3775 vreinterpret_p64_s64 (int64x1_t __a)
3776 {
3777   return (poly64x1_t) __a;
3778 }
3779 
3780 __extension__ extern __inline poly64x1_t
3781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f32(float32x2_t __a)3782 vreinterpret_p64_f32 (float32x2_t __a)
3783 {
3784   return (poly64x1_t) __a;
3785 }
3786 
3787 __extension__ extern __inline poly64x1_t
3788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u8(uint8x8_t __a)3789 vreinterpret_p64_u8 (uint8x8_t __a)
3790 {
3791   return (poly64x1_t) __a;
3792 }
3793 
3794 __extension__ extern __inline poly64x1_t
3795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u16(uint16x4_t __a)3796 vreinterpret_p64_u16 (uint16x4_t __a)
3797 {
3798   return (poly64x1_t) __a;
3799 }
3800 
3801 __extension__ extern __inline poly64x1_t
3802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u32(uint32x2_t __a)3803 vreinterpret_p64_u32 (uint32x2_t __a)
3804 {
3805   return (poly64x1_t) __a;
3806 }
3807 
3808 __extension__ extern __inline poly64x1_t
3809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u64(uint64x1_t __a)3810 vreinterpret_p64_u64 (uint64x1_t __a)
3811 {
3812   return (poly64x1_t) __a;
3813 }
3814 
3815 __extension__ extern __inline poly64x1_t
3816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p8(poly8x8_t __a)3817 vreinterpret_p64_p8 (poly8x8_t __a)
3818 {
3819   return (poly64x1_t) __a;
3820 }
3821 
3822 __extension__ extern __inline poly64x1_t
3823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p16(poly16x4_t __a)3824 vreinterpret_p64_p16 (poly16x4_t __a)
3825 {
3826   return (poly64x1_t)__a;
3827 }
3828 
3829 __extension__ extern __inline poly64x2_t
3830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f64(float64x2_t __a)3831 vreinterpretq_p64_f64 (float64x2_t __a)
3832 {
3833   return (poly64x2_t) __a;
3834 }
3835 
3836 __extension__ extern __inline poly64x2_t
3837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s8(int8x16_t __a)3838 vreinterpretq_p64_s8 (int8x16_t __a)
3839 {
3840   return (poly64x2_t) __a;
3841 }
3842 
3843 __extension__ extern __inline poly64x2_t
3844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s16(int16x8_t __a)3845 vreinterpretq_p64_s16 (int16x8_t __a)
3846 {
3847   return (poly64x2_t) __a;
3848 }
3849 
3850 __extension__ extern __inline poly64x2_t
3851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s32(int32x4_t __a)3852 vreinterpretq_p64_s32 (int32x4_t __a)
3853 {
3854   return (poly64x2_t) __a;
3855 }
3856 
3857 __extension__ extern __inline poly64x2_t
3858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s64(int64x2_t __a)3859 vreinterpretq_p64_s64 (int64x2_t __a)
3860 {
3861   return (poly64x2_t) __a;
3862 }
3863 
3864 __extension__ extern __inline poly64x2_t
3865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f16(float16x8_t __a)3866 vreinterpretq_p64_f16 (float16x8_t __a)
3867 {
3868   return (poly64x2_t) __a;
3869 }
3870 
3871 __extension__ extern __inline poly64x2_t
3872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f32(float32x4_t __a)3873 vreinterpretq_p64_f32 (float32x4_t __a)
3874 {
3875   return (poly64x2_t) __a;
3876 }
3877 
3878 __extension__ extern __inline poly64x2_t
3879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p128(poly128_t __a)3880 vreinterpretq_p64_p128 (poly128_t __a)
3881 {
3882   return (poly64x2_t)__a;
3883 }
3884 
3885 __extension__ extern __inline poly64x2_t
3886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u8(uint8x16_t __a)3887 vreinterpretq_p64_u8 (uint8x16_t __a)
3888 {
3889   return (poly64x2_t) __a;
3890 }
3891 
3892 __extension__ extern __inline poly64x2_t
3893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u16(uint16x8_t __a)3894 vreinterpretq_p64_u16 (uint16x8_t __a)
3895 {
3896   return (poly64x2_t) __a;
3897 }
3898 
3899 __extension__ extern __inline poly64x2_t
3900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p16(poly16x8_t __a)3901 vreinterpretq_p64_p16 (poly16x8_t __a)
3902 {
3903   return (poly64x2_t)__a;
3904 }
3905 
3906 __extension__ extern __inline poly64x2_t
3907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u32(uint32x4_t __a)3908 vreinterpretq_p64_u32 (uint32x4_t __a)
3909 {
3910   return (poly64x2_t) __a;
3911 }
3912 
3913 __extension__ extern __inline poly64x2_t
3914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u64(uint64x2_t __a)3915 vreinterpretq_p64_u64 (uint64x2_t __a)
3916 {
3917   return (poly64x2_t) __a;
3918 }
3919 
3920 __extension__ extern __inline poly64x2_t
3921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p8(poly8x16_t __a)3922 vreinterpretq_p64_p8 (poly8x16_t __a)
3923 {
3924   return (poly64x2_t) __a;
3925 }
3926 
3927 __extension__ extern __inline poly128_t
3928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p8(poly8x16_t __a)3929 vreinterpretq_p128_p8 (poly8x16_t __a)
3930 {
3931   return (poly128_t)__a;
3932 }
3933 
3934 __extension__ extern __inline poly128_t
3935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p16(poly16x8_t __a)3936 vreinterpretq_p128_p16 (poly16x8_t __a)
3937 {
3938   return (poly128_t)__a;
3939 }
3940 
3941 __extension__ extern __inline poly128_t
3942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f16(float16x8_t __a)3943 vreinterpretq_p128_f16 (float16x8_t __a)
3944 {
3945   return (poly128_t) __a;
3946 }
3947 
3948 __extension__ extern __inline poly128_t
3949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f32(float32x4_t __a)3950 vreinterpretq_p128_f32 (float32x4_t __a)
3951 {
3952   return (poly128_t)__a;
3953 }
3954 
3955 __extension__ extern __inline poly128_t
3956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p64(poly64x2_t __a)3957 vreinterpretq_p128_p64 (poly64x2_t __a)
3958 {
3959   return (poly128_t)__a;
3960 }
3961 
3962 __extension__ extern __inline poly128_t
3963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s64(int64x2_t __a)3964 vreinterpretq_p128_s64 (int64x2_t __a)
3965 {
3966   return (poly128_t)__a;
3967 }
3968 
3969 __extension__ extern __inline poly128_t
3970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u64(uint64x2_t __a)3971 vreinterpretq_p128_u64 (uint64x2_t __a)
3972 {
3973   return (poly128_t)__a;
3974 }
3975 
3976 __extension__ extern __inline poly128_t
3977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s8(int8x16_t __a)3978 vreinterpretq_p128_s8 (int8x16_t __a)
3979 {
3980   return (poly128_t)__a;
3981 }
3982 
3983 __extension__ extern __inline poly128_t
3984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s16(int16x8_t __a)3985 vreinterpretq_p128_s16 (int16x8_t __a)
3986 {
3987   return (poly128_t)__a;
3988 }
3989 
3990 __extension__ extern __inline poly128_t
3991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s32(int32x4_t __a)3992 vreinterpretq_p128_s32 (int32x4_t __a)
3993 {
3994   return (poly128_t)__a;
3995 }
3996 
3997 __extension__ extern __inline poly128_t
3998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u8(uint8x16_t __a)3999 vreinterpretq_p128_u8 (uint8x16_t __a)
4000 {
4001   return (poly128_t)__a;
4002 }
4003 
4004 __extension__ extern __inline poly128_t
4005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u16(uint16x8_t __a)4006 vreinterpretq_p128_u16 (uint16x8_t __a)
4007 {
4008   return (poly128_t)__a;
4009 }
4010 
4011 __extension__ extern __inline poly128_t
4012 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u32(uint32x4_t __a)4013 vreinterpretq_p128_u32 (uint32x4_t __a)
4014 {
4015   return (poly128_t)__a;
4016 }
4017 
4018 __extension__ extern __inline float16x4_t
4019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f64(float64x1_t __a)4020 vreinterpret_f16_f64 (float64x1_t __a)
4021 {
4022   return (float16x4_t) __a;
4023 }
4024 
4025 __extension__ extern __inline float16x4_t
4026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s8(int8x8_t __a)4027 vreinterpret_f16_s8 (int8x8_t __a)
4028 {
4029   return (float16x4_t) __a;
4030 }
4031 
4032 __extension__ extern __inline float16x4_t
4033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s16(int16x4_t __a)4034 vreinterpret_f16_s16 (int16x4_t __a)
4035 {
4036   return (float16x4_t) __a;
4037 }
4038 
4039 __extension__ extern __inline float16x4_t
4040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s32(int32x2_t __a)4041 vreinterpret_f16_s32 (int32x2_t __a)
4042 {
4043   return (float16x4_t) __a;
4044 }
4045 
4046 __extension__ extern __inline float16x4_t
4047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s64(int64x1_t __a)4048 vreinterpret_f16_s64 (int64x1_t __a)
4049 {
4050   return (float16x4_t) __a;
4051 }
4052 
4053 __extension__ extern __inline float16x4_t
4054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f32(float32x2_t __a)4055 vreinterpret_f16_f32 (float32x2_t __a)
4056 {
4057   return (float16x4_t) __a;
4058 }
4059 
4060 __extension__ extern __inline float16x4_t
4061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u8(uint8x8_t __a)4062 vreinterpret_f16_u8 (uint8x8_t __a)
4063 {
4064   return (float16x4_t) __a;
4065 }
4066 
4067 __extension__ extern __inline float16x4_t
4068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u16(uint16x4_t __a)4069 vreinterpret_f16_u16 (uint16x4_t __a)
4070 {
4071   return (float16x4_t) __a;
4072 }
4073 
4074 __extension__ extern __inline float16x4_t
4075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u32(uint32x2_t __a)4076 vreinterpret_f16_u32 (uint32x2_t __a)
4077 {
4078   return (float16x4_t) __a;
4079 }
4080 
4081 __extension__ extern __inline float16x4_t
4082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u64(uint64x1_t __a)4083 vreinterpret_f16_u64 (uint64x1_t __a)
4084 {
4085   return (float16x4_t) __a;
4086 }
4087 
4088 __extension__ extern __inline float16x4_t
4089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p8(poly8x8_t __a)4090 vreinterpret_f16_p8 (poly8x8_t __a)
4091 {
4092   return (float16x4_t) __a;
4093 }
4094 
4095 __extension__ extern __inline float16x4_t
4096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p16(poly16x4_t __a)4097 vreinterpret_f16_p16 (poly16x4_t __a)
4098 {
4099   return (float16x4_t) __a;
4100 }
4101 
4102 __extension__ extern __inline float16x4_t
4103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p64(poly64x1_t __a)4104 vreinterpret_f16_p64 (poly64x1_t __a)
4105 {
4106   return (float16x4_t) __a;
4107 }
4108 
4109 __extension__ extern __inline float16x8_t
4110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f64(float64x2_t __a)4111 vreinterpretq_f16_f64 (float64x2_t __a)
4112 {
4113   return (float16x8_t) __a;
4114 }
4115 
4116 __extension__ extern __inline float16x8_t
4117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s8(int8x16_t __a)4118 vreinterpretq_f16_s8 (int8x16_t __a)
4119 {
4120   return (float16x8_t) __a;
4121 }
4122 
4123 __extension__ extern __inline float16x8_t
4124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s16(int16x8_t __a)4125 vreinterpretq_f16_s16 (int16x8_t __a)
4126 {
4127   return (float16x8_t) __a;
4128 }
4129 
4130 __extension__ extern __inline float16x8_t
4131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s32(int32x4_t __a)4132 vreinterpretq_f16_s32 (int32x4_t __a)
4133 {
4134   return (float16x8_t) __a;
4135 }
4136 
4137 __extension__ extern __inline float16x8_t
4138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s64(int64x2_t __a)4139 vreinterpretq_f16_s64 (int64x2_t __a)
4140 {
4141   return (float16x8_t) __a;
4142 }
4143 
4144 __extension__ extern __inline float16x8_t
4145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f32(float32x4_t __a)4146 vreinterpretq_f16_f32 (float32x4_t __a)
4147 {
4148   return (float16x8_t) __a;
4149 }
4150 
4151 __extension__ extern __inline float16x8_t
4152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u8(uint8x16_t __a)4153 vreinterpretq_f16_u8 (uint8x16_t __a)
4154 {
4155   return (float16x8_t) __a;
4156 }
4157 
4158 __extension__ extern __inline float16x8_t
4159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u16(uint16x8_t __a)4160 vreinterpretq_f16_u16 (uint16x8_t __a)
4161 {
4162   return (float16x8_t) __a;
4163 }
4164 
4165 __extension__ extern __inline float16x8_t
4166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u32(uint32x4_t __a)4167 vreinterpretq_f16_u32 (uint32x4_t __a)
4168 {
4169   return (float16x8_t) __a;
4170 }
4171 
4172 __extension__ extern __inline float16x8_t
4173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u64(uint64x2_t __a)4174 vreinterpretq_f16_u64 (uint64x2_t __a)
4175 {
4176   return (float16x8_t) __a;
4177 }
4178 
4179 __extension__ extern __inline float16x8_t
4180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p8(poly8x16_t __a)4181 vreinterpretq_f16_p8 (poly8x16_t __a)
4182 {
4183   return (float16x8_t) __a;
4184 }
4185 
4186 __extension__ extern __inline float16x8_t
4187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p128(poly128_t __a)4188 vreinterpretq_f16_p128 (poly128_t __a)
4189 {
4190   return (float16x8_t) __a;
4191 }
4192 
4193 __extension__ extern __inline float16x8_t
4194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p16(poly16x8_t __a)4195 vreinterpretq_f16_p16 (poly16x8_t __a)
4196 {
4197   return (float16x8_t) __a;
4198 }
4199 
4200 __extension__ extern __inline float16x8_t
4201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p64(poly64x2_t __a)4202 vreinterpretq_f16_p64 (poly64x2_t __a)
4203 {
4204   return (float16x8_t) __a;
4205 }
4206 
4207 __extension__ extern __inline float32x2_t
4208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f16(float16x4_t __a)4209 vreinterpret_f32_f16 (float16x4_t __a)
4210 {
4211   return (float32x2_t) __a;
4212 }
4213 
4214 __extension__ extern __inline float32x2_t
4215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f64(float64x1_t __a)4216 vreinterpret_f32_f64 (float64x1_t __a)
4217 {
4218   return (float32x2_t) __a;
4219 }
4220 
4221 __extension__ extern __inline float32x2_t
4222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s8(int8x8_t __a)4223 vreinterpret_f32_s8 (int8x8_t __a)
4224 {
4225   return (float32x2_t) __a;
4226 }
4227 
4228 __extension__ extern __inline float32x2_t
4229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s16(int16x4_t __a)4230 vreinterpret_f32_s16 (int16x4_t __a)
4231 {
4232   return (float32x2_t) __a;
4233 }
4234 
4235 __extension__ extern __inline float32x2_t
4236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s32(int32x2_t __a)4237 vreinterpret_f32_s32 (int32x2_t __a)
4238 {
4239   return (float32x2_t) __a;
4240 }
4241 
4242 __extension__ extern __inline float32x2_t
4243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s64(int64x1_t __a)4244 vreinterpret_f32_s64 (int64x1_t __a)
4245 {
4246   return (float32x2_t) __a;
4247 }
4248 
4249 __extension__ extern __inline float32x2_t
4250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u8(uint8x8_t __a)4251 vreinterpret_f32_u8 (uint8x8_t __a)
4252 {
4253   return (float32x2_t) __a;
4254 }
4255 
4256 __extension__ extern __inline float32x2_t
4257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u16(uint16x4_t __a)4258 vreinterpret_f32_u16 (uint16x4_t __a)
4259 {
4260   return (float32x2_t) __a;
4261 }
4262 
4263 __extension__ extern __inline float32x2_t
4264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u32(uint32x2_t __a)4265 vreinterpret_f32_u32 (uint32x2_t __a)
4266 {
4267   return (float32x2_t) __a;
4268 }
4269 
4270 __extension__ extern __inline float32x2_t
4271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u64(uint64x1_t __a)4272 vreinterpret_f32_u64 (uint64x1_t __a)
4273 {
4274   return (float32x2_t) __a;
4275 }
4276 
4277 __extension__ extern __inline float32x2_t
4278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p8(poly8x8_t __a)4279 vreinterpret_f32_p8 (poly8x8_t __a)
4280 {
4281   return (float32x2_t) __a;
4282 }
4283 
4284 __extension__ extern __inline float32x2_t
4285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p16(poly16x4_t __a)4286 vreinterpret_f32_p16 (poly16x4_t __a)
4287 {
4288   return (float32x2_t) __a;
4289 }
4290 
4291 __extension__ extern __inline float32x2_t
4292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p64(poly64x1_t __a)4293 vreinterpret_f32_p64 (poly64x1_t __a)
4294 {
4295   return (float32x2_t) __a;
4296 }
4297 
4298 __extension__ extern __inline float32x4_t
4299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f16(float16x8_t __a)4300 vreinterpretq_f32_f16 (float16x8_t __a)
4301 {
4302   return (float32x4_t) __a;
4303 }
4304 
4305 __extension__ extern __inline float32x4_t
4306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f64(float64x2_t __a)4307 vreinterpretq_f32_f64 (float64x2_t __a)
4308 {
4309   return (float32x4_t) __a;
4310 }
4311 
4312 __extension__ extern __inline float32x4_t
4313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s8(int8x16_t __a)4314 vreinterpretq_f32_s8 (int8x16_t __a)
4315 {
4316   return (float32x4_t) __a;
4317 }
4318 
4319 __extension__ extern __inline float32x4_t
4320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s16(int16x8_t __a)4321 vreinterpretq_f32_s16 (int16x8_t __a)
4322 {
4323   return (float32x4_t) __a;
4324 }
4325 
4326 __extension__ extern __inline float32x4_t
4327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s32(int32x4_t __a)4328 vreinterpretq_f32_s32 (int32x4_t __a)
4329 {
4330   return (float32x4_t) __a;
4331 }
4332 
4333 __extension__ extern __inline float32x4_t
4334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s64(int64x2_t __a)4335 vreinterpretq_f32_s64 (int64x2_t __a)
4336 {
4337   return (float32x4_t) __a;
4338 }
4339 
4340 __extension__ extern __inline float32x4_t
4341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u8(uint8x16_t __a)4342 vreinterpretq_f32_u8 (uint8x16_t __a)
4343 {
4344   return (float32x4_t) __a;
4345 }
4346 
4347 __extension__ extern __inline float32x4_t
4348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u16(uint16x8_t __a)4349 vreinterpretq_f32_u16 (uint16x8_t __a)
4350 {
4351   return (float32x4_t) __a;
4352 }
4353 
4354 __extension__ extern __inline float32x4_t
4355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u32(uint32x4_t __a)4356 vreinterpretq_f32_u32 (uint32x4_t __a)
4357 {
4358   return (float32x4_t) __a;
4359 }
4360 
4361 __extension__ extern __inline float32x4_t
4362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u64(uint64x2_t __a)4363 vreinterpretq_f32_u64 (uint64x2_t __a)
4364 {
4365   return (float32x4_t) __a;
4366 }
4367 
4368 __extension__ extern __inline float32x4_t
4369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p8(poly8x16_t __a)4370 vreinterpretq_f32_p8 (poly8x16_t __a)
4371 {
4372   return (float32x4_t) __a;
4373 }
4374 
4375 __extension__ extern __inline float32x4_t
4376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p16(poly16x8_t __a)4377 vreinterpretq_f32_p16 (poly16x8_t __a)
4378 {
4379   return (float32x4_t) __a;
4380 }
4381 
4382 __extension__ extern __inline float32x4_t
4383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p64(poly64x2_t __a)4384 vreinterpretq_f32_p64 (poly64x2_t __a)
4385 {
4386   return (float32x4_t) __a;
4387 }
4388 
4389 __extension__ extern __inline float32x4_t
4390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p128(poly128_t __a)4391 vreinterpretq_f32_p128 (poly128_t __a)
4392 {
4393   return (float32x4_t)__a;
4394 }
4395 
4396 
4397 __extension__ extern __inline float64x1_t
4398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_f16(float16x4_t __a)4399 vreinterpret_f64_f16 (float16x4_t __a)
4400 {
4401   return (float64x1_t) __a;
4402 }
4403 
4404 __extension__ extern __inline float64x1_t
4405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_f32(float32x2_t __a)4406 vreinterpret_f64_f32 (float32x2_t __a)
4407 {
4408   return (float64x1_t) __a;
4409 }
4410 
4411 __extension__ extern __inline float64x1_t
4412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p8(poly8x8_t __a)4413 vreinterpret_f64_p8 (poly8x8_t __a)
4414 {
4415   return (float64x1_t) __a;
4416 }
4417 
4418 __extension__ extern __inline float64x1_t
4419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p16(poly16x4_t __a)4420 vreinterpret_f64_p16 (poly16x4_t __a)
4421 {
4422   return (float64x1_t) __a;
4423 }
4424 
4425 __extension__ extern __inline float64x1_t
4426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p64(poly64x1_t __a)4427 vreinterpret_f64_p64 (poly64x1_t __a)
4428 {
4429   return (float64x1_t) __a;
4430 }
4431 
4432 __extension__ extern __inline float64x1_t
4433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s8(int8x8_t __a)4434 vreinterpret_f64_s8 (int8x8_t __a)
4435 {
4436   return (float64x1_t) __a;
4437 }
4438 
4439 __extension__ extern __inline float64x1_t
4440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s16(int16x4_t __a)4441 vreinterpret_f64_s16 (int16x4_t __a)
4442 {
4443   return (float64x1_t) __a;
4444 }
4445 
4446 __extension__ extern __inline float64x1_t
4447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s32(int32x2_t __a)4448 vreinterpret_f64_s32 (int32x2_t __a)
4449 {
4450   return (float64x1_t) __a;
4451 }
4452 
4453 __extension__ extern __inline float64x1_t
4454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s64(int64x1_t __a)4455 vreinterpret_f64_s64 (int64x1_t __a)
4456 {
4457   return (float64x1_t) __a;
4458 }
4459 
4460 __extension__ extern __inline float64x1_t
4461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u8(uint8x8_t __a)4462 vreinterpret_f64_u8 (uint8x8_t __a)
4463 {
4464   return (float64x1_t) __a;
4465 }
4466 
4467 __extension__ extern __inline float64x1_t
4468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u16(uint16x4_t __a)4469 vreinterpret_f64_u16 (uint16x4_t __a)
4470 {
4471   return (float64x1_t) __a;
4472 }
4473 
4474 __extension__ extern __inline float64x1_t
4475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u32(uint32x2_t __a)4476 vreinterpret_f64_u32 (uint32x2_t __a)
4477 {
4478   return (float64x1_t) __a;
4479 }
4480 
4481 __extension__ extern __inline float64x1_t
4482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u64(uint64x1_t __a)4483 vreinterpret_f64_u64 (uint64x1_t __a)
4484 {
4485   return (float64x1_t) __a;
4486 }
4487 
4488 __extension__ extern __inline float64x2_t
4489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_f16(float16x8_t __a)4490 vreinterpretq_f64_f16 (float16x8_t __a)
4491 {
4492   return (float64x2_t) __a;
4493 }
4494 
4495 __extension__ extern __inline float64x2_t
4496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_f32(float32x4_t __a)4497 vreinterpretq_f64_f32 (float32x4_t __a)
4498 {
4499   return (float64x2_t) __a;
4500 }
4501 
4502 __extension__ extern __inline float64x2_t
4503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p8(poly8x16_t __a)4504 vreinterpretq_f64_p8 (poly8x16_t __a)
4505 {
4506   return (float64x2_t) __a;
4507 }
4508 
4509 __extension__ extern __inline float64x2_t
4510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p16(poly16x8_t __a)4511 vreinterpretq_f64_p16 (poly16x8_t __a)
4512 {
4513   return (float64x2_t) __a;
4514 }
4515 
4516 __extension__ extern __inline float64x2_t
4517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p64(poly64x2_t __a)4518 vreinterpretq_f64_p64 (poly64x2_t __a)
4519 {
4520   return (float64x2_t) __a;
4521 }
4522 
4523 __extension__ extern __inline float64x2_t
4524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s8(int8x16_t __a)4525 vreinterpretq_f64_s8 (int8x16_t __a)
4526 {
4527   return (float64x2_t) __a;
4528 }
4529 
4530 __extension__ extern __inline float64x2_t
4531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s16(int16x8_t __a)4532 vreinterpretq_f64_s16 (int16x8_t __a)
4533 {
4534   return (float64x2_t) __a;
4535 }
4536 
4537 __extension__ extern __inline float64x2_t
4538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s32(int32x4_t __a)4539 vreinterpretq_f64_s32 (int32x4_t __a)
4540 {
4541   return (float64x2_t) __a;
4542 }
4543 
4544 __extension__ extern __inline float64x2_t
4545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s64(int64x2_t __a)4546 vreinterpretq_f64_s64 (int64x2_t __a)
4547 {
4548   return (float64x2_t) __a;
4549 }
4550 
4551 __extension__ extern __inline float64x2_t
4552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u8(uint8x16_t __a)4553 vreinterpretq_f64_u8 (uint8x16_t __a)
4554 {
4555   return (float64x2_t) __a;
4556 }
4557 
4558 __extension__ extern __inline float64x2_t
4559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u16(uint16x8_t __a)4560 vreinterpretq_f64_u16 (uint16x8_t __a)
4561 {
4562   return (float64x2_t) __a;
4563 }
4564 
4565 __extension__ extern __inline float64x2_t
4566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u32(uint32x4_t __a)4567 vreinterpretq_f64_u32 (uint32x4_t __a)
4568 {
4569   return (float64x2_t) __a;
4570 }
4571 
4572 __extension__ extern __inline float64x2_t
4573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u64(uint64x2_t __a)4574 vreinterpretq_f64_u64 (uint64x2_t __a)
4575 {
4576   return (float64x2_t) __a;
4577 }
4578 
4579 __extension__ extern __inline int64x1_t
4580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f16(float16x4_t __a)4581 vreinterpret_s64_f16 (float16x4_t __a)
4582 {
4583   return (int64x1_t) __a;
4584 }
4585 
4586 __extension__ extern __inline int64x1_t
4587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f64(float64x1_t __a)4588 vreinterpret_s64_f64 (float64x1_t __a)
4589 {
4590   return (int64x1_t) __a;
4591 }
4592 
4593 __extension__ extern __inline int64x1_t
4594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s8(int8x8_t __a)4595 vreinterpret_s64_s8 (int8x8_t __a)
4596 {
4597   return (int64x1_t) __a;
4598 }
4599 
4600 __extension__ extern __inline int64x1_t
4601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s16(int16x4_t __a)4602 vreinterpret_s64_s16 (int16x4_t __a)
4603 {
4604   return (int64x1_t) __a;
4605 }
4606 
4607 __extension__ extern __inline int64x1_t
4608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s32(int32x2_t __a)4609 vreinterpret_s64_s32 (int32x2_t __a)
4610 {
4611   return (int64x1_t) __a;
4612 }
4613 
4614 __extension__ extern __inline int64x1_t
4615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f32(float32x2_t __a)4616 vreinterpret_s64_f32 (float32x2_t __a)
4617 {
4618   return (int64x1_t) __a;
4619 }
4620 
4621 __extension__ extern __inline int64x1_t
4622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u8(uint8x8_t __a)4623 vreinterpret_s64_u8 (uint8x8_t __a)
4624 {
4625   return (int64x1_t) __a;
4626 }
4627 
4628 __extension__ extern __inline int64x1_t
4629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u16(uint16x4_t __a)4630 vreinterpret_s64_u16 (uint16x4_t __a)
4631 {
4632   return (int64x1_t) __a;
4633 }
4634 
4635 __extension__ extern __inline int64x1_t
4636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u32(uint32x2_t __a)4637 vreinterpret_s64_u32 (uint32x2_t __a)
4638 {
4639   return (int64x1_t) __a;
4640 }
4641 
4642 __extension__ extern __inline int64x1_t
4643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u64(uint64x1_t __a)4644 vreinterpret_s64_u64 (uint64x1_t __a)
4645 {
4646   return (int64x1_t) __a;
4647 }
4648 
4649 __extension__ extern __inline int64x1_t
4650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p8(poly8x8_t __a)4651 vreinterpret_s64_p8 (poly8x8_t __a)
4652 {
4653   return (int64x1_t) __a;
4654 }
4655 
4656 __extension__ extern __inline int64x1_t
4657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p16(poly16x4_t __a)4658 vreinterpret_s64_p16 (poly16x4_t __a)
4659 {
4660   return (int64x1_t) __a;
4661 }
4662 
4663 __extension__ extern __inline int64x1_t
4664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p64(poly64x1_t __a)4665 vreinterpret_s64_p64 (poly64x1_t __a)
4666 {
4667   return (int64x1_t) __a;
4668 }
4669 
4670 __extension__ extern __inline int64x2_t
4671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f64(float64x2_t __a)4672 vreinterpretq_s64_f64 (float64x2_t __a)
4673 {
4674   return (int64x2_t) __a;
4675 }
4676 
4677 __extension__ extern __inline int64x2_t
4678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s8(int8x16_t __a)4679 vreinterpretq_s64_s8 (int8x16_t __a)
4680 {
4681   return (int64x2_t) __a;
4682 }
4683 
4684 __extension__ extern __inline int64x2_t
4685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s16(int16x8_t __a)4686 vreinterpretq_s64_s16 (int16x8_t __a)
4687 {
4688   return (int64x2_t) __a;
4689 }
4690 
4691 __extension__ extern __inline int64x2_t
4692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s32(int32x4_t __a)4693 vreinterpretq_s64_s32 (int32x4_t __a)
4694 {
4695   return (int64x2_t) __a;
4696 }
4697 
4698 __extension__ extern __inline int64x2_t
4699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f16(float16x8_t __a)4700 vreinterpretq_s64_f16 (float16x8_t __a)
4701 {
4702   return (int64x2_t) __a;
4703 }
4704 
4705 __extension__ extern __inline int64x2_t
4706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f32(float32x4_t __a)4707 vreinterpretq_s64_f32 (float32x4_t __a)
4708 {
4709   return (int64x2_t) __a;
4710 }
4711 
4712 __extension__ extern __inline int64x2_t
4713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u8(uint8x16_t __a)4714 vreinterpretq_s64_u8 (uint8x16_t __a)
4715 {
4716   return (int64x2_t) __a;
4717 }
4718 
4719 __extension__ extern __inline int64x2_t
4720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u16(uint16x8_t __a)4721 vreinterpretq_s64_u16 (uint16x8_t __a)
4722 {
4723   return (int64x2_t) __a;
4724 }
4725 
4726 __extension__ extern __inline int64x2_t
4727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u32(uint32x4_t __a)4728 vreinterpretq_s64_u32 (uint32x4_t __a)
4729 {
4730   return (int64x2_t) __a;
4731 }
4732 
4733 __extension__ extern __inline int64x2_t
4734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u64(uint64x2_t __a)4735 vreinterpretq_s64_u64 (uint64x2_t __a)
4736 {
4737   return (int64x2_t) __a;
4738 }
4739 
4740 __extension__ extern __inline int64x2_t
4741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p8(poly8x16_t __a)4742 vreinterpretq_s64_p8 (poly8x16_t __a)
4743 {
4744   return (int64x2_t) __a;
4745 }
4746 
4747 __extension__ extern __inline int64x2_t
4748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p16(poly16x8_t __a)4749 vreinterpretq_s64_p16 (poly16x8_t __a)
4750 {
4751   return (int64x2_t) __a;
4752 }
4753 
4754 __extension__ extern __inline int64x2_t
4755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p64(poly64x2_t __a)4756 vreinterpretq_s64_p64 (poly64x2_t __a)
4757 {
4758   return (int64x2_t) __a;
4759 }
4760 
4761 __extension__ extern __inline int64x2_t
4762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p128(poly128_t __a)4763 vreinterpretq_s64_p128 (poly128_t __a)
4764 {
4765   return (int64x2_t)__a;
4766 }
4767 
4768 __extension__ extern __inline uint64x1_t
4769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f16(float16x4_t __a)4770 vreinterpret_u64_f16 (float16x4_t __a)
4771 {
4772   return (uint64x1_t) __a;
4773 }
4774 
4775 __extension__ extern __inline uint64x1_t
4776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f64(float64x1_t __a)4777 vreinterpret_u64_f64 (float64x1_t __a)
4778 {
4779   return (uint64x1_t) __a;
4780 }
4781 
4782 __extension__ extern __inline uint64x1_t
4783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s8(int8x8_t __a)4784 vreinterpret_u64_s8 (int8x8_t __a)
4785 {
4786   return (uint64x1_t) __a;
4787 }
4788 
4789 __extension__ extern __inline uint64x1_t
4790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s16(int16x4_t __a)4791 vreinterpret_u64_s16 (int16x4_t __a)
4792 {
4793   return (uint64x1_t) __a;
4794 }
4795 
4796 __extension__ extern __inline uint64x1_t
4797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s32(int32x2_t __a)4798 vreinterpret_u64_s32 (int32x2_t __a)
4799 {
4800   return (uint64x1_t) __a;
4801 }
4802 
4803 __extension__ extern __inline uint64x1_t
4804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s64(int64x1_t __a)4805 vreinterpret_u64_s64 (int64x1_t __a)
4806 {
4807   return (uint64x1_t) __a;
4808 }
4809 
4810 __extension__ extern __inline uint64x1_t
4811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f32(float32x2_t __a)4812 vreinterpret_u64_f32 (float32x2_t __a)
4813 {
4814   return (uint64x1_t) __a;
4815 }
4816 
4817 __extension__ extern __inline uint64x1_t
4818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u8(uint8x8_t __a)4819 vreinterpret_u64_u8 (uint8x8_t __a)
4820 {
4821   return (uint64x1_t) __a;
4822 }
4823 
4824 __extension__ extern __inline uint64x1_t
4825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u16(uint16x4_t __a)4826 vreinterpret_u64_u16 (uint16x4_t __a)
4827 {
4828   return (uint64x1_t) __a;
4829 }
4830 
4831 __extension__ extern __inline uint64x1_t
4832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u32(uint32x2_t __a)4833 vreinterpret_u64_u32 (uint32x2_t __a)
4834 {
4835   return (uint64x1_t) __a;
4836 }
4837 
4838 __extension__ extern __inline uint64x1_t
4839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p8(poly8x8_t __a)4840 vreinterpret_u64_p8 (poly8x8_t __a)
4841 {
4842   return (uint64x1_t) __a;
4843 }
4844 
4845 __extension__ extern __inline uint64x1_t
4846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p16(poly16x4_t __a)4847 vreinterpret_u64_p16 (poly16x4_t __a)
4848 {
4849   return (uint64x1_t) __a;
4850 }
4851 
4852 __extension__ extern __inline uint64x1_t
4853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p64(poly64x1_t __a)4854 vreinterpret_u64_p64 (poly64x1_t __a)
4855 {
4856   return (uint64x1_t) __a;
4857 }
4858 
4859 __extension__ extern __inline uint64x2_t
4860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f64(float64x2_t __a)4861 vreinterpretq_u64_f64 (float64x2_t __a)
4862 {
4863   return (uint64x2_t) __a;
4864 }
4865 
4866 __extension__ extern __inline uint64x2_t
4867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s8(int8x16_t __a)4868 vreinterpretq_u64_s8 (int8x16_t __a)
4869 {
4870   return (uint64x2_t) __a;
4871 }
4872 
4873 __extension__ extern __inline uint64x2_t
4874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s16(int16x8_t __a)4875 vreinterpretq_u64_s16 (int16x8_t __a)
4876 {
4877   return (uint64x2_t) __a;
4878 }
4879 
4880 __extension__ extern __inline uint64x2_t
4881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s32(int32x4_t __a)4882 vreinterpretq_u64_s32 (int32x4_t __a)
4883 {
4884   return (uint64x2_t) __a;
4885 }
4886 
4887 __extension__ extern __inline uint64x2_t
4888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s64(int64x2_t __a)4889 vreinterpretq_u64_s64 (int64x2_t __a)
4890 {
4891   return (uint64x2_t) __a;
4892 }
4893 
4894 __extension__ extern __inline uint64x2_t
4895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f16(float16x8_t __a)4896 vreinterpretq_u64_f16 (float16x8_t __a)
4897 {
4898   return (uint64x2_t) __a;
4899 }
4900 
4901 __extension__ extern __inline uint64x2_t
4902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f32(float32x4_t __a)4903 vreinterpretq_u64_f32 (float32x4_t __a)
4904 {
4905   return (uint64x2_t) __a;
4906 }
4907 
4908 __extension__ extern __inline uint64x2_t
4909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u8(uint8x16_t __a)4910 vreinterpretq_u64_u8 (uint8x16_t __a)
4911 {
4912   return (uint64x2_t) __a;
4913 }
4914 
4915 __extension__ extern __inline uint64x2_t
4916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u16(uint16x8_t __a)4917 vreinterpretq_u64_u16 (uint16x8_t __a)
4918 {
4919   return (uint64x2_t) __a;
4920 }
4921 
4922 __extension__ extern __inline uint64x2_t
4923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u32(uint32x4_t __a)4924 vreinterpretq_u64_u32 (uint32x4_t __a)
4925 {
4926   return (uint64x2_t) __a;
4927 }
4928 
4929 __extension__ extern __inline uint64x2_t
4930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p8(poly8x16_t __a)4931 vreinterpretq_u64_p8 (poly8x16_t __a)
4932 {
4933   return (uint64x2_t) __a;
4934 }
4935 
4936 __extension__ extern __inline uint64x2_t
4937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p16(poly16x8_t __a)4938 vreinterpretq_u64_p16 (poly16x8_t __a)
4939 {
4940   return (uint64x2_t) __a;
4941 }
4942 
4943 __extension__ extern __inline uint64x2_t
4944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p64(poly64x2_t __a)4945 vreinterpretq_u64_p64 (poly64x2_t __a)
4946 {
4947   return (uint64x2_t) __a;
4948 }
4949 
4950 __extension__ extern __inline uint64x2_t
4951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p128(poly128_t __a)4952 vreinterpretq_u64_p128 (poly128_t __a)
4953 {
4954   return (uint64x2_t)__a;
4955 }
4956 
4957 __extension__ extern __inline int8x8_t
4958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f16(float16x4_t __a)4959 vreinterpret_s8_f16 (float16x4_t __a)
4960 {
4961   return (int8x8_t) __a;
4962 }
4963 
4964 __extension__ extern __inline int8x8_t
4965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f64(float64x1_t __a)4966 vreinterpret_s8_f64 (float64x1_t __a)
4967 {
4968   return (int8x8_t) __a;
4969 }
4970 
4971 __extension__ extern __inline int8x8_t
4972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s16(int16x4_t __a)4973 vreinterpret_s8_s16 (int16x4_t __a)
4974 {
4975   return (int8x8_t) __a;
4976 }
4977 
4978 __extension__ extern __inline int8x8_t
4979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s32(int32x2_t __a)4980 vreinterpret_s8_s32 (int32x2_t __a)
4981 {
4982   return (int8x8_t) __a;
4983 }
4984 
4985 __extension__ extern __inline int8x8_t
4986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s64(int64x1_t __a)4987 vreinterpret_s8_s64 (int64x1_t __a)
4988 {
4989   return (int8x8_t) __a;
4990 }
4991 
4992 __extension__ extern __inline int8x8_t
4993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f32(float32x2_t __a)4994 vreinterpret_s8_f32 (float32x2_t __a)
4995 {
4996   return (int8x8_t) __a;
4997 }
4998 
4999 __extension__ extern __inline int8x8_t
5000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u8(uint8x8_t __a)5001 vreinterpret_s8_u8 (uint8x8_t __a)
5002 {
5003   return (int8x8_t) __a;
5004 }
5005 
5006 __extension__ extern __inline int8x8_t
5007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u16(uint16x4_t __a)5008 vreinterpret_s8_u16 (uint16x4_t __a)
5009 {
5010   return (int8x8_t) __a;
5011 }
5012 
5013 __extension__ extern __inline int8x8_t
5014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u32(uint32x2_t __a)5015 vreinterpret_s8_u32 (uint32x2_t __a)
5016 {
5017   return (int8x8_t) __a;
5018 }
5019 
5020 __extension__ extern __inline int8x8_t
5021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u64(uint64x1_t __a)5022 vreinterpret_s8_u64 (uint64x1_t __a)
5023 {
5024   return (int8x8_t) __a;
5025 }
5026 
5027 __extension__ extern __inline int8x8_t
5028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p8(poly8x8_t __a)5029 vreinterpret_s8_p8 (poly8x8_t __a)
5030 {
5031   return (int8x8_t) __a;
5032 }
5033 
5034 __extension__ extern __inline int8x8_t
5035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p16(poly16x4_t __a)5036 vreinterpret_s8_p16 (poly16x4_t __a)
5037 {
5038   return (int8x8_t) __a;
5039 }
5040 
5041 __extension__ extern __inline int8x8_t
5042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p64(poly64x1_t __a)5043 vreinterpret_s8_p64 (poly64x1_t __a)
5044 {
5045   return (int8x8_t) __a;
5046 }
5047 
5048 __extension__ extern __inline int8x16_t
5049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f64(float64x2_t __a)5050 vreinterpretq_s8_f64 (float64x2_t __a)
5051 {
5052   return (int8x16_t) __a;
5053 }
5054 
5055 __extension__ extern __inline int8x16_t
5056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s16(int16x8_t __a)5057 vreinterpretq_s8_s16 (int16x8_t __a)
5058 {
5059   return (int8x16_t) __a;
5060 }
5061 
5062 __extension__ extern __inline int8x16_t
5063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s32(int32x4_t __a)5064 vreinterpretq_s8_s32 (int32x4_t __a)
5065 {
5066   return (int8x16_t) __a;
5067 }
5068 
5069 __extension__ extern __inline int8x16_t
5070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s64(int64x2_t __a)5071 vreinterpretq_s8_s64 (int64x2_t __a)
5072 {
5073   return (int8x16_t) __a;
5074 }
5075 
5076 __extension__ extern __inline int8x16_t
5077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f16(float16x8_t __a)5078 vreinterpretq_s8_f16 (float16x8_t __a)
5079 {
5080   return (int8x16_t) __a;
5081 }
5082 
5083 __extension__ extern __inline int8x16_t
5084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f32(float32x4_t __a)5085 vreinterpretq_s8_f32 (float32x4_t __a)
5086 {
5087   return (int8x16_t) __a;
5088 }
5089 
5090 __extension__ extern __inline int8x16_t
5091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u8(uint8x16_t __a)5092 vreinterpretq_s8_u8 (uint8x16_t __a)
5093 {
5094   return (int8x16_t) __a;
5095 }
5096 
5097 __extension__ extern __inline int8x16_t
5098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u16(uint16x8_t __a)5099 vreinterpretq_s8_u16 (uint16x8_t __a)
5100 {
5101   return (int8x16_t) __a;
5102 }
5103 
5104 __extension__ extern __inline int8x16_t
5105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u32(uint32x4_t __a)5106 vreinterpretq_s8_u32 (uint32x4_t __a)
5107 {
5108   return (int8x16_t) __a;
5109 }
5110 
5111 __extension__ extern __inline int8x16_t
5112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u64(uint64x2_t __a)5113 vreinterpretq_s8_u64 (uint64x2_t __a)
5114 {
5115   return (int8x16_t) __a;
5116 }
5117 
5118 __extension__ extern __inline int8x16_t
5119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p8(poly8x16_t __a)5120 vreinterpretq_s8_p8 (poly8x16_t __a)
5121 {
5122   return (int8x16_t) __a;
5123 }
5124 
5125 __extension__ extern __inline int8x16_t
5126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p16(poly16x8_t __a)5127 vreinterpretq_s8_p16 (poly16x8_t __a)
5128 {
5129   return (int8x16_t) __a;
5130 }
5131 
5132 __extension__ extern __inline int8x16_t
5133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p64(poly64x2_t __a)5134 vreinterpretq_s8_p64 (poly64x2_t __a)
5135 {
5136   return (int8x16_t) __a;
5137 }
5138 
5139 __extension__ extern __inline int8x16_t
5140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p128(poly128_t __a)5141 vreinterpretq_s8_p128 (poly128_t __a)
5142 {
5143   return (int8x16_t)__a;
5144 }
5145 
5146 __extension__ extern __inline int16x4_t
5147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f16(float16x4_t __a)5148 vreinterpret_s16_f16 (float16x4_t __a)
5149 {
5150   return (int16x4_t) __a;
5151 }
5152 
5153 __extension__ extern __inline int16x4_t
5154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f64(float64x1_t __a)5155 vreinterpret_s16_f64 (float64x1_t __a)
5156 {
5157   return (int16x4_t) __a;
5158 }
5159 
5160 __extension__ extern __inline int16x4_t
5161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s8(int8x8_t __a)5162 vreinterpret_s16_s8 (int8x8_t __a)
5163 {
5164   return (int16x4_t) __a;
5165 }
5166 
5167 __extension__ extern __inline int16x4_t
5168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s32(int32x2_t __a)5169 vreinterpret_s16_s32 (int32x2_t __a)
5170 {
5171   return (int16x4_t) __a;
5172 }
5173 
5174 __extension__ extern __inline int16x4_t
5175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s64(int64x1_t __a)5176 vreinterpret_s16_s64 (int64x1_t __a)
5177 {
5178   return (int16x4_t) __a;
5179 }
5180 
5181 __extension__ extern __inline int16x4_t
5182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f32(float32x2_t __a)5183 vreinterpret_s16_f32 (float32x2_t __a)
5184 {
5185   return (int16x4_t) __a;
5186 }
5187 
5188 __extension__ extern __inline int16x4_t
5189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u8(uint8x8_t __a)5190 vreinterpret_s16_u8 (uint8x8_t __a)
5191 {
5192   return (int16x4_t) __a;
5193 }
5194 
5195 __extension__ extern __inline int16x4_t
5196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u16(uint16x4_t __a)5197 vreinterpret_s16_u16 (uint16x4_t __a)
5198 {
5199   return (int16x4_t) __a;
5200 }
5201 
5202 __extension__ extern __inline int16x4_t
5203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u32(uint32x2_t __a)5204 vreinterpret_s16_u32 (uint32x2_t __a)
5205 {
5206   return (int16x4_t) __a;
5207 }
5208 
5209 __extension__ extern __inline int16x4_t
5210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u64(uint64x1_t __a)5211 vreinterpret_s16_u64 (uint64x1_t __a)
5212 {
5213   return (int16x4_t) __a;
5214 }
5215 
5216 __extension__ extern __inline int16x4_t
5217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p8(poly8x8_t __a)5218 vreinterpret_s16_p8 (poly8x8_t __a)
5219 {
5220   return (int16x4_t) __a;
5221 }
5222 
5223 __extension__ extern __inline int16x4_t
5224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p16(poly16x4_t __a)5225 vreinterpret_s16_p16 (poly16x4_t __a)
5226 {
5227   return (int16x4_t) __a;
5228 }
5229 
5230 __extension__ extern __inline int16x4_t
5231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p64(poly64x1_t __a)5232 vreinterpret_s16_p64 (poly64x1_t __a)
5233 {
5234   return (int16x4_t) __a;
5235 }
5236 
5237 __extension__ extern __inline int16x8_t
5238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f64(float64x2_t __a)5239 vreinterpretq_s16_f64 (float64x2_t __a)
5240 {
5241   return (int16x8_t) __a;
5242 }
5243 
5244 __extension__ extern __inline int16x8_t
5245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s8(int8x16_t __a)5246 vreinterpretq_s16_s8 (int8x16_t __a)
5247 {
5248   return (int16x8_t) __a;
5249 }
5250 
5251 __extension__ extern __inline int16x8_t
5252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s32(int32x4_t __a)5253 vreinterpretq_s16_s32 (int32x4_t __a)
5254 {
5255   return (int16x8_t) __a;
5256 }
5257 
5258 __extension__ extern __inline int16x8_t
5259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s64(int64x2_t __a)5260 vreinterpretq_s16_s64 (int64x2_t __a)
5261 {
5262   return (int16x8_t) __a;
5263 }
5264 
5265 __extension__ extern __inline int16x8_t
5266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f16(float16x8_t __a)5267 vreinterpretq_s16_f16 (float16x8_t __a)
5268 {
5269   return (int16x8_t) __a;
5270 }
5271 
5272 __extension__ extern __inline int16x8_t
5273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f32(float32x4_t __a)5274 vreinterpretq_s16_f32 (float32x4_t __a)
5275 {
5276   return (int16x8_t) __a;
5277 }
5278 
5279 __extension__ extern __inline int16x8_t
5280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u8(uint8x16_t __a)5281 vreinterpretq_s16_u8 (uint8x16_t __a)
5282 {
5283   return (int16x8_t) __a;
5284 }
5285 
5286 __extension__ extern __inline int16x8_t
5287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u16(uint16x8_t __a)5288 vreinterpretq_s16_u16 (uint16x8_t __a)
5289 {
5290   return (int16x8_t) __a;
5291 }
5292 
5293 __extension__ extern __inline int16x8_t
5294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u32(uint32x4_t __a)5295 vreinterpretq_s16_u32 (uint32x4_t __a)
5296 {
5297   return (int16x8_t) __a;
5298 }
5299 
5300 __extension__ extern __inline int16x8_t
5301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u64(uint64x2_t __a)5302 vreinterpretq_s16_u64 (uint64x2_t __a)
5303 {
5304   return (int16x8_t) __a;
5305 }
5306 
5307 __extension__ extern __inline int16x8_t
5308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p8(poly8x16_t __a)5309 vreinterpretq_s16_p8 (poly8x16_t __a)
5310 {
5311   return (int16x8_t) __a;
5312 }
5313 
5314 __extension__ extern __inline int16x8_t
5315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p16(poly16x8_t __a)5316 vreinterpretq_s16_p16 (poly16x8_t __a)
5317 {
5318   return (int16x8_t) __a;
5319 }
5320 
5321 __extension__ extern __inline int16x8_t
5322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p64(poly64x2_t __a)5323 vreinterpretq_s16_p64 (poly64x2_t __a)
5324 {
5325   return (int16x8_t) __a;
5326 }
5327 
5328 __extension__ extern __inline int16x8_t
5329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p128(poly128_t __a)5330 vreinterpretq_s16_p128 (poly128_t __a)
5331 {
5332   return (int16x8_t)__a;
5333 }
5334 
5335 __extension__ extern __inline int32x2_t
5336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f16(float16x4_t __a)5337 vreinterpret_s32_f16 (float16x4_t __a)
5338 {
5339   return (int32x2_t) __a;
5340 }
5341 
5342 __extension__ extern __inline int32x2_t
5343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f64(float64x1_t __a)5344 vreinterpret_s32_f64 (float64x1_t __a)
5345 {
5346   return (int32x2_t) __a;
5347 }
5348 
5349 __extension__ extern __inline int32x2_t
5350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s8(int8x8_t __a)5351 vreinterpret_s32_s8 (int8x8_t __a)
5352 {
5353   return (int32x2_t) __a;
5354 }
5355 
5356 __extension__ extern __inline int32x2_t
5357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s16(int16x4_t __a)5358 vreinterpret_s32_s16 (int16x4_t __a)
5359 {
5360   return (int32x2_t) __a;
5361 }
5362 
5363 __extension__ extern __inline int32x2_t
5364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s64(int64x1_t __a)5365 vreinterpret_s32_s64 (int64x1_t __a)
5366 {
5367   return (int32x2_t) __a;
5368 }
5369 
5370 __extension__ extern __inline int32x2_t
5371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f32(float32x2_t __a)5372 vreinterpret_s32_f32 (float32x2_t __a)
5373 {
5374   return (int32x2_t) __a;
5375 }
5376 
5377 __extension__ extern __inline int32x2_t
5378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u8(uint8x8_t __a)5379 vreinterpret_s32_u8 (uint8x8_t __a)
5380 {
5381   return (int32x2_t) __a;
5382 }
5383 
5384 __extension__ extern __inline int32x2_t
5385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u16(uint16x4_t __a)5386 vreinterpret_s32_u16 (uint16x4_t __a)
5387 {
5388   return (int32x2_t) __a;
5389 }
5390 
5391 __extension__ extern __inline int32x2_t
5392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u32(uint32x2_t __a)5393 vreinterpret_s32_u32 (uint32x2_t __a)
5394 {
5395   return (int32x2_t) __a;
5396 }
5397 
5398 __extension__ extern __inline int32x2_t
5399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u64(uint64x1_t __a)5400 vreinterpret_s32_u64 (uint64x1_t __a)
5401 {
5402   return (int32x2_t) __a;
5403 }
5404 
5405 __extension__ extern __inline int32x2_t
5406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p8(poly8x8_t __a)5407 vreinterpret_s32_p8 (poly8x8_t __a)
5408 {
5409   return (int32x2_t) __a;
5410 }
5411 
5412 __extension__ extern __inline int32x2_t
5413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p16(poly16x4_t __a)5414 vreinterpret_s32_p16 (poly16x4_t __a)
5415 {
5416   return (int32x2_t) __a;
5417 }
5418 
5419 __extension__ extern __inline int32x2_t
5420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p64(poly64x1_t __a)5421 vreinterpret_s32_p64 (poly64x1_t __a)
5422 {
5423   return (int32x2_t) __a;
5424 }
5425 
5426 __extension__ extern __inline int32x4_t
5427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f64(float64x2_t __a)5428 vreinterpretq_s32_f64 (float64x2_t __a)
5429 {
5430   return (int32x4_t) __a;
5431 }
5432 
5433 __extension__ extern __inline int32x4_t
5434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s8(int8x16_t __a)5435 vreinterpretq_s32_s8 (int8x16_t __a)
5436 {
5437   return (int32x4_t) __a;
5438 }
5439 
5440 __extension__ extern __inline int32x4_t
5441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s16(int16x8_t __a)5442 vreinterpretq_s32_s16 (int16x8_t __a)
5443 {
5444   return (int32x4_t) __a;
5445 }
5446 
5447 __extension__ extern __inline int32x4_t
5448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s64(int64x2_t __a)5449 vreinterpretq_s32_s64 (int64x2_t __a)
5450 {
5451   return (int32x4_t) __a;
5452 }
5453 
5454 __extension__ extern __inline int32x4_t
5455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f16(float16x8_t __a)5456 vreinterpretq_s32_f16 (float16x8_t __a)
5457 {
5458   return (int32x4_t) __a;
5459 }
5460 
5461 __extension__ extern __inline int32x4_t
5462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f32(float32x4_t __a)5463 vreinterpretq_s32_f32 (float32x4_t __a)
5464 {
5465   return (int32x4_t) __a;
5466 }
5467 
5468 __extension__ extern __inline int32x4_t
5469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u8(uint8x16_t __a)5470 vreinterpretq_s32_u8 (uint8x16_t __a)
5471 {
5472   return (int32x4_t) __a;
5473 }
5474 
5475 __extension__ extern __inline int32x4_t
5476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u16(uint16x8_t __a)5477 vreinterpretq_s32_u16 (uint16x8_t __a)
5478 {
5479   return (int32x4_t) __a;
5480 }
5481 
5482 __extension__ extern __inline int32x4_t
5483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u32(uint32x4_t __a)5484 vreinterpretq_s32_u32 (uint32x4_t __a)
5485 {
5486   return (int32x4_t) __a;
5487 }
5488 
5489 __extension__ extern __inline int32x4_t
5490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u64(uint64x2_t __a)5491 vreinterpretq_s32_u64 (uint64x2_t __a)
5492 {
5493   return (int32x4_t) __a;
5494 }
5495 
5496 __extension__ extern __inline int32x4_t
5497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p8(poly8x16_t __a)5498 vreinterpretq_s32_p8 (poly8x16_t __a)
5499 {
5500   return (int32x4_t) __a;
5501 }
5502 
5503 __extension__ extern __inline int32x4_t
5504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p16(poly16x8_t __a)5505 vreinterpretq_s32_p16 (poly16x8_t __a)
5506 {
5507   return (int32x4_t) __a;
5508 }
5509 
5510 __extension__ extern __inline int32x4_t
5511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p64(poly64x2_t __a)5512 vreinterpretq_s32_p64 (poly64x2_t __a)
5513 {
5514   return (int32x4_t) __a;
5515 }
5516 
5517 __extension__ extern __inline int32x4_t
5518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p128(poly128_t __a)5519 vreinterpretq_s32_p128 (poly128_t __a)
5520 {
5521   return (int32x4_t)__a;
5522 }
5523 
5524 __extension__ extern __inline uint8x8_t
5525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f16(float16x4_t __a)5526 vreinterpret_u8_f16 (float16x4_t __a)
5527 {
5528   return (uint8x8_t) __a;
5529 }
5530 
5531 __extension__ extern __inline uint8x8_t
5532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f64(float64x1_t __a)5533 vreinterpret_u8_f64 (float64x1_t __a)
5534 {
5535   return (uint8x8_t) __a;
5536 }
5537 
5538 __extension__ extern __inline uint8x8_t
5539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s8(int8x8_t __a)5540 vreinterpret_u8_s8 (int8x8_t __a)
5541 {
5542   return (uint8x8_t) __a;
5543 }
5544 
5545 __extension__ extern __inline uint8x8_t
5546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s16(int16x4_t __a)5547 vreinterpret_u8_s16 (int16x4_t __a)
5548 {
5549   return (uint8x8_t) __a;
5550 }
5551 
5552 __extension__ extern __inline uint8x8_t
5553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s32(int32x2_t __a)5554 vreinterpret_u8_s32 (int32x2_t __a)
5555 {
5556   return (uint8x8_t) __a;
5557 }
5558 
5559 __extension__ extern __inline uint8x8_t
5560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s64(int64x1_t __a)5561 vreinterpret_u8_s64 (int64x1_t __a)
5562 {
5563   return (uint8x8_t) __a;
5564 }
5565 
5566 __extension__ extern __inline uint8x8_t
5567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f32(float32x2_t __a)5568 vreinterpret_u8_f32 (float32x2_t __a)
5569 {
5570   return (uint8x8_t) __a;
5571 }
5572 
5573 __extension__ extern __inline uint8x8_t
5574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u16(uint16x4_t __a)5575 vreinterpret_u8_u16 (uint16x4_t __a)
5576 {
5577   return (uint8x8_t) __a;
5578 }
5579 
5580 __extension__ extern __inline uint8x8_t
5581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u32(uint32x2_t __a)5582 vreinterpret_u8_u32 (uint32x2_t __a)
5583 {
5584   return (uint8x8_t) __a;
5585 }
5586 
5587 __extension__ extern __inline uint8x8_t
5588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u64(uint64x1_t __a)5589 vreinterpret_u8_u64 (uint64x1_t __a)
5590 {
5591   return (uint8x8_t) __a;
5592 }
5593 
5594 __extension__ extern __inline uint8x8_t
5595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p8(poly8x8_t __a)5596 vreinterpret_u8_p8 (poly8x8_t __a)
5597 {
5598   return (uint8x8_t) __a;
5599 }
5600 
5601 __extension__ extern __inline uint8x8_t
5602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p16(poly16x4_t __a)5603 vreinterpret_u8_p16 (poly16x4_t __a)
5604 {
5605   return (uint8x8_t) __a;
5606 }
5607 
5608 __extension__ extern __inline uint8x8_t
5609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p64(poly64x1_t __a)5610 vreinterpret_u8_p64 (poly64x1_t __a)
5611 {
5612   return (uint8x8_t) __a;
5613 }
5614 
5615 __extension__ extern __inline uint8x16_t
5616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f64(float64x2_t __a)5617 vreinterpretq_u8_f64 (float64x2_t __a)
5618 {
5619   return (uint8x16_t) __a;
5620 }
5621 
5622 __extension__ extern __inline uint8x16_t
5623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s8(int8x16_t __a)5624 vreinterpretq_u8_s8 (int8x16_t __a)
5625 {
5626   return (uint8x16_t) __a;
5627 }
5628 
5629 __extension__ extern __inline uint8x16_t
5630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s16(int16x8_t __a)5631 vreinterpretq_u8_s16 (int16x8_t __a)
5632 {
5633   return (uint8x16_t) __a;
5634 }
5635 
5636 __extension__ extern __inline uint8x16_t
5637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s32(int32x4_t __a)5638 vreinterpretq_u8_s32 (int32x4_t __a)
5639 {
5640   return (uint8x16_t) __a;
5641 }
5642 
5643 __extension__ extern __inline uint8x16_t
5644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s64(int64x2_t __a)5645 vreinterpretq_u8_s64 (int64x2_t __a)
5646 {
5647   return (uint8x16_t) __a;
5648 }
5649 
5650 __extension__ extern __inline uint8x16_t
5651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f16(float16x8_t __a)5652 vreinterpretq_u8_f16 (float16x8_t __a)
5653 {
5654   return (uint8x16_t) __a;
5655 }
5656 
5657 __extension__ extern __inline uint8x16_t
5658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f32(float32x4_t __a)5659 vreinterpretq_u8_f32 (float32x4_t __a)
5660 {
5661   return (uint8x16_t) __a;
5662 }
5663 
5664 __extension__ extern __inline uint8x16_t
5665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u16(uint16x8_t __a)5666 vreinterpretq_u8_u16 (uint16x8_t __a)
5667 {
5668   return (uint8x16_t) __a;
5669 }
5670 
5671 __extension__ extern __inline uint8x16_t
5672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u32(uint32x4_t __a)5673 vreinterpretq_u8_u32 (uint32x4_t __a)
5674 {
5675   return (uint8x16_t) __a;
5676 }
5677 
5678 __extension__ extern __inline uint8x16_t
5679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u64(uint64x2_t __a)5680 vreinterpretq_u8_u64 (uint64x2_t __a)
5681 {
5682   return (uint8x16_t) __a;
5683 }
5684 
5685 __extension__ extern __inline uint8x16_t
5686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p8(poly8x16_t __a)5687 vreinterpretq_u8_p8 (poly8x16_t __a)
5688 {
5689   return (uint8x16_t) __a;
5690 }
5691 
5692 __extension__ extern __inline uint8x16_t
5693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p16(poly16x8_t __a)5694 vreinterpretq_u8_p16 (poly16x8_t __a)
5695 {
5696   return (uint8x16_t) __a;
5697 }
5698 
5699 __extension__ extern __inline uint8x16_t
5700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p64(poly64x2_t __a)5701 vreinterpretq_u8_p64 (poly64x2_t __a)
5702 {
5703   return (uint8x16_t) __a;
5704 }
5705 
5706 __extension__ extern __inline uint8x16_t
5707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p128(poly128_t __a)5708 vreinterpretq_u8_p128 (poly128_t __a)
5709 {
5710   return (uint8x16_t)__a;
5711 }
5712 
5713 __extension__ extern __inline uint16x4_t
5714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f16(float16x4_t __a)5715 vreinterpret_u16_f16 (float16x4_t __a)
5716 {
5717   return (uint16x4_t) __a;
5718 }
5719 
5720 __extension__ extern __inline uint16x4_t
5721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f64(float64x1_t __a)5722 vreinterpret_u16_f64 (float64x1_t __a)
5723 {
5724   return (uint16x4_t) __a;
5725 }
5726 
5727 __extension__ extern __inline uint16x4_t
5728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s8(int8x8_t __a)5729 vreinterpret_u16_s8 (int8x8_t __a)
5730 {
5731   return (uint16x4_t) __a;
5732 }
5733 
5734 __extension__ extern __inline uint16x4_t
5735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s16(int16x4_t __a)5736 vreinterpret_u16_s16 (int16x4_t __a)
5737 {
5738   return (uint16x4_t) __a;
5739 }
5740 
5741 __extension__ extern __inline uint16x4_t
5742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s32(int32x2_t __a)5743 vreinterpret_u16_s32 (int32x2_t __a)
5744 {
5745   return (uint16x4_t) __a;
5746 }
5747 
5748 __extension__ extern __inline uint16x4_t
5749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s64(int64x1_t __a)5750 vreinterpret_u16_s64 (int64x1_t __a)
5751 {
5752   return (uint16x4_t) __a;
5753 }
5754 
5755 __extension__ extern __inline uint16x4_t
5756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f32(float32x2_t __a)5757 vreinterpret_u16_f32 (float32x2_t __a)
5758 {
5759   return (uint16x4_t) __a;
5760 }
5761 
5762 __extension__ extern __inline uint16x4_t
5763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u8(uint8x8_t __a)5764 vreinterpret_u16_u8 (uint8x8_t __a)
5765 {
5766   return (uint16x4_t) __a;
5767 }
5768 
5769 __extension__ extern __inline uint16x4_t
5770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u32(uint32x2_t __a)5771 vreinterpret_u16_u32 (uint32x2_t __a)
5772 {
5773   return (uint16x4_t) __a;
5774 }
5775 
5776 __extension__ extern __inline uint16x4_t
5777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u64(uint64x1_t __a)5778 vreinterpret_u16_u64 (uint64x1_t __a)
5779 {
5780   return (uint16x4_t) __a;
5781 }
5782 
5783 __extension__ extern __inline uint16x4_t
5784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p8(poly8x8_t __a)5785 vreinterpret_u16_p8 (poly8x8_t __a)
5786 {
5787   return (uint16x4_t) __a;
5788 }
5789 
5790 __extension__ extern __inline uint16x4_t
5791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p16(poly16x4_t __a)5792 vreinterpret_u16_p16 (poly16x4_t __a)
5793 {
5794   return (uint16x4_t) __a;
5795 }
5796 
5797 __extension__ extern __inline uint16x4_t
5798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p64(poly64x1_t __a)5799 vreinterpret_u16_p64 (poly64x1_t __a)
5800 {
5801   return (uint16x4_t) __a;
5802 }
5803 
5804 __extension__ extern __inline uint16x8_t
5805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f64(float64x2_t __a)5806 vreinterpretq_u16_f64 (float64x2_t __a)
5807 {
5808   return (uint16x8_t) __a;
5809 }
5810 
5811 __extension__ extern __inline uint16x8_t
5812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s8(int8x16_t __a)5813 vreinterpretq_u16_s8 (int8x16_t __a)
5814 {
5815   return (uint16x8_t) __a;
5816 }
5817 
5818 __extension__ extern __inline uint16x8_t
5819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s16(int16x8_t __a)5820 vreinterpretq_u16_s16 (int16x8_t __a)
5821 {
5822   return (uint16x8_t) __a;
5823 }
5824 
5825 __extension__ extern __inline uint16x8_t
5826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s32(int32x4_t __a)5827 vreinterpretq_u16_s32 (int32x4_t __a)
5828 {
5829   return (uint16x8_t) __a;
5830 }
5831 
5832 __extension__ extern __inline uint16x8_t
5833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s64(int64x2_t __a)5834 vreinterpretq_u16_s64 (int64x2_t __a)
5835 {
5836   return (uint16x8_t) __a;
5837 }
5838 
5839 __extension__ extern __inline uint16x8_t
5840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f16(float16x8_t __a)5841 vreinterpretq_u16_f16 (float16x8_t __a)
5842 {
5843   return (uint16x8_t) __a;
5844 }
5845 
5846 __extension__ extern __inline uint16x8_t
5847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f32(float32x4_t __a)5848 vreinterpretq_u16_f32 (float32x4_t __a)
5849 {
5850   return (uint16x8_t) __a;
5851 }
5852 
5853 __extension__ extern __inline uint16x8_t
5854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u8(uint8x16_t __a)5855 vreinterpretq_u16_u8 (uint8x16_t __a)
5856 {
5857   return (uint16x8_t) __a;
5858 }
5859 
5860 __extension__ extern __inline uint16x8_t
5861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u32(uint32x4_t __a)5862 vreinterpretq_u16_u32 (uint32x4_t __a)
5863 {
5864   return (uint16x8_t) __a;
5865 }
5866 
5867 __extension__ extern __inline uint16x8_t
5868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u64(uint64x2_t __a)5869 vreinterpretq_u16_u64 (uint64x2_t __a)
5870 {
5871   return (uint16x8_t) __a;
5872 }
5873 
5874 __extension__ extern __inline uint16x8_t
5875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p8(poly8x16_t __a)5876 vreinterpretq_u16_p8 (poly8x16_t __a)
5877 {
5878   return (uint16x8_t) __a;
5879 }
5880 
5881 __extension__ extern __inline uint16x8_t
5882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p16(poly16x8_t __a)5883 vreinterpretq_u16_p16 (poly16x8_t __a)
5884 {
5885   return (uint16x8_t) __a;
5886 }
5887 
5888 __extension__ extern __inline uint16x8_t
5889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p64(poly64x2_t __a)5890 vreinterpretq_u16_p64 (poly64x2_t __a)
5891 {
5892   return (uint16x8_t) __a;
5893 }
5894 
5895 __extension__ extern __inline uint16x8_t
5896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p128(poly128_t __a)5897 vreinterpretq_u16_p128 (poly128_t __a)
5898 {
5899   return (uint16x8_t)__a;
5900 }
5901 
5902 __extension__ extern __inline uint32x2_t
5903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f16(float16x4_t __a)5904 vreinterpret_u32_f16 (float16x4_t __a)
5905 {
5906   return (uint32x2_t) __a;
5907 }
5908 
5909 __extension__ extern __inline uint32x2_t
5910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f64(float64x1_t __a)5911 vreinterpret_u32_f64 (float64x1_t __a)
5912 {
5913   return (uint32x2_t) __a;
5914 }
5915 
5916 __extension__ extern __inline uint32x2_t
5917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s8(int8x8_t __a)5918 vreinterpret_u32_s8 (int8x8_t __a)
5919 {
5920   return (uint32x2_t) __a;
5921 }
5922 
5923 __extension__ extern __inline uint32x2_t
5924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s16(int16x4_t __a)5925 vreinterpret_u32_s16 (int16x4_t __a)
5926 {
5927   return (uint32x2_t) __a;
5928 }
5929 
5930 __extension__ extern __inline uint32x2_t
5931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s32(int32x2_t __a)5932 vreinterpret_u32_s32 (int32x2_t __a)
5933 {
5934   return (uint32x2_t) __a;
5935 }
5936 
5937 __extension__ extern __inline uint32x2_t
5938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s64(int64x1_t __a)5939 vreinterpret_u32_s64 (int64x1_t __a)
5940 {
5941   return (uint32x2_t) __a;
5942 }
5943 
5944 __extension__ extern __inline uint32x2_t
5945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f32(float32x2_t __a)5946 vreinterpret_u32_f32 (float32x2_t __a)
5947 {
5948   return (uint32x2_t) __a;
5949 }
5950 
5951 __extension__ extern __inline uint32x2_t
5952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u8(uint8x8_t __a)5953 vreinterpret_u32_u8 (uint8x8_t __a)
5954 {
5955   return (uint32x2_t) __a;
5956 }
5957 
5958 __extension__ extern __inline uint32x2_t
5959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u16(uint16x4_t __a)5960 vreinterpret_u32_u16 (uint16x4_t __a)
5961 {
5962   return (uint32x2_t) __a;
5963 }
5964 
5965 __extension__ extern __inline uint32x2_t
5966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u64(uint64x1_t __a)5967 vreinterpret_u32_u64 (uint64x1_t __a)
5968 {
5969   return (uint32x2_t) __a;
5970 }
5971 
5972 __extension__ extern __inline uint32x2_t
5973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p8(poly8x8_t __a)5974 vreinterpret_u32_p8 (poly8x8_t __a)
5975 {
5976   return (uint32x2_t) __a;
5977 }
5978 
5979 __extension__ extern __inline uint32x2_t
5980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p16(poly16x4_t __a)5981 vreinterpret_u32_p16 (poly16x4_t __a)
5982 {
5983   return (uint32x2_t) __a;
5984 }
5985 
5986 __extension__ extern __inline uint32x2_t
5987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p64(poly64x1_t __a)5988 vreinterpret_u32_p64 (poly64x1_t __a)
5989 {
5990   return (uint32x2_t) __a;
5991 }
5992 
5993 __extension__ extern __inline uint32x4_t
5994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f64(float64x2_t __a)5995 vreinterpretq_u32_f64 (float64x2_t __a)
5996 {
5997   return (uint32x4_t) __a;
5998 }
5999 
6000 __extension__ extern __inline uint32x4_t
6001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s8(int8x16_t __a)6002 vreinterpretq_u32_s8 (int8x16_t __a)
6003 {
6004   return (uint32x4_t) __a;
6005 }
6006 
6007 __extension__ extern __inline uint32x4_t
6008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s16(int16x8_t __a)6009 vreinterpretq_u32_s16 (int16x8_t __a)
6010 {
6011   return (uint32x4_t) __a;
6012 }
6013 
6014 __extension__ extern __inline uint32x4_t
6015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s32(int32x4_t __a)6016 vreinterpretq_u32_s32 (int32x4_t __a)
6017 {
6018   return (uint32x4_t) __a;
6019 }
6020 
6021 __extension__ extern __inline uint32x4_t
6022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s64(int64x2_t __a)6023 vreinterpretq_u32_s64 (int64x2_t __a)
6024 {
6025   return (uint32x4_t) __a;
6026 }
6027 
6028 __extension__ extern __inline uint32x4_t
6029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f16(float16x8_t __a)6030 vreinterpretq_u32_f16 (float16x8_t __a)
6031 {
6032   return (uint32x4_t) __a;
6033 }
6034 
6035 __extension__ extern __inline uint32x4_t
6036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f32(float32x4_t __a)6037 vreinterpretq_u32_f32 (float32x4_t __a)
6038 {
6039   return (uint32x4_t) __a;
6040 }
6041 
6042 __extension__ extern __inline uint32x4_t
6043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u8(uint8x16_t __a)6044 vreinterpretq_u32_u8 (uint8x16_t __a)
6045 {
6046   return (uint32x4_t) __a;
6047 }
6048 
6049 __extension__ extern __inline uint32x4_t
6050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u16(uint16x8_t __a)6051 vreinterpretq_u32_u16 (uint16x8_t __a)
6052 {
6053   return (uint32x4_t) __a;
6054 }
6055 
6056 __extension__ extern __inline uint32x4_t
6057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u64(uint64x2_t __a)6058 vreinterpretq_u32_u64 (uint64x2_t __a)
6059 {
6060   return (uint32x4_t) __a;
6061 }
6062 
6063 __extension__ extern __inline uint32x4_t
6064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p8(poly8x16_t __a)6065 vreinterpretq_u32_p8 (poly8x16_t __a)
6066 {
6067   return (uint32x4_t) __a;
6068 }
6069 
6070 __extension__ extern __inline uint32x4_t
6071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p16(poly16x8_t __a)6072 vreinterpretq_u32_p16 (poly16x8_t __a)
6073 {
6074   return (uint32x4_t) __a;
6075 }
6076 
6077 __extension__ extern __inline uint32x4_t
6078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p64(poly64x2_t __a)6079 vreinterpretq_u32_p64 (poly64x2_t __a)
6080 {
6081   return (uint32x4_t) __a;
6082 }
6083 
6084 __extension__ extern __inline uint32x4_t
6085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p128(poly128_t __a)6086 vreinterpretq_u32_p128 (poly128_t __a)
6087 {
6088   return (uint32x4_t)__a;
6089 }
6090 
6091 __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 #define __GET_LOW(__TYPE) \
6306   uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a);  \
6307   uint64x1_t lo = vcreate_u64 (vgetq_lane_u64 (tmp, 0));  \
6308   return vreinterpret_##__TYPE##_u64 (lo);
6309 
6310 __extension__ extern __inline float16x4_t
6311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f16(float16x8_t __a)6312 vget_low_f16 (float16x8_t __a)
6313 {
6314   __GET_LOW (f16);
6315 }
6316 
6317 __extension__ extern __inline float32x2_t
6318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f32(float32x4_t __a)6319 vget_low_f32 (float32x4_t __a)
6320 {
6321   __GET_LOW (f32);
6322 }
6323 
6324 __extension__ extern __inline float64x1_t
6325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f64(float64x2_t __a)6326 vget_low_f64 (float64x2_t __a)
6327 {
6328   return (float64x1_t) {vgetq_lane_f64 (__a, 0)};
6329 }
6330 
6331 __extension__ extern __inline poly8x8_t
6332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p8(poly8x16_t __a)6333 vget_low_p8 (poly8x16_t __a)
6334 {
6335   __GET_LOW (p8);
6336 }
6337 
6338 __extension__ extern __inline poly16x4_t
6339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p16(poly16x8_t __a)6340 vget_low_p16 (poly16x8_t __a)
6341 {
6342   __GET_LOW (p16);
6343 }
6344 
6345 __extension__ extern __inline poly64x1_t
6346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p64(poly64x2_t __a)6347 vget_low_p64 (poly64x2_t __a)
6348 {
6349   __GET_LOW (p64);
6350 }
6351 
6352 __extension__ extern __inline int8x8_t
6353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s8(int8x16_t __a)6354 vget_low_s8 (int8x16_t __a)
6355 {
6356   __GET_LOW (s8);
6357 }
6358 
6359 __extension__ extern __inline int16x4_t
6360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s16(int16x8_t __a)6361 vget_low_s16 (int16x8_t __a)
6362 {
6363   __GET_LOW (s16);
6364 }
6365 
6366 __extension__ extern __inline int32x2_t
6367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s32(int32x4_t __a)6368 vget_low_s32 (int32x4_t __a)
6369 {
6370   __GET_LOW (s32);
6371 }
6372 
6373 __extension__ extern __inline int64x1_t
6374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s64(int64x2_t __a)6375 vget_low_s64 (int64x2_t __a)
6376 {
6377   __GET_LOW (s64);
6378 }
6379 
6380 __extension__ extern __inline uint8x8_t
6381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u8(uint8x16_t __a)6382 vget_low_u8 (uint8x16_t __a)
6383 {
6384   __GET_LOW (u8);
6385 }
6386 
6387 __extension__ extern __inline uint16x4_t
6388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u16(uint16x8_t __a)6389 vget_low_u16 (uint16x8_t __a)
6390 {
6391   __GET_LOW (u16);
6392 }
6393 
6394 __extension__ extern __inline uint32x2_t
6395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u32(uint32x4_t __a)6396 vget_low_u32 (uint32x4_t __a)
6397 {
6398   __GET_LOW (u32);
6399 }
6400 
6401 __extension__ extern __inline uint64x1_t
6402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u64(uint64x2_t __a)6403 vget_low_u64 (uint64x2_t __a)
6404 {
6405   return vcreate_u64 (vgetq_lane_u64 (__a, 0));
6406 }
6407 
6408 #undef __GET_LOW
6409 
6410 #define __GET_HIGH(__TYPE)					\
6411   uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a);		\
6412   uint64x1_t hi = vcreate_u64 (vgetq_lane_u64 (tmp, 1));	\
6413   return vreinterpret_##__TYPE##_u64 (hi);
6414 
6415 __extension__ extern __inline float16x4_t
6416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f16(float16x8_t __a)6417 vget_high_f16 (float16x8_t __a)
6418 {
6419   __GET_HIGH (f16);
6420 }
6421 
6422 __extension__ extern __inline float32x2_t
6423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f32(float32x4_t __a)6424 vget_high_f32 (float32x4_t __a)
6425 {
6426   __GET_HIGH (f32);
6427 }
6428 
6429 __extension__ extern __inline float64x1_t
6430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f64(float64x2_t __a)6431 vget_high_f64 (float64x2_t __a)
6432 {
6433   __GET_HIGH (f64);
6434 }
6435 
6436 __extension__ extern __inline poly8x8_t
6437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p8(poly8x16_t __a)6438 vget_high_p8 (poly8x16_t __a)
6439 {
6440   __GET_HIGH (p8);
6441 }
6442 
6443 __extension__ extern __inline poly16x4_t
6444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p16(poly16x8_t __a)6445 vget_high_p16 (poly16x8_t __a)
6446 {
6447   __GET_HIGH (p16);
6448 }
6449 
6450 __extension__ extern __inline poly64x1_t
6451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p64(poly64x2_t __a)6452 vget_high_p64 (poly64x2_t __a)
6453 {
6454   __GET_HIGH (p64);
6455 }
6456 
6457 __extension__ extern __inline int8x8_t
6458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s8(int8x16_t __a)6459 vget_high_s8 (int8x16_t __a)
6460 {
6461   __GET_HIGH (s8);
6462 }
6463 
6464 __extension__ extern __inline int16x4_t
6465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s16(int16x8_t __a)6466 vget_high_s16 (int16x8_t __a)
6467 {
6468   __GET_HIGH (s16);
6469 }
6470 
6471 __extension__ extern __inline int32x2_t
6472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s32(int32x4_t __a)6473 vget_high_s32 (int32x4_t __a)
6474 {
6475   __GET_HIGH (s32);
6476 }
6477 
6478 __extension__ extern __inline int64x1_t
6479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s64(int64x2_t __a)6480 vget_high_s64 (int64x2_t __a)
6481 {
6482   __GET_HIGH (s64);
6483 }
6484 
6485 __extension__ extern __inline uint8x8_t
6486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u8(uint8x16_t __a)6487 vget_high_u8 (uint8x16_t __a)
6488 {
6489   __GET_HIGH (u8);
6490 }
6491 
6492 __extension__ extern __inline uint16x4_t
6493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u16(uint16x8_t __a)6494 vget_high_u16 (uint16x8_t __a)
6495 {
6496   __GET_HIGH (u16);
6497 }
6498 
6499 __extension__ extern __inline uint32x2_t
6500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u32(uint32x4_t __a)6501 vget_high_u32 (uint32x4_t __a)
6502 {
6503   __GET_HIGH (u32);
6504 }
6505 
6506 #undef __GET_HIGH
6507 
6508 __extension__ extern __inline uint64x1_t
6509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u64(uint64x2_t __a)6510 vget_high_u64 (uint64x2_t __a)
6511 {
6512   return vcreate_u64 (vgetq_lane_u64 (__a, 1));
6513 }
6514 
6515 __extension__ extern __inline int8x16_t
6516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s8(int8x8_t __a,int8x8_t __b)6517 vcombine_s8 (int8x8_t __a, int8x8_t __b)
6518 {
6519   return (int8x16_t) __builtin_aarch64_combinev8qi (__a, __b);
6520 }
6521 
6522 __extension__ extern __inline int16x8_t
6523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s16(int16x4_t __a,int16x4_t __b)6524 vcombine_s16 (int16x4_t __a, int16x4_t __b)
6525 {
6526   return (int16x8_t) __builtin_aarch64_combinev4hi (__a, __b);
6527 }
6528 
6529 __extension__ extern __inline int32x4_t
6530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s32(int32x2_t __a,int32x2_t __b)6531 vcombine_s32 (int32x2_t __a, int32x2_t __b)
6532 {
6533   return (int32x4_t) __builtin_aarch64_combinev2si (__a, __b);
6534 }
6535 
6536 __extension__ extern __inline int64x2_t
6537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s64(int64x1_t __a,int64x1_t __b)6538 vcombine_s64 (int64x1_t __a, int64x1_t __b)
6539 {
6540   return __builtin_aarch64_combinedi (__a[0], __b[0]);
6541 }
6542 
6543 __extension__ extern __inline float16x8_t
6544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f16(float16x4_t __a,float16x4_t __b)6545 vcombine_f16 (float16x4_t __a, float16x4_t __b)
6546 {
6547   return __builtin_aarch64_combinev4hf (__a, __b);
6548 }
6549 
6550 __extension__ extern __inline float32x4_t
6551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f32(float32x2_t __a,float32x2_t __b)6552 vcombine_f32 (float32x2_t __a, float32x2_t __b)
6553 {
6554   return (float32x4_t) __builtin_aarch64_combinev2sf (__a, __b);
6555 }
6556 
6557 __extension__ extern __inline uint8x16_t
6558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)6559 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
6560 {
6561   return (uint8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6562 						     (int8x8_t) __b);
6563 }
6564 
6565 __extension__ extern __inline uint16x8_t
6566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)6567 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
6568 {
6569   return (uint16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6570 						     (int16x4_t) __b);
6571 }
6572 
6573 __extension__ extern __inline uint32x4_t
6574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)6575 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
6576 {
6577   return (uint32x4_t) __builtin_aarch64_combinev2si ((int32x2_t) __a,
6578 						     (int32x2_t) __b);
6579 }
6580 
6581 __extension__ extern __inline uint64x2_t
6582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)6583 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
6584 {
6585   return (uint64x2_t) __builtin_aarch64_combinedi (__a[0], __b[0]);
6586 }
6587 
6588 __extension__ extern __inline float64x2_t
6589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f64(float64x1_t __a,float64x1_t __b)6590 vcombine_f64 (float64x1_t __a, float64x1_t __b)
6591 {
6592   return __builtin_aarch64_combinedf (__a[0], __b[0]);
6593 }
6594 
6595 __extension__ extern __inline poly8x16_t
6596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)6597 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
6598 {
6599   return (poly8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6600 						     (int8x8_t) __b);
6601 }
6602 
6603 __extension__ extern __inline poly16x8_t
6604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)6605 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
6606 {
6607   return (poly16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6608 						     (int16x4_t) __b);
6609 }
6610 
6611 __extension__ extern __inline poly64x2_t
6612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)6613 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
6614 {
6615   return (poly64x2_t) __builtin_aarch64_combinedi_ppp (__a[0], __b[0]);
6616 }
6617 
6618 /* Start of temporary inline asm implementations.  */
6619 
6620 __extension__ extern __inline int8x8_t
6621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)6622 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6623 {
6624   int8x8_t __result;
6625   __asm__ ("saba %0.8b,%2.8b,%3.8b"
6626            : "=w"(__result)
6627            : "0"(__a), "w"(__b), "w"(__c)
6628            : /* No clobbers */);
6629   return __result;
6630 }
6631 
6632 __extension__ extern __inline int16x4_t
6633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)6634 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
6635 {
6636   int16x4_t __result;
6637   __asm__ ("saba %0.4h,%2.4h,%3.4h"
6638            : "=w"(__result)
6639            : "0"(__a), "w"(__b), "w"(__c)
6640            : /* No clobbers */);
6641   return __result;
6642 }
6643 
6644 __extension__ extern __inline int32x2_t
6645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)6646 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
6647 {
6648   int32x2_t __result;
6649   __asm__ ("saba %0.2s,%2.2s,%3.2s"
6650            : "=w"(__result)
6651            : "0"(__a), "w"(__b), "w"(__c)
6652            : /* No clobbers */);
6653   return __result;
6654 }
6655 
6656 __extension__ extern __inline uint8x8_t
6657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)6658 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6659 {
6660   uint8x8_t __result;
6661   __asm__ ("uaba %0.8b,%2.8b,%3.8b"
6662            : "=w"(__result)
6663            : "0"(__a), "w"(__b), "w"(__c)
6664            : /* No clobbers */);
6665   return __result;
6666 }
6667 
6668 __extension__ extern __inline uint16x4_t
6669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)6670 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
6671 {
6672   uint16x4_t __result;
6673   __asm__ ("uaba %0.4h,%2.4h,%3.4h"
6674            : "=w"(__result)
6675            : "0"(__a), "w"(__b), "w"(__c)
6676            : /* No clobbers */);
6677   return __result;
6678 }
6679 
6680 __extension__ extern __inline uint32x2_t
6681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)6682 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
6683 {
6684   uint32x2_t __result;
6685   __asm__ ("uaba %0.2s,%2.2s,%3.2s"
6686            : "=w"(__result)
6687            : "0"(__a), "w"(__b), "w"(__c)
6688            : /* No clobbers */);
6689   return __result;
6690 }
6691 
6692 __extension__ extern __inline int16x8_t
6693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)6694 vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
6695 {
6696   int16x8_t __result;
6697   __asm__ ("sabal2 %0.8h,%2.16b,%3.16b"
6698            : "=w"(__result)
6699            : "0"(__a), "w"(__b), "w"(__c)
6700            : /* No clobbers */);
6701   return __result;
6702 }
6703 
6704 __extension__ extern __inline int32x4_t
6705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)6706 vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
6707 {
6708   int32x4_t __result;
6709   __asm__ ("sabal2 %0.4s,%2.8h,%3.8h"
6710            : "=w"(__result)
6711            : "0"(__a), "w"(__b), "w"(__c)
6712            : /* No clobbers */);
6713   return __result;
6714 }
6715 
6716 __extension__ extern __inline int64x2_t
6717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)6718 vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
6719 {
6720   int64x2_t __result;
6721   __asm__ ("sabal2 %0.2d,%2.4s,%3.4s"
6722            : "=w"(__result)
6723            : "0"(__a), "w"(__b), "w"(__c)
6724            : /* No clobbers */);
6725   return __result;
6726 }
6727 
6728 __extension__ extern __inline uint16x8_t
6729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)6730 vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
6731 {
6732   uint16x8_t __result;
6733   __asm__ ("uabal2 %0.8h,%2.16b,%3.16b"
6734            : "=w"(__result)
6735            : "0"(__a), "w"(__b), "w"(__c)
6736            : /* No clobbers */);
6737   return __result;
6738 }
6739 
6740 __extension__ extern __inline uint32x4_t
6741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)6742 vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
6743 {
6744   uint32x4_t __result;
6745   __asm__ ("uabal2 %0.4s,%2.8h,%3.8h"
6746            : "=w"(__result)
6747            : "0"(__a), "w"(__b), "w"(__c)
6748            : /* No clobbers */);
6749   return __result;
6750 }
6751 
6752 __extension__ extern __inline uint64x2_t
6753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)6754 vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
6755 {
6756   uint64x2_t __result;
6757   __asm__ ("uabal2 %0.2d,%2.4s,%3.4s"
6758            : "=w"(__result)
6759            : "0"(__a), "w"(__b), "w"(__c)
6760            : /* No clobbers */);
6761   return __result;
6762 }
6763 
6764 __extension__ extern __inline int16x8_t
6765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)6766 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
6767 {
6768   int16x8_t __result;
6769   __asm__ ("sabal %0.8h,%2.8b,%3.8b"
6770            : "=w"(__result)
6771            : "0"(__a), "w"(__b), "w"(__c)
6772            : /* No clobbers */);
6773   return __result;
6774 }
6775 
6776 __extension__ extern __inline int32x4_t
6777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)6778 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
6779 {
6780   int32x4_t __result;
6781   __asm__ ("sabal %0.4s,%2.4h,%3.4h"
6782            : "=w"(__result)
6783            : "0"(__a), "w"(__b), "w"(__c)
6784            : /* No clobbers */);
6785   return __result;
6786 }
6787 
6788 __extension__ extern __inline int64x2_t
6789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)6790 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
6791 {
6792   int64x2_t __result;
6793   __asm__ ("sabal %0.2d,%2.2s,%3.2s"
6794            : "=w"(__result)
6795            : "0"(__a), "w"(__b), "w"(__c)
6796            : /* No clobbers */);
6797   return __result;
6798 }
6799 
6800 __extension__ extern __inline uint16x8_t
6801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)6802 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
6803 {
6804   uint16x8_t __result;
6805   __asm__ ("uabal %0.8h,%2.8b,%3.8b"
6806            : "=w"(__result)
6807            : "0"(__a), "w"(__b), "w"(__c)
6808            : /* No clobbers */);
6809   return __result;
6810 }
6811 
6812 __extension__ extern __inline uint32x4_t
6813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)6814 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
6815 {
6816   uint32x4_t __result;
6817   __asm__ ("uabal %0.4s,%2.4h,%3.4h"
6818            : "=w"(__result)
6819            : "0"(__a), "w"(__b), "w"(__c)
6820            : /* No clobbers */);
6821   return __result;
6822 }
6823 
6824 __extension__ extern __inline uint64x2_t
6825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)6826 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
6827 {
6828   uint64x2_t __result;
6829   __asm__ ("uabal %0.2d,%2.2s,%3.2s"
6830            : "=w"(__result)
6831            : "0"(__a), "w"(__b), "w"(__c)
6832            : /* No clobbers */);
6833   return __result;
6834 }
6835 
6836 __extension__ extern __inline int8x16_t
6837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)6838 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
6839 {
6840   int8x16_t __result;
6841   __asm__ ("saba %0.16b,%2.16b,%3.16b"
6842            : "=w"(__result)
6843            : "0"(__a), "w"(__b), "w"(__c)
6844            : /* No clobbers */);
6845   return __result;
6846 }
6847 
6848 __extension__ extern __inline int16x8_t
6849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)6850 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
6851 {
6852   int16x8_t __result;
6853   __asm__ ("saba %0.8h,%2.8h,%3.8h"
6854            : "=w"(__result)
6855            : "0"(__a), "w"(__b), "w"(__c)
6856            : /* No clobbers */);
6857   return __result;
6858 }
6859 
6860 __extension__ extern __inline int32x4_t
6861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)6862 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
6863 {
6864   int32x4_t __result;
6865   __asm__ ("saba %0.4s,%2.4s,%3.4s"
6866            : "=w"(__result)
6867            : "0"(__a), "w"(__b), "w"(__c)
6868            : /* No clobbers */);
6869   return __result;
6870 }
6871 
6872 __extension__ extern __inline uint8x16_t
6873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)6874 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
6875 {
6876   uint8x16_t __result;
6877   __asm__ ("uaba %0.16b,%2.16b,%3.16b"
6878            : "=w"(__result)
6879            : "0"(__a), "w"(__b), "w"(__c)
6880            : /* No clobbers */);
6881   return __result;
6882 }
6883 
6884 __extension__ extern __inline uint16x8_t
6885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)6886 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
6887 {
6888   uint16x8_t __result;
6889   __asm__ ("uaba %0.8h,%2.8h,%3.8h"
6890            : "=w"(__result)
6891            : "0"(__a), "w"(__b), "w"(__c)
6892            : /* No clobbers */);
6893   return __result;
6894 }
6895 
6896 __extension__ extern __inline uint32x4_t
6897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)6898 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
6899 {
6900   uint32x4_t __result;
6901   __asm__ ("uaba %0.4s,%2.4s,%3.4s"
6902            : "=w"(__result)
6903            : "0"(__a), "w"(__b), "w"(__c)
6904            : /* No clobbers */);
6905   return __result;
6906 }
6907 
6908 __extension__ extern __inline int8x8_t
6909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s8(int8x8_t __a,int8x8_t __b)6910 vabd_s8 (int8x8_t __a, int8x8_t __b)
6911 {
6912   int8x8_t __result;
6913   __asm__ ("sabd %0.8b, %1.8b, %2.8b"
6914            : "=w"(__result)
6915            : "w"(__a), "w"(__b)
6916            : /* No clobbers */);
6917   return __result;
6918 }
6919 
6920 __extension__ extern __inline int16x4_t
6921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s16(int16x4_t __a,int16x4_t __b)6922 vabd_s16 (int16x4_t __a, int16x4_t __b)
6923 {
6924   int16x4_t __result;
6925   __asm__ ("sabd %0.4h, %1.4h, %2.4h"
6926            : "=w"(__result)
6927            : "w"(__a), "w"(__b)
6928            : /* No clobbers */);
6929   return __result;
6930 }
6931 
6932 __extension__ extern __inline int32x2_t
6933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s32(int32x2_t __a,int32x2_t __b)6934 vabd_s32 (int32x2_t __a, int32x2_t __b)
6935 {
6936   int32x2_t __result;
6937   __asm__ ("sabd %0.2s, %1.2s, %2.2s"
6938            : "=w"(__result)
6939            : "w"(__a), "w"(__b)
6940            : /* No clobbers */);
6941   return __result;
6942 }
6943 
6944 __extension__ extern __inline uint8x8_t
6945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)6946 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
6947 {
6948   uint8x8_t __result;
6949   __asm__ ("uabd %0.8b, %1.8b, %2.8b"
6950            : "=w"(__result)
6951            : "w"(__a), "w"(__b)
6952            : /* No clobbers */);
6953   return __result;
6954 }
6955 
6956 __extension__ extern __inline uint16x4_t
6957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)6958 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
6959 {
6960   uint16x4_t __result;
6961   __asm__ ("uabd %0.4h, %1.4h, %2.4h"
6962            : "=w"(__result)
6963            : "w"(__a), "w"(__b)
6964            : /* No clobbers */);
6965   return __result;
6966 }
6967 
6968 __extension__ extern __inline uint32x2_t
6969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)6970 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
6971 {
6972   uint32x2_t __result;
6973   __asm__ ("uabd %0.2s, %1.2s, %2.2s"
6974            : "=w"(__result)
6975            : "w"(__a), "w"(__b)
6976            : /* No clobbers */);
6977   return __result;
6978 }
6979 
6980 __extension__ extern __inline int16x8_t
6981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s8(int8x16_t __a,int8x16_t __b)6982 vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
6983 {
6984   int16x8_t __result;
6985   __asm__ ("sabdl2 %0.8h,%1.16b,%2.16b"
6986            : "=w"(__result)
6987            : "w"(__a), "w"(__b)
6988            : /* No clobbers */);
6989   return __result;
6990 }
6991 
6992 __extension__ extern __inline int32x4_t
6993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s16(int16x8_t __a,int16x8_t __b)6994 vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
6995 {
6996   int32x4_t __result;
6997   __asm__ ("sabdl2 %0.4s,%1.8h,%2.8h"
6998            : "=w"(__result)
6999            : "w"(__a), "w"(__b)
7000            : /* No clobbers */);
7001   return __result;
7002 }
7003 
7004 __extension__ extern __inline int64x2_t
7005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s32(int32x4_t __a,int32x4_t __b)7006 vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
7007 {
7008   int64x2_t __result;
7009   __asm__ ("sabdl2 %0.2d,%1.4s,%2.4s"
7010            : "=w"(__result)
7011            : "w"(__a), "w"(__b)
7012            : /* No clobbers */);
7013   return __result;
7014 }
7015 
7016 __extension__ extern __inline uint16x8_t
7017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u8(uint8x16_t __a,uint8x16_t __b)7018 vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
7019 {
7020   uint16x8_t __result;
7021   __asm__ ("uabdl2 %0.8h,%1.16b,%2.16b"
7022            : "=w"(__result)
7023            : "w"(__a), "w"(__b)
7024            : /* No clobbers */);
7025   return __result;
7026 }
7027 
7028 __extension__ extern __inline uint32x4_t
7029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u16(uint16x8_t __a,uint16x8_t __b)7030 vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
7031 {
7032   uint32x4_t __result;
7033   __asm__ ("uabdl2 %0.4s,%1.8h,%2.8h"
7034            : "=w"(__result)
7035            : "w"(__a), "w"(__b)
7036            : /* No clobbers */);
7037   return __result;
7038 }
7039 
7040 __extension__ extern __inline uint64x2_t
7041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u32(uint32x4_t __a,uint32x4_t __b)7042 vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
7043 {
7044   uint64x2_t __result;
7045   __asm__ ("uabdl2 %0.2d,%1.4s,%2.4s"
7046            : "=w"(__result)
7047            : "w"(__a), "w"(__b)
7048            : /* No clobbers */);
7049   return __result;
7050 }
7051 
7052 __extension__ extern __inline int16x8_t
7053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s8(int8x8_t __a,int8x8_t __b)7054 vabdl_s8 (int8x8_t __a, int8x8_t __b)
7055 {
7056   int16x8_t __result;
7057   __asm__ ("sabdl %0.8h, %1.8b, %2.8b"
7058            : "=w"(__result)
7059            : "w"(__a), "w"(__b)
7060            : /* No clobbers */);
7061   return __result;
7062 }
7063 
7064 __extension__ extern __inline int32x4_t
7065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s16(int16x4_t __a,int16x4_t __b)7066 vabdl_s16 (int16x4_t __a, int16x4_t __b)
7067 {
7068   int32x4_t __result;
7069   __asm__ ("sabdl %0.4s, %1.4h, %2.4h"
7070            : "=w"(__result)
7071            : "w"(__a), "w"(__b)
7072            : /* No clobbers */);
7073   return __result;
7074 }
7075 
7076 __extension__ extern __inline int64x2_t
7077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s32(int32x2_t __a,int32x2_t __b)7078 vabdl_s32 (int32x2_t __a, int32x2_t __b)
7079 {
7080   int64x2_t __result;
7081   __asm__ ("sabdl %0.2d, %1.2s, %2.2s"
7082            : "=w"(__result)
7083            : "w"(__a), "w"(__b)
7084            : /* No clobbers */);
7085   return __result;
7086 }
7087 
7088 __extension__ extern __inline uint16x8_t
7089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)7090 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
7091 {
7092   uint16x8_t __result;
7093   __asm__ ("uabdl %0.8h, %1.8b, %2.8b"
7094            : "=w"(__result)
7095            : "w"(__a), "w"(__b)
7096            : /* No clobbers */);
7097   return __result;
7098 }
7099 
7100 __extension__ extern __inline uint32x4_t
7101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)7102 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
7103 {
7104   uint32x4_t __result;
7105   __asm__ ("uabdl %0.4s, %1.4h, %2.4h"
7106            : "=w"(__result)
7107            : "w"(__a), "w"(__b)
7108            : /* No clobbers */);
7109   return __result;
7110 }
7111 
7112 __extension__ extern __inline uint64x2_t
7113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)7114 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
7115 {
7116   uint64x2_t __result;
7117   __asm__ ("uabdl %0.2d, %1.2s, %2.2s"
7118            : "=w"(__result)
7119            : "w"(__a), "w"(__b)
7120            : /* No clobbers */);
7121   return __result;
7122 }
7123 
7124 __extension__ extern __inline int8x16_t
7125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s8(int8x16_t __a,int8x16_t __b)7126 vabdq_s8 (int8x16_t __a, int8x16_t __b)
7127 {
7128   int8x16_t __result;
7129   __asm__ ("sabd %0.16b, %1.16b, %2.16b"
7130            : "=w"(__result)
7131            : "w"(__a), "w"(__b)
7132            : /* No clobbers */);
7133   return __result;
7134 }
7135 
7136 __extension__ extern __inline int16x8_t
7137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s16(int16x8_t __a,int16x8_t __b)7138 vabdq_s16 (int16x8_t __a, int16x8_t __b)
7139 {
7140   int16x8_t __result;
7141   __asm__ ("sabd %0.8h, %1.8h, %2.8h"
7142            : "=w"(__result)
7143            : "w"(__a), "w"(__b)
7144            : /* No clobbers */);
7145   return __result;
7146 }
7147 
7148 __extension__ extern __inline int32x4_t
7149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s32(int32x4_t __a,int32x4_t __b)7150 vabdq_s32 (int32x4_t __a, int32x4_t __b)
7151 {
7152   int32x4_t __result;
7153   __asm__ ("sabd %0.4s, %1.4s, %2.4s"
7154            : "=w"(__result)
7155            : "w"(__a), "w"(__b)
7156            : /* No clobbers */);
7157   return __result;
7158 }
7159 
7160 __extension__ extern __inline uint8x16_t
7161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)7162 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
7163 {
7164   uint8x16_t __result;
7165   __asm__ ("uabd %0.16b, %1.16b, %2.16b"
7166            : "=w"(__result)
7167            : "w"(__a), "w"(__b)
7168            : /* No clobbers */);
7169   return __result;
7170 }
7171 
7172 __extension__ extern __inline uint16x8_t
7173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)7174 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
7175 {
7176   uint16x8_t __result;
7177   __asm__ ("uabd %0.8h, %1.8h, %2.8h"
7178            : "=w"(__result)
7179            : "w"(__a), "w"(__b)
7180            : /* No clobbers */);
7181   return __result;
7182 }
7183 
7184 __extension__ extern __inline uint32x4_t
7185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)7186 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
7187 {
7188   uint32x4_t __result;
7189   __asm__ ("uabd %0.4s, %1.4s, %2.4s"
7190            : "=w"(__result)
7191            : "w"(__a), "w"(__b)
7192            : /* No clobbers */);
7193   return __result;
7194 }
7195 
7196 __extension__ extern __inline int16_t
7197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s8(int8x8_t __a)7198 vaddlv_s8 (int8x8_t __a)
7199 {
7200   int16_t __result;
7201   __asm__ ("saddlv %h0,%1.8b"
7202            : "=w"(__result)
7203            : "w"(__a)
7204            : /* No clobbers */);
7205   return __result;
7206 }
7207 
7208 __extension__ extern __inline int32_t
7209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s16(int16x4_t __a)7210 vaddlv_s16 (int16x4_t __a)
7211 {
7212   int32_t __result;
7213   __asm__ ("saddlv %s0,%1.4h"
7214            : "=w"(__result)
7215            : "w"(__a)
7216            : /* No clobbers */);
7217   return __result;
7218 }
7219 
7220 __extension__ extern __inline uint16_t
7221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u8(uint8x8_t __a)7222 vaddlv_u8 (uint8x8_t __a)
7223 {
7224   uint16_t __result;
7225   __asm__ ("uaddlv %h0,%1.8b"
7226            : "=w"(__result)
7227            : "w"(__a)
7228            : /* No clobbers */);
7229   return __result;
7230 }
7231 
7232 __extension__ extern __inline uint32_t
7233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u16(uint16x4_t __a)7234 vaddlv_u16 (uint16x4_t __a)
7235 {
7236   uint32_t __result;
7237   __asm__ ("uaddlv %s0,%1.4h"
7238            : "=w"(__result)
7239            : "w"(__a)
7240            : /* No clobbers */);
7241   return __result;
7242 }
7243 
7244 __extension__ extern __inline int16_t
7245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s8(int8x16_t __a)7246 vaddlvq_s8 (int8x16_t __a)
7247 {
7248   int16_t __result;
7249   __asm__ ("saddlv %h0,%1.16b"
7250            : "=w"(__result)
7251            : "w"(__a)
7252            : /* No clobbers */);
7253   return __result;
7254 }
7255 
7256 __extension__ extern __inline int32_t
7257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s16(int16x8_t __a)7258 vaddlvq_s16 (int16x8_t __a)
7259 {
7260   int32_t __result;
7261   __asm__ ("saddlv %s0,%1.8h"
7262            : "=w"(__result)
7263            : "w"(__a)
7264            : /* No clobbers */);
7265   return __result;
7266 }
7267 
7268 __extension__ extern __inline int64_t
7269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s32(int32x4_t __a)7270 vaddlvq_s32 (int32x4_t __a)
7271 {
7272   int64_t __result;
7273   __asm__ ("saddlv %d0,%1.4s"
7274            : "=w"(__result)
7275            : "w"(__a)
7276            : /* No clobbers */);
7277   return __result;
7278 }
7279 
7280 __extension__ extern __inline uint16_t
7281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u8(uint8x16_t __a)7282 vaddlvq_u8 (uint8x16_t __a)
7283 {
7284   uint16_t __result;
7285   __asm__ ("uaddlv %h0,%1.16b"
7286            : "=w"(__result)
7287            : "w"(__a)
7288            : /* No clobbers */);
7289   return __result;
7290 }
7291 
7292 __extension__ extern __inline uint32_t
7293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u16(uint16x8_t __a)7294 vaddlvq_u16 (uint16x8_t __a)
7295 {
7296   uint32_t __result;
7297   __asm__ ("uaddlv %s0,%1.8h"
7298            : "=w"(__result)
7299            : "w"(__a)
7300            : /* No clobbers */);
7301   return __result;
7302 }
7303 
7304 __extension__ extern __inline uint64_t
7305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u32(uint32x4_t __a)7306 vaddlvq_u32 (uint32x4_t __a)
7307 {
7308   uint64_t __result;
7309   __asm__ ("uaddlv %d0,%1.4s"
7310            : "=w"(__result)
7311            : "w"(__a)
7312            : /* No clobbers */);
7313   return __result;
7314 }
7315 
7316 __extension__ extern __inline float32x2_t
7317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_f32_f64(float64x2_t __a)7318 vcvtx_f32_f64 (float64x2_t __a)
7319 {
7320   float32x2_t __result;
7321   __asm__ ("fcvtxn %0.2s,%1.2d"
7322            : "=w"(__result)
7323            : "w"(__a)
7324            : /* No clobbers */);
7325   return __result;
7326 }
7327 
7328 __extension__ extern __inline float32x4_t
7329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_high_f32_f64(float32x2_t __a,float64x2_t __b)7330 vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
7331 {
7332   float32x4_t __result;
7333   __asm__ ("fcvtxn2 %0.4s,%1.2d"
7334            : "=w"(__result)
7335            : "w" (__b), "0"(__a)
7336            : /* No clobbers */);
7337   return __result;
7338 }
7339 
7340 __extension__ extern __inline float32_t
7341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtxd_f32_f64(float64_t __a)7342 vcvtxd_f32_f64 (float64_t __a)
7343 {
7344   float32_t __result;
7345   __asm__ ("fcvtxn %s0,%d1"
7346            : "=w"(__result)
7347            : "w"(__a)
7348            : /* No clobbers */);
7349   return __result;
7350 }
7351 
7352 __extension__ extern __inline float32x2_t
7353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7354 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7355 {
7356   float32x2_t __result;
7357   float32x2_t __t1;
7358   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fadd %0.2s, %0.2s, %1.2s"
7359            : "=w"(__result), "=w"(__t1)
7360            : "0"(__a), "w"(__b), "w"(__c)
7361            : /* No clobbers */);
7362   return __result;
7363 }
7364 
7365 __extension__ extern __inline int16x4_t
7366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7367 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7368 {
7369   int16x4_t __result;
7370   __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7371            : "=w"(__result)
7372            : "0"(__a), "w"(__b), "x"(__c)
7373            : /* No clobbers */);
7374   return __result;
7375 }
7376 
7377 __extension__ extern __inline int32x2_t
7378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7379 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7380 {
7381   int32x2_t __result;
7382   __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7383            : "=w"(__result)
7384            : "0"(__a), "w"(__b), "w"(__c)
7385            : /* No clobbers */);
7386   return __result;
7387 }
7388 
7389 __extension__ extern __inline uint16x4_t
7390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7391 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7392 {
7393   uint16x4_t __result;
7394   __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7395            : "=w"(__result)
7396            : "0"(__a), "w"(__b), "x"(__c)
7397            : /* No clobbers */);
7398   return __result;
7399 }
7400 
7401 __extension__ extern __inline uint32x2_t
7402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7403 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7404 {
7405   uint32x2_t __result;
7406   __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7407            : "=w"(__result)
7408            : "0"(__a), "w"(__b), "w"(__c)
7409            : /* No clobbers */);
7410   return __result;
7411 }
7412 
7413 __extension__ extern __inline int8x8_t
7414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7415 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7416 {
7417   int8x8_t __result;
7418   __asm__ ("mla %0.8b, %2.8b, %3.8b"
7419            : "=w"(__result)
7420            : "0"(__a), "w"(__b), "w"(__c)
7421            : /* No clobbers */);
7422   return __result;
7423 }
7424 
7425 __extension__ extern __inline int16x4_t
7426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)7427 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7428 {
7429   int16x4_t __result;
7430   __asm__ ("mla %0.4h, %2.4h, %3.4h"
7431            : "=w"(__result)
7432            : "0"(__a), "w"(__b), "w"(__c)
7433            : /* No clobbers */);
7434   return __result;
7435 }
7436 
7437 __extension__ extern __inline int32x2_t
7438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)7439 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7440 {
7441   int32x2_t __result;
7442   __asm__ ("mla %0.2s, %2.2s, %3.2s"
7443            : "=w"(__result)
7444            : "0"(__a), "w"(__b), "w"(__c)
7445            : /* No clobbers */);
7446   return __result;
7447 }
7448 
7449 __extension__ extern __inline uint8x8_t
7450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7451 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7452 {
7453   uint8x8_t __result;
7454   __asm__ ("mla %0.8b, %2.8b, %3.8b"
7455            : "=w"(__result)
7456            : "0"(__a), "w"(__b), "w"(__c)
7457            : /* No clobbers */);
7458   return __result;
7459 }
7460 
7461 __extension__ extern __inline uint16x4_t
7462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7463 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7464 {
7465   uint16x4_t __result;
7466   __asm__ ("mla %0.4h, %2.4h, %3.4h"
7467            : "=w"(__result)
7468            : "0"(__a), "w"(__b), "w"(__c)
7469            : /* No clobbers */);
7470   return __result;
7471 }
7472 
7473 __extension__ extern __inline uint32x2_t
7474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7475 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7476 {
7477   uint32x2_t __result;
7478   __asm__ ("mla %0.2s, %2.2s, %3.2s"
7479            : "=w"(__result)
7480            : "0"(__a), "w"(__b), "w"(__c)
7481            : /* No clobbers */);
7482   return __result;
7483 }
7484 
7485 #define vmlal_high_lane_s16(a, b, c, d)                                 \
7486   __extension__                                                         \
7487     ({                                                                  \
7488        int16x4_t c_ = (c);                                              \
7489        int16x8_t b_ = (b);                                              \
7490        int32x4_t a_ = (a);                                              \
7491        int32x4_t result;                                                \
7492        __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7493                 : "=w"(result)                                          \
7494                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7495                 : /* No clobbers */);                                   \
7496        result;                                                          \
7497      })
7498 
7499 #define vmlal_high_lane_s32(a, b, c, d)                                 \
7500   __extension__                                                         \
7501     ({                                                                  \
7502        int32x2_t c_ = (c);                                              \
7503        int32x4_t b_ = (b);                                              \
7504        int64x2_t a_ = (a);                                              \
7505        int64x2_t result;                                                \
7506        __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7507                 : "=w"(result)                                          \
7508                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7509                 : /* No clobbers */);                                   \
7510        result;                                                          \
7511      })
7512 
7513 #define vmlal_high_lane_u16(a, b, c, d)                                 \
7514   __extension__                                                         \
7515     ({                                                                  \
7516        uint16x4_t c_ = (c);                                             \
7517        uint16x8_t b_ = (b);                                             \
7518        uint32x4_t a_ = (a);                                             \
7519        uint32x4_t result;                                               \
7520        __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7521                 : "=w"(result)                                          \
7522                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7523                 : /* No clobbers */);                                   \
7524        result;                                                          \
7525      })
7526 
7527 #define vmlal_high_lane_u32(a, b, c, d)                                 \
7528   __extension__                                                         \
7529     ({                                                                  \
7530        uint32x2_t c_ = (c);                                             \
7531        uint32x4_t b_ = (b);                                             \
7532        uint64x2_t a_ = (a);                                             \
7533        uint64x2_t result;                                               \
7534        __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7535                 : "=w"(result)                                          \
7536                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7537                 : /* No clobbers */);                                   \
7538        result;                                                          \
7539      })
7540 
7541 #define vmlal_high_laneq_s16(a, b, c, d)                                \
7542   __extension__                                                         \
7543     ({                                                                  \
7544        int16x8_t c_ = (c);                                              \
7545        int16x8_t b_ = (b);                                              \
7546        int32x4_t a_ = (a);                                              \
7547        int32x4_t result;                                                \
7548        __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7549                 : "=w"(result)                                          \
7550                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7551                 : /* No clobbers */);                                   \
7552        result;                                                          \
7553      })
7554 
7555 #define vmlal_high_laneq_s32(a, b, c, d)                                \
7556   __extension__                                                         \
7557     ({                                                                  \
7558        int32x4_t c_ = (c);                                              \
7559        int32x4_t b_ = (b);                                              \
7560        int64x2_t a_ = (a);                                              \
7561        int64x2_t result;                                                \
7562        __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7563                 : "=w"(result)                                          \
7564                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7565                 : /* No clobbers */);                                   \
7566        result;                                                          \
7567      })
7568 
7569 #define vmlal_high_laneq_u16(a, b, c, d)                                \
7570   __extension__                                                         \
7571     ({                                                                  \
7572        uint16x8_t c_ = (c);                                             \
7573        uint16x8_t b_ = (b);                                             \
7574        uint32x4_t a_ = (a);                                             \
7575        uint32x4_t result;                                               \
7576        __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7577                 : "=w"(result)                                          \
7578                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7579                 : /* No clobbers */);                                   \
7580        result;                                                          \
7581      })
7582 
7583 #define vmlal_high_laneq_u32(a, b, c, d)                                \
7584   __extension__                                                         \
7585     ({                                                                  \
7586        uint32x4_t c_ = (c);                                             \
7587        uint32x4_t b_ = (b);                                             \
7588        uint64x2_t a_ = (a);                                             \
7589        uint64x2_t result;                                               \
7590        __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7591                 : "=w"(result)                                          \
7592                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7593                 : /* No clobbers */);                                   \
7594        result;                                                          \
7595      })
7596 
7597 __extension__ extern __inline int32x4_t
7598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)7599 vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
7600 {
7601   int32x4_t __result;
7602   __asm__ ("smlal2 %0.4s,%2.8h,%3.h[0]"
7603            : "=w"(__result)
7604            : "0"(__a), "w"(__b), "x"(__c)
7605            : /* No clobbers */);
7606   return __result;
7607 }
7608 
7609 __extension__ extern __inline int64x2_t
7610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)7611 vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
7612 {
7613   int64x2_t __result;
7614   __asm__ ("smlal2 %0.2d,%2.4s,%3.s[0]"
7615            : "=w"(__result)
7616            : "0"(__a), "w"(__b), "w"(__c)
7617            : /* No clobbers */);
7618   return __result;
7619 }
7620 
7621 __extension__ extern __inline uint32x4_t
7622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)7623 vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
7624 {
7625   uint32x4_t __result;
7626   __asm__ ("umlal2 %0.4s,%2.8h,%3.h[0]"
7627            : "=w"(__result)
7628            : "0"(__a), "w"(__b), "x"(__c)
7629            : /* No clobbers */);
7630   return __result;
7631 }
7632 
7633 __extension__ extern __inline uint64x2_t
7634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)7635 vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
7636 {
7637   uint64x2_t __result;
7638   __asm__ ("umlal2 %0.2d,%2.4s,%3.s[0]"
7639            : "=w"(__result)
7640            : "0"(__a), "w"(__b), "w"(__c)
7641            : /* No clobbers */);
7642   return __result;
7643 }
7644 
7645 __extension__ extern __inline int16x8_t
7646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)7647 vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
7648 {
7649   int16x8_t __result;
7650   __asm__ ("smlal2 %0.8h,%2.16b,%3.16b"
7651            : "=w"(__result)
7652            : "0"(__a), "w"(__b), "w"(__c)
7653            : /* No clobbers */);
7654   return __result;
7655 }
7656 
7657 __extension__ extern __inline int32x4_t
7658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)7659 vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
7660 {
7661   int32x4_t __result;
7662   __asm__ ("smlal2 %0.4s,%2.8h,%3.8h"
7663            : "=w"(__result)
7664            : "0"(__a), "w"(__b), "w"(__c)
7665            : /* No clobbers */);
7666   return __result;
7667 }
7668 
7669 __extension__ extern __inline int64x2_t
7670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)7671 vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
7672 {
7673   int64x2_t __result;
7674   __asm__ ("smlal2 %0.2d,%2.4s,%3.4s"
7675            : "=w"(__result)
7676            : "0"(__a), "w"(__b), "w"(__c)
7677            : /* No clobbers */);
7678   return __result;
7679 }
7680 
7681 __extension__ extern __inline uint16x8_t
7682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)7683 vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
7684 {
7685   uint16x8_t __result;
7686   __asm__ ("umlal2 %0.8h,%2.16b,%3.16b"
7687            : "=w"(__result)
7688            : "0"(__a), "w"(__b), "w"(__c)
7689            : /* No clobbers */);
7690   return __result;
7691 }
7692 
7693 __extension__ extern __inline uint32x4_t
7694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)7695 vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
7696 {
7697   uint32x4_t __result;
7698   __asm__ ("umlal2 %0.4s,%2.8h,%3.8h"
7699            : "=w"(__result)
7700            : "0"(__a), "w"(__b), "w"(__c)
7701            : /* No clobbers */);
7702   return __result;
7703 }
7704 
7705 __extension__ extern __inline uint64x2_t
7706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)7707 vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
7708 {
7709   uint64x2_t __result;
7710   __asm__ ("umlal2 %0.2d,%2.4s,%3.4s"
7711            : "=w"(__result)
7712            : "0"(__a), "w"(__b), "w"(__c)
7713            : /* No clobbers */);
7714   return __result;
7715 }
7716 
7717 __extension__ extern __inline int32x4_t
7718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s16(int32x4_t __acc,int16x4_t __a,int16x4_t __b,const int __c)7719 vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
7720 {
7721   return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
7722 }
7723 
7724 __extension__ extern __inline int64x2_t
7725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s32(int64x2_t __acc,int32x2_t __a,int32x2_t __b,const int __c)7726 vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
7727 {
7728   return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
7729 }
7730 
7731 __extension__ extern __inline uint32x4_t
7732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u16(uint32x4_t __acc,uint16x4_t __a,uint16x4_t __b,const int __c)7733 vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
7734 {
7735   return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
7736 }
7737 
7738 __extension__ extern __inline uint64x2_t
7739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u32(uint64x2_t __acc,uint32x2_t __a,uint32x2_t __b,const int __c)7740 vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
7741 {
7742   return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
7743 }
7744 
7745 __extension__ extern __inline int32x4_t
7746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s16(int32x4_t __acc,int16x4_t __a,int16x8_t __b,const int __c)7747 vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
7748 {
7749   return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
7750 }
7751 
7752 __extension__ extern __inline int64x2_t
7753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s32(int64x2_t __acc,int32x2_t __a,int32x4_t __b,const int __c)7754 vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
7755 {
7756   return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
7757 }
7758 
7759 __extension__ extern __inline uint32x4_t
7760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u16(uint32x4_t __acc,uint16x4_t __a,uint16x8_t __b,const int __c)7761 vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
7762 {
7763   return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
7764 }
7765 
7766 __extension__ extern __inline uint64x2_t
7767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u32(uint64x2_t __acc,uint32x2_t __a,uint32x4_t __b,const int __c)7768 vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
7769 {
7770   return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
7771 }
7772 
7773 __extension__ extern __inline int32x4_t
7774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7775 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7776 {
7777   int32x4_t __result;
7778   __asm__ ("smlal %0.4s,%2.4h,%3.h[0]"
7779            : "=w"(__result)
7780            : "0"(__a), "w"(__b), "x"(__c)
7781            : /* No clobbers */);
7782   return __result;
7783 }
7784 
7785 __extension__ extern __inline int64x2_t
7786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7787 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7788 {
7789   int64x2_t __result;
7790   __asm__ ("smlal %0.2d,%2.2s,%3.s[0]"
7791            : "=w"(__result)
7792            : "0"(__a), "w"(__b), "w"(__c)
7793            : /* No clobbers */);
7794   return __result;
7795 }
7796 
7797 __extension__ extern __inline uint32x4_t
7798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7799 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7800 {
7801   uint32x4_t __result;
7802   __asm__ ("umlal %0.4s,%2.4h,%3.h[0]"
7803            : "=w"(__result)
7804            : "0"(__a), "w"(__b), "x"(__c)
7805            : /* No clobbers */);
7806   return __result;
7807 }
7808 
7809 __extension__ extern __inline uint64x2_t
7810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7811 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7812 {
7813   uint64x2_t __result;
7814   __asm__ ("umlal %0.2d,%2.2s,%3.s[0]"
7815            : "=w"(__result)
7816            : "0"(__a), "w"(__b), "w"(__c)
7817            : /* No clobbers */);
7818   return __result;
7819 }
7820 
7821 __extension__ extern __inline int16x8_t
7822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)7823 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
7824 {
7825   int16x8_t __result;
7826   __asm__ ("smlal %0.8h,%2.8b,%3.8b"
7827            : "=w"(__result)
7828            : "0"(__a), "w"(__b), "w"(__c)
7829            : /* No clobbers */);
7830   return __result;
7831 }
7832 
7833 __extension__ extern __inline int32x4_t
7834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)7835 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
7836 {
7837   int32x4_t __result;
7838   __asm__ ("smlal %0.4s,%2.4h,%3.4h"
7839            : "=w"(__result)
7840            : "0"(__a), "w"(__b), "w"(__c)
7841            : /* No clobbers */);
7842   return __result;
7843 }
7844 
7845 __extension__ extern __inline int64x2_t
7846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)7847 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
7848 {
7849   int64x2_t __result;
7850   __asm__ ("smlal %0.2d,%2.2s,%3.2s"
7851            : "=w"(__result)
7852            : "0"(__a), "w"(__b), "w"(__c)
7853            : /* No clobbers */);
7854   return __result;
7855 }
7856 
7857 __extension__ extern __inline uint16x8_t
7858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)7859 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
7860 {
7861   uint16x8_t __result;
7862   __asm__ ("umlal %0.8h,%2.8b,%3.8b"
7863            : "=w"(__result)
7864            : "0"(__a), "w"(__b), "w"(__c)
7865            : /* No clobbers */);
7866   return __result;
7867 }
7868 
7869 __extension__ extern __inline uint32x4_t
7870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)7871 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
7872 {
7873   uint32x4_t __result;
7874   __asm__ ("umlal %0.4s,%2.4h,%3.4h"
7875            : "=w"(__result)
7876            : "0"(__a), "w"(__b), "w"(__c)
7877            : /* No clobbers */);
7878   return __result;
7879 }
7880 
7881 __extension__ extern __inline uint64x2_t
7882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)7883 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
7884 {
7885   uint64x2_t __result;
7886   __asm__ ("umlal %0.2d,%2.2s,%3.2s"
7887            : "=w"(__result)
7888            : "0"(__a), "w"(__b), "w"(__c)
7889            : /* No clobbers */);
7890   return __result;
7891 }
7892 
7893 __extension__ extern __inline float32x4_t
7894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7895 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7896 {
7897   float32x4_t __result;
7898   float32x4_t __t1;
7899   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fadd %0.4s, %0.4s, %1.4s"
7900            : "=w"(__result), "=w"(__t1)
7901            : "0"(__a), "w"(__b), "w"(__c)
7902            : /* No clobbers */);
7903   return __result;
7904 }
7905 
7906 __extension__ extern __inline int16x8_t
7907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7908 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7909 {
7910   int16x8_t __result;
7911   __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7912            : "=w"(__result)
7913            : "0"(__a), "w"(__b), "x"(__c)
7914            : /* No clobbers */);
7915   return __result;
7916 }
7917 
7918 __extension__ extern __inline int32x4_t
7919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7920 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7921 {
7922   int32x4_t __result;
7923   __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7924            : "=w"(__result)
7925            : "0"(__a), "w"(__b), "w"(__c)
7926            : /* No clobbers */);
7927   return __result;
7928 }
7929 
7930 __extension__ extern __inline uint16x8_t
7931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7932 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7933 {
7934   uint16x8_t __result;
7935   __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7936            : "=w"(__result)
7937            : "0"(__a), "w"(__b), "x"(__c)
7938            : /* No clobbers */);
7939   return __result;
7940 }
7941 
7942 __extension__ extern __inline uint32x4_t
7943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7944 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7945 {
7946   uint32x4_t __result;
7947   __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7948            : "=w"(__result)
7949            : "0"(__a), "w"(__b), "w"(__c)
7950            : /* No clobbers */);
7951   return __result;
7952 }
7953 
7954 __extension__ extern __inline int8x16_t
7955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)7956 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
7957 {
7958   int8x16_t __result;
7959   __asm__ ("mla %0.16b, %2.16b, %3.16b"
7960            : "=w"(__result)
7961            : "0"(__a), "w"(__b), "w"(__c)
7962            : /* No clobbers */);
7963   return __result;
7964 }
7965 
7966 __extension__ extern __inline int16x8_t
7967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)7968 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7969 {
7970   int16x8_t __result;
7971   __asm__ ("mla %0.8h, %2.8h, %3.8h"
7972            : "=w"(__result)
7973            : "0"(__a), "w"(__b), "w"(__c)
7974            : /* No clobbers */);
7975   return __result;
7976 }
7977 
7978 __extension__ extern __inline int32x4_t
7979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)7980 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7981 {
7982   int32x4_t __result;
7983   __asm__ ("mla %0.4s, %2.4s, %3.4s"
7984            : "=w"(__result)
7985            : "0"(__a), "w"(__b), "w"(__c)
7986            : /* No clobbers */);
7987   return __result;
7988 }
7989 
7990 __extension__ extern __inline uint8x16_t
7991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7992 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7993 {
7994   uint8x16_t __result;
7995   __asm__ ("mla %0.16b, %2.16b, %3.16b"
7996            : "=w"(__result)
7997            : "0"(__a), "w"(__b), "w"(__c)
7998            : /* No clobbers */);
7999   return __result;
8000 }
8001 
8002 __extension__ extern __inline uint16x8_t
8003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)8004 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
8005 {
8006   uint16x8_t __result;
8007   __asm__ ("mla %0.8h, %2.8h, %3.8h"
8008            : "=w"(__result)
8009            : "0"(__a), "w"(__b), "w"(__c)
8010            : /* No clobbers */);
8011   return __result;
8012 }
8013 
8014 __extension__ extern __inline uint32x4_t
8015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)8016 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
8017 {
8018   uint32x4_t __result;
8019   __asm__ ("mla %0.4s, %2.4s, %3.4s"
8020            : "=w"(__result)
8021            : "0"(__a), "w"(__b), "w"(__c)
8022            : /* No clobbers */);
8023   return __result;
8024 }
8025 
8026 __extension__ extern __inline float32x2_t
8027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8028 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8029 {
8030   float32x2_t __result;
8031   float32x2_t __t1;
8032   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fsub %0.2s, %0.2s, %1.2s"
8033            : "=w"(__result), "=w"(__t1)
8034            : "0"(__a), "w"(__b), "w"(__c)
8035            : /* No clobbers */);
8036   return __result;
8037 }
8038 
8039 __extension__ extern __inline int16x4_t
8040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8041 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8042 {
8043   int16x4_t __result;
8044   __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
8045            : "=w"(__result)
8046            : "0"(__a), "w"(__b), "x"(__c)
8047            : /* No clobbers */);
8048   return __result;
8049 }
8050 
8051 __extension__ extern __inline int32x2_t
8052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8053 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8054 {
8055   int32x2_t __result;
8056   __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
8057            : "=w"(__result)
8058            : "0"(__a), "w"(__b), "w"(__c)
8059            : /* No clobbers */);
8060   return __result;
8061 }
8062 
8063 __extension__ extern __inline uint16x4_t
8064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8065 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8066 {
8067   uint16x4_t __result;
8068   __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
8069            : "=w"(__result)
8070            : "0"(__a), "w"(__b), "x"(__c)
8071            : /* No clobbers */);
8072   return __result;
8073 }
8074 
8075 __extension__ extern __inline uint32x2_t
8076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8077 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8078 {
8079   uint32x2_t __result;
8080   __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
8081            : "=w"(__result)
8082            : "0"(__a), "w"(__b), "w"(__c)
8083            : /* No clobbers */);
8084   return __result;
8085 }
8086 
8087 __extension__ extern __inline int8x8_t
8088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)8089 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
8090 {
8091   int8x8_t __result;
8092   __asm__ ("mls %0.8b,%2.8b,%3.8b"
8093            : "=w"(__result)
8094            : "0"(__a), "w"(__b), "w"(__c)
8095            : /* No clobbers */);
8096   return __result;
8097 }
8098 
8099 __extension__ extern __inline int16x4_t
8100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)8101 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
8102 {
8103   int16x4_t __result;
8104   __asm__ ("mls %0.4h,%2.4h,%3.4h"
8105            : "=w"(__result)
8106            : "0"(__a), "w"(__b), "w"(__c)
8107            : /* No clobbers */);
8108   return __result;
8109 }
8110 
8111 __extension__ extern __inline int32x2_t
8112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)8113 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
8114 {
8115   int32x2_t __result;
8116   __asm__ ("mls %0.2s,%2.2s,%3.2s"
8117            : "=w"(__result)
8118            : "0"(__a), "w"(__b), "w"(__c)
8119            : /* No clobbers */);
8120   return __result;
8121 }
8122 
8123 __extension__ extern __inline uint8x8_t
8124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)8125 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
8126 {
8127   uint8x8_t __result;
8128   __asm__ ("mls %0.8b,%2.8b,%3.8b"
8129            : "=w"(__result)
8130            : "0"(__a), "w"(__b), "w"(__c)
8131            : /* No clobbers */);
8132   return __result;
8133 }
8134 
8135 __extension__ extern __inline uint16x4_t
8136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)8137 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
8138 {
8139   uint16x4_t __result;
8140   __asm__ ("mls %0.4h,%2.4h,%3.4h"
8141            : "=w"(__result)
8142            : "0"(__a), "w"(__b), "w"(__c)
8143            : /* No clobbers */);
8144   return __result;
8145 }
8146 
8147 __extension__ extern __inline uint32x2_t
8148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)8149 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
8150 {
8151   uint32x2_t __result;
8152   __asm__ ("mls %0.2s,%2.2s,%3.2s"
8153            : "=w"(__result)
8154            : "0"(__a), "w"(__b), "w"(__c)
8155            : /* No clobbers */);
8156   return __result;
8157 }
8158 
8159 #define vmlsl_high_lane_s16(a, b, c, d)                                 \
8160   __extension__                                                         \
8161     ({                                                                  \
8162        int16x4_t c_ = (c);                                              \
8163        int16x8_t b_ = (b);                                              \
8164        int32x4_t a_ = (a);                                              \
8165        int32x4_t result;                                                \
8166        __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8167                 : "=w"(result)                                          \
8168                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8169                 : /* No clobbers */);                                   \
8170        result;                                                          \
8171      })
8172 
8173 #define vmlsl_high_lane_s32(a, b, c, d)                                 \
8174   __extension__                                                         \
8175     ({                                                                  \
8176        int32x2_t c_ = (c);                                              \
8177        int32x4_t b_ = (b);                                              \
8178        int64x2_t a_ = (a);                                              \
8179        int64x2_t result;                                                \
8180        __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8181                 : "=w"(result)                                          \
8182                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8183                 : /* No clobbers */);                                   \
8184        result;                                                          \
8185      })
8186 
8187 #define vmlsl_high_lane_u16(a, b, c, d)                                 \
8188   __extension__                                                         \
8189     ({                                                                  \
8190        uint16x4_t c_ = (c);                                             \
8191        uint16x8_t b_ = (b);                                             \
8192        uint32x4_t a_ = (a);                                             \
8193        uint32x4_t result;                                               \
8194        __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8195                 : "=w"(result)                                          \
8196                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8197                 : /* No clobbers */);                                   \
8198        result;                                                          \
8199      })
8200 
8201 #define vmlsl_high_lane_u32(a, b, c, d)                                 \
8202   __extension__                                                         \
8203     ({                                                                  \
8204        uint32x2_t c_ = (c);                                             \
8205        uint32x4_t b_ = (b);                                             \
8206        uint64x2_t a_ = (a);                                             \
8207        uint64x2_t result;                                               \
8208        __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8209                 : "=w"(result)                                          \
8210                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8211                 : /* No clobbers */);                                   \
8212        result;                                                          \
8213      })
8214 
8215 #define vmlsl_high_laneq_s16(a, b, c, d)                                \
8216   __extension__                                                         \
8217     ({                                                                  \
8218        int16x8_t c_ = (c);                                              \
8219        int16x8_t b_ = (b);                                              \
8220        int32x4_t a_ = (a);                                              \
8221        int32x4_t result;                                                \
8222        __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8223                 : "=w"(result)                                          \
8224                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8225                 : /* No clobbers */);                                   \
8226        result;                                                          \
8227      })
8228 
8229 #define vmlsl_high_laneq_s32(a, b, c, d)                                \
8230   __extension__                                                         \
8231     ({                                                                  \
8232        int32x4_t c_ = (c);                                              \
8233        int32x4_t b_ = (b);                                              \
8234        int64x2_t a_ = (a);                                              \
8235        int64x2_t result;                                                \
8236        __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8237                 : "=w"(result)                                          \
8238                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8239                 : /* No clobbers */);                                   \
8240        result;                                                          \
8241      })
8242 
8243 #define vmlsl_high_laneq_u16(a, b, c, d)                                \
8244   __extension__                                                         \
8245     ({                                                                  \
8246        uint16x8_t c_ = (c);                                             \
8247        uint16x8_t b_ = (b);                                             \
8248        uint32x4_t a_ = (a);                                             \
8249        uint32x4_t result;                                               \
8250        __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8251                 : "=w"(result)                                          \
8252                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8253                 : /* No clobbers */);                                   \
8254        result;                                                          \
8255      })
8256 
8257 #define vmlsl_high_laneq_u32(a, b, c, d)                                \
8258   __extension__                                                         \
8259     ({                                                                  \
8260        uint32x4_t c_ = (c);                                             \
8261        uint32x4_t b_ = (b);                                             \
8262        uint64x2_t a_ = (a);                                             \
8263        uint64x2_t result;                                               \
8264        __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8265                 : "=w"(result)                                          \
8266                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8267                 : /* No clobbers */);                                   \
8268        result;                                                          \
8269      })
8270 
8271 __extension__ extern __inline int32x4_t
8272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)8273 vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
8274 {
8275   int32x4_t __result;
8276   __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[0]"
8277            : "=w"(__result)
8278            : "0"(__a), "w"(__b), "x"(__c)
8279            : /* No clobbers */);
8280   return __result;
8281 }
8282 
8283 __extension__ extern __inline int64x2_t
8284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)8285 vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
8286 {
8287   int64x2_t __result;
8288   __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[0]"
8289            : "=w"(__result)
8290            : "0"(__a), "w"(__b), "w"(__c)
8291            : /* No clobbers */);
8292   return __result;
8293 }
8294 
8295 __extension__ extern __inline uint32x4_t
8296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)8297 vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
8298 {
8299   uint32x4_t __result;
8300   __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[0]"
8301            : "=w"(__result)
8302            : "0"(__a), "w"(__b), "x"(__c)
8303            : /* No clobbers */);
8304   return __result;
8305 }
8306 
8307 __extension__ extern __inline uint64x2_t
8308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)8309 vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
8310 {
8311   uint64x2_t __result;
8312   __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[0]"
8313            : "=w"(__result)
8314            : "0"(__a), "w"(__b), "w"(__c)
8315            : /* No clobbers */);
8316   return __result;
8317 }
8318 
8319 __extension__ extern __inline int16x8_t
8320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)8321 vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
8322 {
8323   int16x8_t __result;
8324   __asm__ ("smlsl2 %0.8h,%2.16b,%3.16b"
8325            : "=w"(__result)
8326            : "0"(__a), "w"(__b), "w"(__c)
8327            : /* No clobbers */);
8328   return __result;
8329 }
8330 
8331 __extension__ extern __inline int32x4_t
8332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)8333 vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
8334 {
8335   int32x4_t __result;
8336   __asm__ ("smlsl2 %0.4s,%2.8h,%3.8h"
8337            : "=w"(__result)
8338            : "0"(__a), "w"(__b), "w"(__c)
8339            : /* No clobbers */);
8340   return __result;
8341 }
8342 
8343 __extension__ extern __inline int64x2_t
8344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)8345 vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
8346 {
8347   int64x2_t __result;
8348   __asm__ ("smlsl2 %0.2d,%2.4s,%3.4s"
8349            : "=w"(__result)
8350            : "0"(__a), "w"(__b), "w"(__c)
8351            : /* No clobbers */);
8352   return __result;
8353 }
8354 
8355 __extension__ extern __inline uint16x8_t
8356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)8357 vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
8358 {
8359   uint16x8_t __result;
8360   __asm__ ("umlsl2 %0.8h,%2.16b,%3.16b"
8361            : "=w"(__result)
8362            : "0"(__a), "w"(__b), "w"(__c)
8363            : /* No clobbers */);
8364   return __result;
8365 }
8366 
8367 __extension__ extern __inline uint32x4_t
8368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)8369 vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
8370 {
8371   uint32x4_t __result;
8372   __asm__ ("umlsl2 %0.4s,%2.8h,%3.8h"
8373            : "=w"(__result)
8374            : "0"(__a), "w"(__b), "w"(__c)
8375            : /* No clobbers */);
8376   return __result;
8377 }
8378 
8379 __extension__ extern __inline uint64x2_t
8380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)8381 vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
8382 {
8383   uint64x2_t __result;
8384   __asm__ ("umlsl2 %0.2d,%2.4s,%3.4s"
8385            : "=w"(__result)
8386            : "0"(__a), "w"(__b), "w"(__c)
8387            : /* No clobbers */);
8388   return __result;
8389 }
8390 
8391 #define vmlsl_lane_s16(a, b, c, d)                                      \
8392   __extension__                                                         \
8393     ({                                                                  \
8394        int16x4_t c_ = (c);                                              \
8395        int16x4_t b_ = (b);                                              \
8396        int32x4_t a_ = (a);                                              \
8397        int32x4_t result;                                                \
8398        __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]"                          \
8399                 : "=w"(result)                                          \
8400                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8401                 : /* No clobbers */);                                   \
8402        result;                                                          \
8403      })
8404 
8405 #define vmlsl_lane_s32(a, b, c, d)                                      \
8406   __extension__                                                         \
8407     ({                                                                  \
8408        int32x2_t c_ = (c);                                              \
8409        int32x2_t b_ = (b);                                              \
8410        int64x2_t a_ = (a);                                              \
8411        int64x2_t result;                                                \
8412        __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]"                          \
8413                 : "=w"(result)                                          \
8414                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8415                 : /* No clobbers */);                                   \
8416        result;                                                          \
8417      })
8418 
8419 #define vmlsl_lane_u16(a, b, c, d)                                      \
8420   __extension__                                                         \
8421     ({                                                                  \
8422        uint16x4_t c_ = (c);                                             \
8423        uint16x4_t b_ = (b);                                             \
8424        uint32x4_t a_ = (a);                                             \
8425        uint32x4_t result;                                               \
8426        __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]"                          \
8427                 : "=w"(result)                                          \
8428                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8429                 : /* No clobbers */);                                   \
8430        result;                                                          \
8431      })
8432 
8433 #define vmlsl_lane_u32(a, b, c, d)                                      \
8434   __extension__                                                         \
8435     ({                                                                  \
8436        uint32x2_t c_ = (c);                                             \
8437        uint32x2_t b_ = (b);                                             \
8438        uint64x2_t a_ = (a);                                             \
8439        uint64x2_t result;                                               \
8440        __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]"                          \
8441                 : "=w"(result)                                          \
8442                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8443                 : /* No clobbers */);                                   \
8444        result;                                                          \
8445      })
8446 
8447 #define vmlsl_laneq_s16(a, b, c, d)                                     \
8448   __extension__                                                         \
8449     ({                                                                  \
8450        int16x8_t c_ = (c);                                              \
8451        int16x4_t b_ = (b);                                              \
8452        int32x4_t a_ = (a);                                              \
8453        int32x4_t result;                                                \
8454        __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]"                          \
8455                 : "=w"(result)                                          \
8456                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8457                 : /* No clobbers */);                                   \
8458        result;                                                          \
8459      })
8460 
8461 #define vmlsl_laneq_s32(a, b, c, d)                                     \
8462   __extension__                                                         \
8463     ({                                                                  \
8464        int32x4_t c_ = (c);                                              \
8465        int32x2_t b_ = (b);                                              \
8466        int64x2_t a_ = (a);                                              \
8467        int64x2_t result;                                                \
8468        __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]"                          \
8469                 : "=w"(result)                                          \
8470                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8471                 : /* No clobbers */);                                   \
8472        result;                                                          \
8473      })
8474 
8475 #define vmlsl_laneq_u16(a, b, c, d)                                     \
8476   __extension__                                                         \
8477     ({                                                                  \
8478        uint16x8_t c_ = (c);                                             \
8479        uint16x4_t b_ = (b);                                             \
8480        uint32x4_t a_ = (a);                                             \
8481        uint32x4_t result;                                               \
8482        __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]"                          \
8483                 : "=w"(result)                                          \
8484                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8485                 : /* No clobbers */);                                   \
8486        result;                                                          \
8487      })
8488 
8489 #define vmlsl_laneq_u32(a, b, c, d)                                     \
8490   __extension__                                                         \
8491     ({                                                                  \
8492        uint32x4_t c_ = (c);                                             \
8493        uint32x2_t b_ = (b);                                             \
8494        uint64x2_t a_ = (a);                                             \
8495        uint64x2_t result;                                               \
8496        __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]"                          \
8497                 : "=w"(result)                                          \
8498                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8499                 : /* No clobbers */);                                   \
8500        result;                                                          \
8501      })
8502 
8503 __extension__ extern __inline int32x4_t
8504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8505 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8506 {
8507   int32x4_t __result;
8508   __asm__ ("smlsl %0.4s, %2.4h, %3.h[0]"
8509            : "=w"(__result)
8510            : "0"(__a), "w"(__b), "x"(__c)
8511            : /* No clobbers */);
8512   return __result;
8513 }
8514 
8515 __extension__ extern __inline int64x2_t
8516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8517 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8518 {
8519   int64x2_t __result;
8520   __asm__ ("smlsl %0.2d, %2.2s, %3.s[0]"
8521            : "=w"(__result)
8522            : "0"(__a), "w"(__b), "w"(__c)
8523            : /* No clobbers */);
8524   return __result;
8525 }
8526 
8527 __extension__ extern __inline uint32x4_t
8528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8529 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8530 {
8531   uint32x4_t __result;
8532   __asm__ ("umlsl %0.4s, %2.4h, %3.h[0]"
8533            : "=w"(__result)
8534            : "0"(__a), "w"(__b), "x"(__c)
8535            : /* No clobbers */);
8536   return __result;
8537 }
8538 
8539 __extension__ extern __inline uint64x2_t
8540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8541 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8542 {
8543   uint64x2_t __result;
8544   __asm__ ("umlsl %0.2d, %2.2s, %3.s[0]"
8545            : "=w"(__result)
8546            : "0"(__a), "w"(__b), "w"(__c)
8547            : /* No clobbers */);
8548   return __result;
8549 }
8550 
8551 __extension__ extern __inline int16x8_t
8552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)8553 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
8554 {
8555   int16x8_t __result;
8556   __asm__ ("smlsl %0.8h, %2.8b, %3.8b"
8557            : "=w"(__result)
8558            : "0"(__a), "w"(__b), "w"(__c)
8559            : /* No clobbers */);
8560   return __result;
8561 }
8562 
8563 __extension__ extern __inline int32x4_t
8564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)8565 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
8566 {
8567   int32x4_t __result;
8568   __asm__ ("smlsl %0.4s, %2.4h, %3.4h"
8569            : "=w"(__result)
8570            : "0"(__a), "w"(__b), "w"(__c)
8571            : /* No clobbers */);
8572   return __result;
8573 }
8574 
8575 __extension__ extern __inline int64x2_t
8576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)8577 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
8578 {
8579   int64x2_t __result;
8580   __asm__ ("smlsl %0.2d, %2.2s, %3.2s"
8581            : "=w"(__result)
8582            : "0"(__a), "w"(__b), "w"(__c)
8583            : /* No clobbers */);
8584   return __result;
8585 }
8586 
8587 __extension__ extern __inline uint16x8_t
8588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)8589 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
8590 {
8591   uint16x8_t __result;
8592   __asm__ ("umlsl %0.8h, %2.8b, %3.8b"
8593            : "=w"(__result)
8594            : "0"(__a), "w"(__b), "w"(__c)
8595            : /* No clobbers */);
8596   return __result;
8597 }
8598 
8599 __extension__ extern __inline uint32x4_t
8600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)8601 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
8602 {
8603   uint32x4_t __result;
8604   __asm__ ("umlsl %0.4s, %2.4h, %3.4h"
8605            : "=w"(__result)
8606            : "0"(__a), "w"(__b), "w"(__c)
8607            : /* No clobbers */);
8608   return __result;
8609 }
8610 
8611 __extension__ extern __inline uint64x2_t
8612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)8613 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
8614 {
8615   uint64x2_t __result;
8616   __asm__ ("umlsl %0.2d, %2.2s, %3.2s"
8617            : "=w"(__result)
8618            : "0"(__a), "w"(__b), "w"(__c)
8619            : /* No clobbers */);
8620   return __result;
8621 }
8622 
8623 __extension__ extern __inline float32x4_t
8624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8625 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8626 {
8627   float32x4_t __result;
8628   float32x4_t __t1;
8629   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fsub %0.4s, %0.4s, %1.4s"
8630            : "=w"(__result), "=w"(__t1)
8631            : "0"(__a), "w"(__b), "w"(__c)
8632            : /* No clobbers */);
8633   return __result;
8634 }
8635 
8636 __extension__ extern __inline int16x8_t
8637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8638 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8639 {
8640   int16x8_t __result;
8641   __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8642            : "=w"(__result)
8643            : "0"(__a), "w"(__b), "x"(__c)
8644            : /* No clobbers */);
8645   return __result;
8646 }
8647 
8648 __extension__ extern __inline int32x4_t
8649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8650 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8651 {
8652   int32x4_t __result;
8653   __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8654            : "=w"(__result)
8655            : "0"(__a), "w"(__b), "w"(__c)
8656            : /* No clobbers */);
8657   return __result;
8658 }
8659 
8660 __extension__ extern __inline uint16x8_t
8661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8662 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8663 {
8664   uint16x8_t __result;
8665   __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8666            : "=w"(__result)
8667            : "0"(__a), "w"(__b), "x"(__c)
8668            : /* No clobbers */);
8669   return __result;
8670 }
8671 
8672 __extension__ extern __inline uint32x4_t
8673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8674 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8675 {
8676   uint32x4_t __result;
8677   __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8678            : "=w"(__result)
8679            : "0"(__a), "w"(__b), "w"(__c)
8680            : /* No clobbers */);
8681   return __result;
8682 }
8683 
8684 __extension__ extern __inline int8x16_t
8685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)8686 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
8687 {
8688   int8x16_t __result;
8689   __asm__ ("mls %0.16b,%2.16b,%3.16b"
8690            : "=w"(__result)
8691            : "0"(__a), "w"(__b), "w"(__c)
8692            : /* No clobbers */);
8693   return __result;
8694 }
8695 
8696 __extension__ extern __inline int16x8_t
8697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)8698 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
8699 {
8700   int16x8_t __result;
8701   __asm__ ("mls %0.8h,%2.8h,%3.8h"
8702            : "=w"(__result)
8703            : "0"(__a), "w"(__b), "w"(__c)
8704            : /* No clobbers */);
8705   return __result;
8706 }
8707 
8708 __extension__ extern __inline int32x4_t
8709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)8710 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
8711 {
8712   int32x4_t __result;
8713   __asm__ ("mls %0.4s,%2.4s,%3.4s"
8714            : "=w"(__result)
8715            : "0"(__a), "w"(__b), "w"(__c)
8716            : /* No clobbers */);
8717   return __result;
8718 }
8719 
8720 __extension__ extern __inline uint8x16_t
8721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)8722 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
8723 {
8724   uint8x16_t __result;
8725   __asm__ ("mls %0.16b,%2.16b,%3.16b"
8726            : "=w"(__result)
8727            : "0"(__a), "w"(__b), "w"(__c)
8728            : /* No clobbers */);
8729   return __result;
8730 }
8731 
8732 __extension__ extern __inline uint16x8_t
8733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)8734 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
8735 {
8736   uint16x8_t __result;
8737   __asm__ ("mls %0.8h,%2.8h,%3.8h"
8738            : "=w"(__result)
8739            : "0"(__a), "w"(__b), "w"(__c)
8740            : /* No clobbers */);
8741   return __result;
8742 }
8743 
8744 __extension__ extern __inline uint32x4_t
8745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)8746 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
8747 {
8748   uint32x4_t __result;
8749   __asm__ ("mls %0.4s,%2.4s,%3.4s"
8750            : "=w"(__result)
8751            : "0"(__a), "w"(__b), "w"(__c)
8752            : /* No clobbers */);
8753   return __result;
8754 }
8755 
8756 __extension__ extern __inline int16x8_t
8757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s8(int8x16_t __a)8758 vmovl_high_s8 (int8x16_t __a)
8759 {
8760   int16x8_t __result;
8761   __asm__ ("sshll2 %0.8h,%1.16b,#0"
8762            : "=w"(__result)
8763            : "w"(__a)
8764            : /* No clobbers */);
8765   return __result;
8766 }
8767 
8768 __extension__ extern __inline int32x4_t
8769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s16(int16x8_t __a)8770 vmovl_high_s16 (int16x8_t __a)
8771 {
8772   int32x4_t __result;
8773   __asm__ ("sshll2 %0.4s,%1.8h,#0"
8774            : "=w"(__result)
8775            : "w"(__a)
8776            : /* No clobbers */);
8777   return __result;
8778 }
8779 
8780 __extension__ extern __inline int64x2_t
8781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s32(int32x4_t __a)8782 vmovl_high_s32 (int32x4_t __a)
8783 {
8784   int64x2_t __result;
8785   __asm__ ("sshll2 %0.2d,%1.4s,#0"
8786            : "=w"(__result)
8787            : "w"(__a)
8788            : /* No clobbers */);
8789   return __result;
8790 }
8791 
8792 __extension__ extern __inline uint16x8_t
8793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u8(uint8x16_t __a)8794 vmovl_high_u8 (uint8x16_t __a)
8795 {
8796   uint16x8_t __result;
8797   __asm__ ("ushll2 %0.8h,%1.16b,#0"
8798            : "=w"(__result)
8799            : "w"(__a)
8800            : /* No clobbers */);
8801   return __result;
8802 }
8803 
8804 __extension__ extern __inline uint32x4_t
8805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u16(uint16x8_t __a)8806 vmovl_high_u16 (uint16x8_t __a)
8807 {
8808   uint32x4_t __result;
8809   __asm__ ("ushll2 %0.4s,%1.8h,#0"
8810            : "=w"(__result)
8811            : "w"(__a)
8812            : /* No clobbers */);
8813   return __result;
8814 }
8815 
8816 __extension__ extern __inline uint64x2_t
8817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u32(uint32x4_t __a)8818 vmovl_high_u32 (uint32x4_t __a)
8819 {
8820   uint64x2_t __result;
8821   __asm__ ("ushll2 %0.2d,%1.4s,#0"
8822            : "=w"(__result)
8823            : "w"(__a)
8824            : /* No clobbers */);
8825   return __result;
8826 }
8827 
8828 __extension__ extern __inline int16x8_t
8829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s8(int8x8_t __a)8830 vmovl_s8 (int8x8_t __a)
8831 {
8832   int16x8_t __result;
8833   __asm__ ("sshll %0.8h,%1.8b,#0"
8834            : "=w"(__result)
8835            : "w"(__a)
8836            : /* No clobbers */);
8837   return __result;
8838 }
8839 
8840 __extension__ extern __inline int32x4_t
8841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s16(int16x4_t __a)8842 vmovl_s16 (int16x4_t __a)
8843 {
8844   int32x4_t __result;
8845   __asm__ ("sshll %0.4s,%1.4h,#0"
8846            : "=w"(__result)
8847            : "w"(__a)
8848            : /* No clobbers */);
8849   return __result;
8850 }
8851 
8852 __extension__ extern __inline int64x2_t
8853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s32(int32x2_t __a)8854 vmovl_s32 (int32x2_t __a)
8855 {
8856   int64x2_t __result;
8857   __asm__ ("sshll %0.2d,%1.2s,#0"
8858            : "=w"(__result)
8859            : "w"(__a)
8860            : /* No clobbers */);
8861   return __result;
8862 }
8863 
8864 __extension__ extern __inline uint16x8_t
8865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u8(uint8x8_t __a)8866 vmovl_u8 (uint8x8_t __a)
8867 {
8868   uint16x8_t __result;
8869   __asm__ ("ushll %0.8h,%1.8b,#0"
8870            : "=w"(__result)
8871            : "w"(__a)
8872            : /* No clobbers */);
8873   return __result;
8874 }
8875 
8876 __extension__ extern __inline uint32x4_t
8877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u16(uint16x4_t __a)8878 vmovl_u16 (uint16x4_t __a)
8879 {
8880   uint32x4_t __result;
8881   __asm__ ("ushll %0.4s,%1.4h,#0"
8882            : "=w"(__result)
8883            : "w"(__a)
8884            : /* No clobbers */);
8885   return __result;
8886 }
8887 
8888 __extension__ extern __inline uint64x2_t
8889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u32(uint32x2_t __a)8890 vmovl_u32 (uint32x2_t __a)
8891 {
8892   uint64x2_t __result;
8893   __asm__ ("ushll %0.2d,%1.2s,#0"
8894            : "=w"(__result)
8895            : "w"(__a)
8896            : /* No clobbers */);
8897   return __result;
8898 }
8899 
8900 __extension__ extern __inline int8x16_t
8901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s16(int8x8_t __a,int16x8_t __b)8902 vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
8903 {
8904   int8x16_t __result = vcombine_s8 (__a, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
8905   __asm__ ("xtn2 %0.16b,%1.8h"
8906            : "+w"(__result)
8907            : "w"(__b)
8908            : /* No clobbers */);
8909   return __result;
8910 }
8911 
8912 __extension__ extern __inline int16x8_t
8913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s32(int16x4_t __a,int32x4_t __b)8914 vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
8915 {
8916   int16x8_t __result = vcombine_s16 (__a, vcreate_s16 (__AARCH64_UINT64_C (0x0)));
8917   __asm__ ("xtn2 %0.8h,%1.4s"
8918            : "+w"(__result)
8919            : "w"(__b)
8920            : /* No clobbers */);
8921   return __result;
8922 }
8923 
8924 __extension__ extern __inline int32x4_t
8925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s64(int32x2_t __a,int64x2_t __b)8926 vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
8927 {
8928   int32x4_t __result = vcombine_s32 (__a, vcreate_s32 (__AARCH64_UINT64_C (0x0)));
8929   __asm__ ("xtn2 %0.4s,%1.2d"
8930            : "+w"(__result)
8931            : "w"(__b)
8932            : /* No clobbers */);
8933   return __result;
8934 }
8935 
8936 __extension__ extern __inline uint8x16_t
8937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u16(uint8x8_t __a,uint16x8_t __b)8938 vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
8939 {
8940   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
8941   __asm__ ("xtn2 %0.16b,%1.8h"
8942            : "+w"(__result)
8943            : "w"(__b)
8944            : /* No clobbers */);
8945   return __result;
8946 }
8947 
8948 __extension__ extern __inline uint16x8_t
8949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u32(uint16x4_t __a,uint32x4_t __b)8950 vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
8951 {
8952   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
8953   __asm__ ("xtn2 %0.8h,%1.4s"
8954            : "+w"(__result)
8955            : "w"(__b)
8956            : /* No clobbers */);
8957   return __result;
8958 }
8959 
8960 __extension__ extern __inline uint32x4_t
8961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u64(uint32x2_t __a,uint64x2_t __b)8962 vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
8963 {
8964   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
8965   __asm__ ("xtn2 %0.4s,%1.2d"
8966            : "+w"(__result)
8967            : "w"(__b)
8968            : /* No clobbers */);
8969   return __result;
8970 }
8971 
8972 __extension__ extern __inline int8x8_t
8973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s16(int16x8_t __a)8974 vmovn_s16 (int16x8_t __a)
8975 {
8976   int8x8_t __result;
8977   __asm__ ("xtn %0.8b,%1.8h"
8978            : "=w"(__result)
8979            : "w"(__a)
8980            : /* No clobbers */);
8981   return __result;
8982 }
8983 
8984 __extension__ extern __inline int16x4_t
8985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s32(int32x4_t __a)8986 vmovn_s32 (int32x4_t __a)
8987 {
8988   int16x4_t __result;
8989   __asm__ ("xtn %0.4h,%1.4s"
8990            : "=w"(__result)
8991            : "w"(__a)
8992            : /* No clobbers */);
8993   return __result;
8994 }
8995 
8996 __extension__ extern __inline int32x2_t
8997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s64(int64x2_t __a)8998 vmovn_s64 (int64x2_t __a)
8999 {
9000   int32x2_t __result;
9001   __asm__ ("xtn %0.2s,%1.2d"
9002            : "=w"(__result)
9003            : "w"(__a)
9004            : /* No clobbers */);
9005   return __result;
9006 }
9007 
9008 __extension__ extern __inline uint8x8_t
9009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u16(uint16x8_t __a)9010 vmovn_u16 (uint16x8_t __a)
9011 {
9012   uint8x8_t __result;
9013   __asm__ ("xtn %0.8b,%1.8h"
9014            : "=w"(__result)
9015            : "w"(__a)
9016            : /* No clobbers */);
9017   return __result;
9018 }
9019 
9020 __extension__ extern __inline uint16x4_t
9021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u32(uint32x4_t __a)9022 vmovn_u32 (uint32x4_t __a)
9023 {
9024   uint16x4_t __result;
9025   __asm__ ("xtn %0.4h,%1.4s"
9026            : "=w"(__result)
9027            : "w"(__a)
9028            : /* No clobbers */);
9029   return __result;
9030 }
9031 
9032 __extension__ extern __inline uint32x2_t
9033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u64(uint64x2_t __a)9034 vmovn_u64 (uint64x2_t __a)
9035 {
9036   uint32x2_t __result;
9037   __asm__ ("xtn %0.2s,%1.2d"
9038            : "=w"(__result)
9039            : "w"(__a)
9040            : /* No clobbers */);
9041   return __result;
9042 }
9043 
9044 #define vmull_high_lane_s16(a, b, c)                                    \
9045   __extension__                                                         \
9046     ({                                                                  \
9047        int16x4_t b_ = (b);                                              \
9048        int16x8_t a_ = (a);                                              \
9049        int32x4_t result;                                                \
9050        __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]"                         \
9051                 : "=w"(result)                                          \
9052                 : "w"(a_), "x"(b_), "i"(c)                              \
9053                 : /* No clobbers */);                                   \
9054        result;                                                          \
9055      })
9056 
9057 #define vmull_high_lane_s32(a, b, c)                                    \
9058   __extension__                                                         \
9059     ({                                                                  \
9060        int32x2_t b_ = (b);                                              \
9061        int32x4_t a_ = (a);                                              \
9062        int64x2_t result;                                                \
9063        __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]"                         \
9064                 : "=w"(result)                                          \
9065                 : "w"(a_), "w"(b_), "i"(c)                              \
9066                 : /* No clobbers */);                                   \
9067        result;                                                          \
9068      })
9069 
9070 #define vmull_high_lane_u16(a, b, c)                                    \
9071   __extension__                                                         \
9072     ({                                                                  \
9073        uint16x4_t b_ = (b);                                             \
9074        uint16x8_t a_ = (a);                                             \
9075        uint32x4_t result;                                               \
9076        __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]"                         \
9077                 : "=w"(result)                                          \
9078                 : "w"(a_), "x"(b_), "i"(c)                              \
9079                 : /* No clobbers */);                                   \
9080        result;                                                          \
9081      })
9082 
9083 #define vmull_high_lane_u32(a, b, c)                                    \
9084   __extension__                                                         \
9085     ({                                                                  \
9086        uint32x2_t b_ = (b);                                             \
9087        uint32x4_t a_ = (a);                                             \
9088        uint64x2_t result;                                               \
9089        __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]"                         \
9090                 : "=w"(result)                                          \
9091                 : "w"(a_), "w"(b_), "i"(c)                              \
9092                 : /* No clobbers */);                                   \
9093        result;                                                          \
9094      })
9095 
9096 #define vmull_high_laneq_s16(a, b, c)                                   \
9097   __extension__                                                         \
9098     ({                                                                  \
9099        int16x8_t b_ = (b);                                              \
9100        int16x8_t a_ = (a);                                              \
9101        int32x4_t result;                                                \
9102        __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]"                         \
9103                 : "=w"(result)                                          \
9104                 : "w"(a_), "x"(b_), "i"(c)                              \
9105                 : /* No clobbers */);                                   \
9106        result;                                                          \
9107      })
9108 
9109 #define vmull_high_laneq_s32(a, b, c)                                   \
9110   __extension__                                                         \
9111     ({                                                                  \
9112        int32x4_t b_ = (b);                                              \
9113        int32x4_t a_ = (a);                                              \
9114        int64x2_t result;                                                \
9115        __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]"                         \
9116                 : "=w"(result)                                          \
9117                 : "w"(a_), "w"(b_), "i"(c)                              \
9118                 : /* No clobbers */);                                   \
9119        result;                                                          \
9120      })
9121 
9122 #define vmull_high_laneq_u16(a, b, c)                                   \
9123   __extension__                                                         \
9124     ({                                                                  \
9125        uint16x8_t b_ = (b);                                             \
9126        uint16x8_t a_ = (a);                                             \
9127        uint32x4_t result;                                               \
9128        __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]"                         \
9129                 : "=w"(result)                                          \
9130                 : "w"(a_), "x"(b_), "i"(c)                              \
9131                 : /* No clobbers */);                                   \
9132        result;                                                          \
9133      })
9134 
9135 #define vmull_high_laneq_u32(a, b, c)                                   \
9136   __extension__                                                         \
9137     ({                                                                  \
9138        uint32x4_t b_ = (b);                                             \
9139        uint32x4_t a_ = (a);                                             \
9140        uint64x2_t result;                                               \
9141        __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]"                         \
9142                 : "=w"(result)                                          \
9143                 : "w"(a_), "w"(b_), "i"(c)                              \
9144                 : /* No clobbers */);                                   \
9145        result;                                                          \
9146      })
9147 
9148 __extension__ extern __inline int32x4_t
9149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s16(int16x8_t __a,int16_t __b)9150 vmull_high_n_s16 (int16x8_t __a, int16_t __b)
9151 {
9152   int32x4_t __result;
9153   __asm__ ("smull2 %0.4s,%1.8h,%2.h[0]"
9154            : "=w"(__result)
9155            : "w"(__a), "x"(__b)
9156            : /* No clobbers */);
9157   return __result;
9158 }
9159 
9160 __extension__ extern __inline int64x2_t
9161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s32(int32x4_t __a,int32_t __b)9162 vmull_high_n_s32 (int32x4_t __a, int32_t __b)
9163 {
9164   int64x2_t __result;
9165   __asm__ ("smull2 %0.2d,%1.4s,%2.s[0]"
9166            : "=w"(__result)
9167            : "w"(__a), "w"(__b)
9168            : /* No clobbers */);
9169   return __result;
9170 }
9171 
9172 __extension__ extern __inline uint32x4_t
9173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u16(uint16x8_t __a,uint16_t __b)9174 vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
9175 {
9176   uint32x4_t __result;
9177   __asm__ ("umull2 %0.4s,%1.8h,%2.h[0]"
9178            : "=w"(__result)
9179            : "w"(__a), "x"(__b)
9180            : /* No clobbers */);
9181   return __result;
9182 }
9183 
9184 __extension__ extern __inline uint64x2_t
9185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u32(uint32x4_t __a,uint32_t __b)9186 vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
9187 {
9188   uint64x2_t __result;
9189   __asm__ ("umull2 %0.2d,%1.4s,%2.s[0]"
9190            : "=w"(__result)
9191            : "w"(__a), "w"(__b)
9192            : /* No clobbers */);
9193   return __result;
9194 }
9195 
9196 __extension__ extern __inline poly16x8_t
9197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p8(poly8x16_t __a,poly8x16_t __b)9198 vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
9199 {
9200   poly16x8_t __result;
9201   __asm__ ("pmull2 %0.8h,%1.16b,%2.16b"
9202            : "=w"(__result)
9203            : "w"(__a), "w"(__b)
9204            : /* No clobbers */);
9205   return __result;
9206 }
9207 
9208 __extension__ extern __inline int16x8_t
9209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s8(int8x16_t __a,int8x16_t __b)9210 vmull_high_s8 (int8x16_t __a, int8x16_t __b)
9211 {
9212   return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
9213 }
9214 
9215 __extension__ extern __inline int32x4_t
9216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s16(int16x8_t __a,int16x8_t __b)9217 vmull_high_s16 (int16x8_t __a, int16x8_t __b)
9218 {
9219   return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
9220 }
9221 
9222 __extension__ extern __inline int64x2_t
9223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s32(int32x4_t __a,int32x4_t __b)9224 vmull_high_s32 (int32x4_t __a, int32x4_t __b)
9225 {
9226   return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
9227 }
9228 
9229 __extension__ extern __inline uint16x8_t
9230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u8(uint8x16_t __a,uint8x16_t __b)9231 vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
9232 {
9233   return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
9234 }
9235 
9236 __extension__ extern __inline uint32x4_t
9237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u16(uint16x8_t __a,uint16x8_t __b)9238 vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
9239 {
9240   return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
9241 }
9242 
9243 __extension__ extern __inline uint64x2_t
9244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u32(uint32x4_t __a,uint32x4_t __b)9245 vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
9246 {
9247   return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
9248 }
9249 
9250 __extension__ extern __inline int32x4_t
9251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)9252 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
9253 {
9254   return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
9255 }
9256 
9257 __extension__ extern __inline int64x2_t
9258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)9259 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
9260 {
9261   return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
9262 }
9263 
9264 __extension__ extern __inline uint32x4_t
9265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)9266 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
9267 {
9268   return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
9269 }
9270 
9271 __extension__ extern __inline uint64x2_t
9272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)9273 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
9274 {
9275   return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
9276 }
9277 
9278 __extension__ extern __inline int32x4_t
9279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)9280 vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
9281 {
9282   return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
9283 }
9284 
9285 __extension__ extern __inline int64x2_t
9286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)9287 vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
9288 {
9289   return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
9290 }
9291 
9292 __extension__ extern __inline uint32x4_t
9293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __c)9294 vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
9295 {
9296   return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
9297 }
9298 
9299 __extension__ extern __inline uint64x2_t
9300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __c)9301 vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
9302 {
9303   return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
9304 }
9305 
9306 __extension__ extern __inline int32x4_t
9307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s16(int16x4_t __a,int16_t __b)9308 vmull_n_s16 (int16x4_t __a, int16_t __b)
9309 {
9310   int32x4_t __result;
9311   __asm__ ("smull %0.4s,%1.4h,%2.h[0]"
9312            : "=w"(__result)
9313            : "w"(__a), "x"(__b)
9314            : /* No clobbers */);
9315   return __result;
9316 }
9317 
9318 __extension__ extern __inline int64x2_t
9319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s32(int32x2_t __a,int32_t __b)9320 vmull_n_s32 (int32x2_t __a, int32_t __b)
9321 {
9322   int64x2_t __result;
9323   __asm__ ("smull %0.2d,%1.2s,%2.s[0]"
9324            : "=w"(__result)
9325            : "w"(__a), "w"(__b)
9326            : /* No clobbers */);
9327   return __result;
9328 }
9329 
9330 __extension__ extern __inline uint32x4_t
9331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)9332 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
9333 {
9334   uint32x4_t __result;
9335   __asm__ ("umull %0.4s,%1.4h,%2.h[0]"
9336            : "=w"(__result)
9337            : "w"(__a), "x"(__b)
9338            : /* No clobbers */);
9339   return __result;
9340 }
9341 
9342 __extension__ extern __inline uint64x2_t
9343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)9344 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
9345 {
9346   uint64x2_t __result;
9347   __asm__ ("umull %0.2d,%1.2s,%2.s[0]"
9348            : "=w"(__result)
9349            : "w"(__a), "w"(__b)
9350            : /* No clobbers */);
9351   return __result;
9352 }
9353 
9354 __extension__ extern __inline poly16x8_t
9355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)9356 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
9357 {
9358   poly16x8_t __result;
9359   __asm__ ("pmull %0.8h, %1.8b, %2.8b"
9360            : "=w"(__result)
9361            : "w"(__a), "w"(__b)
9362            : /* No clobbers */);
9363   return __result;
9364 }
9365 
9366 __extension__ extern __inline int16x8_t
9367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s8(int8x8_t __a,int8x8_t __b)9368 vmull_s8 (int8x8_t __a, int8x8_t __b)
9369 {
9370   return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
9371 }
9372 
9373 __extension__ extern __inline int32x4_t
9374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s16(int16x4_t __a,int16x4_t __b)9375 vmull_s16 (int16x4_t __a, int16x4_t __b)
9376 {
9377   return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
9378 }
9379 
9380 __extension__ extern __inline int64x2_t
9381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s32(int32x2_t __a,int32x2_t __b)9382 vmull_s32 (int32x2_t __a, int32x2_t __b)
9383 {
9384   return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
9385 }
9386 
9387 __extension__ extern __inline uint16x8_t
9388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)9389 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
9390 {
9391   return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
9392 }
9393 
9394 __extension__ extern __inline uint32x4_t
9395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)9396 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
9397 {
9398   return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
9399 }
9400 
9401 __extension__ extern __inline uint64x2_t
9402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)9403 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
9404 {
9405   return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
9406 }
9407 
9408 __extension__ extern __inline int16x4_t
9409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s8(int16x4_t __a,int8x8_t __b)9410 vpadal_s8 (int16x4_t __a, int8x8_t __b)
9411 {
9412   int16x4_t __result;
9413   __asm__ ("sadalp %0.4h,%2.8b"
9414            : "=w"(__result)
9415            : "0"(__a), "w"(__b)
9416            : /* No clobbers */);
9417   return __result;
9418 }
9419 
9420 __extension__ extern __inline int32x2_t
9421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s16(int32x2_t __a,int16x4_t __b)9422 vpadal_s16 (int32x2_t __a, int16x4_t __b)
9423 {
9424   int32x2_t __result;
9425   __asm__ ("sadalp %0.2s,%2.4h"
9426            : "=w"(__result)
9427            : "0"(__a), "w"(__b)
9428            : /* No clobbers */);
9429   return __result;
9430 }
9431 
9432 __extension__ extern __inline int64x1_t
9433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32(int64x1_t __a,int32x2_t __b)9434 vpadal_s32 (int64x1_t __a, int32x2_t __b)
9435 {
9436   int64x1_t __result;
9437   __asm__ ("sadalp %0.1d,%2.2s"
9438            : "=w"(__result)
9439            : "0"(__a), "w"(__b)
9440            : /* No clobbers */);
9441   return __result;
9442 }
9443 
9444 __extension__ extern __inline uint16x4_t
9445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)9446 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
9447 {
9448   uint16x4_t __result;
9449   __asm__ ("uadalp %0.4h,%2.8b"
9450            : "=w"(__result)
9451            : "0"(__a), "w"(__b)
9452            : /* No clobbers */);
9453   return __result;
9454 }
9455 
9456 __extension__ extern __inline uint32x2_t
9457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)9458 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
9459 {
9460   uint32x2_t __result;
9461   __asm__ ("uadalp %0.2s,%2.4h"
9462            : "=w"(__result)
9463            : "0"(__a), "w"(__b)
9464            : /* No clobbers */);
9465   return __result;
9466 }
9467 
9468 __extension__ extern __inline uint64x1_t
9469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)9470 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
9471 {
9472   uint64x1_t __result;
9473   __asm__ ("uadalp %0.1d,%2.2s"
9474            : "=w"(__result)
9475            : "0"(__a), "w"(__b)
9476            : /* No clobbers */);
9477   return __result;
9478 }
9479 
9480 __extension__ extern __inline int16x8_t
9481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)9482 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
9483 {
9484   int16x8_t __result;
9485   __asm__ ("sadalp %0.8h,%2.16b"
9486            : "=w"(__result)
9487            : "0"(__a), "w"(__b)
9488            : /* No clobbers */);
9489   return __result;
9490 }
9491 
9492 __extension__ extern __inline int32x4_t
9493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)9494 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
9495 {
9496   int32x4_t __result;
9497   __asm__ ("sadalp %0.4s,%2.8h"
9498            : "=w"(__result)
9499            : "0"(__a), "w"(__b)
9500            : /* No clobbers */);
9501   return __result;
9502 }
9503 
9504 __extension__ extern __inline int64x2_t
9505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)9506 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
9507 {
9508   int64x2_t __result;
9509   __asm__ ("sadalp %0.2d,%2.4s"
9510            : "=w"(__result)
9511            : "0"(__a), "w"(__b)
9512            : /* No clobbers */);
9513   return __result;
9514 }
9515 
9516 __extension__ extern __inline uint16x8_t
9517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)9518 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
9519 {
9520   uint16x8_t __result;
9521   __asm__ ("uadalp %0.8h,%2.16b"
9522            : "=w"(__result)
9523            : "0"(__a), "w"(__b)
9524            : /* No clobbers */);
9525   return __result;
9526 }
9527 
9528 __extension__ extern __inline uint32x4_t
9529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)9530 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
9531 {
9532   uint32x4_t __result;
9533   __asm__ ("uadalp %0.4s,%2.8h"
9534            : "=w"(__result)
9535            : "0"(__a), "w"(__b)
9536            : /* No clobbers */);
9537   return __result;
9538 }
9539 
9540 __extension__ extern __inline uint64x2_t
9541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)9542 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
9543 {
9544   uint64x2_t __result;
9545   __asm__ ("uadalp %0.2d,%2.4s"
9546            : "=w"(__result)
9547            : "0"(__a), "w"(__b)
9548            : /* No clobbers */);
9549   return __result;
9550 }
9551 
9552 __extension__ extern __inline int16x4_t
9553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s8(int8x8_t __a)9554 vpaddl_s8 (int8x8_t __a)
9555 {
9556   int16x4_t __result;
9557   __asm__ ("saddlp %0.4h,%1.8b"
9558            : "=w"(__result)
9559            : "w"(__a)
9560            : /* No clobbers */);
9561   return __result;
9562 }
9563 
9564 __extension__ extern __inline int32x2_t
9565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s16(int16x4_t __a)9566 vpaddl_s16 (int16x4_t __a)
9567 {
9568   int32x2_t __result;
9569   __asm__ ("saddlp %0.2s,%1.4h"
9570            : "=w"(__result)
9571            : "w"(__a)
9572            : /* No clobbers */);
9573   return __result;
9574 }
9575 
9576 __extension__ extern __inline int64x1_t
9577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s32(int32x2_t __a)9578 vpaddl_s32 (int32x2_t __a)
9579 {
9580   int64x1_t __result;
9581   __asm__ ("saddlp %0.1d,%1.2s"
9582            : "=w"(__result)
9583            : "w"(__a)
9584            : /* No clobbers */);
9585   return __result;
9586 }
9587 
9588 __extension__ extern __inline uint16x4_t
9589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u8(uint8x8_t __a)9590 vpaddl_u8 (uint8x8_t __a)
9591 {
9592   uint16x4_t __result;
9593   __asm__ ("uaddlp %0.4h,%1.8b"
9594            : "=w"(__result)
9595            : "w"(__a)
9596            : /* No clobbers */);
9597   return __result;
9598 }
9599 
9600 __extension__ extern __inline uint32x2_t
9601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u16(uint16x4_t __a)9602 vpaddl_u16 (uint16x4_t __a)
9603 {
9604   uint32x2_t __result;
9605   __asm__ ("uaddlp %0.2s,%1.4h"
9606            : "=w"(__result)
9607            : "w"(__a)
9608            : /* No clobbers */);
9609   return __result;
9610 }
9611 
9612 __extension__ extern __inline uint64x1_t
9613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u32(uint32x2_t __a)9614 vpaddl_u32 (uint32x2_t __a)
9615 {
9616   uint64x1_t __result;
9617   __asm__ ("uaddlp %0.1d,%1.2s"
9618            : "=w"(__result)
9619            : "w"(__a)
9620            : /* No clobbers */);
9621   return __result;
9622 }
9623 
9624 __extension__ extern __inline int16x8_t
9625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s8(int8x16_t __a)9626 vpaddlq_s8 (int8x16_t __a)
9627 {
9628   int16x8_t __result;
9629   __asm__ ("saddlp %0.8h,%1.16b"
9630            : "=w"(__result)
9631            : "w"(__a)
9632            : /* No clobbers */);
9633   return __result;
9634 }
9635 
9636 __extension__ extern __inline int32x4_t
9637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s16(int16x8_t __a)9638 vpaddlq_s16 (int16x8_t __a)
9639 {
9640   int32x4_t __result;
9641   __asm__ ("saddlp %0.4s,%1.8h"
9642            : "=w"(__result)
9643            : "w"(__a)
9644            : /* No clobbers */);
9645   return __result;
9646 }
9647 
9648 __extension__ extern __inline int64x2_t
9649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s32(int32x4_t __a)9650 vpaddlq_s32 (int32x4_t __a)
9651 {
9652   int64x2_t __result;
9653   __asm__ ("saddlp %0.2d,%1.4s"
9654            : "=w"(__result)
9655            : "w"(__a)
9656            : /* No clobbers */);
9657   return __result;
9658 }
9659 
9660 __extension__ extern __inline uint16x8_t
9661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u8(uint8x16_t __a)9662 vpaddlq_u8 (uint8x16_t __a)
9663 {
9664   uint16x8_t __result;
9665   __asm__ ("uaddlp %0.8h,%1.16b"
9666            : "=w"(__result)
9667            : "w"(__a)
9668            : /* No clobbers */);
9669   return __result;
9670 }
9671 
9672 __extension__ extern __inline uint32x4_t
9673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u16(uint16x8_t __a)9674 vpaddlq_u16 (uint16x8_t __a)
9675 {
9676   uint32x4_t __result;
9677   __asm__ ("uaddlp %0.4s,%1.8h"
9678            : "=w"(__result)
9679            : "w"(__a)
9680            : /* No clobbers */);
9681   return __result;
9682 }
9683 
9684 __extension__ extern __inline uint64x2_t
9685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u32(uint32x4_t __a)9686 vpaddlq_u32 (uint32x4_t __a)
9687 {
9688   uint64x2_t __result;
9689   __asm__ ("uaddlp %0.2d,%1.4s"
9690            : "=w"(__result)
9691            : "w"(__a)
9692            : /* No clobbers */);
9693   return __result;
9694 }
9695 
9696 __extension__ extern __inline int8x16_t
9697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s8(int8x16_t __a,int8x16_t __b)9698 vpaddq_s8 (int8x16_t __a, int8x16_t __b)
9699 {
9700   int8x16_t __result;
9701   __asm__ ("addp %0.16b,%1.16b,%2.16b"
9702            : "=w"(__result)
9703            : "w"(__a), "w"(__b)
9704            : /* No clobbers */);
9705   return __result;
9706 }
9707 
9708 __extension__ extern __inline int16x8_t
9709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s16(int16x8_t __a,int16x8_t __b)9710 vpaddq_s16 (int16x8_t __a, int16x8_t __b)
9711 {
9712   int16x8_t __result;
9713   __asm__ ("addp %0.8h,%1.8h,%2.8h"
9714            : "=w"(__result)
9715            : "w"(__a), "w"(__b)
9716            : /* No clobbers */);
9717   return __result;
9718 }
9719 
9720 __extension__ extern __inline int32x4_t
9721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s32(int32x4_t __a,int32x4_t __b)9722 vpaddq_s32 (int32x4_t __a, int32x4_t __b)
9723 {
9724   int32x4_t __result;
9725   __asm__ ("addp %0.4s,%1.4s,%2.4s"
9726            : "=w"(__result)
9727            : "w"(__a), "w"(__b)
9728            : /* No clobbers */);
9729   return __result;
9730 }
9731 
9732 __extension__ extern __inline int64x2_t
9733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s64(int64x2_t __a,int64x2_t __b)9734 vpaddq_s64 (int64x2_t __a, int64x2_t __b)
9735 {
9736   int64x2_t __result;
9737   __asm__ ("addp %0.2d,%1.2d,%2.2d"
9738            : "=w"(__result)
9739            : "w"(__a), "w"(__b)
9740            : /* No clobbers */);
9741   return __result;
9742 }
9743 
9744 __extension__ extern __inline uint8x16_t
9745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u8(uint8x16_t __a,uint8x16_t __b)9746 vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
9747 {
9748   uint8x16_t __result;
9749   __asm__ ("addp %0.16b,%1.16b,%2.16b"
9750            : "=w"(__result)
9751            : "w"(__a), "w"(__b)
9752            : /* No clobbers */);
9753   return __result;
9754 }
9755 
9756 __extension__ extern __inline uint16x8_t
9757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u16(uint16x8_t __a,uint16x8_t __b)9758 vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
9759 {
9760   uint16x8_t __result;
9761   __asm__ ("addp %0.8h,%1.8h,%2.8h"
9762            : "=w"(__result)
9763            : "w"(__a), "w"(__b)
9764            : /* No clobbers */);
9765   return __result;
9766 }
9767 
9768 __extension__ extern __inline uint32x4_t
9769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u32(uint32x4_t __a,uint32x4_t __b)9770 vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
9771 {
9772   uint32x4_t __result;
9773   __asm__ ("addp %0.4s,%1.4s,%2.4s"
9774            : "=w"(__result)
9775            : "w"(__a), "w"(__b)
9776            : /* No clobbers */);
9777   return __result;
9778 }
9779 
9780 __extension__ extern __inline uint64x2_t
9781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u64(uint64x2_t __a,uint64x2_t __b)9782 vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
9783 {
9784   uint64x2_t __result;
9785   __asm__ ("addp %0.2d,%1.2d,%2.2d"
9786            : "=w"(__result)
9787            : "w"(__a), "w"(__b)
9788            : /* No clobbers */);
9789   return __result;
9790 }
9791 
9792 __extension__ extern __inline int16x4_t
9793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)9794 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
9795 {
9796   int16x4_t __result;
9797   __asm__ ("sqdmulh %0.4h,%1.4h,%2.h[0]"
9798            : "=w"(__result)
9799            : "w"(__a), "x"(__b)
9800            : /* No clobbers */);
9801   return __result;
9802 }
9803 
9804 __extension__ extern __inline int32x2_t
9805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)9806 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
9807 {
9808   int32x2_t __result;
9809   __asm__ ("sqdmulh %0.2s,%1.2s,%2.s[0]"
9810            : "=w"(__result)
9811            : "w"(__a), "w"(__b)
9812            : /* No clobbers */);
9813   return __result;
9814 }
9815 
9816 __extension__ extern __inline int16x8_t
9817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)9818 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
9819 {
9820   int16x8_t __result;
9821   __asm__ ("sqdmulh %0.8h,%1.8h,%2.h[0]"
9822            : "=w"(__result)
9823            : "w"(__a), "x"(__b)
9824            : /* No clobbers */);
9825   return __result;
9826 }
9827 
9828 __extension__ extern __inline int32x4_t
9829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)9830 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
9831 {
9832   int32x4_t __result;
9833   __asm__ ("sqdmulh %0.4s,%1.4s,%2.s[0]"
9834            : "=w"(__result)
9835            : "w"(__a), "w"(__b)
9836            : /* No clobbers */);
9837   return __result;
9838 }
9839 
9840 __extension__ extern __inline int8x16_t
9841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s16(int8x8_t __a,int16x8_t __b)9842 vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
9843 {
9844   int8x16_t __result = vcombine_s8 (__a, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
9845   __asm__ ("sqxtn2 %0.16b, %1.8h"
9846            : "+w"(__result)
9847            : "w"(__b)
9848            : /* No clobbers */);
9849   return __result;
9850 }
9851 
9852 __extension__ extern __inline int16x8_t
9853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s32(int16x4_t __a,int32x4_t __b)9854 vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
9855 {
9856   int16x8_t __result = vcombine_s16 (__a, vcreate_s16 (__AARCH64_UINT64_C (0x0)));
9857   __asm__ ("sqxtn2 %0.8h, %1.4s"
9858            : "+w"(__result)
9859            : "w"(__b)
9860            : /* No clobbers */);
9861   return __result;
9862 }
9863 
9864 __extension__ extern __inline int32x4_t
9865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s64(int32x2_t __a,int64x2_t __b)9866 vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
9867 {
9868   int32x4_t __result = vcombine_s32 (__a, vcreate_s32 (__AARCH64_UINT64_C (0x0)));
9869   __asm__ ("sqxtn2 %0.4s, %1.2d"
9870            : "+w"(__result)
9871            : "w"(__b)
9872            : /* No clobbers */);
9873   return __result;
9874 }
9875 
9876 __extension__ extern __inline uint8x16_t
9877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u16(uint8x8_t __a,uint16x8_t __b)9878 vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
9879 {
9880   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9881   __asm__ ("uqxtn2 %0.16b, %1.8h"
9882            : "+w"(__result)
9883            : "w"(__b)
9884            : /* No clobbers */);
9885   return __result;
9886 }
9887 
9888 __extension__ extern __inline uint16x8_t
9889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u32(uint16x4_t __a,uint32x4_t __b)9890 vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
9891 {
9892   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
9893   __asm__ ("uqxtn2 %0.8h, %1.4s"
9894            : "+w"(__result)
9895            : "w"(__b)
9896            : /* No clobbers */);
9897   return __result;
9898 }
9899 
9900 __extension__ extern __inline uint32x4_t
9901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u64(uint32x2_t __a,uint64x2_t __b)9902 vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
9903 {
9904   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
9905   __asm__ ("uqxtn2 %0.4s, %1.2d"
9906            : "+w"(__result)
9907            : "w"(__b)
9908            : /* No clobbers */);
9909   return __result;
9910 }
9911 
9912 __extension__ extern __inline uint8x16_t
9913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s16(uint8x8_t __a,int16x8_t __b)9914 vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
9915 {
9916   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9917   __asm__ ("sqxtun2 %0.16b, %1.8h"
9918            : "+w"(__result)
9919            : "w"(__b)
9920            : /* No clobbers */);
9921   return __result;
9922 }
9923 
9924 __extension__ extern __inline uint16x8_t
9925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s32(uint16x4_t __a,int32x4_t __b)9926 vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
9927 {
9928   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
9929   __asm__ ("sqxtun2 %0.8h, %1.4s"
9930            : "+w"(__result)
9931            : "w"(__b)
9932            : /* No clobbers */);
9933   return __result;
9934 }
9935 
9936 __extension__ extern __inline uint32x4_t
9937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s64(uint32x2_t __a,int64x2_t __b)9938 vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
9939 {
9940   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
9941   __asm__ ("sqxtun2 %0.4s, %1.2d"
9942            : "+w"(__result)
9943            : "w"(__b)
9944            : /* No clobbers */);
9945   return __result;
9946 }
9947 
9948 __extension__ extern __inline int16x4_t
9949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)9950 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
9951 {
9952   int16x4_t __result;
9953   __asm__ ("sqrdmulh %0.4h,%1.4h,%2.h[0]"
9954            : "=w"(__result)
9955            : "w"(__a), "x"(__b)
9956            : /* No clobbers */);
9957   return __result;
9958 }
9959 
9960 __extension__ extern __inline int32x2_t
9961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)9962 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
9963 {
9964   int32x2_t __result;
9965   __asm__ ("sqrdmulh %0.2s,%1.2s,%2.s[0]"
9966            : "=w"(__result)
9967            : "w"(__a), "w"(__b)
9968            : /* No clobbers */);
9969   return __result;
9970 }
9971 
9972 __extension__ extern __inline int16x8_t
9973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)9974 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
9975 {
9976   int16x8_t __result;
9977   __asm__ ("sqrdmulh %0.8h,%1.8h,%2.h[0]"
9978            : "=w"(__result)
9979            : "w"(__a), "x"(__b)
9980            : /* No clobbers */);
9981   return __result;
9982 }
9983 
9984 __extension__ extern __inline int32x4_t
9985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)9986 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
9987 {
9988   int32x4_t __result;
9989   __asm__ ("sqrdmulh %0.4s,%1.4s,%2.s[0]"
9990            : "=w"(__result)
9991            : "w"(__a), "w"(__b)
9992            : /* No clobbers */);
9993   return __result;
9994 }
9995 
9996 #define vqrshrn_high_n_s16(a, b, c)                                     \
9997   __extension__                                                         \
9998     ({                                                                  \
9999        int16x8_t b_ = (b);                                              \
10000        int8x8_t a_ = (a);                                               \
10001        int8x16_t result = vcombine_s8                                   \
10002                             (a_, vcreate_s8                             \
10003                                    (__AARCH64_UINT64_C (0x0)));         \
10004        __asm__ ("sqrshrn2 %0.16b, %1.8h, #%2"                           \
10005                 : "+w"(result)                                          \
10006                 : "w"(b_), "i"(c)                                       \
10007                 : /* No clobbers */);                                   \
10008        result;                                                          \
10009      })
10010 
10011 #define vqrshrn_high_n_s32(a, b, c)                                     \
10012   __extension__                                                         \
10013     ({                                                                  \
10014        int32x4_t b_ = (b);                                              \
10015        int16x4_t a_ = (a);                                              \
10016        int16x8_t result = vcombine_s16                                  \
10017                             (a_, vcreate_s16                            \
10018                                    (__AARCH64_UINT64_C (0x0)));         \
10019        __asm__ ("sqrshrn2 %0.8h, %1.4s, #%2"                            \
10020                 : "+w"(result)                                          \
10021                 : "w"(b_), "i"(c)                                       \
10022                 : /* No clobbers */);                                   \
10023        result;                                                          \
10024      })
10025 
10026 #define vqrshrn_high_n_s64(a, b, c)                                     \
10027   __extension__                                                         \
10028     ({                                                                  \
10029        int64x2_t b_ = (b);                                              \
10030        int32x2_t a_ = (a);                                              \
10031        int32x4_t result = vcombine_s32                                  \
10032                             (a_, vcreate_s32                            \
10033                                    (__AARCH64_UINT64_C (0x0)));         \
10034        __asm__ ("sqrshrn2 %0.4s, %1.2d, #%2"                            \
10035                 : "+w"(result)                                          \
10036                 : "w"(b_), "i"(c)                                       \
10037                 : /* No clobbers */);                                   \
10038        result;                                                          \
10039      })
10040 
10041 #define vqrshrn_high_n_u16(a, b, c)                                     \
10042   __extension__                                                         \
10043     ({                                                                  \
10044        uint16x8_t b_ = (b);                                             \
10045        uint8x8_t a_ = (a);                                              \
10046        uint8x16_t result = vcombine_u8                                  \
10047                              (a_, vcreate_u8                            \
10048                                     (__AARCH64_UINT64_C (0x0)));        \
10049        __asm__ ("uqrshrn2 %0.16b, %1.8h, #%2"                           \
10050                 : "+w"(result)                                          \
10051                 : "w"(b_), "i"(c)                                       \
10052                 : /* No clobbers */);                                   \
10053        result;                                                          \
10054      })
10055 
10056 #define vqrshrn_high_n_u32(a, b, c)                                     \
10057   __extension__                                                         \
10058     ({                                                                  \
10059        uint32x4_t b_ = (b);                                             \
10060        uint16x4_t a_ = (a);                                             \
10061        uint16x8_t result = vcombine_u16                                 \
10062                              (a_, vcreate_u16                           \
10063                                     (__AARCH64_UINT64_C (0x0)));        \
10064        __asm__ ("uqrshrn2 %0.8h, %1.4s, #%2"                            \
10065                 : "+w"(result)                                          \
10066                 : "w"(b_), "i"(c)                                       \
10067                 : /* No clobbers */);                                   \
10068        result;                                                          \
10069      })
10070 
10071 #define vqrshrn_high_n_u64(a, b, c)                                     \
10072   __extension__                                                         \
10073     ({                                                                  \
10074        uint64x2_t b_ = (b);                                             \
10075        uint32x2_t a_ = (a);                                             \
10076        uint32x4_t result = vcombine_u32                                 \
10077                              (a_, vcreate_u32                           \
10078                                     (__AARCH64_UINT64_C (0x0)));        \
10079        __asm__ ("uqrshrn2 %0.4s, %1.2d, #%2"                            \
10080                 : "+w"(result)                                          \
10081                 : "w"(b_), "i"(c)                                       \
10082                 : /* No clobbers */);                                   \
10083        result;                                                          \
10084      })
10085 
10086 #define vqrshrun_high_n_s16(a, b, c)                                    \
10087   __extension__                                                         \
10088     ({                                                                  \
10089        int16x8_t b_ = (b);                                              \
10090        uint8x8_t a_ = (a);                                              \
10091        uint8x16_t result = vcombine_u8                                  \
10092                              (a_, vcreate_u8                            \
10093                                     (__AARCH64_UINT64_C (0x0)));        \
10094        __asm__ ("sqrshrun2 %0.16b, %1.8h, #%2"                          \
10095                 : "+w"(result)                                          \
10096                 : "w"(b_), "i"(c)                                       \
10097                 : /* No clobbers */);                                   \
10098        result;                                                          \
10099      })
10100 
10101 #define vqrshrun_high_n_s32(a, b, c)                                    \
10102   __extension__                                                         \
10103     ({                                                                  \
10104        int32x4_t b_ = (b);                                              \
10105        uint16x4_t a_ = (a);                                             \
10106        uint16x8_t result = vcombine_u16                                 \
10107                              (a_, vcreate_u16                           \
10108                                     (__AARCH64_UINT64_C (0x0)));        \
10109        __asm__ ("sqrshrun2 %0.8h, %1.4s, #%2"                           \
10110                 : "+w"(result)                                          \
10111                 : "w"(b_), "i"(c)                                       \
10112                 : /* No clobbers */);                                   \
10113        result;                                                          \
10114      })
10115 
10116 #define vqrshrun_high_n_s64(a, b, c)                                    \
10117   __extension__                                                         \
10118     ({                                                                  \
10119        int64x2_t b_ = (b);                                              \
10120        uint32x2_t a_ = (a);                                             \
10121        uint32x4_t result = vcombine_u32                                 \
10122                              (a_, vcreate_u32                           \
10123                                     (__AARCH64_UINT64_C (0x0)));        \
10124        __asm__ ("sqrshrun2 %0.4s, %1.2d, #%2"                           \
10125                 : "+w"(result)                                          \
10126                 : "w"(b_), "i"(c)                                       \
10127                 : /* No clobbers */);                                   \
10128        result;                                                          \
10129      })
10130 
10131 #define vqshrn_high_n_s16(a, b, c)                                      \
10132   __extension__                                                         \
10133     ({                                                                  \
10134        int16x8_t b_ = (b);                                              \
10135        int8x8_t a_ = (a);                                               \
10136        int8x16_t result = vcombine_s8                                   \
10137                             (a_, vcreate_s8                             \
10138                                    (__AARCH64_UINT64_C (0x0)));         \
10139        __asm__ ("sqshrn2 %0.16b, %1.8h, #%2"                            \
10140                 : "+w"(result)                                          \
10141                 : "w"(b_), "i"(c)                                       \
10142                 : /* No clobbers */);                                   \
10143        result;                                                          \
10144      })
10145 
10146 #define vqshrn_high_n_s32(a, b, c)                                      \
10147   __extension__                                                         \
10148     ({                                                                  \
10149        int32x4_t b_ = (b);                                              \
10150        int16x4_t a_ = (a);                                              \
10151        int16x8_t result = vcombine_s16                                  \
10152                             (a_, vcreate_s16                            \
10153                                    (__AARCH64_UINT64_C (0x0)));         \
10154        __asm__ ("sqshrn2 %0.8h, %1.4s, #%2"                             \
10155                 : "+w"(result)                                          \
10156                 : "w"(b_), "i"(c)                                       \
10157                 : /* No clobbers */);                                   \
10158        result;                                                          \
10159      })
10160 
10161 #define vqshrn_high_n_s64(a, b, c)                                      \
10162   __extension__                                                         \
10163     ({                                                                  \
10164        int64x2_t b_ = (b);                                              \
10165        int32x2_t a_ = (a);                                              \
10166        int32x4_t result = vcombine_s32                                  \
10167                             (a_, vcreate_s32                            \
10168                                    (__AARCH64_UINT64_C (0x0)));         \
10169        __asm__ ("sqshrn2 %0.4s, %1.2d, #%2"                             \
10170                 : "+w"(result)                                          \
10171                 : "w"(b_), "i"(c)                                       \
10172                 : /* No clobbers */);                                   \
10173        result;                                                          \
10174      })
10175 
10176 #define vqshrn_high_n_u16(a, b, c)                                      \
10177   __extension__                                                         \
10178     ({                                                                  \
10179        uint16x8_t b_ = (b);                                             \
10180        uint8x8_t a_ = (a);                                              \
10181        uint8x16_t result = vcombine_u8                                  \
10182                              (a_, vcreate_u8                            \
10183                                     (__AARCH64_UINT64_C (0x0)));        \
10184        __asm__ ("uqshrn2 %0.16b, %1.8h, #%2"                            \
10185                 : "+w"(result)                                          \
10186                 : "w"(b_), "i"(c)                                       \
10187                 : /* No clobbers */);                                   \
10188        result;                                                          \
10189      })
10190 
10191 #define vqshrn_high_n_u32(a, b, c)                                      \
10192   __extension__                                                         \
10193     ({                                                                  \
10194        uint32x4_t b_ = (b);                                             \
10195        uint16x4_t a_ = (a);                                             \
10196        uint16x8_t result = vcombine_u16                                 \
10197                              (a_, vcreate_u16                           \
10198                                     (__AARCH64_UINT64_C (0x0)));        \
10199        __asm__ ("uqshrn2 %0.8h, %1.4s, #%2"                             \
10200                 : "+w"(result)                                          \
10201                 : "w"(b_), "i"(c)                                       \
10202                 : /* No clobbers */);                                   \
10203        result;                                                          \
10204      })
10205 
10206 #define vqshrn_high_n_u64(a, b, c)                                      \
10207   __extension__                                                         \
10208     ({                                                                  \
10209        uint64x2_t b_ = (b);                                             \
10210        uint32x2_t a_ = (a);                                             \
10211        uint32x4_t result = vcombine_u32                                 \
10212                              (a_, vcreate_u32                           \
10213                                     (__AARCH64_UINT64_C (0x0)));        \
10214        __asm__ ("uqshrn2 %0.4s, %1.2d, #%2"                             \
10215                 : "+w"(result)                                          \
10216                 : "w"(b_), "i"(c)                                       \
10217                 : /* No clobbers */);                                   \
10218        result;                                                          \
10219      })
10220 
10221 #define vqshrun_high_n_s16(a, b, c)                                     \
10222   __extension__                                                         \
10223     ({                                                                  \
10224        int16x8_t b_ = (b);                                              \
10225        uint8x8_t a_ = (a);                                              \
10226        uint8x16_t result = vcombine_u8                                  \
10227                              (a_, vcreate_u8                            \
10228                                     (__AARCH64_UINT64_C (0x0)));        \
10229        __asm__ ("sqshrun2 %0.16b, %1.8h, #%2"                           \
10230                 : "+w"(result)                                          \
10231                 : "w"(b_), "i"(c)                                       \
10232                 : /* No clobbers */);                                   \
10233        result;                                                          \
10234      })
10235 
10236 #define vqshrun_high_n_s32(a, b, c)                                     \
10237   __extension__                                                         \
10238     ({                                                                  \
10239        int32x4_t b_ = (b);                                              \
10240        uint16x4_t a_ = (a);                                             \
10241        uint16x8_t result = vcombine_u16                                 \
10242                              (a_, vcreate_u16                           \
10243                                     (__AARCH64_UINT64_C (0x0)));        \
10244        __asm__ ("sqshrun2 %0.8h, %1.4s, #%2"                            \
10245                 : "+w"(result)                                          \
10246                 : "w"(b_), "i"(c)                                       \
10247                 : /* No clobbers */);                                   \
10248        result;                                                          \
10249      })
10250 
10251 #define vqshrun_high_n_s64(a, b, c)                                     \
10252   __extension__                                                         \
10253     ({                                                                  \
10254        int64x2_t b_ = (b);                                              \
10255        uint32x2_t a_ = (a);                                             \
10256        uint32x4_t result = vcombine_u32                                 \
10257                              (a_, vcreate_u32                           \
10258                                     (__AARCH64_UINT64_C (0x0)));        \
10259        __asm__ ("sqshrun2 %0.4s, %1.2d, #%2"                            \
10260                 : "+w"(result)                                          \
10261                 : "w"(b_), "i"(c)                                       \
10262                 : /* No clobbers */);                                   \
10263        result;                                                          \
10264      })
10265 
10266 #define vrshrn_high_n_s16(a, b, c)                                      \
10267   __extension__                                                         \
10268     ({                                                                  \
10269        int16x8_t b_ = (b);                                              \
10270        int8x8_t a_ = (a);                                               \
10271        int8x16_t result = vcombine_s8                                   \
10272                             (a_, vcreate_s8                             \
10273                                    (__AARCH64_UINT64_C (0x0)));         \
10274        __asm__ ("rshrn2 %0.16b,%1.8h,#%2"                               \
10275                 : "+w"(result)                                          \
10276                 : "w"(b_), "i"(c)                                       \
10277                 : /* No clobbers */);                                   \
10278        result;                                                          \
10279      })
10280 
10281 #define vrshrn_high_n_s32(a, b, c)                                      \
10282   __extension__                                                         \
10283     ({                                                                  \
10284        int32x4_t b_ = (b);                                              \
10285        int16x4_t a_ = (a);                                              \
10286        int16x8_t result = vcombine_s16                                  \
10287                             (a_, vcreate_s16                            \
10288                                    (__AARCH64_UINT64_C (0x0)));         \
10289        __asm__ ("rshrn2 %0.8h,%1.4s,#%2"                                \
10290                 : "+w"(result)                                          \
10291                 : "w"(b_), "i"(c)                                       \
10292                 : /* No clobbers */);                                   \
10293        result;                                                          \
10294      })
10295 
10296 #define vrshrn_high_n_s64(a, b, c)                                      \
10297   __extension__                                                         \
10298     ({                                                                  \
10299        int64x2_t b_ = (b);                                              \
10300        int32x2_t a_ = (a);                                              \
10301        int32x4_t result = vcombine_s32                                  \
10302                             (a_, vcreate_s32                            \
10303                                    (__AARCH64_UINT64_C (0x0)));         \
10304        __asm__ ("rshrn2 %0.4s,%1.2d,#%2"                                \
10305                 : "+w"(result)                                          \
10306                 : "w"(b_), "i"(c)                                       \
10307                 : /* No clobbers */);                                   \
10308        result;                                                          \
10309      })
10310 
10311 #define vrshrn_high_n_u16(a, b, c)                                      \
10312   __extension__                                                         \
10313     ({                                                                  \
10314        uint16x8_t b_ = (b);                                             \
10315        uint8x8_t a_ = (a);                                              \
10316        uint8x16_t result = vcombine_u8                                  \
10317                             (a_, vcreate_u8                             \
10318                                    (__AARCH64_UINT64_C (0x0)));         \
10319        __asm__ ("rshrn2 %0.16b,%1.8h,#%2"                               \
10320                 : "+w"(result)                                          \
10321                 : "w"(b_), "i"(c)                                       \
10322                 : /* No clobbers */);                                   \
10323        result;                                                          \
10324      })
10325 
10326 #define vrshrn_high_n_u32(a, b, c)                                      \
10327   __extension__                                                         \
10328     ({                                                                  \
10329        uint32x4_t b_ = (b);                                             \
10330        uint16x4_t a_ = (a);                                             \
10331        uint16x8_t result = vcombine_u16                                 \
10332                             (a_, vcreate_u16                            \
10333                                    (__AARCH64_UINT64_C (0x0)));         \
10334        __asm__ ("rshrn2 %0.8h,%1.4s,#%2"                                \
10335                 : "+w"(result)                                          \
10336                 : "w"(b_), "i"(c)                                       \
10337                 : /* No clobbers */);                                   \
10338        result;                                                          \
10339      })
10340 
10341 #define vrshrn_high_n_u64(a, b, c)                                      \
10342   __extension__                                                         \
10343     ({                                                                  \
10344        uint64x2_t b_ = (b);                                             \
10345        uint32x2_t a_ = (a);                                             \
10346        uint32x4_t result = vcombine_u32                                 \
10347                             (a_, vcreate_u32                            \
10348                                    (__AARCH64_UINT64_C (0x0)));         \
10349        __asm__ ("rshrn2 %0.4s,%1.2d,#%2"                                \
10350                 : "+w"(result)                                          \
10351                 : "w"(b_), "i"(c)                                       \
10352                 : /* No clobbers */);                                   \
10353        result;                                                          \
10354      })
10355 
10356 #define vrshrn_n_s16(a, b)                                              \
10357   __extension__                                                         \
10358     ({                                                                  \
10359        int16x8_t a_ = (a);                                              \
10360        int8x8_t result;                                                 \
10361        __asm__ ("rshrn %0.8b,%1.8h,%2"                                  \
10362                 : "=w"(result)                                          \
10363                 : "w"(a_), "i"(b)                                       \
10364                 : /* No clobbers */);                                   \
10365        result;                                                          \
10366      })
10367 
10368 #define vrshrn_n_s32(a, b)                                              \
10369   __extension__                                                         \
10370     ({                                                                  \
10371        int32x4_t a_ = (a);                                              \
10372        int16x4_t result;                                                \
10373        __asm__ ("rshrn %0.4h,%1.4s,%2"                                  \
10374                 : "=w"(result)                                          \
10375                 : "w"(a_), "i"(b)                                       \
10376                 : /* No clobbers */);                                   \
10377        result;                                                          \
10378      })
10379 
10380 #define vrshrn_n_s64(a, b)                                              \
10381   __extension__                                                         \
10382     ({                                                                  \
10383        int64x2_t a_ = (a);                                              \
10384        int32x2_t result;                                                \
10385        __asm__ ("rshrn %0.2s,%1.2d,%2"                                  \
10386                 : "=w"(result)                                          \
10387                 : "w"(a_), "i"(b)                                       \
10388                 : /* No clobbers */);                                   \
10389        result;                                                          \
10390      })
10391 
10392 #define vrshrn_n_u16(a, b)                                              \
10393   __extension__                                                         \
10394     ({                                                                  \
10395        uint16x8_t a_ = (a);                                             \
10396        uint8x8_t result;                                                \
10397        __asm__ ("rshrn %0.8b,%1.8h,%2"                                  \
10398                 : "=w"(result)                                          \
10399                 : "w"(a_), "i"(b)                                       \
10400                 : /* No clobbers */);                                   \
10401        result;                                                          \
10402      })
10403 
10404 #define vrshrn_n_u32(a, b)                                              \
10405   __extension__                                                         \
10406     ({                                                                  \
10407        uint32x4_t a_ = (a);                                             \
10408        uint16x4_t result;                                               \
10409        __asm__ ("rshrn %0.4h,%1.4s,%2"                                  \
10410                 : "=w"(result)                                          \
10411                 : "w"(a_), "i"(b)                                       \
10412                 : /* No clobbers */);                                   \
10413        result;                                                          \
10414      })
10415 
10416 #define vrshrn_n_u64(a, b)                                              \
10417   __extension__                                                         \
10418     ({                                                                  \
10419        uint64x2_t a_ = (a);                                             \
10420        uint32x2_t result;                                               \
10421        __asm__ ("rshrn %0.2s,%1.2d,%2"                                  \
10422                 : "=w"(result)                                          \
10423                 : "w"(a_), "i"(b)                                       \
10424                 : /* No clobbers */);                                   \
10425        result;                                                          \
10426      })
10427 
10428 __extension__ extern __inline uint32x2_t
10429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_u32(uint32x2_t __a)10430 vrsqrte_u32 (uint32x2_t __a)
10431 {
10432   uint32x2_t __result;
10433   __asm__ ("ursqrte %0.2s,%1.2s"
10434            : "=w"(__result)
10435            : "w"(__a)
10436            : /* No clobbers */);
10437   return __result;
10438 }
10439 
10440 __extension__ extern __inline uint32x4_t
10441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_u32(uint32x4_t __a)10442 vrsqrteq_u32 (uint32x4_t __a)
10443 {
10444   uint32x4_t __result;
10445   __asm__ ("ursqrte %0.4s,%1.4s"
10446            : "=w"(__result)
10447            : "w"(__a)
10448            : /* No clobbers */);
10449   return __result;
10450 }
10451 
10452 #define vshrn_high_n_s16(a, b, c)                                       \
10453   __extension__                                                         \
10454     ({                                                                  \
10455        int16x8_t b_ = (b);                                              \
10456        int8x8_t a_ = (a);                                               \
10457        int8x16_t result = vcombine_s8                                   \
10458                             (a_, vcreate_s8                             \
10459                                    (__AARCH64_UINT64_C (0x0)));         \
10460        __asm__ ("shrn2 %0.16b,%1.8h,#%2"                                \
10461                 : "+w"(result)                                          \
10462                 : "w"(b_), "i"(c)                                       \
10463                 : /* No clobbers */);                                   \
10464        result;                                                          \
10465      })
10466 
10467 #define vshrn_high_n_s32(a, b, c)                                       \
10468   __extension__                                                         \
10469     ({                                                                  \
10470        int32x4_t b_ = (b);                                              \
10471        int16x4_t a_ = (a);                                              \
10472        int16x8_t result = vcombine_s16                                  \
10473                             (a_, vcreate_s16                            \
10474                                    (__AARCH64_UINT64_C (0x0)));         \
10475        __asm__ ("shrn2 %0.8h,%1.4s,#%2"                                 \
10476                 : "+w"(result)                                          \
10477                 : "w"(b_), "i"(c)                                       \
10478                 : /* No clobbers */);                                   \
10479        result;                                                          \
10480      })
10481 
10482 #define vshrn_high_n_s64(a, b, c)                                       \
10483   __extension__                                                         \
10484     ({                                                                  \
10485        int64x2_t b_ = (b);                                              \
10486        int32x2_t a_ = (a);                                              \
10487        int32x4_t result = vcombine_s32                                  \
10488                             (a_, vcreate_s32                            \
10489                                    (__AARCH64_UINT64_C (0x0)));         \
10490        __asm__ ("shrn2 %0.4s,%1.2d,#%2"                                 \
10491                 : "+w"(result)                                          \
10492                 : "w"(b_), "i"(c)                                       \
10493                 : /* No clobbers */);                                   \
10494        result;                                                          \
10495      })
10496 
10497 #define vshrn_high_n_u16(a, b, c)                                       \
10498   __extension__                                                         \
10499     ({                                                                  \
10500        uint16x8_t b_ = (b);                                             \
10501        uint8x8_t a_ = (a);                                              \
10502        uint8x16_t result = vcombine_u8                                  \
10503                             (a_, vcreate_u8                             \
10504                                    (__AARCH64_UINT64_C (0x0)));         \
10505        __asm__ ("shrn2 %0.16b,%1.8h,#%2"                                \
10506                 : "+w"(result)                                          \
10507                 : "w"(b_), "i"(c)                                       \
10508                 : /* No clobbers */);                                   \
10509        result;                                                          \
10510      })
10511 
10512 #define vshrn_high_n_u32(a, b, c)                                       \
10513   __extension__                                                         \
10514     ({                                                                  \
10515        uint32x4_t b_ = (b);                                             \
10516        uint16x4_t a_ = (a);                                             \
10517        uint16x8_t result = vcombine_u16                                 \
10518                             (a_, vcreate_u16                            \
10519                                    (__AARCH64_UINT64_C (0x0)));         \
10520        __asm__ ("shrn2 %0.8h,%1.4s,#%2"                                 \
10521                 : "+w"(result)                                          \
10522                 : "w"(b_), "i"(c)                                       \
10523                 : /* No clobbers */);                                   \
10524        result;                                                          \
10525      })
10526 
10527 #define vshrn_high_n_u64(a, b, c)                                       \
10528   __extension__                                                         \
10529     ({                                                                  \
10530        uint64x2_t b_ = (b);                                             \
10531        uint32x2_t a_ = (a);                                             \
10532        uint32x4_t result = vcombine_u32                                 \
10533                             (a_, vcreate_u32                            \
10534                                    (__AARCH64_UINT64_C (0x0)));         \
10535        __asm__ ("shrn2 %0.4s,%1.2d,#%2"                                 \
10536                 : "+w"(result)                                          \
10537                 : "w"(b_), "i"(c)                                       \
10538                 : /* No clobbers */);                                   \
10539        result;                                                          \
10540      })
10541 
10542 #define vshrn_n_s16(a, b)                                               \
10543   __extension__                                                         \
10544     ({                                                                  \
10545        int16x8_t a_ = (a);                                              \
10546        int8x8_t result;                                                 \
10547        __asm__ ("shrn %0.8b,%1.8h,%2"                                   \
10548                 : "=w"(result)                                          \
10549                 : "w"(a_), "i"(b)                                       \
10550                 : /* No clobbers */);                                   \
10551        result;                                                          \
10552      })
10553 
10554 #define vshrn_n_s32(a, b)                                               \
10555   __extension__                                                         \
10556     ({                                                                  \
10557        int32x4_t a_ = (a);                                              \
10558        int16x4_t result;                                                \
10559        __asm__ ("shrn %0.4h,%1.4s,%2"                                   \
10560                 : "=w"(result)                                          \
10561                 : "w"(a_), "i"(b)                                       \
10562                 : /* No clobbers */);                                   \
10563        result;                                                          \
10564      })
10565 
10566 #define vshrn_n_s64(a, b)                                               \
10567   __extension__                                                         \
10568     ({                                                                  \
10569        int64x2_t a_ = (a);                                              \
10570        int32x2_t result;                                                \
10571        __asm__ ("shrn %0.2s,%1.2d,%2"                                   \
10572                 : "=w"(result)                                          \
10573                 : "w"(a_), "i"(b)                                       \
10574                 : /* No clobbers */);                                   \
10575        result;                                                          \
10576      })
10577 
10578 #define vshrn_n_u16(a, b)                                               \
10579   __extension__                                                         \
10580     ({                                                                  \
10581        uint16x8_t a_ = (a);                                             \
10582        uint8x8_t result;                                                \
10583        __asm__ ("shrn %0.8b,%1.8h,%2"                                   \
10584                 : "=w"(result)                                          \
10585                 : "w"(a_), "i"(b)                                       \
10586                 : /* No clobbers */);                                   \
10587        result;                                                          \
10588      })
10589 
10590 #define vshrn_n_u32(a, b)                                               \
10591   __extension__                                                         \
10592     ({                                                                  \
10593        uint32x4_t a_ = (a);                                             \
10594        uint16x4_t result;                                               \
10595        __asm__ ("shrn %0.4h,%1.4s,%2"                                   \
10596                 : "=w"(result)                                          \
10597                 : "w"(a_), "i"(b)                                       \
10598                 : /* No clobbers */);                                   \
10599        result;                                                          \
10600      })
10601 
10602 #define vshrn_n_u64(a, b)                                               \
10603   __extension__                                                         \
10604     ({                                                                  \
10605        uint64x2_t a_ = (a);                                             \
10606        uint32x2_t result;                                               \
10607        __asm__ ("shrn %0.2s,%1.2d,%2"                                   \
10608                 : "=w"(result)                                          \
10609                 : "w"(a_), "i"(b)                                       \
10610                 : /* No clobbers */);                                   \
10611        result;                                                          \
10612      })
10613 
10614 #define vsli_n_p8(a, b, c)                                              \
10615   __extension__                                                         \
10616     ({                                                                  \
10617        poly8x8_t b_ = (b);                                              \
10618        poly8x8_t a_ = (a);                                              \
10619        poly8x8_t result;                                                \
10620        __asm__ ("sli %0.8b,%2.8b,%3"                                    \
10621                 : "=w"(result)                                          \
10622                 : "0"(a_), "w"(b_), "i"(c)                              \
10623                 : /* No clobbers */);                                   \
10624        result;                                                          \
10625      })
10626 
10627 #define vsli_n_p16(a, b, c)                                             \
10628   __extension__                                                         \
10629     ({                                                                  \
10630        poly16x4_t b_ = (b);                                             \
10631        poly16x4_t a_ = (a);                                             \
10632        poly16x4_t result;                                               \
10633        __asm__ ("sli %0.4h,%2.4h,%3"                                    \
10634                 : "=w"(result)                                          \
10635                 : "0"(a_), "w"(b_), "i"(c)                              \
10636                 : /* No clobbers */);                                   \
10637        result;                                                          \
10638      })
10639 
10640 #define vsliq_n_p8(a, b, c)                                             \
10641   __extension__                                                         \
10642     ({                                                                  \
10643        poly8x16_t b_ = (b);                                             \
10644        poly8x16_t a_ = (a);                                             \
10645        poly8x16_t result;                                               \
10646        __asm__ ("sli %0.16b,%2.16b,%3"                                  \
10647                 : "=w"(result)                                          \
10648                 : "0"(a_), "w"(b_), "i"(c)                              \
10649                 : /* No clobbers */);                                   \
10650        result;                                                          \
10651      })
10652 
10653 #define vsliq_n_p16(a, b, c)                                            \
10654   __extension__                                                         \
10655     ({                                                                  \
10656        poly16x8_t b_ = (b);                                             \
10657        poly16x8_t a_ = (a);                                             \
10658        poly16x8_t result;                                               \
10659        __asm__ ("sli %0.8h,%2.8h,%3"                                    \
10660                 : "=w"(result)                                          \
10661                 : "0"(a_), "w"(b_), "i"(c)                              \
10662                 : /* No clobbers */);                                   \
10663        result;                                                          \
10664      })
10665 
10666 #define vsri_n_p8(a, b, c)                                              \
10667   __extension__                                                         \
10668     ({                                                                  \
10669        poly8x8_t b_ = (b);                                              \
10670        poly8x8_t a_ = (a);                                              \
10671        poly8x8_t result;                                                \
10672        __asm__ ("sri %0.8b,%2.8b,%3"                                    \
10673                 : "=w"(result)                                          \
10674                 : "0"(a_), "w"(b_), "i"(c)                              \
10675                 : /* No clobbers */);                                   \
10676        result;                                                          \
10677      })
10678 
10679 #define vsri_n_p16(a, b, c)                                             \
10680   __extension__                                                         \
10681     ({                                                                  \
10682        poly16x4_t b_ = (b);                                             \
10683        poly16x4_t a_ = (a);                                             \
10684        poly16x4_t result;                                               \
10685        __asm__ ("sri %0.4h,%2.4h,%3"                                    \
10686                 : "=w"(result)                                          \
10687                 : "0"(a_), "w"(b_), "i"(c)                              \
10688                 : /* No clobbers */);                                   \
10689        result;                                                          \
10690      })
10691 
10692 #define vsri_n_p64(a, b, c)						\
10693   __extension__								\
10694     ({									\
10695        poly64x1_t b_ = (b);						\
10696        poly64x1_t a_ = (a);						\
10697        poly64x1_t result;						\
10698        __asm__ ("sri %d0,%d2,%3"					\
10699 		: "=w"(result)						\
10700 		: "0"(a_), "w"(b_), "i"(c)				\
10701 		: /* No clobbers.  */);					\
10702        result;								\
10703      })
10704 
10705 #define vsriq_n_p8(a, b, c)                                             \
10706   __extension__                                                         \
10707     ({                                                                  \
10708        poly8x16_t b_ = (b);                                             \
10709        poly8x16_t a_ = (a);                                             \
10710        poly8x16_t result;                                               \
10711        __asm__ ("sri %0.16b,%2.16b,%3"                                  \
10712                 : "=w"(result)                                          \
10713                 : "0"(a_), "w"(b_), "i"(c)                              \
10714                 : /* No clobbers */);                                   \
10715        result;                                                          \
10716      })
10717 
10718 #define vsriq_n_p16(a, b, c)                                            \
10719   __extension__                                                         \
10720     ({                                                                  \
10721        poly16x8_t b_ = (b);                                             \
10722        poly16x8_t a_ = (a);                                             \
10723        poly16x8_t result;                                               \
10724        __asm__ ("sri %0.8h,%2.8h,%3"                                    \
10725                 : "=w"(result)                                          \
10726                 : "0"(a_), "w"(b_), "i"(c)                              \
10727                 : /* No clobbers */);                                   \
10728        result;                                                          \
10729      })
10730 
10731 #define vsriq_n_p64(a, b, c)						\
10732   __extension__								\
10733     ({									\
10734        poly64x2_t b_ = (b);						\
10735        poly64x2_t a_ = (a);						\
10736        poly64x2_t result;						\
10737        __asm__ ("sri %0.2d,%2.2d,%3"					\
10738 		: "=w"(result)						\
10739 		: "0"(a_), "w"(b_), "i"(c)				\
10740 		: /* No clobbers.  */);					\
10741        result;								\
10742      })
10743 
10744 __extension__ extern __inline uint8x8_t
10745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)10746 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
10747 {
10748   return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
10749 		       != 0);
10750 }
10751 
10752 __extension__ extern __inline uint16x4_t
10753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p16(poly16x4_t __a,poly16x4_t __b)10754 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
10755 {
10756   return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
10757 		       != 0);
10758 }
10759 
10760 __extension__ extern __inline uint64x1_t
10761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)10762 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
10763 {
10764   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
10765 }
10766 
10767 __extension__ extern __inline uint8x16_t
10768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)10769 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
10770 {
10771   return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
10772 		       != 0);
10773 }
10774 
10775 __extension__ extern __inline uint16x8_t
10776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p16(poly16x8_t __a,poly16x8_t __b)10777 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
10778 {
10779   return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
10780 		       != 0);
10781 }
10782 
10783 __extension__ extern __inline uint64x2_t
10784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p64(poly64x2_t __a,poly64x2_t __b)10785 vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
10786 {
10787   return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
10788 		       != __AARCH64_INT64_C (0));
10789 }
10790 
10791 /* End of temporary inline asm implementations.  */
10792 
10793 /* Start of temporary inline asm for vldn, vstn and friends.  */
10794 
10795 /* Create struct element types for duplicating loads.
10796 
10797    Create 2 element structures of:
10798 
10799    +------+----+----+----+----+
10800    |      | 8  | 16 | 32 | 64 |
10801    +------+----+----+----+----+
10802    |int   | Y  | Y  | N  | N  |
10803    +------+----+----+----+----+
10804    |uint  | Y  | Y  | N  | N  |
10805    +------+----+----+----+----+
10806    |float | -  | Y  | N  | N  |
10807    +------+----+----+----+----+
10808    |poly  | Y  | Y  | -  | -  |
10809    +------+----+----+----+----+
10810 
10811    Create 3 element structures of:
10812 
10813    +------+----+----+----+----+
10814    |      | 8  | 16 | 32 | 64 |
10815    +------+----+----+----+----+
10816    |int   | Y  | Y  | Y  | Y  |
10817    +------+----+----+----+----+
10818    |uint  | Y  | Y  | Y  | Y  |
10819    +------+----+----+----+----+
10820    |float | -  | Y  | Y  | Y  |
10821    +------+----+----+----+----+
10822    |poly  | Y  | Y  | -  | -  |
10823    +------+----+----+----+----+
10824 
10825    Create 4 element structures of:
10826 
10827    +------+----+----+----+----+
10828    |      | 8  | 16 | 32 | 64 |
10829    +------+----+----+----+----+
10830    |int   | Y  | N  | N  | Y  |
10831    +------+----+----+----+----+
10832    |uint  | Y  | N  | N  | Y  |
10833    +------+----+----+----+----+
10834    |float | -  | N  | N  | Y  |
10835    +------+----+----+----+----+
10836    |poly  | Y  | N  | -  | -  |
10837    +------+----+----+----+----+
10838 
10839   This is required for casting memory reference.  */
10840 #define __STRUCTN(t, sz, nelem)			\
10841   typedef struct t ## sz ## x ## nelem ## _t {	\
10842     t ## sz ## _t val[nelem];			\
10843   }  t ## sz ## x ## nelem ## _t;
10844 
10845 /* 2-element structs.  */
10846 __STRUCTN (int, 8, 2)
10847 __STRUCTN (int, 16, 2)
10848 __STRUCTN (uint, 8, 2)
10849 __STRUCTN (uint, 16, 2)
10850 __STRUCTN (float, 16, 2)
10851 __STRUCTN (poly, 8, 2)
10852 __STRUCTN (poly, 16, 2)
10853 /* 3-element structs.  */
10854 __STRUCTN (int, 8, 3)
10855 __STRUCTN (int, 16, 3)
10856 __STRUCTN (int, 32, 3)
10857 __STRUCTN (int, 64, 3)
10858 __STRUCTN (uint, 8, 3)
10859 __STRUCTN (uint, 16, 3)
10860 __STRUCTN (uint, 32, 3)
10861 __STRUCTN (uint, 64, 3)
10862 __STRUCTN (float, 16, 3)
10863 __STRUCTN (float, 32, 3)
10864 __STRUCTN (float, 64, 3)
10865 __STRUCTN (poly, 8, 3)
10866 __STRUCTN (poly, 16, 3)
10867 /* 4-element structs.  */
10868 __STRUCTN (int, 8, 4)
10869 __STRUCTN (int, 64, 4)
10870 __STRUCTN (uint, 8, 4)
10871 __STRUCTN (uint, 64, 4)
10872 __STRUCTN (poly, 8, 4)
10873 __STRUCTN (float, 64, 4)
10874 #undef __STRUCTN
10875 
10876 
10877 #define __ST2_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
10878 			qmode, ptr_mode, funcsuffix, signedtype)	     \
10879 __extension__ extern __inline void					     \
10880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10881 vst2_lane_ ## funcsuffix (ptrtype *__ptr,				     \
10882 			  intype __b, const int __c)			     \
10883 {									     \
10884   __builtin_aarch64_simd_oi __o;					     \
10885   largetype __temp;							     \
10886   __temp.val[0]								     \
10887     = vcombine_##funcsuffix (__b.val[0],				     \
10888 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10889   __temp.val[1]								     \
10890     = vcombine_##funcsuffix (__b.val[1],				     \
10891 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10892   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
10893 					     (signedtype) __temp.val[0], 0); \
10894   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
10895 					     (signedtype) __temp.val[1], 1); \
10896   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
10897 				     __ptr, __o, __c);			     \
10898 }
10899 
__ST2_LANE_FUNC(float16x4x2_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)10900 __ST2_LANE_FUNC (float16x4x2_t, float16x8x2_t, float16_t, v4hf, v8hf, hf, f16,
10901 		 float16x8_t)
10902 __ST2_LANE_FUNC (float32x2x2_t, float32x4x2_t, float32_t, v2sf, v4sf, sf, f32,
10903 		 float32x4_t)
10904 __ST2_LANE_FUNC (float64x1x2_t, float64x2x2_t, float64_t, df, v2df, df, f64,
10905 		 float64x2_t)
10906 __ST2_LANE_FUNC (poly8x8x2_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
10907 		 int8x16_t)
10908 __ST2_LANE_FUNC (poly16x4x2_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi, p16,
10909 		 int16x8_t)
10910 __ST2_LANE_FUNC (poly64x1x2_t, poly64x2x2_t, poly64_t, di, v2di_ssps, di, p64,
10911 		 poly64x2_t)
10912 __ST2_LANE_FUNC (int8x8x2_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
10913 		 int8x16_t)
10914 __ST2_LANE_FUNC (int16x4x2_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
10915 		 int16x8_t)
10916 __ST2_LANE_FUNC (int32x2x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
10917 		 int32x4_t)
10918 __ST2_LANE_FUNC (int64x1x2_t, int64x2x2_t, int64_t, di, v2di, di, s64,
10919 		 int64x2_t)
10920 __ST2_LANE_FUNC (uint8x8x2_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
10921 		 int8x16_t)
10922 __ST2_LANE_FUNC (uint16x4x2_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi, u16,
10923 		 int16x8_t)
10924 __ST2_LANE_FUNC (uint32x2x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si, u32,
10925 		 int32x4_t)
10926 __ST2_LANE_FUNC (uint64x1x2_t, uint64x2x2_t, uint64_t, di, v2di, di, u64,
10927 		 int64x2_t)
10928 
10929 #define __ST2Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
10930 __extension__ extern __inline void					    \
10931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10932 vst2q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
10933 			   intype __b, const int __c)			    \
10934 {									    \
10935   union { intype __i;							    \
10936 	  __builtin_aarch64_simd_oi __o; } __temp = { __b };		    \
10937   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10938 				    __ptr, __temp.__o, __c);		    \
10939 }
10940 
10941 __ST2Q_LANE_FUNC (float16x8x2_t, float16_t, v8hf, hf, f16)
10942 __ST2Q_LANE_FUNC (float32x4x2_t, float32_t, v4sf, sf, f32)
10943 __ST2Q_LANE_FUNC (float64x2x2_t, float64_t, v2df, df, f64)
10944 __ST2Q_LANE_FUNC (poly8x16x2_t, poly8_t, v16qi, qi, p8)
10945 __ST2Q_LANE_FUNC (poly16x8x2_t, poly16_t, v8hi, hi, p16)
10946 __ST2Q_LANE_FUNC (poly64x2x2_t, poly64_t, v2di, di, p64)
10947 __ST2Q_LANE_FUNC (int8x16x2_t, int8_t, v16qi, qi, s8)
10948 __ST2Q_LANE_FUNC (int16x8x2_t, int16_t, v8hi, hi, s16)
10949 __ST2Q_LANE_FUNC (int32x4x2_t, int32_t, v4si, si, s32)
10950 __ST2Q_LANE_FUNC (int64x2x2_t, int64_t, v2di, di, s64)
10951 __ST2Q_LANE_FUNC (uint8x16x2_t, uint8_t, v16qi, qi, u8)
10952 __ST2Q_LANE_FUNC (uint16x8x2_t, uint16_t, v8hi, hi, u16)
10953 __ST2Q_LANE_FUNC (uint32x4x2_t, uint32_t, v4si, si, u32)
10954 __ST2Q_LANE_FUNC (uint64x2x2_t, uint64_t, v2di, di, u64)
10955 
10956 #define __ST3_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
10957 			qmode, ptr_mode, funcsuffix, signedtype)	     \
10958 __extension__ extern __inline void					     \
10959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10960 vst3_lane_ ## funcsuffix (ptrtype *__ptr,				     \
10961 			  intype __b, const int __c)			     \
10962 {									     \
10963   __builtin_aarch64_simd_ci __o;					     \
10964   largetype __temp;							     \
10965   __temp.val[0]								     \
10966     = vcombine_##funcsuffix (__b.val[0],				     \
10967 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10968   __temp.val[1]								     \
10969     = vcombine_##funcsuffix (__b.val[1],				     \
10970 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10971   __temp.val[2]								     \
10972     = vcombine_##funcsuffix (__b.val[2],				     \
10973 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10974   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10975 					     (signedtype) __temp.val[0], 0); \
10976   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10977 					     (signedtype) __temp.val[1], 1); \
10978   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10979 					     (signedtype) __temp.val[2], 2); \
10980   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
10981 				     __ptr, __o, __c);			     \
10982 }
10983 
10984 __ST3_LANE_FUNC (float16x4x3_t, float16x8x3_t, float16_t, v4hf, v8hf, hf, f16,
10985 		 float16x8_t)
10986 __ST3_LANE_FUNC (float32x2x3_t, float32x4x3_t, float32_t, v2sf, v4sf, sf, f32,
10987 		 float32x4_t)
10988 __ST3_LANE_FUNC (float64x1x3_t, float64x2x3_t, float64_t, df, v2df, df, f64,
10989 		 float64x2_t)
10990 __ST3_LANE_FUNC (poly8x8x3_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
10991 		 int8x16_t)
10992 __ST3_LANE_FUNC (poly16x4x3_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi, p16,
10993 		 int16x8_t)
10994 __ST3_LANE_FUNC (poly64x1x3_t, poly64x2x3_t, poly64_t, di, v2di_ssps, di, p64,
10995 		 poly64x2_t)
10996 __ST3_LANE_FUNC (int8x8x3_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
10997 		 int8x16_t)
10998 __ST3_LANE_FUNC (int16x4x3_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
10999 		 int16x8_t)
11000 __ST3_LANE_FUNC (int32x2x3_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
11001 		 int32x4_t)
11002 __ST3_LANE_FUNC (int64x1x3_t, int64x2x3_t, int64_t, di, v2di, di, s64,
11003 		 int64x2_t)
11004 __ST3_LANE_FUNC (uint8x8x3_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
11005 		 int8x16_t)
11006 __ST3_LANE_FUNC (uint16x4x3_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi, u16,
11007 		 int16x8_t)
11008 __ST3_LANE_FUNC (uint32x2x3_t, uint32x4x3_t, uint32_t, v2si, v4si, si, u32,
11009 		 int32x4_t)
11010 __ST3_LANE_FUNC (uint64x1x3_t, uint64x2x3_t, uint64_t, di, v2di, di, u64,
11011 		 int64x2_t)
11012 
11013 #define __ST3Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
11014 __extension__ extern __inline void					    \
11015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11016 vst3q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
11017 			   intype __b, const int __c)			    \
11018 {									    \
11019   union { intype __i;							    \
11020 	  __builtin_aarch64_simd_ci __o; } __temp = { __b };		    \
11021   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
11022 				    __ptr, __temp.__o, __c);		    \
11023 }
11024 
11025 __ST3Q_LANE_FUNC (float16x8x3_t, float16_t, v8hf, hf, f16)
11026 __ST3Q_LANE_FUNC (float32x4x3_t, float32_t, v4sf, sf, f32)
11027 __ST3Q_LANE_FUNC (float64x2x3_t, float64_t, v2df, df, f64)
11028 __ST3Q_LANE_FUNC (poly8x16x3_t, poly8_t, v16qi, qi, p8)
11029 __ST3Q_LANE_FUNC (poly16x8x3_t, poly16_t, v8hi, hi, p16)
11030 __ST3Q_LANE_FUNC (poly64x2x3_t, poly64_t, v2di, di, p64)
11031 __ST3Q_LANE_FUNC (int8x16x3_t, int8_t, v16qi, qi, s8)
11032 __ST3Q_LANE_FUNC (int16x8x3_t, int16_t, v8hi, hi, s16)
11033 __ST3Q_LANE_FUNC (int32x4x3_t, int32_t, v4si, si, s32)
11034 __ST3Q_LANE_FUNC (int64x2x3_t, int64_t, v2di, di, s64)
11035 __ST3Q_LANE_FUNC (uint8x16x3_t, uint8_t, v16qi, qi, u8)
11036 __ST3Q_LANE_FUNC (uint16x8x3_t, uint16_t, v8hi, hi, u16)
11037 __ST3Q_LANE_FUNC (uint32x4x3_t, uint32_t, v4si, si, u32)
11038 __ST3Q_LANE_FUNC (uint64x2x3_t, uint64_t, v2di, di, u64)
11039 
11040 #define __ST4_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
11041 			qmode, ptr_mode, funcsuffix, signedtype)	     \
11042 __extension__ extern __inline void					     \
11043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11044 vst4_lane_ ## funcsuffix (ptrtype *__ptr,				     \
11045 			  intype __b, const int __c)			     \
11046 {									     \
11047   __builtin_aarch64_simd_xi __o;					     \
11048   largetype __temp;							     \
11049   __temp.val[0]								     \
11050     = vcombine_##funcsuffix (__b.val[0],				     \
11051 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11052   __temp.val[1]								     \
11053     = vcombine_##funcsuffix (__b.val[1],				     \
11054 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11055   __temp.val[2]								     \
11056     = vcombine_##funcsuffix (__b.val[2],				     \
11057 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11058   __temp.val[3]								     \
11059     = vcombine_##funcsuffix (__b.val[3],				     \
11060 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11061   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11062 					     (signedtype) __temp.val[0], 0); \
11063   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11064 					     (signedtype) __temp.val[1], 1); \
11065   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11066 					     (signedtype) __temp.val[2], 2); \
11067   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11068 					     (signedtype) __temp.val[3], 3); \
11069   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
11070 				     __ptr, __o, __c);			     \
11071 }
11072 
11073 __ST4_LANE_FUNC (float16x4x4_t, float16x8x4_t, float16_t, v4hf, v8hf, hf, f16,
11074 		 float16x8_t)
11075 __ST4_LANE_FUNC (float32x2x4_t, float32x4x4_t, float32_t, v2sf, v4sf, sf, f32,
11076 		 float32x4_t)
11077 __ST4_LANE_FUNC (float64x1x4_t, float64x2x4_t, float64_t, df, v2df, df, f64,
11078 		 float64x2_t)
11079 __ST4_LANE_FUNC (poly8x8x4_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
11080 		 int8x16_t)
11081 __ST4_LANE_FUNC (poly16x4x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi, p16,
11082 		 int16x8_t)
11083 __ST4_LANE_FUNC (poly64x1x4_t, poly64x2x4_t, poly64_t, di, v2di_ssps, di, p64,
11084 		 poly64x2_t)
11085 __ST4_LANE_FUNC (int8x8x4_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
11086 		 int8x16_t)
11087 __ST4_LANE_FUNC (int16x4x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
11088 		 int16x8_t)
11089 __ST4_LANE_FUNC (int32x2x4_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
11090 		 int32x4_t)
11091 __ST4_LANE_FUNC (int64x1x4_t, int64x2x4_t, int64_t, di, v2di, di, s64,
11092 		 int64x2_t)
11093 __ST4_LANE_FUNC (uint8x8x4_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
11094 		 int8x16_t)
11095 __ST4_LANE_FUNC (uint16x4x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi, u16,
11096 		 int16x8_t)
11097 __ST4_LANE_FUNC (uint32x2x4_t, uint32x4x4_t, uint32_t, v2si, v4si, si, u32,
11098 		 int32x4_t)
11099 __ST4_LANE_FUNC (uint64x1x4_t, uint64x2x4_t, uint64_t, di, v2di, di, u64,
11100 		 int64x2_t)
11101 
11102 #define __ST4Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
11103 __extension__ extern __inline void					    \
11104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11105 vst4q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
11106 			   intype __b, const int __c)			    \
11107 {									    \
11108   union { intype __i;							    \
11109 	  __builtin_aarch64_simd_xi __o; } __temp = { __b };		    \
11110   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
11111 				    __ptr, __temp.__o, __c);		    \
11112 }
11113 
11114 __ST4Q_LANE_FUNC (float16x8x4_t, float16_t, v8hf, hf, f16)
11115 __ST4Q_LANE_FUNC (float32x4x4_t, float32_t, v4sf, sf, f32)
11116 __ST4Q_LANE_FUNC (float64x2x4_t, float64_t, v2df, df, f64)
11117 __ST4Q_LANE_FUNC (poly8x16x4_t, poly8_t, v16qi, qi, p8)
11118 __ST4Q_LANE_FUNC (poly16x8x4_t, poly16_t, v8hi, hi, p16)
11119 __ST4Q_LANE_FUNC (poly64x2x4_t, poly64_t, v2di, di, p64)
11120 __ST4Q_LANE_FUNC (int8x16x4_t, int8_t, v16qi, qi, s8)
11121 __ST4Q_LANE_FUNC (int16x8x4_t, int16_t, v8hi, hi, s16)
11122 __ST4Q_LANE_FUNC (int32x4x4_t, int32_t, v4si, si, s32)
11123 __ST4Q_LANE_FUNC (int64x2x4_t, int64_t, v2di, di, s64)
11124 __ST4Q_LANE_FUNC (uint8x16x4_t, uint8_t, v16qi, qi, u8)
11125 __ST4Q_LANE_FUNC (uint16x8x4_t, uint16_t, v8hi, hi, u16)
11126 __ST4Q_LANE_FUNC (uint32x4x4_t, uint32_t, v4si, si, u32)
11127 __ST4Q_LANE_FUNC (uint64x2x4_t, uint64_t, v2di, di, u64)
11128 
11129 __extension__ extern __inline int64_t
11130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11131 vaddlv_s32 (int32x2_t __a)
11132 {
11133   int64_t __result;
11134   __asm__ ("saddlp %0.1d, %1.2s" : "=w"(__result) : "w"(__a) : );
11135   return __result;
11136 }
11137 
11138 __extension__ extern __inline uint64_t
11139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u32(uint32x2_t __a)11140 vaddlv_u32 (uint32x2_t __a)
11141 {
11142   uint64_t __result;
11143   __asm__ ("uaddlp %0.1d, %1.2s" : "=w"(__result) : "w"(__a) : );
11144   return __result;
11145 }
11146 
11147 __extension__ extern __inline int16x4_t
11148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)11149 vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
11150 {
11151   return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
11152 }
11153 
11154 __extension__ extern __inline int32x2_t
11155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)11156 vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
11157 {
11158   return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
11159 }
11160 
11161 __extension__ extern __inline int16x8_t
11162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)11163 vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
11164 {
11165   return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
11166 }
11167 
11168 __extension__ extern __inline int32x4_t
11169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)11170 vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
11171 {
11172   return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
11173 }
11174 
11175 __extension__ extern __inline int16x4_t
11176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)11177 vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
11178 {
11179   return  __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
11180 }
11181 
11182 __extension__ extern __inline int32x2_t
11183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)11184 vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
11185 {
11186   return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
11187 }
11188 
11189 __extension__ extern __inline int16x8_t
11190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)11191 vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
11192 {
11193   return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
11194 }
11195 
11196 __extension__ extern __inline int32x4_t
11197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)11198 vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
11199 {
11200   return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
11201 }
11202 
11203 /* Table intrinsics.  */
11204 
11205 __extension__ extern __inline poly8x8_t
11206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_p8(poly8x16_t __a,uint8x8_t __b)11207 vqtbl1_p8 (poly8x16_t __a, uint8x8_t __b)
11208 {
11209   poly8x8_t __result;
11210   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11211            : "=w"(__result)
11212            : "w"(__a), "w"(__b)
11213            : /* No clobbers */);
11214   return __result;
11215 }
11216 
11217 __extension__ extern __inline int8x8_t
11218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_s8(int8x16_t __a,uint8x8_t __b)11219 vqtbl1_s8 (int8x16_t __a, uint8x8_t __b)
11220 {
11221   int8x8_t __result;
11222   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11223            : "=w"(__result)
11224            : "w"(__a), "w"(__b)
11225            : /* No clobbers */);
11226   return __result;
11227 }
11228 
11229 __extension__ extern __inline uint8x8_t
11230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_u8(uint8x16_t __a,uint8x8_t __b)11231 vqtbl1_u8 (uint8x16_t __a, uint8x8_t __b)
11232 {
11233   uint8x8_t __result;
11234   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11235            : "=w"(__result)
11236            : "w"(__a), "w"(__b)
11237            : /* No clobbers */);
11238   return __result;
11239 }
11240 
11241 __extension__ extern __inline poly8x16_t
11242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_p8(poly8x16_t __a,uint8x16_t __b)11243 vqtbl1q_p8 (poly8x16_t __a, uint8x16_t __b)
11244 {
11245   poly8x16_t __result;
11246   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11247            : "=w"(__result)
11248            : "w"(__a), "w"(__b)
11249            : /* No clobbers */);
11250   return __result;
11251 }
11252 
11253 __extension__ extern __inline int8x16_t
11254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_s8(int8x16_t __a,uint8x16_t __b)11255 vqtbl1q_s8 (int8x16_t __a, uint8x16_t __b)
11256 {
11257   int8x16_t __result;
11258   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11259            : "=w"(__result)
11260            : "w"(__a), "w"(__b)
11261            : /* No clobbers */);
11262   return __result;
11263 }
11264 
11265 __extension__ extern __inline uint8x16_t
11266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_u8(uint8x16_t __a,uint8x16_t __b)11267 vqtbl1q_u8 (uint8x16_t __a, uint8x16_t __b)
11268 {
11269   uint8x16_t __result;
11270   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11271            : "=w"(__result)
11272            : "w"(__a), "w"(__b)
11273            : /* No clobbers */);
11274   return __result;
11275 }
11276 
11277 __extension__ extern __inline int8x8_t
11278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_s8(int8x8_t __r,int8x16_t __tab,uint8x8_t __idx)11279 vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
11280 {
11281   int8x8_t __result = __r;
11282   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11283            : "+w"(__result)
11284            : "w"(__tab), "w"(__idx)
11285            : /* No clobbers */);
11286   return __result;
11287 }
11288 
11289 __extension__ extern __inline uint8x8_t
11290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_u8(uint8x8_t __r,uint8x16_t __tab,uint8x8_t __idx)11291 vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
11292 {
11293   uint8x8_t __result = __r;
11294   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11295            : "+w"(__result)
11296            : "w"(__tab), "w"(__idx)
11297            : /* No clobbers */);
11298   return __result;
11299 }
11300 
11301 __extension__ extern __inline poly8x8_t
11302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_p8(poly8x8_t __r,poly8x16_t __tab,uint8x8_t __idx)11303 vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
11304 {
11305   poly8x8_t __result = __r;
11306   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11307            : "+w"(__result)
11308            : "w"(__tab), "w"(__idx)
11309            : /* No clobbers */);
11310   return __result;
11311 }
11312 
11313 __extension__ extern __inline int8x16_t
11314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_s8(int8x16_t __r,int8x16_t __tab,uint8x16_t __idx)11315 vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
11316 {
11317   int8x16_t __result = __r;
11318   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11319            : "+w"(__result)
11320            : "w"(__tab), "w"(__idx)
11321            : /* No clobbers */);
11322   return __result;
11323 }
11324 
11325 __extension__ extern __inline uint8x16_t
11326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_u8(uint8x16_t __r,uint8x16_t __tab,uint8x16_t __idx)11327 vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
11328 {
11329   uint8x16_t __result = __r;
11330   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11331            : "+w"(__result)
11332            : "w"(__tab), "w"(__idx)
11333            : /* No clobbers */);
11334   return __result;
11335 }
11336 
11337 __extension__ extern __inline poly8x16_t
11338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_p8(poly8x16_t __r,poly8x16_t __tab,uint8x16_t __idx)11339 vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
11340 {
11341   poly8x16_t __result = __r;
11342   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11343            : "+w"(__result)
11344            : "w"(__tab), "w"(__idx)
11345            : /* No clobbers */);
11346   return __result;
11347 }
11348 
11349 /* V7 legacy table intrinsics.  */
11350 
11351 __extension__ extern __inline int8x8_t
11352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_s8(int8x8_t __tab,int8x8_t __idx)11353 vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
11354 {
11355   int8x8_t __result;
11356   int8x16_t __temp = vcombine_s8 (__tab, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
11357   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11358            : "=w"(__result)
11359            : "w"(__temp), "w"(__idx)
11360            : /* No clobbers */);
11361   return __result;
11362 }
11363 
11364 __extension__ extern __inline uint8x8_t
11365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_u8(uint8x8_t __tab,uint8x8_t __idx)11366 vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
11367 {
11368   uint8x8_t __result;
11369   uint8x16_t __temp = vcombine_u8 (__tab, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
11370   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11371            : "=w"(__result)
11372            : "w"(__temp), "w"(__idx)
11373            : /* No clobbers */);
11374   return __result;
11375 }
11376 
11377 __extension__ extern __inline poly8x8_t
11378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_p8(poly8x8_t __tab,uint8x8_t __idx)11379 vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
11380 {
11381   poly8x8_t __result;
11382   poly8x16_t __temp = vcombine_p8 (__tab, vcreate_p8 (__AARCH64_UINT64_C (0x0)));
11383   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11384            : "=w"(__result)
11385            : "w"(__temp), "w"(__idx)
11386            : /* No clobbers */);
11387   return __result;
11388 }
11389 
11390 __extension__ extern __inline int8x8_t
11391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_s8(int8x8x2_t __tab,int8x8_t __idx)11392 vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
11393 {
11394   int8x8_t __result;
11395   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
11396   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11397            : "=w"(__result)
11398            : "w"(__temp), "w"(__idx)
11399            : /* No clobbers */);
11400   return __result;
11401 }
11402 
11403 __extension__ extern __inline uint8x8_t
11404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_u8(uint8x8x2_t __tab,uint8x8_t __idx)11405 vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
11406 {
11407   uint8x8_t __result;
11408   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
11409   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11410            : "=w"(__result)
11411            : "w"(__temp), "w"(__idx)
11412            : /* No clobbers */);
11413   return __result;
11414 }
11415 
11416 __extension__ extern __inline poly8x8_t
11417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_p8(poly8x8x2_t __tab,uint8x8_t __idx)11418 vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
11419 {
11420   poly8x8_t __result;
11421   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
11422   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11423            : "=w"(__result)
11424            : "w"(__temp), "w"(__idx)
11425            : /* No clobbers */);
11426   return __result;
11427 }
11428 
11429 __extension__ extern __inline int8x8_t
11430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_s8(int8x8x3_t __tab,int8x8_t __idx)11431 vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
11432 {
11433   int8x8_t __result;
11434   int8x16x2_t __temp;
11435   __builtin_aarch64_simd_oi __o;
11436   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
11437   __temp.val[1] = vcombine_s8 (__tab.val[2], vcreate_s8 (__AARCH64_UINT64_C (0x0)));
11438   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11439 					   (int8x16_t) __temp.val[0], 0);
11440   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11441 					   (int8x16_t) __temp.val[1], 1);
11442   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
11443   return __result;
11444 }
11445 
11446 __extension__ extern __inline uint8x8_t
11447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_u8(uint8x8x3_t __tab,uint8x8_t __idx)11448 vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
11449 {
11450   uint8x8_t __result;
11451   uint8x16x2_t __temp;
11452   __builtin_aarch64_simd_oi __o;
11453   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
11454   __temp.val[1] = vcombine_u8 (__tab.val[2], vcreate_u8 (__AARCH64_UINT64_C (0x0)));
11455   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11456 					   (int8x16_t) __temp.val[0], 0);
11457   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11458 					   (int8x16_t) __temp.val[1], 1);
11459   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11460   return __result;
11461 }
11462 
11463 __extension__ extern __inline poly8x8_t
11464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_p8(poly8x8x3_t __tab,uint8x8_t __idx)11465 vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
11466 {
11467   poly8x8_t __result;
11468   poly8x16x2_t __temp;
11469   __builtin_aarch64_simd_oi __o;
11470   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
11471   __temp.val[1] = vcombine_p8 (__tab.val[2], vcreate_p8 (__AARCH64_UINT64_C (0x0)));
11472   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11473 					   (int8x16_t) __temp.val[0], 0);
11474   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11475 					   (int8x16_t) __temp.val[1], 1);
11476   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11477   return __result;
11478 }
11479 
11480 __extension__ extern __inline int8x8_t
11481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_s8(int8x8x4_t __tab,int8x8_t __idx)11482 vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
11483 {
11484   int8x8_t __result;
11485   int8x16x2_t __temp;
11486   __builtin_aarch64_simd_oi __o;
11487   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
11488   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
11489   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11490 					   (int8x16_t) __temp.val[0], 0);
11491   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11492 					   (int8x16_t) __temp.val[1], 1);
11493   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
11494   return __result;
11495 }
11496 
11497 __extension__ extern __inline uint8x8_t
11498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_u8(uint8x8x4_t __tab,uint8x8_t __idx)11499 vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
11500 {
11501   uint8x8_t __result;
11502   uint8x16x2_t __temp;
11503   __builtin_aarch64_simd_oi __o;
11504   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
11505   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
11506   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11507 					   (int8x16_t) __temp.val[0], 0);
11508   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11509 					   (int8x16_t) __temp.val[1], 1);
11510   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11511   return __result;
11512 }
11513 
11514 __extension__ extern __inline poly8x8_t
11515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_p8(poly8x8x4_t __tab,uint8x8_t __idx)11516 vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
11517 {
11518   poly8x8_t __result;
11519   poly8x16x2_t __temp;
11520   __builtin_aarch64_simd_oi __o;
11521   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
11522   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
11523   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11524 					   (int8x16_t) __temp.val[0], 0);
11525   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11526 					   (int8x16_t) __temp.val[1], 1);
11527   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11528   return __result;
11529 }
11530 
11531 __extension__ extern __inline int8x8_t
11532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_s8(int8x8_t __r,int8x8x2_t __tab,int8x8_t __idx)11533 vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
11534 {
11535   int8x8_t __result = __r;
11536   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
11537   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11538            : "+w"(__result)
11539            : "w"(__temp), "w"(__idx)
11540            : /* No clobbers */);
11541   return __result;
11542 }
11543 
11544 __extension__ extern __inline uint8x8_t
11545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_u8(uint8x8_t __r,uint8x8x2_t __tab,uint8x8_t __idx)11546 vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
11547 {
11548   uint8x8_t __result = __r;
11549   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
11550   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11551            : "+w"(__result)
11552            : "w"(__temp), "w"(__idx)
11553            : /* No clobbers */);
11554   return __result;
11555 }
11556 
11557 __extension__ extern __inline poly8x8_t
11558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_p8(poly8x8_t __r,poly8x8x2_t __tab,uint8x8_t __idx)11559 vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
11560 {
11561   poly8x8_t __result = __r;
11562   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
11563   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11564            : "+w"(__result)
11565            : "w"(__temp), "w"(__idx)
11566            : /* No clobbers */);
11567   return __result;
11568 }
11569 
11570 /* End of temporary inline asm.  */
11571 
11572 /* Start of optimal implementations in approved order.  */
11573 
11574 /* vabd.  */
11575 
11576 __extension__ extern __inline float32_t
11577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabds_f32(float32_t __a,float32_t __b)11578 vabds_f32 (float32_t __a, float32_t __b)
11579 {
11580   return __builtin_aarch64_fabdsf (__a, __b);
11581 }
11582 
11583 __extension__ extern __inline float64_t
11584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdd_f64(float64_t __a,float64_t __b)11585 vabdd_f64 (float64_t __a, float64_t __b)
11586 {
11587   return __builtin_aarch64_fabddf (__a, __b);
11588 }
11589 
11590 __extension__ extern __inline float32x2_t
11591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f32(float32x2_t __a,float32x2_t __b)11592 vabd_f32 (float32x2_t __a, float32x2_t __b)
11593 {
11594   return __builtin_aarch64_fabdv2sf (__a, __b);
11595 }
11596 
11597 __extension__ extern __inline float64x1_t
11598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f64(float64x1_t __a,float64x1_t __b)11599 vabd_f64 (float64x1_t __a, float64x1_t __b)
11600 {
11601   return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
11602 				   vget_lane_f64 (__b, 0))};
11603 }
11604 
11605 __extension__ extern __inline float32x4_t
11606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f32(float32x4_t __a,float32x4_t __b)11607 vabdq_f32 (float32x4_t __a, float32x4_t __b)
11608 {
11609   return __builtin_aarch64_fabdv4sf (__a, __b);
11610 }
11611 
11612 __extension__ extern __inline float64x2_t
11613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f64(float64x2_t __a,float64x2_t __b)11614 vabdq_f64 (float64x2_t __a, float64x2_t __b)
11615 {
11616   return __builtin_aarch64_fabdv2df (__a, __b);
11617 }
11618 
11619 /* vabs  */
11620 
11621 __extension__ extern __inline float32x2_t
11622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f32(float32x2_t __a)11623 vabs_f32 (float32x2_t __a)
11624 {
11625   return __builtin_aarch64_absv2sf (__a);
11626 }
11627 
11628 __extension__ extern __inline float64x1_t
11629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f64(float64x1_t __a)11630 vabs_f64 (float64x1_t __a)
11631 {
11632   return (float64x1_t) {__builtin_fabs (__a[0])};
11633 }
11634 
11635 __extension__ extern __inline int8x8_t
11636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s8(int8x8_t __a)11637 vabs_s8 (int8x8_t __a)
11638 {
11639   return __builtin_aarch64_absv8qi (__a);
11640 }
11641 
11642 __extension__ extern __inline int16x4_t
11643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s16(int16x4_t __a)11644 vabs_s16 (int16x4_t __a)
11645 {
11646   return __builtin_aarch64_absv4hi (__a);
11647 }
11648 
11649 __extension__ extern __inline int32x2_t
11650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s32(int32x2_t __a)11651 vabs_s32 (int32x2_t __a)
11652 {
11653   return __builtin_aarch64_absv2si (__a);
11654 }
11655 
11656 __extension__ extern __inline int64x1_t
11657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s64(int64x1_t __a)11658 vabs_s64 (int64x1_t __a)
11659 {
11660   return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
11661 }
11662 
11663 __extension__ extern __inline float32x4_t
11664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f32(float32x4_t __a)11665 vabsq_f32 (float32x4_t __a)
11666 {
11667   return __builtin_aarch64_absv4sf (__a);
11668 }
11669 
11670 __extension__ extern __inline float64x2_t
11671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f64(float64x2_t __a)11672 vabsq_f64 (float64x2_t __a)
11673 {
11674   return __builtin_aarch64_absv2df (__a);
11675 }
11676 
11677 __extension__ extern __inline int8x16_t
11678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s8(int8x16_t __a)11679 vabsq_s8 (int8x16_t __a)
11680 {
11681   return __builtin_aarch64_absv16qi (__a);
11682 }
11683 
11684 __extension__ extern __inline int16x8_t
11685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s16(int16x8_t __a)11686 vabsq_s16 (int16x8_t __a)
11687 {
11688   return __builtin_aarch64_absv8hi (__a);
11689 }
11690 
11691 __extension__ extern __inline int32x4_t
11692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s32(int32x4_t __a)11693 vabsq_s32 (int32x4_t __a)
11694 {
11695   return __builtin_aarch64_absv4si (__a);
11696 }
11697 
11698 __extension__ extern __inline int64x2_t
11699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s64(int64x2_t __a)11700 vabsq_s64 (int64x2_t __a)
11701 {
11702   return __builtin_aarch64_absv2di (__a);
11703 }
11704 
11705 /* Try to avoid moving between integer and vector registers.
11706    For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
11707    There is a testcase related to this issue:
11708    gcc.target/aarch64/vabsd_s64.c.  */
11709 
11710 __extension__ extern __inline int64_t
11711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsd_s64(int64_t __a)11712 vabsd_s64 (int64_t __a)
11713 {
11714   return __a < 0 ? - (uint64_t) __a : __a;
11715 }
11716 
11717 /* vadd */
11718 
11719 __extension__ extern __inline int64_t
11720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_s64(int64_t __a,int64_t __b)11721 vaddd_s64 (int64_t __a, int64_t __b)
11722 {
11723   return __a + __b;
11724 }
11725 
11726 __extension__ extern __inline uint64_t
11727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_u64(uint64_t __a,uint64_t __b)11728 vaddd_u64 (uint64_t __a, uint64_t __b)
11729 {
11730   return __a + __b;
11731 }
11732 
11733 /* vaddv */
11734 
11735 __extension__ extern __inline int8_t
11736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s8(int8x8_t __a)11737 vaddv_s8 (int8x8_t __a)
11738 {
11739   return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
11740 }
11741 
11742 __extension__ extern __inline int16_t
11743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s16(int16x4_t __a)11744 vaddv_s16 (int16x4_t __a)
11745 {
11746   return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
11747 }
11748 
11749 __extension__ extern __inline int32_t
11750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s32(int32x2_t __a)11751 vaddv_s32 (int32x2_t __a)
11752 {
11753   return __builtin_aarch64_reduc_plus_scal_v2si (__a);
11754 }
11755 
11756 __extension__ extern __inline uint8_t
11757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u8(uint8x8_t __a)11758 vaddv_u8 (uint8x8_t __a)
11759 {
11760   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v8qi ((int8x8_t) __a);
11761 }
11762 
11763 __extension__ extern __inline uint16_t
11764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u16(uint16x4_t __a)11765 vaddv_u16 (uint16x4_t __a)
11766 {
11767   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v4hi ((int16x4_t) __a);
11768 }
11769 
11770 __extension__ extern __inline uint32_t
11771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u32(uint32x2_t __a)11772 vaddv_u32 (uint32x2_t __a)
11773 {
11774   return (int32_t) __builtin_aarch64_reduc_plus_scal_v2si ((int32x2_t) __a);
11775 }
11776 
11777 __extension__ extern __inline int8_t
11778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s8(int8x16_t __a)11779 vaddvq_s8 (int8x16_t __a)
11780 {
11781   return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
11782 }
11783 
11784 __extension__ extern __inline int16_t
11785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s16(int16x8_t __a)11786 vaddvq_s16 (int16x8_t __a)
11787 {
11788   return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
11789 }
11790 
11791 __extension__ extern __inline int32_t
11792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s32(int32x4_t __a)11793 vaddvq_s32 (int32x4_t __a)
11794 {
11795   return __builtin_aarch64_reduc_plus_scal_v4si (__a);
11796 }
11797 
11798 __extension__ extern __inline int64_t
11799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s64(int64x2_t __a)11800 vaddvq_s64 (int64x2_t __a)
11801 {
11802   return __builtin_aarch64_reduc_plus_scal_v2di (__a);
11803 }
11804 
11805 __extension__ extern __inline uint8_t
11806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u8(uint8x16_t __a)11807 vaddvq_u8 (uint8x16_t __a)
11808 {
11809   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v16qi ((int8x16_t) __a);
11810 }
11811 
11812 __extension__ extern __inline uint16_t
11813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u16(uint16x8_t __a)11814 vaddvq_u16 (uint16x8_t __a)
11815 {
11816   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v8hi ((int16x8_t) __a);
11817 }
11818 
11819 __extension__ extern __inline uint32_t
11820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u32(uint32x4_t __a)11821 vaddvq_u32 (uint32x4_t __a)
11822 {
11823   return (uint32_t) __builtin_aarch64_reduc_plus_scal_v4si ((int32x4_t) __a);
11824 }
11825 
11826 __extension__ extern __inline uint64_t
11827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u64(uint64x2_t __a)11828 vaddvq_u64 (uint64x2_t __a)
11829 {
11830   return (uint64_t) __builtin_aarch64_reduc_plus_scal_v2di ((int64x2_t) __a);
11831 }
11832 
11833 __extension__ extern __inline float32_t
11834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_f32(float32x2_t __a)11835 vaddv_f32 (float32x2_t __a)
11836 {
11837   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
11838 }
11839 
11840 __extension__ extern __inline float32_t
11841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f32(float32x4_t __a)11842 vaddvq_f32 (float32x4_t __a)
11843 {
11844   return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
11845 }
11846 
11847 __extension__ extern __inline float64_t
11848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f64(float64x2_t __a)11849 vaddvq_f64 (float64x2_t __a)
11850 {
11851   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
11852 }
11853 
11854 /* vbsl  */
11855 
11856 __extension__ extern __inline float16x4_t
11857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f16(uint16x4_t __a,float16x4_t __b,float16x4_t __c)11858 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
11859 {
11860   return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
11861 }
11862 
11863 __extension__ extern __inline float32x2_t
11864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)11865 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
11866 {
11867   return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
11868 }
11869 
11870 __extension__ extern __inline float64x1_t
11871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f64(uint64x1_t __a,float64x1_t __b,float64x1_t __c)11872 vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
11873 {
11874   return (float64x1_t)
11875     { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
11876 }
11877 
11878 __extension__ extern __inline poly8x8_t
11879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)11880 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
11881 {
11882   return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
11883 }
11884 
11885 __extension__ extern __inline poly16x4_t
11886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)11887 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
11888 {
11889   return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
11890 }
11891 __extension__ extern __inline poly64x1_t
11892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)11893 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
11894 {
11895   return (poly64x1_t)
11896       {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
11897 }
11898 
11899 __extension__ extern __inline int8x8_t
11900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)11901 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
11902 {
11903   return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
11904 }
11905 
11906 __extension__ extern __inline int16x4_t
11907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)11908 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
11909 {
11910   return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
11911 }
11912 
11913 __extension__ extern __inline int32x2_t
11914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)11915 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
11916 {
11917   return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
11918 }
11919 
11920 __extension__ extern __inline int64x1_t
11921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)11922 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
11923 {
11924   return (int64x1_t)
11925       {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
11926 }
11927 
11928 __extension__ extern __inline uint8x8_t
11929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)11930 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
11931 {
11932   return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
11933 }
11934 
11935 __extension__ extern __inline uint16x4_t
11936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)11937 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
11938 {
11939   return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
11940 }
11941 
11942 __extension__ extern __inline uint32x2_t
11943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)11944 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
11945 {
11946   return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
11947 }
11948 
11949 __extension__ extern __inline uint64x1_t
11950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)11951 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
11952 {
11953   return (uint64x1_t)
11954       {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
11955 }
11956 
11957 __extension__ extern __inline float16x8_t
11958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f16(uint16x8_t __a,float16x8_t __b,float16x8_t __c)11959 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
11960 {
11961   return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
11962 }
11963 
11964 __extension__ extern __inline float32x4_t
11965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)11966 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
11967 {
11968   return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
11969 }
11970 
11971 __extension__ extern __inline float64x2_t
11972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f64(uint64x2_t __a,float64x2_t __b,float64x2_t __c)11973 vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
11974 {
11975   return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
11976 }
11977 
11978 __extension__ extern __inline poly8x16_t
11979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)11980 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
11981 {
11982   return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
11983 }
11984 
11985 __extension__ extern __inline poly16x8_t
11986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)11987 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
11988 {
11989   return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
11990 }
11991 
11992 __extension__ extern __inline int8x16_t
11993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)11994 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
11995 {
11996   return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
11997 }
11998 
11999 __extension__ extern __inline int16x8_t
12000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)12001 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
12002 {
12003   return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
12004 }
12005 
12006 __extension__ extern __inline poly64x2_t
12007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)12008 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
12009 {
12010   return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
12011 }
12012 
12013 __extension__ extern __inline int32x4_t
12014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)12015 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
12016 {
12017   return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
12018 }
12019 
12020 __extension__ extern __inline int64x2_t
12021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)12022 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
12023 {
12024   return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
12025 }
12026 
12027 __extension__ extern __inline uint8x16_t
12028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)12029 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
12030 {
12031   return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
12032 }
12033 
12034 __extension__ extern __inline uint16x8_t
12035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)12036 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
12037 {
12038   return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
12039 }
12040 
12041 __extension__ extern __inline uint32x4_t
12042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)12043 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
12044 {
12045   return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
12046 }
12047 
12048 __extension__ extern __inline uint64x2_t
12049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)12050 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
12051 {
12052   return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
12053 }
12054 
12055 /* ARMv8.1-A instrinsics.  */
12056 #pragma GCC push_options
12057 #pragma GCC target ("+nothing+rdma")
12058 
12059 __extension__ extern __inline int16x4_t
12060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)12061 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
12062 {
12063   return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
12064 }
12065 
12066 __extension__ extern __inline int32x2_t
12067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)12068 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
12069 {
12070   return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
12071 }
12072 
12073 __extension__ extern __inline int16x8_t
12074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)12075 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
12076 {
12077   return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
12078 }
12079 
12080 __extension__ extern __inline int32x4_t
12081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)12082 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
12083 {
12084   return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
12085 }
12086 
12087 __extension__ extern __inline int16x4_t
12088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)12089 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
12090 {
12091   return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
12092 }
12093 
12094 __extension__ extern __inline int32x2_t
12095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)12096 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
12097 {
12098   return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
12099 }
12100 
12101 __extension__ extern __inline int16x8_t
12102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)12103 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
12104 {
12105   return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
12106 }
12107 
12108 __extension__ extern __inline int32x4_t
12109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)12110 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
12111 {
12112   return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
12113 }
12114 
12115 __extension__ extern __inline int16x4_t
12116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)12117 vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
12118 {
12119   return  __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
12120 }
12121 
12122 __extension__ extern __inline int32x2_t
12123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)12124 vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
12125 {
12126   return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
12127 }
12128 
12129 __extension__ extern __inline int16x8_t
12130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)12131 vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
12132 {
12133   return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
12134 }
12135 
12136 __extension__ extern __inline int32x4_t
12137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)12138 vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
12139 {
12140   return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
12141 }
12142 
12143 __extension__ extern __inline int16x4_t
12144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)12145 vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
12146 {
12147   return  __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
12148 }
12149 
12150 __extension__ extern __inline int32x2_t
12151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)12152 vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
12153 {
12154   return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
12155 }
12156 
12157 __extension__ extern __inline int16x8_t
12158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)12159 vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
12160 {
12161   return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
12162 }
12163 
12164 __extension__ extern __inline int32x4_t
12165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)12166 vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
12167 {
12168   return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
12169 }
12170 
12171 __extension__ extern __inline int16x4_t
12172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)12173 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
12174 {
12175   return  __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
12176 }
12177 
12178 __extension__ extern __inline int32x2_t
12179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)12180 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
12181 {
12182   return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
12183 }
12184 
12185 __extension__ extern __inline int16x8_t
12186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)12187 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
12188 {
12189   return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
12190 }
12191 
12192 __extension__ extern __inline int32x4_t
12193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)12194 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
12195 {
12196   return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
12197 }
12198 
12199 __extension__ extern __inline int16_t
12200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_s16(int16_t __a,int16_t __b,int16_t __c)12201 vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
12202 {
12203   return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
12204 }
12205 
12206 __extension__ extern __inline int16_t
12207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)12208 vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
12209 {
12210   return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
12211 }
12212 
12213 __extension__ extern __inline int16_t
12214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)12215 vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
12216 {
12217   return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
12218 }
12219 
12220 __extension__ extern __inline int32_t
12221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_s32(int32_t __a,int32_t __b,int32_t __c)12222 vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
12223 {
12224   return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
12225 }
12226 
12227 __extension__ extern __inline int32_t
12228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)12229 vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
12230 {
12231   return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
12232 }
12233 
12234 __extension__ extern __inline int32_t
12235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)12236 vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
12237 {
12238   return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
12239 }
12240 
12241 __extension__ extern __inline int16x4_t
12242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)12243 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
12244 {
12245   return  __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
12246 }
12247 
12248 __extension__ extern __inline int32x2_t
12249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)12250 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
12251 {
12252   return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
12253 }
12254 
12255 __extension__ extern __inline int16x8_t
12256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)12257 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
12258 {
12259   return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
12260 }
12261 
12262 __extension__ extern __inline int32x4_t
12263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)12264 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
12265 {
12266   return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
12267 }
12268 
12269 __extension__ extern __inline int16_t
12270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_s16(int16_t __a,int16_t __b,int16_t __c)12271 vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
12272 {
12273   return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
12274 }
12275 
12276 __extension__ extern __inline int16_t
12277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)12278 vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
12279 {
12280   return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
12281 }
12282 
12283 __extension__ extern __inline int16_t
12284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)12285 vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
12286 {
12287   return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
12288 }
12289 
12290 __extension__ extern __inline int32_t
12291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_s32(int32_t __a,int32_t __b,int32_t __c)12292 vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
12293 {
12294   return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
12295 }
12296 
12297 __extension__ extern __inline int32_t
12298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)12299 vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
12300 {
12301   return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
12302 }
12303 
12304 __extension__ extern __inline int32_t
12305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)12306 vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
12307 {
12308   return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
12309 }
12310 #pragma GCC pop_options
12311 
12312 #pragma GCC push_options
12313 #pragma GCC target ("+nothing+crypto")
12314 /* vaes  */
12315 
12316 __extension__ extern __inline uint8x16_t
12317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaeseq_u8(uint8x16_t data,uint8x16_t key)12318 vaeseq_u8 (uint8x16_t data, uint8x16_t key)
12319 {
12320   return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
12321 }
12322 
12323 __extension__ extern __inline uint8x16_t
12324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesdq_u8(uint8x16_t data,uint8x16_t key)12325 vaesdq_u8 (uint8x16_t data, uint8x16_t key)
12326 {
12327   return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
12328 }
12329 
12330 __extension__ extern __inline uint8x16_t
12331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesmcq_u8(uint8x16_t data)12332 vaesmcq_u8 (uint8x16_t data)
12333 {
12334   return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
12335 }
12336 
12337 __extension__ extern __inline uint8x16_t
12338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesimcq_u8(uint8x16_t data)12339 vaesimcq_u8 (uint8x16_t data)
12340 {
12341   return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
12342 }
12343 #pragma GCC pop_options
12344 
12345 /* vcage  */
12346 
12347 __extension__ extern __inline uint64x1_t
12348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f64(float64x1_t __a,float64x1_t __b)12349 vcage_f64 (float64x1_t __a, float64x1_t __b)
12350 {
12351   return vabs_f64 (__a) >= vabs_f64 (__b);
12352 }
12353 
12354 __extension__ extern __inline uint32_t
12355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcages_f32(float32_t __a,float32_t __b)12356 vcages_f32 (float32_t __a, float32_t __b)
12357 {
12358   return __builtin_fabsf (__a) >= __builtin_fabsf (__b) ? -1 : 0;
12359 }
12360 
12361 __extension__ extern __inline uint32x2_t
12362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f32(float32x2_t __a,float32x2_t __b)12363 vcage_f32 (float32x2_t __a, float32x2_t __b)
12364 {
12365   return vabs_f32 (__a) >= vabs_f32 (__b);
12366 }
12367 
12368 __extension__ extern __inline uint32x4_t
12369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f32(float32x4_t __a,float32x4_t __b)12370 vcageq_f32 (float32x4_t __a, float32x4_t __b)
12371 {
12372   return vabsq_f32 (__a) >= vabsq_f32 (__b);
12373 }
12374 
12375 __extension__ extern __inline uint64_t
12376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaged_f64(float64_t __a,float64_t __b)12377 vcaged_f64 (float64_t __a, float64_t __b)
12378 {
12379   return __builtin_fabs (__a) >= __builtin_fabs (__b) ? -1 : 0;
12380 }
12381 
12382 __extension__ extern __inline uint64x2_t
12383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f64(float64x2_t __a,float64x2_t __b)12384 vcageq_f64 (float64x2_t __a, float64x2_t __b)
12385 {
12386   return vabsq_f64 (__a) >= vabsq_f64 (__b);
12387 }
12388 
12389 /* vcagt  */
12390 
12391 __extension__ extern __inline uint32_t
12392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagts_f32(float32_t __a,float32_t __b)12393 vcagts_f32 (float32_t __a, float32_t __b)
12394 {
12395   return __builtin_fabsf (__a) > __builtin_fabsf (__b) ? -1 : 0;
12396 }
12397 
12398 __extension__ extern __inline uint32x2_t
12399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f32(float32x2_t __a,float32x2_t __b)12400 vcagt_f32 (float32x2_t __a, float32x2_t __b)
12401 {
12402   return vabs_f32 (__a) > vabs_f32 (__b);
12403 }
12404 
12405 __extension__ extern __inline uint64x1_t
12406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f64(float64x1_t __a,float64x1_t __b)12407 vcagt_f64 (float64x1_t __a, float64x1_t __b)
12408 {
12409   return vabs_f64 (__a) > vabs_f64 (__b);
12410 }
12411 
12412 __extension__ extern __inline uint32x4_t
12413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)12414 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
12415 {
12416   return vabsq_f32 (__a) > vabsq_f32 (__b);
12417 }
12418 
12419 __extension__ extern __inline uint64_t
12420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtd_f64(float64_t __a,float64_t __b)12421 vcagtd_f64 (float64_t __a, float64_t __b)
12422 {
12423   return __builtin_fabs (__a) > __builtin_fabs (__b) ? -1 : 0;
12424 }
12425 
12426 __extension__ extern __inline uint64x2_t
12427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f64(float64x2_t __a,float64x2_t __b)12428 vcagtq_f64 (float64x2_t __a, float64x2_t __b)
12429 {
12430   return vabsq_f64 (__a) > vabsq_f64 (__b);
12431 }
12432 
12433 /* vcale  */
12434 
12435 __extension__ extern __inline uint32x2_t
12436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f32(float32x2_t __a,float32x2_t __b)12437 vcale_f32 (float32x2_t __a, float32x2_t __b)
12438 {
12439   return vabs_f32 (__a) <= vabs_f32 (__b);
12440 }
12441 
12442 __extension__ extern __inline uint64x1_t
12443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f64(float64x1_t __a,float64x1_t __b)12444 vcale_f64 (float64x1_t __a, float64x1_t __b)
12445 {
12446   return vabs_f64 (__a) <= vabs_f64 (__b);
12447 }
12448 
12449 __extension__ extern __inline uint64_t
12450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaled_f64(float64_t __a,float64_t __b)12451 vcaled_f64 (float64_t __a, float64_t __b)
12452 {
12453   return __builtin_fabs (__a) <= __builtin_fabs (__b) ? -1 : 0;
12454 }
12455 
12456 __extension__ extern __inline uint32_t
12457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcales_f32(float32_t __a,float32_t __b)12458 vcales_f32 (float32_t __a, float32_t __b)
12459 {
12460   return __builtin_fabsf (__a) <= __builtin_fabsf (__b) ? -1 : 0;
12461 }
12462 
12463 __extension__ extern __inline uint32x4_t
12464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)12465 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
12466 {
12467   return vabsq_f32 (__a) <= vabsq_f32 (__b);
12468 }
12469 
12470 __extension__ extern __inline uint64x2_t
12471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f64(float64x2_t __a,float64x2_t __b)12472 vcaleq_f64 (float64x2_t __a, float64x2_t __b)
12473 {
12474   return vabsq_f64 (__a) <= vabsq_f64 (__b);
12475 }
12476 
12477 /* vcalt  */
12478 
12479 __extension__ extern __inline uint32x2_t
12480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f32(float32x2_t __a,float32x2_t __b)12481 vcalt_f32 (float32x2_t __a, float32x2_t __b)
12482 {
12483   return vabs_f32 (__a) < vabs_f32 (__b);
12484 }
12485 
12486 __extension__ extern __inline uint64x1_t
12487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f64(float64x1_t __a,float64x1_t __b)12488 vcalt_f64 (float64x1_t __a, float64x1_t __b)
12489 {
12490   return vabs_f64 (__a) < vabs_f64 (__b);
12491 }
12492 
12493 __extension__ extern __inline uint64_t
12494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltd_f64(float64_t __a,float64_t __b)12495 vcaltd_f64 (float64_t __a, float64_t __b)
12496 {
12497   return __builtin_fabs (__a) < __builtin_fabs (__b) ? -1 : 0;
12498 }
12499 
12500 __extension__ extern __inline uint32x4_t
12501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)12502 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
12503 {
12504   return vabsq_f32 (__a) < vabsq_f32 (__b);
12505 }
12506 
12507 __extension__ extern __inline uint64x2_t
12508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f64(float64x2_t __a,float64x2_t __b)12509 vcaltq_f64 (float64x2_t __a, float64x2_t __b)
12510 {
12511   return vabsq_f64 (__a) < vabsq_f64 (__b);
12512 }
12513 
12514 __extension__ extern __inline uint32_t
12515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalts_f32(float32_t __a,float32_t __b)12516 vcalts_f32 (float32_t __a, float32_t __b)
12517 {
12518   return __builtin_fabsf (__a) < __builtin_fabsf (__b) ? -1 : 0;
12519 }
12520 
12521 /* vceq - vector.  */
12522 
12523 __extension__ extern __inline uint32x2_t
12524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f32(float32x2_t __a,float32x2_t __b)12525 vceq_f32 (float32x2_t __a, float32x2_t __b)
12526 {
12527   return (uint32x2_t) (__a == __b);
12528 }
12529 
12530 __extension__ extern __inline uint64x1_t
12531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f64(float64x1_t __a,float64x1_t __b)12532 vceq_f64 (float64x1_t __a, float64x1_t __b)
12533 {
12534   return (uint64x1_t) (__a == __b);
12535 }
12536 
12537 __extension__ extern __inline uint8x8_t
12538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)12539 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
12540 {
12541   return (uint8x8_t) (__a == __b);
12542 }
12543 
12544 __extension__ extern __inline uint64x1_t
12545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)12546 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
12547 {
12548   return (uint64x1_t) (__a == __b);
12549 }
12550 
12551 __extension__ extern __inline uint8x8_t
12552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s8(int8x8_t __a,int8x8_t __b)12553 vceq_s8 (int8x8_t __a, int8x8_t __b)
12554 {
12555   return (uint8x8_t) (__a == __b);
12556 }
12557 
12558 __extension__ extern __inline uint16x4_t
12559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s16(int16x4_t __a,int16x4_t __b)12560 vceq_s16 (int16x4_t __a, int16x4_t __b)
12561 {
12562   return (uint16x4_t) (__a == __b);
12563 }
12564 
12565 __extension__ extern __inline uint32x2_t
12566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s32(int32x2_t __a,int32x2_t __b)12567 vceq_s32 (int32x2_t __a, int32x2_t __b)
12568 {
12569   return (uint32x2_t) (__a == __b);
12570 }
12571 
12572 __extension__ extern __inline uint64x1_t
12573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s64(int64x1_t __a,int64x1_t __b)12574 vceq_s64 (int64x1_t __a, int64x1_t __b)
12575 {
12576   return (uint64x1_t) (__a == __b);
12577 }
12578 
12579 __extension__ extern __inline uint8x8_t
12580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)12581 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
12582 {
12583   return (__a == __b);
12584 }
12585 
12586 __extension__ extern __inline uint16x4_t
12587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)12588 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
12589 {
12590   return (__a == __b);
12591 }
12592 
12593 __extension__ extern __inline uint32x2_t
12594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)12595 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
12596 {
12597   return (__a == __b);
12598 }
12599 
12600 __extension__ extern __inline uint64x1_t
12601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u64(uint64x1_t __a,uint64x1_t __b)12602 vceq_u64 (uint64x1_t __a, uint64x1_t __b)
12603 {
12604   return (__a == __b);
12605 }
12606 
12607 __extension__ extern __inline uint32x4_t
12608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f32(float32x4_t __a,float32x4_t __b)12609 vceqq_f32 (float32x4_t __a, float32x4_t __b)
12610 {
12611   return (uint32x4_t) (__a == __b);
12612 }
12613 
12614 __extension__ extern __inline uint64x2_t
12615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f64(float64x2_t __a,float64x2_t __b)12616 vceqq_f64 (float64x2_t __a, float64x2_t __b)
12617 {
12618   return (uint64x2_t) (__a == __b);
12619 }
12620 
12621 __extension__ extern __inline uint8x16_t
12622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)12623 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
12624 {
12625   return (uint8x16_t) (__a == __b);
12626 }
12627 
12628 __extension__ extern __inline uint8x16_t
12629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s8(int8x16_t __a,int8x16_t __b)12630 vceqq_s8 (int8x16_t __a, int8x16_t __b)
12631 {
12632   return (uint8x16_t) (__a == __b);
12633 }
12634 
12635 __extension__ extern __inline uint16x8_t
12636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s16(int16x8_t __a,int16x8_t __b)12637 vceqq_s16 (int16x8_t __a, int16x8_t __b)
12638 {
12639   return (uint16x8_t) (__a == __b);
12640 }
12641 
12642 __extension__ extern __inline uint32x4_t
12643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s32(int32x4_t __a,int32x4_t __b)12644 vceqq_s32 (int32x4_t __a, int32x4_t __b)
12645 {
12646   return (uint32x4_t) (__a == __b);
12647 }
12648 
12649 __extension__ extern __inline uint64x2_t
12650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s64(int64x2_t __a,int64x2_t __b)12651 vceqq_s64 (int64x2_t __a, int64x2_t __b)
12652 {
12653   return (uint64x2_t) (__a == __b);
12654 }
12655 
12656 __extension__ extern __inline uint8x16_t
12657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)12658 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
12659 {
12660   return (__a == __b);
12661 }
12662 
12663 __extension__ extern __inline uint16x8_t
12664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)12665 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
12666 {
12667   return (__a == __b);
12668 }
12669 
12670 __extension__ extern __inline uint32x4_t
12671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)12672 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
12673 {
12674   return (__a == __b);
12675 }
12676 
12677 __extension__ extern __inline uint64x2_t
12678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u64(uint64x2_t __a,uint64x2_t __b)12679 vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
12680 {
12681   return (__a == __b);
12682 }
12683 
12684 __extension__ extern __inline uint64x2_t
12685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p64(poly64x2_t __a,poly64x2_t __b)12686 vceqq_p64 (poly64x2_t __a, poly64x2_t __b)
12687 {
12688   return (__a == __b);
12689 }
12690 
12691 /* vceq - scalar.  */
12692 
12693 __extension__ extern __inline uint32_t
12694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqs_f32(float32_t __a,float32_t __b)12695 vceqs_f32 (float32_t __a, float32_t __b)
12696 {
12697   return __a == __b ? -1 : 0;
12698 }
12699 
12700 __extension__ extern __inline uint64_t
12701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_s64(int64_t __a,int64_t __b)12702 vceqd_s64 (int64_t __a, int64_t __b)
12703 {
12704   return __a == __b ? -1ll : 0ll;
12705 }
12706 
12707 __extension__ extern __inline uint64_t
12708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_u64(uint64_t __a,uint64_t __b)12709 vceqd_u64 (uint64_t __a, uint64_t __b)
12710 {
12711   return __a == __b ? -1ll : 0ll;
12712 }
12713 
12714 __extension__ extern __inline uint64_t
12715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_f64(float64_t __a,float64_t __b)12716 vceqd_f64 (float64_t __a, float64_t __b)
12717 {
12718   return __a == __b ? -1ll : 0ll;
12719 }
12720 
12721 /* vceqz - vector.  */
12722 
12723 __extension__ extern __inline uint32x2_t
12724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f32(float32x2_t __a)12725 vceqz_f32 (float32x2_t __a)
12726 {
12727   return (uint32x2_t) (__a == 0.0f);
12728 }
12729 
12730 __extension__ extern __inline uint64x1_t
12731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f64(float64x1_t __a)12732 vceqz_f64 (float64x1_t __a)
12733 {
12734   return (uint64x1_t) (__a == (float64x1_t) {0.0});
12735 }
12736 
12737 __extension__ extern __inline uint8x8_t
12738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_p8(poly8x8_t __a)12739 vceqz_p8 (poly8x8_t __a)
12740 {
12741   return (uint8x8_t) (__a == 0);
12742 }
12743 
12744 __extension__ extern __inline uint8x8_t
12745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s8(int8x8_t __a)12746 vceqz_s8 (int8x8_t __a)
12747 {
12748   return (uint8x8_t) (__a == 0);
12749 }
12750 
12751 __extension__ extern __inline uint16x4_t
12752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s16(int16x4_t __a)12753 vceqz_s16 (int16x4_t __a)
12754 {
12755   return (uint16x4_t) (__a == 0);
12756 }
12757 
12758 __extension__ extern __inline uint32x2_t
12759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s32(int32x2_t __a)12760 vceqz_s32 (int32x2_t __a)
12761 {
12762   return (uint32x2_t) (__a == 0);
12763 }
12764 
12765 __extension__ extern __inline uint64x1_t
12766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s64(int64x1_t __a)12767 vceqz_s64 (int64x1_t __a)
12768 {
12769   return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
12770 }
12771 
12772 __extension__ extern __inline uint8x8_t
12773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u8(uint8x8_t __a)12774 vceqz_u8 (uint8x8_t __a)
12775 {
12776   return (__a == 0);
12777 }
12778 
12779 __extension__ extern __inline uint16x4_t
12780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u16(uint16x4_t __a)12781 vceqz_u16 (uint16x4_t __a)
12782 {
12783   return (__a == 0);
12784 }
12785 
12786 __extension__ extern __inline uint32x2_t
12787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u32(uint32x2_t __a)12788 vceqz_u32 (uint32x2_t __a)
12789 {
12790   return (__a == 0);
12791 }
12792 
12793 __extension__ extern __inline uint64x1_t
12794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u64(uint64x1_t __a)12795 vceqz_u64 (uint64x1_t __a)
12796 {
12797   return (__a == __AARCH64_UINT64_C (0));
12798 }
12799 
12800 __extension__ extern __inline uint64x1_t
12801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_p64(poly64x1_t __a)12802 vceqz_p64 (poly64x1_t __a)
12803 {
12804   return (__a == __AARCH64_UINT64_C (0));
12805 }
12806 
12807 __extension__ extern __inline uint32x4_t
12808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f32(float32x4_t __a)12809 vceqzq_f32 (float32x4_t __a)
12810 {
12811   return (uint32x4_t) (__a == 0.0f);
12812 }
12813 
12814 __extension__ extern __inline uint64x2_t
12815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f64(float64x2_t __a)12816 vceqzq_f64 (float64x2_t __a)
12817 {
12818   return (uint64x2_t) (__a == 0.0f);
12819 }
12820 
12821 __extension__ extern __inline uint8x16_t
12822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_p8(poly8x16_t __a)12823 vceqzq_p8 (poly8x16_t __a)
12824 {
12825   return (uint8x16_t) (__a == 0);
12826 }
12827 
12828 __extension__ extern __inline uint8x16_t
12829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s8(int8x16_t __a)12830 vceqzq_s8 (int8x16_t __a)
12831 {
12832   return (uint8x16_t) (__a == 0);
12833 }
12834 
12835 __extension__ extern __inline uint16x8_t
12836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s16(int16x8_t __a)12837 vceqzq_s16 (int16x8_t __a)
12838 {
12839   return (uint16x8_t) (__a == 0);
12840 }
12841 
12842 __extension__ extern __inline uint32x4_t
12843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s32(int32x4_t __a)12844 vceqzq_s32 (int32x4_t __a)
12845 {
12846   return (uint32x4_t) (__a == 0);
12847 }
12848 
12849 __extension__ extern __inline uint64x2_t
12850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s64(int64x2_t __a)12851 vceqzq_s64 (int64x2_t __a)
12852 {
12853   return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
12854 }
12855 
12856 __extension__ extern __inline uint8x16_t
12857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u8(uint8x16_t __a)12858 vceqzq_u8 (uint8x16_t __a)
12859 {
12860   return (__a == 0);
12861 }
12862 
12863 __extension__ extern __inline uint16x8_t
12864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u16(uint16x8_t __a)12865 vceqzq_u16 (uint16x8_t __a)
12866 {
12867   return (__a == 0);
12868 }
12869 
12870 __extension__ extern __inline uint32x4_t
12871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u32(uint32x4_t __a)12872 vceqzq_u32 (uint32x4_t __a)
12873 {
12874   return (__a == 0);
12875 }
12876 
12877 __extension__ extern __inline uint64x2_t
12878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u64(uint64x2_t __a)12879 vceqzq_u64 (uint64x2_t __a)
12880 {
12881   return (__a == __AARCH64_UINT64_C (0));
12882 }
12883 
12884 __extension__ extern __inline uint64x2_t
12885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_p64(poly64x2_t __a)12886 vceqzq_p64 (poly64x2_t __a)
12887 {
12888   return (__a == __AARCH64_UINT64_C (0));
12889 }
12890 
12891 /* vceqz - scalar.  */
12892 
12893 __extension__ extern __inline uint32_t
12894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzs_f32(float32_t __a)12895 vceqzs_f32 (float32_t __a)
12896 {
12897   return __a == 0.0f ? -1 : 0;
12898 }
12899 
12900 __extension__ extern __inline uint64_t
12901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_s64(int64_t __a)12902 vceqzd_s64 (int64_t __a)
12903 {
12904   return __a == 0 ? -1ll : 0ll;
12905 }
12906 
12907 __extension__ extern __inline uint64_t
12908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_u64(uint64_t __a)12909 vceqzd_u64 (uint64_t __a)
12910 {
12911   return __a == 0 ? -1ll : 0ll;
12912 }
12913 
12914 __extension__ extern __inline uint64_t
12915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_f64(float64_t __a)12916 vceqzd_f64 (float64_t __a)
12917 {
12918   return __a == 0.0 ? -1ll : 0ll;
12919 }
12920 
12921 /* vcge - vector.  */
12922 
12923 __extension__ extern __inline uint32x2_t
12924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f32(float32x2_t __a,float32x2_t __b)12925 vcge_f32 (float32x2_t __a, float32x2_t __b)
12926 {
12927   return (uint32x2_t) (__a >= __b);
12928 }
12929 
12930 __extension__ extern __inline uint64x1_t
12931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f64(float64x1_t __a,float64x1_t __b)12932 vcge_f64 (float64x1_t __a, float64x1_t __b)
12933 {
12934   return (uint64x1_t) (__a >= __b);
12935 }
12936 
12937 __extension__ extern __inline uint8x8_t
12938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s8(int8x8_t __a,int8x8_t __b)12939 vcge_s8 (int8x8_t __a, int8x8_t __b)
12940 {
12941   return (uint8x8_t) (__a >= __b);
12942 }
12943 
12944 __extension__ extern __inline uint16x4_t
12945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s16(int16x4_t __a,int16x4_t __b)12946 vcge_s16 (int16x4_t __a, int16x4_t __b)
12947 {
12948   return (uint16x4_t) (__a >= __b);
12949 }
12950 
12951 __extension__ extern __inline uint32x2_t
12952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s32(int32x2_t __a,int32x2_t __b)12953 vcge_s32 (int32x2_t __a, int32x2_t __b)
12954 {
12955   return (uint32x2_t) (__a >= __b);
12956 }
12957 
12958 __extension__ extern __inline uint64x1_t
12959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s64(int64x1_t __a,int64x1_t __b)12960 vcge_s64 (int64x1_t __a, int64x1_t __b)
12961 {
12962   return (uint64x1_t) (__a >= __b);
12963 }
12964 
12965 __extension__ extern __inline uint8x8_t
12966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)12967 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
12968 {
12969   return (__a >= __b);
12970 }
12971 
12972 __extension__ extern __inline uint16x4_t
12973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)12974 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
12975 {
12976   return (__a >= __b);
12977 }
12978 
12979 __extension__ extern __inline uint32x2_t
12980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)12981 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
12982 {
12983   return (__a >= __b);
12984 }
12985 
12986 __extension__ extern __inline uint64x1_t
12987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u64(uint64x1_t __a,uint64x1_t __b)12988 vcge_u64 (uint64x1_t __a, uint64x1_t __b)
12989 {
12990   return (__a >= __b);
12991 }
12992 
12993 __extension__ extern __inline uint32x4_t
12994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)12995 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
12996 {
12997   return (uint32x4_t) (__a >= __b);
12998 }
12999 
13000 __extension__ extern __inline uint64x2_t
13001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f64(float64x2_t __a,float64x2_t __b)13002 vcgeq_f64 (float64x2_t __a, float64x2_t __b)
13003 {
13004   return (uint64x2_t) (__a >= __b);
13005 }
13006 
13007 __extension__ extern __inline uint8x16_t
13008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)13009 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
13010 {
13011   return (uint8x16_t) (__a >= __b);
13012 }
13013 
13014 __extension__ extern __inline uint16x8_t
13015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)13016 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
13017 {
13018   return (uint16x8_t) (__a >= __b);
13019 }
13020 
13021 __extension__ extern __inline uint32x4_t
13022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)13023 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
13024 {
13025   return (uint32x4_t) (__a >= __b);
13026 }
13027 
13028 __extension__ extern __inline uint64x2_t
13029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s64(int64x2_t __a,int64x2_t __b)13030 vcgeq_s64 (int64x2_t __a, int64x2_t __b)
13031 {
13032   return (uint64x2_t) (__a >= __b);
13033 }
13034 
13035 __extension__ extern __inline uint8x16_t
13036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)13037 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
13038 {
13039   return (__a >= __b);
13040 }
13041 
13042 __extension__ extern __inline uint16x8_t
13043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)13044 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
13045 {
13046   return (__a >= __b);
13047 }
13048 
13049 __extension__ extern __inline uint32x4_t
13050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)13051 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
13052 {
13053   return (__a >= __b);
13054 }
13055 
13056 __extension__ extern __inline uint64x2_t
13057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u64(uint64x2_t __a,uint64x2_t __b)13058 vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
13059 {
13060   return (__a >= __b);
13061 }
13062 
13063 /* vcge - scalar.  */
13064 
13065 __extension__ extern __inline uint32_t
13066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcges_f32(float32_t __a,float32_t __b)13067 vcges_f32 (float32_t __a, float32_t __b)
13068 {
13069   return __a >= __b ? -1 : 0;
13070 }
13071 
13072 __extension__ extern __inline uint64_t
13073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_s64(int64_t __a,int64_t __b)13074 vcged_s64 (int64_t __a, int64_t __b)
13075 {
13076   return __a >= __b ? -1ll : 0ll;
13077 }
13078 
13079 __extension__ extern __inline uint64_t
13080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_u64(uint64_t __a,uint64_t __b)13081 vcged_u64 (uint64_t __a, uint64_t __b)
13082 {
13083   return __a >= __b ? -1ll : 0ll;
13084 }
13085 
13086 __extension__ extern __inline uint64_t
13087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_f64(float64_t __a,float64_t __b)13088 vcged_f64 (float64_t __a, float64_t __b)
13089 {
13090   return __a >= __b ? -1ll : 0ll;
13091 }
13092 
13093 /* vcgez - vector.  */
13094 
13095 __extension__ extern __inline uint32x2_t
13096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f32(float32x2_t __a)13097 vcgez_f32 (float32x2_t __a)
13098 {
13099   return (uint32x2_t) (__a >= 0.0f);
13100 }
13101 
13102 __extension__ extern __inline uint64x1_t
13103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f64(float64x1_t __a)13104 vcgez_f64 (float64x1_t __a)
13105 {
13106   return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
13107 }
13108 
13109 __extension__ extern __inline uint8x8_t
13110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s8(int8x8_t __a)13111 vcgez_s8 (int8x8_t __a)
13112 {
13113   return (uint8x8_t) (__a >= 0);
13114 }
13115 
13116 __extension__ extern __inline uint16x4_t
13117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s16(int16x4_t __a)13118 vcgez_s16 (int16x4_t __a)
13119 {
13120   return (uint16x4_t) (__a >= 0);
13121 }
13122 
13123 __extension__ extern __inline uint32x2_t
13124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s32(int32x2_t __a)13125 vcgez_s32 (int32x2_t __a)
13126 {
13127   return (uint32x2_t) (__a >= 0);
13128 }
13129 
13130 __extension__ extern __inline uint64x1_t
13131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s64(int64x1_t __a)13132 vcgez_s64 (int64x1_t __a)
13133 {
13134   return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
13135 }
13136 
13137 __extension__ extern __inline uint32x4_t
13138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f32(float32x4_t __a)13139 vcgezq_f32 (float32x4_t __a)
13140 {
13141   return (uint32x4_t) (__a >= 0.0f);
13142 }
13143 
13144 __extension__ extern __inline uint64x2_t
13145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f64(float64x2_t __a)13146 vcgezq_f64 (float64x2_t __a)
13147 {
13148   return (uint64x2_t) (__a >= 0.0);
13149 }
13150 
13151 __extension__ extern __inline uint8x16_t
13152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s8(int8x16_t __a)13153 vcgezq_s8 (int8x16_t __a)
13154 {
13155   return (uint8x16_t) (__a >= 0);
13156 }
13157 
13158 __extension__ extern __inline uint16x8_t
13159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s16(int16x8_t __a)13160 vcgezq_s16 (int16x8_t __a)
13161 {
13162   return (uint16x8_t) (__a >= 0);
13163 }
13164 
13165 __extension__ extern __inline uint32x4_t
13166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s32(int32x4_t __a)13167 vcgezq_s32 (int32x4_t __a)
13168 {
13169   return (uint32x4_t) (__a >= 0);
13170 }
13171 
13172 __extension__ extern __inline uint64x2_t
13173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s64(int64x2_t __a)13174 vcgezq_s64 (int64x2_t __a)
13175 {
13176   return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
13177 }
13178 
13179 /* vcgez - scalar.  */
13180 
13181 __extension__ extern __inline uint32_t
13182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezs_f32(float32_t __a)13183 vcgezs_f32 (float32_t __a)
13184 {
13185   return __a >= 0.0f ? -1 : 0;
13186 }
13187 
13188 __extension__ extern __inline uint64_t
13189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_s64(int64_t __a)13190 vcgezd_s64 (int64_t __a)
13191 {
13192   return __a >= 0 ? -1ll : 0ll;
13193 }
13194 
13195 __extension__ extern __inline uint64_t
13196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_f64(float64_t __a)13197 vcgezd_f64 (float64_t __a)
13198 {
13199   return __a >= 0.0 ? -1ll : 0ll;
13200 }
13201 
13202 /* vcgt - vector.  */
13203 
13204 __extension__ extern __inline uint32x2_t
13205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f32(float32x2_t __a,float32x2_t __b)13206 vcgt_f32 (float32x2_t __a, float32x2_t __b)
13207 {
13208   return (uint32x2_t) (__a > __b);
13209 }
13210 
13211 __extension__ extern __inline uint64x1_t
13212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f64(float64x1_t __a,float64x1_t __b)13213 vcgt_f64 (float64x1_t __a, float64x1_t __b)
13214 {
13215   return (uint64x1_t) (__a > __b);
13216 }
13217 
13218 __extension__ extern __inline uint8x8_t
13219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s8(int8x8_t __a,int8x8_t __b)13220 vcgt_s8 (int8x8_t __a, int8x8_t __b)
13221 {
13222   return (uint8x8_t) (__a > __b);
13223 }
13224 
13225 __extension__ extern __inline uint16x4_t
13226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s16(int16x4_t __a,int16x4_t __b)13227 vcgt_s16 (int16x4_t __a, int16x4_t __b)
13228 {
13229   return (uint16x4_t) (__a > __b);
13230 }
13231 
13232 __extension__ extern __inline uint32x2_t
13233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s32(int32x2_t __a,int32x2_t __b)13234 vcgt_s32 (int32x2_t __a, int32x2_t __b)
13235 {
13236   return (uint32x2_t) (__a > __b);
13237 }
13238 
13239 __extension__ extern __inline uint64x1_t
13240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s64(int64x1_t __a,int64x1_t __b)13241 vcgt_s64 (int64x1_t __a, int64x1_t __b)
13242 {
13243   return (uint64x1_t) (__a > __b);
13244 }
13245 
13246 __extension__ extern __inline uint8x8_t
13247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)13248 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
13249 {
13250   return (__a > __b);
13251 }
13252 
13253 __extension__ extern __inline uint16x4_t
13254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)13255 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
13256 {
13257   return (__a > __b);
13258 }
13259 
13260 __extension__ extern __inline uint32x2_t
13261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)13262 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
13263 {
13264   return (__a > __b);
13265 }
13266 
13267 __extension__ extern __inline uint64x1_t
13268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u64(uint64x1_t __a,uint64x1_t __b)13269 vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
13270 {
13271   return (__a > __b);
13272 }
13273 
13274 __extension__ extern __inline uint32x4_t
13275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)13276 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
13277 {
13278   return (uint32x4_t) (__a > __b);
13279 }
13280 
13281 __extension__ extern __inline uint64x2_t
13282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f64(float64x2_t __a,float64x2_t __b)13283 vcgtq_f64 (float64x2_t __a, float64x2_t __b)
13284 {
13285   return (uint64x2_t) (__a > __b);
13286 }
13287 
13288 __extension__ extern __inline uint8x16_t
13289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)13290 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
13291 {
13292   return (uint8x16_t) (__a > __b);
13293 }
13294 
13295 __extension__ extern __inline uint16x8_t
13296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)13297 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
13298 {
13299   return (uint16x8_t) (__a > __b);
13300 }
13301 
13302 __extension__ extern __inline uint32x4_t
13303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)13304 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
13305 {
13306   return (uint32x4_t) (__a > __b);
13307 }
13308 
13309 __extension__ extern __inline uint64x2_t
13310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s64(int64x2_t __a,int64x2_t __b)13311 vcgtq_s64 (int64x2_t __a, int64x2_t __b)
13312 {
13313   return (uint64x2_t) (__a > __b);
13314 }
13315 
13316 __extension__ extern __inline uint8x16_t
13317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)13318 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
13319 {
13320   return (__a > __b);
13321 }
13322 
13323 __extension__ extern __inline uint16x8_t
13324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)13325 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
13326 {
13327   return (__a > __b);
13328 }
13329 
13330 __extension__ extern __inline uint32x4_t
13331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)13332 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
13333 {
13334   return (__a > __b);
13335 }
13336 
13337 __extension__ extern __inline uint64x2_t
13338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u64(uint64x2_t __a,uint64x2_t __b)13339 vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
13340 {
13341   return (__a > __b);
13342 }
13343 
13344 /* vcgt - scalar.  */
13345 
13346 __extension__ extern __inline uint32_t
13347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgts_f32(float32_t __a,float32_t __b)13348 vcgts_f32 (float32_t __a, float32_t __b)
13349 {
13350   return __a > __b ? -1 : 0;
13351 }
13352 
13353 __extension__ extern __inline uint64_t
13354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_s64(int64_t __a,int64_t __b)13355 vcgtd_s64 (int64_t __a, int64_t __b)
13356 {
13357   return __a > __b ? -1ll : 0ll;
13358 }
13359 
13360 __extension__ extern __inline uint64_t
13361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_u64(uint64_t __a,uint64_t __b)13362 vcgtd_u64 (uint64_t __a, uint64_t __b)
13363 {
13364   return __a > __b ? -1ll : 0ll;
13365 }
13366 
13367 __extension__ extern __inline uint64_t
13368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_f64(float64_t __a,float64_t __b)13369 vcgtd_f64 (float64_t __a, float64_t __b)
13370 {
13371   return __a > __b ? -1ll : 0ll;
13372 }
13373 
13374 /* vcgtz - vector.  */
13375 
13376 __extension__ extern __inline uint32x2_t
13377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f32(float32x2_t __a)13378 vcgtz_f32 (float32x2_t __a)
13379 {
13380   return (uint32x2_t) (__a > 0.0f);
13381 }
13382 
13383 __extension__ extern __inline uint64x1_t
13384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f64(float64x1_t __a)13385 vcgtz_f64 (float64x1_t __a)
13386 {
13387   return (uint64x1_t) (__a > (float64x1_t) {0.0});
13388 }
13389 
13390 __extension__ extern __inline uint8x8_t
13391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s8(int8x8_t __a)13392 vcgtz_s8 (int8x8_t __a)
13393 {
13394   return (uint8x8_t) (__a > 0);
13395 }
13396 
13397 __extension__ extern __inline uint16x4_t
13398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s16(int16x4_t __a)13399 vcgtz_s16 (int16x4_t __a)
13400 {
13401   return (uint16x4_t) (__a > 0);
13402 }
13403 
13404 __extension__ extern __inline uint32x2_t
13405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s32(int32x2_t __a)13406 vcgtz_s32 (int32x2_t __a)
13407 {
13408   return (uint32x2_t) (__a > 0);
13409 }
13410 
13411 __extension__ extern __inline uint64x1_t
13412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s64(int64x1_t __a)13413 vcgtz_s64 (int64x1_t __a)
13414 {
13415   return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
13416 }
13417 
13418 __extension__ extern __inline uint32x4_t
13419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f32(float32x4_t __a)13420 vcgtzq_f32 (float32x4_t __a)
13421 {
13422   return (uint32x4_t) (__a > 0.0f);
13423 }
13424 
13425 __extension__ extern __inline uint64x2_t
13426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f64(float64x2_t __a)13427 vcgtzq_f64 (float64x2_t __a)
13428 {
13429     return (uint64x2_t) (__a > 0.0);
13430 }
13431 
13432 __extension__ extern __inline uint8x16_t
13433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s8(int8x16_t __a)13434 vcgtzq_s8 (int8x16_t __a)
13435 {
13436   return (uint8x16_t) (__a > 0);
13437 }
13438 
13439 __extension__ extern __inline uint16x8_t
13440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s16(int16x8_t __a)13441 vcgtzq_s16 (int16x8_t __a)
13442 {
13443   return (uint16x8_t) (__a > 0);
13444 }
13445 
13446 __extension__ extern __inline uint32x4_t
13447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s32(int32x4_t __a)13448 vcgtzq_s32 (int32x4_t __a)
13449 {
13450   return (uint32x4_t) (__a > 0);
13451 }
13452 
13453 __extension__ extern __inline uint64x2_t
13454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s64(int64x2_t __a)13455 vcgtzq_s64 (int64x2_t __a)
13456 {
13457   return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
13458 }
13459 
13460 /* vcgtz - scalar.  */
13461 
13462 __extension__ extern __inline uint32_t
13463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzs_f32(float32_t __a)13464 vcgtzs_f32 (float32_t __a)
13465 {
13466   return __a > 0.0f ? -1 : 0;
13467 }
13468 
13469 __extension__ extern __inline uint64_t
13470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_s64(int64_t __a)13471 vcgtzd_s64 (int64_t __a)
13472 {
13473   return __a > 0 ? -1ll : 0ll;
13474 }
13475 
13476 __extension__ extern __inline uint64_t
13477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_f64(float64_t __a)13478 vcgtzd_f64 (float64_t __a)
13479 {
13480   return __a > 0.0 ? -1ll : 0ll;
13481 }
13482 
13483 /* vcle - vector.  */
13484 
13485 __extension__ extern __inline uint32x2_t
13486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f32(float32x2_t __a,float32x2_t __b)13487 vcle_f32 (float32x2_t __a, float32x2_t __b)
13488 {
13489   return (uint32x2_t) (__a <= __b);
13490 }
13491 
13492 __extension__ extern __inline uint64x1_t
13493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f64(float64x1_t __a,float64x1_t __b)13494 vcle_f64 (float64x1_t __a, float64x1_t __b)
13495 {
13496   return (uint64x1_t) (__a <= __b);
13497 }
13498 
13499 __extension__ extern __inline uint8x8_t
13500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s8(int8x8_t __a,int8x8_t __b)13501 vcle_s8 (int8x8_t __a, int8x8_t __b)
13502 {
13503   return (uint8x8_t) (__a <= __b);
13504 }
13505 
13506 __extension__ extern __inline uint16x4_t
13507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s16(int16x4_t __a,int16x4_t __b)13508 vcle_s16 (int16x4_t __a, int16x4_t __b)
13509 {
13510   return (uint16x4_t) (__a <= __b);
13511 }
13512 
13513 __extension__ extern __inline uint32x2_t
13514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s32(int32x2_t __a,int32x2_t __b)13515 vcle_s32 (int32x2_t __a, int32x2_t __b)
13516 {
13517   return (uint32x2_t) (__a <= __b);
13518 }
13519 
13520 __extension__ extern __inline uint64x1_t
13521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s64(int64x1_t __a,int64x1_t __b)13522 vcle_s64 (int64x1_t __a, int64x1_t __b)
13523 {
13524   return (uint64x1_t) (__a <= __b);
13525 }
13526 
13527 __extension__ extern __inline uint8x8_t
13528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)13529 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
13530 {
13531   return (__a <= __b);
13532 }
13533 
13534 __extension__ extern __inline uint16x4_t
13535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)13536 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
13537 {
13538   return (__a <= __b);
13539 }
13540 
13541 __extension__ extern __inline uint32x2_t
13542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)13543 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
13544 {
13545   return (__a <= __b);
13546 }
13547 
13548 __extension__ extern __inline uint64x1_t
13549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u64(uint64x1_t __a,uint64x1_t __b)13550 vcle_u64 (uint64x1_t __a, uint64x1_t __b)
13551 {
13552   return (__a <= __b);
13553 }
13554 
13555 __extension__ extern __inline uint32x4_t
13556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f32(float32x4_t __a,float32x4_t __b)13557 vcleq_f32 (float32x4_t __a, float32x4_t __b)
13558 {
13559   return (uint32x4_t) (__a <= __b);
13560 }
13561 
13562 __extension__ extern __inline uint64x2_t
13563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f64(float64x2_t __a,float64x2_t __b)13564 vcleq_f64 (float64x2_t __a, float64x2_t __b)
13565 {
13566   return (uint64x2_t) (__a <= __b);
13567 }
13568 
13569 __extension__ extern __inline uint8x16_t
13570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s8(int8x16_t __a,int8x16_t __b)13571 vcleq_s8 (int8x16_t __a, int8x16_t __b)
13572 {
13573   return (uint8x16_t) (__a <= __b);
13574 }
13575 
13576 __extension__ extern __inline uint16x8_t
13577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s16(int16x8_t __a,int16x8_t __b)13578 vcleq_s16 (int16x8_t __a, int16x8_t __b)
13579 {
13580   return (uint16x8_t) (__a <= __b);
13581 }
13582 
13583 __extension__ extern __inline uint32x4_t
13584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s32(int32x4_t __a,int32x4_t __b)13585 vcleq_s32 (int32x4_t __a, int32x4_t __b)
13586 {
13587   return (uint32x4_t) (__a <= __b);
13588 }
13589 
13590 __extension__ extern __inline uint64x2_t
13591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s64(int64x2_t __a,int64x2_t __b)13592 vcleq_s64 (int64x2_t __a, int64x2_t __b)
13593 {
13594   return (uint64x2_t) (__a <= __b);
13595 }
13596 
13597 __extension__ extern __inline uint8x16_t
13598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)13599 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
13600 {
13601   return (__a <= __b);
13602 }
13603 
13604 __extension__ extern __inline uint16x8_t
13605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)13606 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
13607 {
13608   return (__a <= __b);
13609 }
13610 
13611 __extension__ extern __inline uint32x4_t
13612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)13613 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
13614 {
13615   return (__a <= __b);
13616 }
13617 
13618 __extension__ extern __inline uint64x2_t
13619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u64(uint64x2_t __a,uint64x2_t __b)13620 vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
13621 {
13622   return (__a <= __b);
13623 }
13624 
13625 /* vcle - scalar.  */
13626 
13627 __extension__ extern __inline uint32_t
13628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcles_f32(float32_t __a,float32_t __b)13629 vcles_f32 (float32_t __a, float32_t __b)
13630 {
13631   return __a <= __b ? -1 : 0;
13632 }
13633 
13634 __extension__ extern __inline uint64_t
13635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_s64(int64_t __a,int64_t __b)13636 vcled_s64 (int64_t __a, int64_t __b)
13637 {
13638   return __a <= __b ? -1ll : 0ll;
13639 }
13640 
13641 __extension__ extern __inline uint64_t
13642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_u64(uint64_t __a,uint64_t __b)13643 vcled_u64 (uint64_t __a, uint64_t __b)
13644 {
13645   return __a <= __b ? -1ll : 0ll;
13646 }
13647 
13648 __extension__ extern __inline uint64_t
13649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_f64(float64_t __a,float64_t __b)13650 vcled_f64 (float64_t __a, float64_t __b)
13651 {
13652   return __a <= __b ? -1ll : 0ll;
13653 }
13654 
13655 /* vclez - vector.  */
13656 
13657 __extension__ extern __inline uint32x2_t
13658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f32(float32x2_t __a)13659 vclez_f32 (float32x2_t __a)
13660 {
13661   return (uint32x2_t) (__a <= 0.0f);
13662 }
13663 
13664 __extension__ extern __inline uint64x1_t
13665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f64(float64x1_t __a)13666 vclez_f64 (float64x1_t __a)
13667 {
13668   return (uint64x1_t) (__a <= (float64x1_t) {0.0});
13669 }
13670 
13671 __extension__ extern __inline uint8x8_t
13672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s8(int8x8_t __a)13673 vclez_s8 (int8x8_t __a)
13674 {
13675   return (uint8x8_t) (__a <= 0);
13676 }
13677 
13678 __extension__ extern __inline uint16x4_t
13679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s16(int16x4_t __a)13680 vclez_s16 (int16x4_t __a)
13681 {
13682   return (uint16x4_t) (__a <= 0);
13683 }
13684 
13685 __extension__ extern __inline uint32x2_t
13686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s32(int32x2_t __a)13687 vclez_s32 (int32x2_t __a)
13688 {
13689   return (uint32x2_t) (__a <= 0);
13690 }
13691 
13692 __extension__ extern __inline uint64x1_t
13693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s64(int64x1_t __a)13694 vclez_s64 (int64x1_t __a)
13695 {
13696   return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
13697 }
13698 
13699 __extension__ extern __inline uint32x4_t
13700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f32(float32x4_t __a)13701 vclezq_f32 (float32x4_t __a)
13702 {
13703   return (uint32x4_t) (__a <= 0.0f);
13704 }
13705 
13706 __extension__ extern __inline uint64x2_t
13707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f64(float64x2_t __a)13708 vclezq_f64 (float64x2_t __a)
13709 {
13710   return (uint64x2_t) (__a <= 0.0);
13711 }
13712 
13713 __extension__ extern __inline uint8x16_t
13714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s8(int8x16_t __a)13715 vclezq_s8 (int8x16_t __a)
13716 {
13717   return (uint8x16_t) (__a <= 0);
13718 }
13719 
13720 __extension__ extern __inline uint16x8_t
13721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s16(int16x8_t __a)13722 vclezq_s16 (int16x8_t __a)
13723 {
13724   return (uint16x8_t) (__a <= 0);
13725 }
13726 
13727 __extension__ extern __inline uint32x4_t
13728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s32(int32x4_t __a)13729 vclezq_s32 (int32x4_t __a)
13730 {
13731   return (uint32x4_t) (__a <= 0);
13732 }
13733 
13734 __extension__ extern __inline uint64x2_t
13735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s64(int64x2_t __a)13736 vclezq_s64 (int64x2_t __a)
13737 {
13738   return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
13739 }
13740 
13741 /* vclez - scalar.  */
13742 
13743 __extension__ extern __inline uint32_t
13744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezs_f32(float32_t __a)13745 vclezs_f32 (float32_t __a)
13746 {
13747   return __a <= 0.0f ? -1 : 0;
13748 }
13749 
13750 __extension__ extern __inline uint64_t
13751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_s64(int64_t __a)13752 vclezd_s64 (int64_t __a)
13753 {
13754   return __a <= 0 ? -1ll : 0ll;
13755 }
13756 
13757 __extension__ extern __inline uint64_t
13758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_f64(float64_t __a)13759 vclezd_f64 (float64_t __a)
13760 {
13761   return __a <= 0.0 ? -1ll : 0ll;
13762 }
13763 
13764 /* vclt - vector.  */
13765 
13766 __extension__ extern __inline uint32x2_t
13767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f32(float32x2_t __a,float32x2_t __b)13768 vclt_f32 (float32x2_t __a, float32x2_t __b)
13769 {
13770   return (uint32x2_t) (__a < __b);
13771 }
13772 
13773 __extension__ extern __inline uint64x1_t
13774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f64(float64x1_t __a,float64x1_t __b)13775 vclt_f64 (float64x1_t __a, float64x1_t __b)
13776 {
13777   return (uint64x1_t) (__a < __b);
13778 }
13779 
13780 __extension__ extern __inline uint8x8_t
13781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s8(int8x8_t __a,int8x8_t __b)13782 vclt_s8 (int8x8_t __a, int8x8_t __b)
13783 {
13784   return (uint8x8_t) (__a < __b);
13785 }
13786 
13787 __extension__ extern __inline uint16x4_t
13788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s16(int16x4_t __a,int16x4_t __b)13789 vclt_s16 (int16x4_t __a, int16x4_t __b)
13790 {
13791   return (uint16x4_t) (__a < __b);
13792 }
13793 
13794 __extension__ extern __inline uint32x2_t
13795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s32(int32x2_t __a,int32x2_t __b)13796 vclt_s32 (int32x2_t __a, int32x2_t __b)
13797 {
13798   return (uint32x2_t) (__a < __b);
13799 }
13800 
13801 __extension__ extern __inline uint64x1_t
13802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s64(int64x1_t __a,int64x1_t __b)13803 vclt_s64 (int64x1_t __a, int64x1_t __b)
13804 {
13805   return (uint64x1_t) (__a < __b);
13806 }
13807 
13808 __extension__ extern __inline uint8x8_t
13809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)13810 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
13811 {
13812   return (__a < __b);
13813 }
13814 
13815 __extension__ extern __inline uint16x4_t
13816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)13817 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
13818 {
13819   return (__a < __b);
13820 }
13821 
13822 __extension__ extern __inline uint32x2_t
13823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)13824 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
13825 {
13826   return (__a < __b);
13827 }
13828 
13829 __extension__ extern __inline uint64x1_t
13830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u64(uint64x1_t __a,uint64x1_t __b)13831 vclt_u64 (uint64x1_t __a, uint64x1_t __b)
13832 {
13833   return (__a < __b);
13834 }
13835 
13836 __extension__ extern __inline uint32x4_t
13837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f32(float32x4_t __a,float32x4_t __b)13838 vcltq_f32 (float32x4_t __a, float32x4_t __b)
13839 {
13840   return (uint32x4_t) (__a < __b);
13841 }
13842 
13843 __extension__ extern __inline uint64x2_t
13844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f64(float64x2_t __a,float64x2_t __b)13845 vcltq_f64 (float64x2_t __a, float64x2_t __b)
13846 {
13847   return (uint64x2_t) (__a < __b);
13848 }
13849 
13850 __extension__ extern __inline uint8x16_t
13851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s8(int8x16_t __a,int8x16_t __b)13852 vcltq_s8 (int8x16_t __a, int8x16_t __b)
13853 {
13854   return (uint8x16_t) (__a < __b);
13855 }
13856 
13857 __extension__ extern __inline uint16x8_t
13858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s16(int16x8_t __a,int16x8_t __b)13859 vcltq_s16 (int16x8_t __a, int16x8_t __b)
13860 {
13861   return (uint16x8_t) (__a < __b);
13862 }
13863 
13864 __extension__ extern __inline uint32x4_t
13865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s32(int32x4_t __a,int32x4_t __b)13866 vcltq_s32 (int32x4_t __a, int32x4_t __b)
13867 {
13868   return (uint32x4_t) (__a < __b);
13869 }
13870 
13871 __extension__ extern __inline uint64x2_t
13872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s64(int64x2_t __a,int64x2_t __b)13873 vcltq_s64 (int64x2_t __a, int64x2_t __b)
13874 {
13875   return (uint64x2_t) (__a < __b);
13876 }
13877 
13878 __extension__ extern __inline uint8x16_t
13879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)13880 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
13881 {
13882   return (__a < __b);
13883 }
13884 
13885 __extension__ extern __inline uint16x8_t
13886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)13887 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
13888 {
13889   return (__a < __b);
13890 }
13891 
13892 __extension__ extern __inline uint32x4_t
13893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)13894 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
13895 {
13896   return (__a < __b);
13897 }
13898 
13899 __extension__ extern __inline uint64x2_t
13900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u64(uint64x2_t __a,uint64x2_t __b)13901 vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
13902 {
13903   return (__a < __b);
13904 }
13905 
13906 /* vclt - scalar.  */
13907 
13908 __extension__ extern __inline uint32_t
13909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclts_f32(float32_t __a,float32_t __b)13910 vclts_f32 (float32_t __a, float32_t __b)
13911 {
13912   return __a < __b ? -1 : 0;
13913 }
13914 
13915 __extension__ extern __inline uint64_t
13916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_s64(int64_t __a,int64_t __b)13917 vcltd_s64 (int64_t __a, int64_t __b)
13918 {
13919   return __a < __b ? -1ll : 0ll;
13920 }
13921 
13922 __extension__ extern __inline uint64_t
13923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_u64(uint64_t __a,uint64_t __b)13924 vcltd_u64 (uint64_t __a, uint64_t __b)
13925 {
13926   return __a < __b ? -1ll : 0ll;
13927 }
13928 
13929 __extension__ extern __inline uint64_t
13930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_f64(float64_t __a,float64_t __b)13931 vcltd_f64 (float64_t __a, float64_t __b)
13932 {
13933   return __a < __b ? -1ll : 0ll;
13934 }
13935 
13936 /* vcltz - vector.  */
13937 
13938 __extension__ extern __inline uint32x2_t
13939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f32(float32x2_t __a)13940 vcltz_f32 (float32x2_t __a)
13941 {
13942   return (uint32x2_t) (__a < 0.0f);
13943 }
13944 
13945 __extension__ extern __inline uint64x1_t
13946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f64(float64x1_t __a)13947 vcltz_f64 (float64x1_t __a)
13948 {
13949   return (uint64x1_t) (__a < (float64x1_t) {0.0});
13950 }
13951 
13952 __extension__ extern __inline uint8x8_t
13953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s8(int8x8_t __a)13954 vcltz_s8 (int8x8_t __a)
13955 {
13956   return (uint8x8_t) (__a < 0);
13957 }
13958 
13959 __extension__ extern __inline uint16x4_t
13960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s16(int16x4_t __a)13961 vcltz_s16 (int16x4_t __a)
13962 {
13963   return (uint16x4_t) (__a < 0);
13964 }
13965 
13966 __extension__ extern __inline uint32x2_t
13967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s32(int32x2_t __a)13968 vcltz_s32 (int32x2_t __a)
13969 {
13970   return (uint32x2_t) (__a < 0);
13971 }
13972 
13973 __extension__ extern __inline uint64x1_t
13974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s64(int64x1_t __a)13975 vcltz_s64 (int64x1_t __a)
13976 {
13977   return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
13978 }
13979 
13980 __extension__ extern __inline uint32x4_t
13981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f32(float32x4_t __a)13982 vcltzq_f32 (float32x4_t __a)
13983 {
13984   return (uint32x4_t) (__a < 0.0f);
13985 }
13986 
13987 __extension__ extern __inline uint64x2_t
13988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f64(float64x2_t __a)13989 vcltzq_f64 (float64x2_t __a)
13990 {
13991   return (uint64x2_t) (__a < 0.0);
13992 }
13993 
13994 __extension__ extern __inline uint8x16_t
13995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s8(int8x16_t __a)13996 vcltzq_s8 (int8x16_t __a)
13997 {
13998   return (uint8x16_t) (__a < 0);
13999 }
14000 
14001 __extension__ extern __inline uint16x8_t
14002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s16(int16x8_t __a)14003 vcltzq_s16 (int16x8_t __a)
14004 {
14005   return (uint16x8_t) (__a < 0);
14006 }
14007 
14008 __extension__ extern __inline uint32x4_t
14009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s32(int32x4_t __a)14010 vcltzq_s32 (int32x4_t __a)
14011 {
14012   return (uint32x4_t) (__a < 0);
14013 }
14014 
14015 __extension__ extern __inline uint64x2_t
14016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s64(int64x2_t __a)14017 vcltzq_s64 (int64x2_t __a)
14018 {
14019   return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
14020 }
14021 
14022 /* vcltz - scalar.  */
14023 
14024 __extension__ extern __inline uint32_t
14025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzs_f32(float32_t __a)14026 vcltzs_f32 (float32_t __a)
14027 {
14028   return __a < 0.0f ? -1 : 0;
14029 }
14030 
14031 __extension__ extern __inline uint64_t
14032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_s64(int64_t __a)14033 vcltzd_s64 (int64_t __a)
14034 {
14035   return __a < 0 ? -1ll : 0ll;
14036 }
14037 
14038 __extension__ extern __inline uint64_t
14039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_f64(float64_t __a)14040 vcltzd_f64 (float64_t __a)
14041 {
14042   return __a < 0.0 ? -1ll : 0ll;
14043 }
14044 
14045 /* vcls.  */
14046 
14047 __extension__ extern __inline int8x8_t
14048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s8(int8x8_t __a)14049 vcls_s8 (int8x8_t __a)
14050 {
14051   return __builtin_aarch64_clrsbv8qi (__a);
14052 }
14053 
14054 __extension__ extern __inline int16x4_t
14055 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s16(int16x4_t __a)14056 vcls_s16 (int16x4_t __a)
14057 {
14058   return __builtin_aarch64_clrsbv4hi (__a);
14059 }
14060 
14061 __extension__ extern __inline int32x2_t
14062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s32(int32x2_t __a)14063 vcls_s32 (int32x2_t __a)
14064 {
14065   return __builtin_aarch64_clrsbv2si (__a);
14066 }
14067 
14068 __extension__ extern __inline int8x16_t
14069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s8(int8x16_t __a)14070 vclsq_s8 (int8x16_t __a)
14071 {
14072   return __builtin_aarch64_clrsbv16qi (__a);
14073 }
14074 
14075 __extension__ extern __inline int16x8_t
14076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s16(int16x8_t __a)14077 vclsq_s16 (int16x8_t __a)
14078 {
14079   return __builtin_aarch64_clrsbv8hi (__a);
14080 }
14081 
14082 __extension__ extern __inline int32x4_t
14083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s32(int32x4_t __a)14084 vclsq_s32 (int32x4_t __a)
14085 {
14086   return __builtin_aarch64_clrsbv4si (__a);
14087 }
14088 
14089 __extension__ extern __inline int8x8_t
14090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u8(uint8x8_t __a)14091 vcls_u8 (uint8x8_t __a)
14092 {
14093   return __builtin_aarch64_clrsbv8qi ((int8x8_t) __a);
14094 }
14095 
14096 __extension__ extern __inline int16x4_t
14097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u16(uint16x4_t __a)14098 vcls_u16 (uint16x4_t __a)
14099 {
14100   return __builtin_aarch64_clrsbv4hi ((int16x4_t) __a);
14101 }
14102 
14103 __extension__ extern __inline int32x2_t
14104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u32(uint32x2_t __a)14105 vcls_u32 (uint32x2_t __a)
14106 {
14107   return __builtin_aarch64_clrsbv2si ((int32x2_t) __a);
14108 }
14109 
14110 __extension__ extern __inline int8x16_t
14111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u8(uint8x16_t __a)14112 vclsq_u8 (uint8x16_t __a)
14113 {
14114   return __builtin_aarch64_clrsbv16qi ((int8x16_t) __a);
14115 }
14116 
14117 __extension__ extern __inline int16x8_t
14118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u16(uint16x8_t __a)14119 vclsq_u16 (uint16x8_t __a)
14120 {
14121   return __builtin_aarch64_clrsbv8hi ((int16x8_t) __a);
14122 }
14123 
14124 __extension__ extern __inline int32x4_t
14125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u32(uint32x4_t __a)14126 vclsq_u32 (uint32x4_t __a)
14127 {
14128   return __builtin_aarch64_clrsbv4si ((int32x4_t) __a);
14129 }
14130 
14131 /* vclz.  */
14132 
14133 __extension__ extern __inline int8x8_t
14134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s8(int8x8_t __a)14135 vclz_s8 (int8x8_t __a)
14136 {
14137   return __builtin_aarch64_clzv8qi (__a);
14138 }
14139 
14140 __extension__ extern __inline int16x4_t
14141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s16(int16x4_t __a)14142 vclz_s16 (int16x4_t __a)
14143 {
14144   return __builtin_aarch64_clzv4hi (__a);
14145 }
14146 
14147 __extension__ extern __inline int32x2_t
14148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s32(int32x2_t __a)14149 vclz_s32 (int32x2_t __a)
14150 {
14151   return __builtin_aarch64_clzv2si (__a);
14152 }
14153 
14154 __extension__ extern __inline uint8x8_t
14155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u8(uint8x8_t __a)14156 vclz_u8 (uint8x8_t __a)
14157 {
14158   return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
14159 }
14160 
14161 __extension__ extern __inline uint16x4_t
14162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u16(uint16x4_t __a)14163 vclz_u16 (uint16x4_t __a)
14164 {
14165   return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
14166 }
14167 
14168 __extension__ extern __inline uint32x2_t
14169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u32(uint32x2_t __a)14170 vclz_u32 (uint32x2_t __a)
14171 {
14172   return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
14173 }
14174 
14175 __extension__ extern __inline int8x16_t
14176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s8(int8x16_t __a)14177 vclzq_s8 (int8x16_t __a)
14178 {
14179   return __builtin_aarch64_clzv16qi (__a);
14180 }
14181 
14182 __extension__ extern __inline int16x8_t
14183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s16(int16x8_t __a)14184 vclzq_s16 (int16x8_t __a)
14185 {
14186   return __builtin_aarch64_clzv8hi (__a);
14187 }
14188 
14189 __extension__ extern __inline int32x4_t
14190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s32(int32x4_t __a)14191 vclzq_s32 (int32x4_t __a)
14192 {
14193   return __builtin_aarch64_clzv4si (__a);
14194 }
14195 
14196 __extension__ extern __inline uint8x16_t
14197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u8(uint8x16_t __a)14198 vclzq_u8 (uint8x16_t __a)
14199 {
14200   return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
14201 }
14202 
14203 __extension__ extern __inline uint16x8_t
14204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u16(uint16x8_t __a)14205 vclzq_u16 (uint16x8_t __a)
14206 {
14207   return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
14208 }
14209 
14210 __extension__ extern __inline uint32x4_t
14211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u32(uint32x4_t __a)14212 vclzq_u32 (uint32x4_t __a)
14213 {
14214   return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
14215 }
14216 
14217 /* vcnt.  */
14218 
14219 __extension__ extern __inline poly8x8_t
14220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_p8(poly8x8_t __a)14221 vcnt_p8 (poly8x8_t __a)
14222 {
14223   return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
14224 }
14225 
14226 __extension__ extern __inline int8x8_t
14227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_s8(int8x8_t __a)14228 vcnt_s8 (int8x8_t __a)
14229 {
14230   return __builtin_aarch64_popcountv8qi (__a);
14231 }
14232 
14233 __extension__ extern __inline uint8x8_t
14234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_u8(uint8x8_t __a)14235 vcnt_u8 (uint8x8_t __a)
14236 {
14237   return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
14238 }
14239 
14240 __extension__ extern __inline poly8x16_t
14241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_p8(poly8x16_t __a)14242 vcntq_p8 (poly8x16_t __a)
14243 {
14244   return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
14245 }
14246 
14247 __extension__ extern __inline int8x16_t
14248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_s8(int8x16_t __a)14249 vcntq_s8 (int8x16_t __a)
14250 {
14251   return __builtin_aarch64_popcountv16qi (__a);
14252 }
14253 
14254 __extension__ extern __inline uint8x16_t
14255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_u8(uint8x16_t __a)14256 vcntq_u8 (uint8x16_t __a)
14257 {
14258   return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
14259 }
14260 
14261 /* vcopy_lane.  */
14262 
14263 __extension__ extern __inline float32x2_t
14264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f32(float32x2_t __a,const int __lane1,float32x2_t __b,const int __lane2)14265 vcopy_lane_f32 (float32x2_t __a, const int __lane1,
14266 		float32x2_t __b, const int __lane2)
14267 {
14268   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14269 				  __a, __lane1);
14270 }
14271 
14272 __extension__ extern __inline float64x1_t
14273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f64(float64x1_t __a,const int __lane1,float64x1_t __b,const int __lane2)14274 vcopy_lane_f64 (float64x1_t __a, const int __lane1,
14275 		float64x1_t __b, const int __lane2)
14276 {
14277   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14278 				  __a, __lane1);
14279 }
14280 
14281 __extension__ extern __inline poly8x8_t
14282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p8(poly8x8_t __a,const int __lane1,poly8x8_t __b,const int __lane2)14283 vcopy_lane_p8 (poly8x8_t __a, const int __lane1,
14284 	       poly8x8_t __b, const int __lane2)
14285 {
14286   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14287 				 __a, __lane1);
14288 }
14289 
14290 __extension__ extern __inline poly16x4_t
14291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p16(poly16x4_t __a,const int __lane1,poly16x4_t __b,const int __lane2)14292 vcopy_lane_p16 (poly16x4_t __a, const int __lane1,
14293 		poly16x4_t __b, const int __lane2)
14294 {
14295   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14296 				  __a, __lane1);
14297 }
14298 
14299 __extension__ extern __inline poly64x1_t
14300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p64(poly64x1_t __a,const int __lane1,poly64x1_t __b,const int __lane2)14301 vcopy_lane_p64 (poly64x1_t __a, const int __lane1,
14302 		poly64x1_t __b, const int __lane2)
14303 {
14304   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14305 				  __a, __lane1);
14306 }
14307 
14308 __extension__ extern __inline int8x8_t
14309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s8(int8x8_t __a,const int __lane1,int8x8_t __b,const int __lane2)14310 vcopy_lane_s8 (int8x8_t __a, const int __lane1,
14311 	       int8x8_t __b, const int __lane2)
14312 {
14313   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14314 				 __a, __lane1);
14315 }
14316 
14317 __extension__ extern __inline int16x4_t
14318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s16(int16x4_t __a,const int __lane1,int16x4_t __b,const int __lane2)14319 vcopy_lane_s16 (int16x4_t __a, const int __lane1,
14320 		int16x4_t __b, const int __lane2)
14321 {
14322   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14323 				  __a, __lane1);
14324 }
14325 
14326 __extension__ extern __inline int32x2_t
14327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s32(int32x2_t __a,const int __lane1,int32x2_t __b,const int __lane2)14328 vcopy_lane_s32 (int32x2_t __a, const int __lane1,
14329 		int32x2_t __b, const int __lane2)
14330 {
14331   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14332 				  __a, __lane1);
14333 }
14334 
14335 __extension__ extern __inline int64x1_t
14336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s64(int64x1_t __a,const int __lane1,int64x1_t __b,const int __lane2)14337 vcopy_lane_s64 (int64x1_t __a, const int __lane1,
14338 		int64x1_t __b, const int __lane2)
14339 {
14340   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14341 				  __a, __lane1);
14342 }
14343 
14344 __extension__ extern __inline uint8x8_t
14345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u8(uint8x8_t __a,const int __lane1,uint8x8_t __b,const int __lane2)14346 vcopy_lane_u8 (uint8x8_t __a, const int __lane1,
14347 	       uint8x8_t __b, const int __lane2)
14348 {
14349   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14350 				 __a, __lane1);
14351 }
14352 
14353 __extension__ extern __inline uint16x4_t
14354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u16(uint16x4_t __a,const int __lane1,uint16x4_t __b,const int __lane2)14355 vcopy_lane_u16 (uint16x4_t __a, const int __lane1,
14356 		uint16x4_t __b, const int __lane2)
14357 {
14358   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14359 				  __a, __lane1);
14360 }
14361 
14362 __extension__ extern __inline uint32x2_t
14363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u32(uint32x2_t __a,const int __lane1,uint32x2_t __b,const int __lane2)14364 vcopy_lane_u32 (uint32x2_t __a, const int __lane1,
14365 		uint32x2_t __b, const int __lane2)
14366 {
14367   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14368 				  __a, __lane1);
14369 }
14370 
14371 __extension__ extern __inline uint64x1_t
14372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u64(uint64x1_t __a,const int __lane1,uint64x1_t __b,const int __lane2)14373 vcopy_lane_u64 (uint64x1_t __a, const int __lane1,
14374 		uint64x1_t __b, const int __lane2)
14375 {
14376   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14377 				  __a, __lane1);
14378 }
14379 
14380 /* vcopy_laneq.  */
14381 
14382 __extension__ extern __inline float32x2_t
14383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f32(float32x2_t __a,const int __lane1,float32x4_t __b,const int __lane2)14384 vcopy_laneq_f32 (float32x2_t __a, const int __lane1,
14385 		 float32x4_t __b, const int __lane2)
14386 {
14387   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14388 				  __a, __lane1);
14389 }
14390 
14391 __extension__ extern __inline float64x1_t
14392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f64(float64x1_t __a,const int __lane1,float64x2_t __b,const int __lane2)14393 vcopy_laneq_f64 (float64x1_t __a, const int __lane1,
14394 		 float64x2_t __b, const int __lane2)
14395 {
14396   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14397 				  __a, __lane1);
14398 }
14399 
14400 __extension__ extern __inline poly8x8_t
14401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p8(poly8x8_t __a,const int __lane1,poly8x16_t __b,const int __lane2)14402 vcopy_laneq_p8 (poly8x8_t __a, const int __lane1,
14403 		poly8x16_t __b, const int __lane2)
14404 {
14405   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14406 				 __a, __lane1);
14407 }
14408 
14409 __extension__ extern __inline poly16x4_t
14410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p16(poly16x4_t __a,const int __lane1,poly16x8_t __b,const int __lane2)14411 vcopy_laneq_p16 (poly16x4_t __a, const int __lane1,
14412 		 poly16x8_t __b, const int __lane2)
14413 {
14414   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14415 				  __a, __lane1);
14416 }
14417 
14418 __extension__ extern __inline poly64x1_t
14419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p64(poly64x1_t __a,const int __lane1,poly64x2_t __b,const int __lane2)14420 vcopy_laneq_p64 (poly64x1_t __a, const int __lane1,
14421 		 poly64x2_t __b, const int __lane2)
14422 {
14423   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14424 				  __a, __lane1);
14425 }
14426 
14427 __extension__ extern __inline int8x8_t
14428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s8(int8x8_t __a,const int __lane1,int8x16_t __b,const int __lane2)14429 vcopy_laneq_s8 (int8x8_t __a, const int __lane1,
14430 		int8x16_t __b, const int __lane2)
14431 {
14432   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14433 				 __a, __lane1);
14434 }
14435 
14436 __extension__ extern __inline int16x4_t
14437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s16(int16x4_t __a,const int __lane1,int16x8_t __b,const int __lane2)14438 vcopy_laneq_s16 (int16x4_t __a, const int __lane1,
14439 		 int16x8_t __b, const int __lane2)
14440 {
14441   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14442 				  __a, __lane1);
14443 }
14444 
14445 __extension__ extern __inline int32x2_t
14446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s32(int32x2_t __a,const int __lane1,int32x4_t __b,const int __lane2)14447 vcopy_laneq_s32 (int32x2_t __a, const int __lane1,
14448 		 int32x4_t __b, const int __lane2)
14449 {
14450   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14451 				  __a, __lane1);
14452 }
14453 
14454 __extension__ extern __inline int64x1_t
14455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s64(int64x1_t __a,const int __lane1,int64x2_t __b,const int __lane2)14456 vcopy_laneq_s64 (int64x1_t __a, const int __lane1,
14457 		 int64x2_t __b, const int __lane2)
14458 {
14459   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14460 				  __a, __lane1);
14461 }
14462 
14463 __extension__ extern __inline uint8x8_t
14464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u8(uint8x8_t __a,const int __lane1,uint8x16_t __b,const int __lane2)14465 vcopy_laneq_u8 (uint8x8_t __a, const int __lane1,
14466 		uint8x16_t __b, const int __lane2)
14467 {
14468   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14469 				 __a, __lane1);
14470 }
14471 
14472 __extension__ extern __inline uint16x4_t
14473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u16(uint16x4_t __a,const int __lane1,uint16x8_t __b,const int __lane2)14474 vcopy_laneq_u16 (uint16x4_t __a, const int __lane1,
14475 		 uint16x8_t __b, const int __lane2)
14476 {
14477   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14478 				  __a, __lane1);
14479 }
14480 
14481 __extension__ extern __inline uint32x2_t
14482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u32(uint32x2_t __a,const int __lane1,uint32x4_t __b,const int __lane2)14483 vcopy_laneq_u32 (uint32x2_t __a, const int __lane1,
14484 		 uint32x4_t __b, const int __lane2)
14485 {
14486   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14487 				  __a, __lane1);
14488 }
14489 
14490 __extension__ extern __inline uint64x1_t
14491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u64(uint64x1_t __a,const int __lane1,uint64x2_t __b,const int __lane2)14492 vcopy_laneq_u64 (uint64x1_t __a, const int __lane1,
14493 		 uint64x2_t __b, const int __lane2)
14494 {
14495   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14496 				  __a, __lane1);
14497 }
14498 
14499 /* vcopyq_lane.  */
14500 
14501 __extension__ extern __inline float32x4_t
14502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f32(float32x4_t __a,const int __lane1,float32x2_t __b,const int __lane2)14503 vcopyq_lane_f32 (float32x4_t __a, const int __lane1,
14504 		 float32x2_t __b, const int __lane2)
14505 {
14506   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14507 				   __a, __lane1);
14508 }
14509 
14510 __extension__ extern __inline float64x2_t
14511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f64(float64x2_t __a,const int __lane1,float64x1_t __b,const int __lane2)14512 vcopyq_lane_f64 (float64x2_t __a, const int __lane1,
14513 		 float64x1_t __b, const int __lane2)
14514 {
14515   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14516 				   __a, __lane1);
14517 }
14518 
14519 __extension__ extern __inline poly8x16_t
14520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p8(poly8x16_t __a,const int __lane1,poly8x8_t __b,const int __lane2)14521 vcopyq_lane_p8 (poly8x16_t __a, const int __lane1,
14522 		poly8x8_t __b, const int __lane2)
14523 {
14524   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14525 				  __a, __lane1);
14526 }
14527 
14528 __extension__ extern __inline poly16x8_t
14529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p16(poly16x8_t __a,const int __lane1,poly16x4_t __b,const int __lane2)14530 vcopyq_lane_p16 (poly16x8_t __a, const int __lane1,
14531 		 poly16x4_t __b, const int __lane2)
14532 {
14533   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14534 				   __a, __lane1);
14535 }
14536 
14537 __extension__ extern __inline poly64x2_t
14538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p64(poly64x2_t __a,const int __lane1,poly64x1_t __b,const int __lane2)14539 vcopyq_lane_p64 (poly64x2_t __a, const int __lane1,
14540 		 poly64x1_t __b, const int __lane2)
14541 {
14542   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14543 				   __a, __lane1);
14544 }
14545 
14546 __extension__ extern __inline int8x16_t
14547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s8(int8x16_t __a,const int __lane1,int8x8_t __b,const int __lane2)14548 vcopyq_lane_s8 (int8x16_t __a, const int __lane1,
14549 		int8x8_t __b, const int __lane2)
14550 {
14551   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14552 				  __a, __lane1);
14553 }
14554 
14555 __extension__ extern __inline int16x8_t
14556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s16(int16x8_t __a,const int __lane1,int16x4_t __b,const int __lane2)14557 vcopyq_lane_s16 (int16x8_t __a, const int __lane1,
14558 		 int16x4_t __b, const int __lane2)
14559 {
14560   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14561 				   __a, __lane1);
14562 }
14563 
14564 __extension__ extern __inline int32x4_t
14565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s32(int32x4_t __a,const int __lane1,int32x2_t __b,const int __lane2)14566 vcopyq_lane_s32 (int32x4_t __a, const int __lane1,
14567 		 int32x2_t __b, const int __lane2)
14568 {
14569   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14570 				   __a, __lane1);
14571 }
14572 
14573 __extension__ extern __inline int64x2_t
14574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s64(int64x2_t __a,const int __lane1,int64x1_t __b,const int __lane2)14575 vcopyq_lane_s64 (int64x2_t __a, const int __lane1,
14576 		 int64x1_t __b, const int __lane2)
14577 {
14578   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14579 				   __a, __lane1);
14580 }
14581 
14582 __extension__ extern __inline uint8x16_t
14583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u8(uint8x16_t __a,const int __lane1,uint8x8_t __b,const int __lane2)14584 vcopyq_lane_u8 (uint8x16_t __a, const int __lane1,
14585 		uint8x8_t __b, const int __lane2)
14586 {
14587   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14588 				  __a, __lane1);
14589 }
14590 
14591 __extension__ extern __inline uint16x8_t
14592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u16(uint16x8_t __a,const int __lane1,uint16x4_t __b,const int __lane2)14593 vcopyq_lane_u16 (uint16x8_t __a, const int __lane1,
14594 		 uint16x4_t __b, const int __lane2)
14595 {
14596   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14597 				   __a, __lane1);
14598 }
14599 
14600 __extension__ extern __inline uint32x4_t
14601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u32(uint32x4_t __a,const int __lane1,uint32x2_t __b,const int __lane2)14602 vcopyq_lane_u32 (uint32x4_t __a, const int __lane1,
14603 		 uint32x2_t __b, const int __lane2)
14604 {
14605   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14606 				   __a, __lane1);
14607 }
14608 
14609 __extension__ extern __inline uint64x2_t
14610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u64(uint64x2_t __a,const int __lane1,uint64x1_t __b,const int __lane2)14611 vcopyq_lane_u64 (uint64x2_t __a, const int __lane1,
14612 		 uint64x1_t __b, const int __lane2)
14613 {
14614   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14615 				   __a, __lane1);
14616 }
14617 
14618 /* vcopyq_laneq.  */
14619 
14620 __extension__ extern __inline float32x4_t
14621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f32(float32x4_t __a,const int __lane1,float32x4_t __b,const int __lane2)14622 vcopyq_laneq_f32 (float32x4_t __a, const int __lane1,
14623 		  float32x4_t __b, const int __lane2)
14624 {
14625   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14626 				   __a, __lane1);
14627 }
14628 
14629 __extension__ extern __inline float64x2_t
14630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f64(float64x2_t __a,const int __lane1,float64x2_t __b,const int __lane2)14631 vcopyq_laneq_f64 (float64x2_t __a, const int __lane1,
14632 		  float64x2_t __b, const int __lane2)
14633 {
14634   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14635 				   __a, __lane1);
14636 }
14637 
14638 __extension__ extern __inline poly8x16_t
14639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p8(poly8x16_t __a,const int __lane1,poly8x16_t __b,const int __lane2)14640 vcopyq_laneq_p8 (poly8x16_t __a, const int __lane1,
14641 		 poly8x16_t __b, const int __lane2)
14642 {
14643   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14644 				  __a, __lane1);
14645 }
14646 
14647 __extension__ extern __inline poly16x8_t
14648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p16(poly16x8_t __a,const int __lane1,poly16x8_t __b,const int __lane2)14649 vcopyq_laneq_p16 (poly16x8_t __a, const int __lane1,
14650 		  poly16x8_t __b, const int __lane2)
14651 {
14652   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14653 				   __a, __lane1);
14654 }
14655 
14656 __extension__ extern __inline poly64x2_t
14657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p64(poly64x2_t __a,const int __lane1,poly64x2_t __b,const int __lane2)14658 vcopyq_laneq_p64 (poly64x2_t __a, const int __lane1,
14659 		  poly64x2_t __b, const int __lane2)
14660 {
14661   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14662 				   __a, __lane1);
14663 }
14664 
14665 __extension__ extern __inline int8x16_t
14666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s8(int8x16_t __a,const int __lane1,int8x16_t __b,const int __lane2)14667 vcopyq_laneq_s8 (int8x16_t __a, const int __lane1,
14668 		 int8x16_t __b, const int __lane2)
14669 {
14670   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14671 				  __a, __lane1);
14672 }
14673 
14674 __extension__ extern __inline int16x8_t
14675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s16(int16x8_t __a,const int __lane1,int16x8_t __b,const int __lane2)14676 vcopyq_laneq_s16 (int16x8_t __a, const int __lane1,
14677 		  int16x8_t __b, const int __lane2)
14678 {
14679   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14680 				   __a, __lane1);
14681 }
14682 
14683 __extension__ extern __inline int32x4_t
14684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s32(int32x4_t __a,const int __lane1,int32x4_t __b,const int __lane2)14685 vcopyq_laneq_s32 (int32x4_t __a, const int __lane1,
14686 		  int32x4_t __b, const int __lane2)
14687 {
14688   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14689 				   __a, __lane1);
14690 }
14691 
14692 __extension__ extern __inline int64x2_t
14693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s64(int64x2_t __a,const int __lane1,int64x2_t __b,const int __lane2)14694 vcopyq_laneq_s64 (int64x2_t __a, const int __lane1,
14695 		  int64x2_t __b, const int __lane2)
14696 {
14697   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14698 				   __a, __lane1);
14699 }
14700 
14701 __extension__ extern __inline uint8x16_t
14702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u8(uint8x16_t __a,const int __lane1,uint8x16_t __b,const int __lane2)14703 vcopyq_laneq_u8 (uint8x16_t __a, const int __lane1,
14704 		 uint8x16_t __b, const int __lane2)
14705 {
14706   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14707 				  __a, __lane1);
14708 }
14709 
14710 __extension__ extern __inline uint16x8_t
14711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u16(uint16x8_t __a,const int __lane1,uint16x8_t __b,const int __lane2)14712 vcopyq_laneq_u16 (uint16x8_t __a, const int __lane1,
14713 		  uint16x8_t __b, const int __lane2)
14714 {
14715   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14716 				   __a, __lane1);
14717 }
14718 
14719 __extension__ extern __inline uint32x4_t
14720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u32(uint32x4_t __a,const int __lane1,uint32x4_t __b,const int __lane2)14721 vcopyq_laneq_u32 (uint32x4_t __a, const int __lane1,
14722 		  uint32x4_t __b, const int __lane2)
14723 {
14724   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14725 				   __a, __lane1);
14726 }
14727 
14728 __extension__ extern __inline uint64x2_t
14729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u64(uint64x2_t __a,const int __lane1,uint64x2_t __b,const int __lane2)14730 vcopyq_laneq_u64 (uint64x2_t __a, const int __lane1,
14731 		  uint64x2_t __b, const int __lane2)
14732 {
14733   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14734 				   __a, __lane1);
14735 }
14736 
14737 /* vcvt (double -> float).  */
14738 
14739 __extension__ extern __inline float16x4_t
14740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_f32(float32x4_t __a)14741 vcvt_f16_f32 (float32x4_t __a)
14742 {
14743   return __builtin_aarch64_float_truncate_lo_v4hf (__a);
14744 }
14745 
14746 __extension__ extern __inline float16x8_t
14747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f16_f32(float16x4_t __a,float32x4_t __b)14748 vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
14749 {
14750   return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
14751 }
14752 
14753 __extension__ extern __inline float32x2_t
14754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f64(float64x2_t __a)14755 vcvt_f32_f64 (float64x2_t __a)
14756 {
14757   return __builtin_aarch64_float_truncate_lo_v2sf (__a);
14758 }
14759 
14760 __extension__ extern __inline float32x4_t
14761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f64(float32x2_t __a,float64x2_t __b)14762 vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
14763 {
14764   return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
14765 }
14766 
14767 /* vcvt (float -> double).  */
14768 
14769 __extension__ extern __inline float32x4_t
14770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f16(float16x4_t __a)14771 vcvt_f32_f16 (float16x4_t __a)
14772 {
14773   return __builtin_aarch64_float_extend_lo_v4sf (__a);
14774 }
14775 
14776 __extension__ extern __inline float64x2_t
14777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_f32(float32x2_t __a)14778 vcvt_f64_f32 (float32x2_t __a)
14779 {
14780 
14781   return __builtin_aarch64_float_extend_lo_v2df (__a);
14782 }
14783 
14784 __extension__ extern __inline float32x4_t
14785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f16(float16x8_t __a)14786 vcvt_high_f32_f16 (float16x8_t __a)
14787 {
14788   return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
14789 }
14790 
14791 __extension__ extern __inline float64x2_t
14792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f64_f32(float32x4_t __a)14793 vcvt_high_f64_f32 (float32x4_t __a)
14794 {
14795   return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
14796 }
14797 
14798 /* vcvt (<u>fixed-point -> float).  */
14799 
14800 __extension__ extern __inline float64_t
14801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_s64(int64_t __a,const int __b)14802 vcvtd_n_f64_s64 (int64_t __a, const int __b)
14803 {
14804   return __builtin_aarch64_scvtfdi (__a, __b);
14805 }
14806 
14807 __extension__ extern __inline float64_t
14808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_u64(uint64_t __a,const int __b)14809 vcvtd_n_f64_u64 (uint64_t __a, const int __b)
14810 {
14811   return __builtin_aarch64_ucvtfdi_sus (__a, __b);
14812 }
14813 
14814 __extension__ extern __inline float32_t
14815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_s32(int32_t __a,const int __b)14816 vcvts_n_f32_s32 (int32_t __a, const int __b)
14817 {
14818   return __builtin_aarch64_scvtfsi (__a, __b);
14819 }
14820 
14821 __extension__ extern __inline float32_t
14822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_u32(uint32_t __a,const int __b)14823 vcvts_n_f32_u32 (uint32_t __a, const int __b)
14824 {
14825   return __builtin_aarch64_ucvtfsi_sus (__a, __b);
14826 }
14827 
14828 __extension__ extern __inline float32x2_t
14829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)14830 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
14831 {
14832   return __builtin_aarch64_scvtfv2si (__a, __b);
14833 }
14834 
14835 __extension__ extern __inline float32x2_t
14836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)14837 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
14838 {
14839   return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
14840 }
14841 
14842 __extension__ extern __inline float64x1_t
14843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_s64(int64x1_t __a,const int __b)14844 vcvt_n_f64_s64 (int64x1_t __a, const int __b)
14845 {
14846   return (float64x1_t)
14847     { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
14848 }
14849 
14850 __extension__ extern __inline float64x1_t
14851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_u64(uint64x1_t __a,const int __b)14852 vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
14853 {
14854   return (float64x1_t)
14855     { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
14856 }
14857 
14858 __extension__ extern __inline float32x4_t
14859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)14860 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
14861 {
14862   return __builtin_aarch64_scvtfv4si (__a, __b);
14863 }
14864 
14865 __extension__ extern __inline float32x4_t
14866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)14867 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
14868 {
14869   return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
14870 }
14871 
14872 __extension__ extern __inline float64x2_t
14873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_s64(int64x2_t __a,const int __b)14874 vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
14875 {
14876   return __builtin_aarch64_scvtfv2di (__a, __b);
14877 }
14878 
14879 __extension__ extern __inline float64x2_t
14880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_u64(uint64x2_t __a,const int __b)14881 vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
14882 {
14883   return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
14884 }
14885 
14886 /* vcvt (float -> <u>fixed-point).  */
14887 
14888 __extension__ extern __inline int64_t
14889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_s64_f64(float64_t __a,const int __b)14890 vcvtd_n_s64_f64 (float64_t __a, const int __b)
14891 {
14892   return __builtin_aarch64_fcvtzsdf (__a, __b);
14893 }
14894 
14895 __extension__ extern __inline uint64_t
14896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_u64_f64(float64_t __a,const int __b)14897 vcvtd_n_u64_f64 (float64_t __a, const int __b)
14898 {
14899   return __builtin_aarch64_fcvtzudf_uss (__a, __b);
14900 }
14901 
14902 __extension__ extern __inline int32_t
14903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_s32_f32(float32_t __a,const int __b)14904 vcvts_n_s32_f32 (float32_t __a, const int __b)
14905 {
14906   return __builtin_aarch64_fcvtzssf (__a, __b);
14907 }
14908 
14909 __extension__ extern __inline uint32_t
14910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_u32_f32(float32_t __a,const int __b)14911 vcvts_n_u32_f32 (float32_t __a, const int __b)
14912 {
14913   return __builtin_aarch64_fcvtzusf_uss (__a, __b);
14914 }
14915 
14916 __extension__ extern __inline int32x2_t
14917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)14918 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
14919 {
14920   return __builtin_aarch64_fcvtzsv2sf (__a, __b);
14921 }
14922 
14923 __extension__ extern __inline uint32x2_t
14924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)14925 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
14926 {
14927   return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
14928 }
14929 
14930 __extension__ extern __inline int64x1_t
14931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s64_f64(float64x1_t __a,const int __b)14932 vcvt_n_s64_f64 (float64x1_t __a, const int __b)
14933 {
14934   return (int64x1_t)
14935     { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
14936 }
14937 
14938 __extension__ extern __inline uint64x1_t
14939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u64_f64(float64x1_t __a,const int __b)14940 vcvt_n_u64_f64 (float64x1_t __a, const int __b)
14941 {
14942   return (uint64x1_t)
14943     { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
14944 }
14945 
14946 __extension__ extern __inline int32x4_t
14947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)14948 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
14949 {
14950   return __builtin_aarch64_fcvtzsv4sf (__a, __b);
14951 }
14952 
14953 __extension__ extern __inline uint32x4_t
14954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)14955 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
14956 {
14957   return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
14958 }
14959 
14960 __extension__ extern __inline int64x2_t
14961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s64_f64(float64x2_t __a,const int __b)14962 vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
14963 {
14964   return __builtin_aarch64_fcvtzsv2df (__a, __b);
14965 }
14966 
14967 __extension__ extern __inline uint64x2_t
14968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u64_f64(float64x2_t __a,const int __b)14969 vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
14970 {
14971   return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
14972 }
14973 
14974 /* vcvt  (<u>int -> float)  */
14975 
14976 __extension__ extern __inline float64_t
14977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_s64(int64_t __a)14978 vcvtd_f64_s64 (int64_t __a)
14979 {
14980   return (float64_t) __a;
14981 }
14982 
14983 __extension__ extern __inline float64_t
14984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_u64(uint64_t __a)14985 vcvtd_f64_u64 (uint64_t __a)
14986 {
14987   return (float64_t) __a;
14988 }
14989 
14990 __extension__ extern __inline float32_t
14991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_s32(int32_t __a)14992 vcvts_f32_s32 (int32_t __a)
14993 {
14994   return (float32_t) __a;
14995 }
14996 
14997 __extension__ extern __inline float32_t
14998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_u32(uint32_t __a)14999 vcvts_f32_u32 (uint32_t __a)
15000 {
15001   return (float32_t) __a;
15002 }
15003 
15004 __extension__ extern __inline float32x2_t
15005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_s32(int32x2_t __a)15006 vcvt_f32_s32 (int32x2_t __a)
15007 {
15008   return __builtin_aarch64_floatv2siv2sf (__a);
15009 }
15010 
15011 __extension__ extern __inline float32x2_t
15012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_u32(uint32x2_t __a)15013 vcvt_f32_u32 (uint32x2_t __a)
15014 {
15015   return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
15016 }
15017 
15018 __extension__ extern __inline float64x1_t
15019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_s64(int64x1_t __a)15020 vcvt_f64_s64 (int64x1_t __a)
15021 {
15022   return (float64x1_t) { vget_lane_s64 (__a, 0) };
15023 }
15024 
15025 __extension__ extern __inline float64x1_t
15026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_u64(uint64x1_t __a)15027 vcvt_f64_u64 (uint64x1_t __a)
15028 {
15029   return (float64x1_t) { vget_lane_u64 (__a, 0) };
15030 }
15031 
15032 __extension__ extern __inline float32x4_t
15033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_s32(int32x4_t __a)15034 vcvtq_f32_s32 (int32x4_t __a)
15035 {
15036   return __builtin_aarch64_floatv4siv4sf (__a);
15037 }
15038 
15039 __extension__ extern __inline float32x4_t
15040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_u32(uint32x4_t __a)15041 vcvtq_f32_u32 (uint32x4_t __a)
15042 {
15043   return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
15044 }
15045 
15046 __extension__ extern __inline float64x2_t
15047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_s64(int64x2_t __a)15048 vcvtq_f64_s64 (int64x2_t __a)
15049 {
15050   return __builtin_aarch64_floatv2div2df (__a);
15051 }
15052 
15053 __extension__ extern __inline float64x2_t
15054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_u64(uint64x2_t __a)15055 vcvtq_f64_u64 (uint64x2_t __a)
15056 {
15057   return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
15058 }
15059 
15060 /* vcvt (float -> <u>int)  */
15061 
15062 __extension__ extern __inline int64_t
15063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_s64_f64(float64_t __a)15064 vcvtd_s64_f64 (float64_t __a)
15065 {
15066   return (int64_t) __a;
15067 }
15068 
15069 __extension__ extern __inline uint64_t
15070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_u64_f64(float64_t __a)15071 vcvtd_u64_f64 (float64_t __a)
15072 {
15073   return (uint64_t) __a;
15074 }
15075 
15076 __extension__ extern __inline int32_t
15077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_s32_f32(float32_t __a)15078 vcvts_s32_f32 (float32_t __a)
15079 {
15080   return (int32_t) __a;
15081 }
15082 
15083 __extension__ extern __inline uint32_t
15084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_u32_f32(float32_t __a)15085 vcvts_u32_f32 (float32_t __a)
15086 {
15087   return (uint32_t) __a;
15088 }
15089 
15090 __extension__ extern __inline int32x2_t
15091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s32_f32(float32x2_t __a)15092 vcvt_s32_f32 (float32x2_t __a)
15093 {
15094   return __builtin_aarch64_lbtruncv2sfv2si (__a);
15095 }
15096 
15097 __extension__ extern __inline uint32x2_t
15098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u32_f32(float32x2_t __a)15099 vcvt_u32_f32 (float32x2_t __a)
15100 {
15101   return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
15102 }
15103 
15104 __extension__ extern __inline int32x4_t
15105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s32_f32(float32x4_t __a)15106 vcvtq_s32_f32 (float32x4_t __a)
15107 {
15108   return __builtin_aarch64_lbtruncv4sfv4si (__a);
15109 }
15110 
15111 __extension__ extern __inline uint32x4_t
15112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u32_f32(float32x4_t __a)15113 vcvtq_u32_f32 (float32x4_t __a)
15114 {
15115   return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
15116 }
15117 
15118 __extension__ extern __inline int64x1_t
15119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s64_f64(float64x1_t __a)15120 vcvt_s64_f64 (float64x1_t __a)
15121 {
15122   return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
15123 }
15124 
15125 __extension__ extern __inline uint64x1_t
15126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u64_f64(float64x1_t __a)15127 vcvt_u64_f64 (float64x1_t __a)
15128 {
15129   return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
15130 }
15131 
15132 __extension__ extern __inline int64x2_t
15133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s64_f64(float64x2_t __a)15134 vcvtq_s64_f64 (float64x2_t __a)
15135 {
15136   return __builtin_aarch64_lbtruncv2dfv2di (__a);
15137 }
15138 
15139 __extension__ extern __inline uint64x2_t
15140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u64_f64(float64x2_t __a)15141 vcvtq_u64_f64 (float64x2_t __a)
15142 {
15143   return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
15144 }
15145 
15146 /* vcvta  */
15147 
15148 __extension__ extern __inline int64_t
15149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_s64_f64(float64_t __a)15150 vcvtad_s64_f64 (float64_t __a)
15151 {
15152   return __builtin_aarch64_lrounddfdi (__a);
15153 }
15154 
15155 __extension__ extern __inline uint64_t
15156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_u64_f64(float64_t __a)15157 vcvtad_u64_f64 (float64_t __a)
15158 {
15159   return __builtin_aarch64_lroundudfdi_us (__a);
15160 }
15161 
15162 __extension__ extern __inline int32_t
15163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_s32_f32(float32_t __a)15164 vcvtas_s32_f32 (float32_t __a)
15165 {
15166   return __builtin_aarch64_lroundsfsi (__a);
15167 }
15168 
15169 __extension__ extern __inline uint32_t
15170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_u32_f32(float32_t __a)15171 vcvtas_u32_f32 (float32_t __a)
15172 {
15173   return __builtin_aarch64_lroundusfsi_us (__a);
15174 }
15175 
15176 __extension__ extern __inline int32x2_t
15177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s32_f32(float32x2_t __a)15178 vcvta_s32_f32 (float32x2_t __a)
15179 {
15180   return __builtin_aarch64_lroundv2sfv2si (__a);
15181 }
15182 
15183 __extension__ extern __inline uint32x2_t
15184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u32_f32(float32x2_t __a)15185 vcvta_u32_f32 (float32x2_t __a)
15186 {
15187   return __builtin_aarch64_lrounduv2sfv2si_us (__a);
15188 }
15189 
15190 __extension__ extern __inline int32x4_t
15191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s32_f32(float32x4_t __a)15192 vcvtaq_s32_f32 (float32x4_t __a)
15193 {
15194   return __builtin_aarch64_lroundv4sfv4si (__a);
15195 }
15196 
15197 __extension__ extern __inline uint32x4_t
15198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u32_f32(float32x4_t __a)15199 vcvtaq_u32_f32 (float32x4_t __a)
15200 {
15201   return __builtin_aarch64_lrounduv4sfv4si_us (__a);
15202 }
15203 
15204 __extension__ extern __inline int64x1_t
15205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s64_f64(float64x1_t __a)15206 vcvta_s64_f64 (float64x1_t __a)
15207 {
15208   return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
15209 }
15210 
15211 __extension__ extern __inline uint64x1_t
15212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u64_f64(float64x1_t __a)15213 vcvta_u64_f64 (float64x1_t __a)
15214 {
15215   return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
15216 }
15217 
15218 __extension__ extern __inline int64x2_t
15219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s64_f64(float64x2_t __a)15220 vcvtaq_s64_f64 (float64x2_t __a)
15221 {
15222   return __builtin_aarch64_lroundv2dfv2di (__a);
15223 }
15224 
15225 __extension__ extern __inline uint64x2_t
15226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u64_f64(float64x2_t __a)15227 vcvtaq_u64_f64 (float64x2_t __a)
15228 {
15229   return __builtin_aarch64_lrounduv2dfv2di_us (__a);
15230 }
15231 
15232 /* vcvtm  */
15233 
15234 __extension__ extern __inline int64_t
15235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_s64_f64(float64_t __a)15236 vcvtmd_s64_f64 (float64_t __a)
15237 {
15238   return __builtin_llfloor (__a);
15239 }
15240 
15241 __extension__ extern __inline uint64_t
15242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_u64_f64(float64_t __a)15243 vcvtmd_u64_f64 (float64_t __a)
15244 {
15245   return __builtin_aarch64_lfloorudfdi_us (__a);
15246 }
15247 
15248 __extension__ extern __inline int32_t
15249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_s32_f32(float32_t __a)15250 vcvtms_s32_f32 (float32_t __a)
15251 {
15252   return __builtin_ifloorf (__a);
15253 }
15254 
15255 __extension__ extern __inline uint32_t
15256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_u32_f32(float32_t __a)15257 vcvtms_u32_f32 (float32_t __a)
15258 {
15259   return __builtin_aarch64_lfloorusfsi_us (__a);
15260 }
15261 
15262 __extension__ extern __inline int32x2_t
15263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s32_f32(float32x2_t __a)15264 vcvtm_s32_f32 (float32x2_t __a)
15265 {
15266   return __builtin_aarch64_lfloorv2sfv2si (__a);
15267 }
15268 
15269 __extension__ extern __inline uint32x2_t
15270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u32_f32(float32x2_t __a)15271 vcvtm_u32_f32 (float32x2_t __a)
15272 {
15273   return __builtin_aarch64_lflooruv2sfv2si_us (__a);
15274 }
15275 
15276 __extension__ extern __inline int32x4_t
15277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s32_f32(float32x4_t __a)15278 vcvtmq_s32_f32 (float32x4_t __a)
15279 {
15280   return __builtin_aarch64_lfloorv4sfv4si (__a);
15281 }
15282 
15283 __extension__ extern __inline uint32x4_t
15284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u32_f32(float32x4_t __a)15285 vcvtmq_u32_f32 (float32x4_t __a)
15286 {
15287   return __builtin_aarch64_lflooruv4sfv4si_us (__a);
15288 }
15289 
15290 __extension__ extern __inline int64x1_t
15291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s64_f64(float64x1_t __a)15292 vcvtm_s64_f64 (float64x1_t __a)
15293 {
15294   return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
15295 }
15296 
15297 __extension__ extern __inline uint64x1_t
15298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u64_f64(float64x1_t __a)15299 vcvtm_u64_f64 (float64x1_t __a)
15300 {
15301   return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
15302 }
15303 
15304 __extension__ extern __inline int64x2_t
15305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s64_f64(float64x2_t __a)15306 vcvtmq_s64_f64 (float64x2_t __a)
15307 {
15308   return __builtin_aarch64_lfloorv2dfv2di (__a);
15309 }
15310 
15311 __extension__ extern __inline uint64x2_t
15312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u64_f64(float64x2_t __a)15313 vcvtmq_u64_f64 (float64x2_t __a)
15314 {
15315   return __builtin_aarch64_lflooruv2dfv2di_us (__a);
15316 }
15317 
15318 /* vcvtn  */
15319 
15320 __extension__ extern __inline int64_t
15321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_s64_f64(float64_t __a)15322 vcvtnd_s64_f64 (float64_t __a)
15323 {
15324   return __builtin_aarch64_lfrintndfdi (__a);
15325 }
15326 
15327 __extension__ extern __inline uint64_t
15328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_u64_f64(float64_t __a)15329 vcvtnd_u64_f64 (float64_t __a)
15330 {
15331   return __builtin_aarch64_lfrintnudfdi_us (__a);
15332 }
15333 
15334 __extension__ extern __inline int32_t
15335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_s32_f32(float32_t __a)15336 vcvtns_s32_f32 (float32_t __a)
15337 {
15338   return __builtin_aarch64_lfrintnsfsi (__a);
15339 }
15340 
15341 __extension__ extern __inline uint32_t
15342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_u32_f32(float32_t __a)15343 vcvtns_u32_f32 (float32_t __a)
15344 {
15345   return __builtin_aarch64_lfrintnusfsi_us (__a);
15346 }
15347 
15348 __extension__ extern __inline int32x2_t
15349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s32_f32(float32x2_t __a)15350 vcvtn_s32_f32 (float32x2_t __a)
15351 {
15352   return __builtin_aarch64_lfrintnv2sfv2si (__a);
15353 }
15354 
15355 __extension__ extern __inline uint32x2_t
15356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u32_f32(float32x2_t __a)15357 vcvtn_u32_f32 (float32x2_t __a)
15358 {
15359   return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
15360 }
15361 
15362 __extension__ extern __inline int32x4_t
15363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s32_f32(float32x4_t __a)15364 vcvtnq_s32_f32 (float32x4_t __a)
15365 {
15366   return __builtin_aarch64_lfrintnv4sfv4si (__a);
15367 }
15368 
15369 __extension__ extern __inline uint32x4_t
15370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u32_f32(float32x4_t __a)15371 vcvtnq_u32_f32 (float32x4_t __a)
15372 {
15373   return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
15374 }
15375 
15376 __extension__ extern __inline int64x1_t
15377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s64_f64(float64x1_t __a)15378 vcvtn_s64_f64 (float64x1_t __a)
15379 {
15380   return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
15381 }
15382 
15383 __extension__ extern __inline uint64x1_t
15384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u64_f64(float64x1_t __a)15385 vcvtn_u64_f64 (float64x1_t __a)
15386 {
15387   return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
15388 }
15389 
15390 __extension__ extern __inline int64x2_t
15391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s64_f64(float64x2_t __a)15392 vcvtnq_s64_f64 (float64x2_t __a)
15393 {
15394   return __builtin_aarch64_lfrintnv2dfv2di (__a);
15395 }
15396 
15397 __extension__ extern __inline uint64x2_t
15398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u64_f64(float64x2_t __a)15399 vcvtnq_u64_f64 (float64x2_t __a)
15400 {
15401   return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
15402 }
15403 
15404 /* vcvtp  */
15405 
15406 __extension__ extern __inline int64_t
15407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_s64_f64(float64_t __a)15408 vcvtpd_s64_f64 (float64_t __a)
15409 {
15410   return __builtin_llceil (__a);
15411 }
15412 
15413 __extension__ extern __inline uint64_t
15414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_u64_f64(float64_t __a)15415 vcvtpd_u64_f64 (float64_t __a)
15416 {
15417   return __builtin_aarch64_lceiludfdi_us (__a);
15418 }
15419 
15420 __extension__ extern __inline int32_t
15421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_s32_f32(float32_t __a)15422 vcvtps_s32_f32 (float32_t __a)
15423 {
15424   return __builtin_iceilf (__a);
15425 }
15426 
15427 __extension__ extern __inline uint32_t
15428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_u32_f32(float32_t __a)15429 vcvtps_u32_f32 (float32_t __a)
15430 {
15431   return __builtin_aarch64_lceilusfsi_us (__a);
15432 }
15433 
15434 __extension__ extern __inline int32x2_t
15435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s32_f32(float32x2_t __a)15436 vcvtp_s32_f32 (float32x2_t __a)
15437 {
15438   return __builtin_aarch64_lceilv2sfv2si (__a);
15439 }
15440 
15441 __extension__ extern __inline uint32x2_t
15442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u32_f32(float32x2_t __a)15443 vcvtp_u32_f32 (float32x2_t __a)
15444 {
15445   return __builtin_aarch64_lceiluv2sfv2si_us (__a);
15446 }
15447 
15448 __extension__ extern __inline int32x4_t
15449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s32_f32(float32x4_t __a)15450 vcvtpq_s32_f32 (float32x4_t __a)
15451 {
15452   return __builtin_aarch64_lceilv4sfv4si (__a);
15453 }
15454 
15455 __extension__ extern __inline uint32x4_t
15456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u32_f32(float32x4_t __a)15457 vcvtpq_u32_f32 (float32x4_t __a)
15458 {
15459   return __builtin_aarch64_lceiluv4sfv4si_us (__a);
15460 }
15461 
15462 __extension__ extern __inline int64x1_t
15463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s64_f64(float64x1_t __a)15464 vcvtp_s64_f64 (float64x1_t __a)
15465 {
15466   return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
15467 }
15468 
15469 __extension__ extern __inline uint64x1_t
15470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u64_f64(float64x1_t __a)15471 vcvtp_u64_f64 (float64x1_t __a)
15472 {
15473   return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
15474 }
15475 
15476 __extension__ extern __inline int64x2_t
15477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s64_f64(float64x2_t __a)15478 vcvtpq_s64_f64 (float64x2_t __a)
15479 {
15480   return __builtin_aarch64_lceilv2dfv2di (__a);
15481 }
15482 
15483 __extension__ extern __inline uint64x2_t
15484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u64_f64(float64x2_t __a)15485 vcvtpq_u64_f64 (float64x2_t __a)
15486 {
15487   return __builtin_aarch64_lceiluv2dfv2di_us (__a);
15488 }
15489 
15490 /* vdup_n  */
15491 
15492 __extension__ extern __inline float16x4_t
15493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f16(float16_t __a)15494 vdup_n_f16 (float16_t __a)
15495 {
15496   return (float16x4_t) {__a, __a, __a, __a};
15497 }
15498 
15499 __extension__ extern __inline float32x2_t
15500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f32(float32_t __a)15501 vdup_n_f32 (float32_t __a)
15502 {
15503   return (float32x2_t) {__a, __a};
15504 }
15505 
15506 __extension__ extern __inline float64x1_t
15507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f64(float64_t __a)15508 vdup_n_f64 (float64_t __a)
15509 {
15510   return (float64x1_t) {__a};
15511 }
15512 
15513 __extension__ extern __inline poly8x8_t
15514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p8(poly8_t __a)15515 vdup_n_p8 (poly8_t __a)
15516 {
15517   return (poly8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15518 }
15519 
15520 __extension__ extern __inline poly16x4_t
15521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p16(poly16_t __a)15522 vdup_n_p16 (poly16_t __a)
15523 {
15524   return (poly16x4_t) {__a, __a, __a, __a};
15525 }
15526 
15527 __extension__ extern __inline poly64x1_t
15528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p64(poly64_t __a)15529 vdup_n_p64 (poly64_t __a)
15530 {
15531   return (poly64x1_t) {__a};
15532 }
15533 
15534 __extension__ extern __inline int8x8_t
15535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s8(int8_t __a)15536 vdup_n_s8 (int8_t __a)
15537 {
15538   return (int8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15539 }
15540 
15541 __extension__ extern __inline int16x4_t
15542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s16(int16_t __a)15543 vdup_n_s16 (int16_t __a)
15544 {
15545   return (int16x4_t) {__a, __a, __a, __a};
15546 }
15547 
15548 __extension__ extern __inline int32x2_t
15549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s32(int32_t __a)15550 vdup_n_s32 (int32_t __a)
15551 {
15552   return (int32x2_t) {__a, __a};
15553 }
15554 
15555 __extension__ extern __inline int64x1_t
15556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s64(int64_t __a)15557 vdup_n_s64 (int64_t __a)
15558 {
15559   return (int64x1_t) {__a};
15560 }
15561 
15562 __extension__ extern __inline uint8x8_t
15563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u8(uint8_t __a)15564 vdup_n_u8 (uint8_t __a)
15565 {
15566   return (uint8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15567 }
15568 
15569 __extension__ extern __inline uint16x4_t
15570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u16(uint16_t __a)15571 vdup_n_u16 (uint16_t __a)
15572 {
15573   return (uint16x4_t) {__a, __a, __a, __a};
15574 }
15575 
15576 __extension__ extern __inline uint32x2_t
15577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u32(uint32_t __a)15578 vdup_n_u32 (uint32_t __a)
15579 {
15580   return (uint32x2_t) {__a, __a};
15581 }
15582 
15583 __extension__ extern __inline uint64x1_t
15584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u64(uint64_t __a)15585 vdup_n_u64 (uint64_t __a)
15586 {
15587   return (uint64x1_t) {__a};
15588 }
15589 
15590 /* vdupq_n  */
15591 
15592 __extension__ extern __inline float16x8_t
15593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f16(float16_t __a)15594 vdupq_n_f16 (float16_t __a)
15595 {
15596   return (float16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15597 }
15598 
15599 __extension__ extern __inline float32x4_t
15600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f32(float32_t __a)15601 vdupq_n_f32 (float32_t __a)
15602 {
15603   return (float32x4_t) {__a, __a, __a, __a};
15604 }
15605 
15606 __extension__ extern __inline float64x2_t
15607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f64(float64_t __a)15608 vdupq_n_f64 (float64_t __a)
15609 {
15610   return (float64x2_t) {__a, __a};
15611 }
15612 
15613 __extension__ extern __inline poly8x16_t
15614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p8(poly8_t __a)15615 vdupq_n_p8 (poly8_t __a)
15616 {
15617   return (poly8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15618 		       __a, __a, __a, __a, __a, __a, __a, __a};
15619 }
15620 
15621 __extension__ extern __inline poly16x8_t
15622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p16(poly16_t __a)15623 vdupq_n_p16 (poly16_t __a)
15624 {
15625   return (poly16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15626 }
15627 
15628 __extension__ extern __inline poly64x2_t
15629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p64(poly64_t __a)15630 vdupq_n_p64 (poly64_t __a)
15631 {
15632   return (poly64x2_t) {__a, __a};
15633 }
15634 
15635 __extension__ extern __inline int8x16_t
15636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s8(int8_t __a)15637 vdupq_n_s8 (int8_t __a)
15638 {
15639   return (int8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15640 		      __a, __a, __a, __a, __a, __a, __a, __a};
15641 }
15642 
15643 __extension__ extern __inline int16x8_t
15644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s16(int16_t __a)15645 vdupq_n_s16 (int16_t __a)
15646 {
15647   return (int16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15648 }
15649 
15650 __extension__ extern __inline int32x4_t
15651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s32(int32_t __a)15652 vdupq_n_s32 (int32_t __a)
15653 {
15654   return (int32x4_t) {__a, __a, __a, __a};
15655 }
15656 
15657 __extension__ extern __inline int64x2_t
15658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s64(int64_t __a)15659 vdupq_n_s64 (int64_t __a)
15660 {
15661   return (int64x2_t) {__a, __a};
15662 }
15663 
15664 __extension__ extern __inline uint8x16_t
15665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u8(uint8_t __a)15666 vdupq_n_u8 (uint8_t __a)
15667 {
15668   return (uint8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15669 		       __a, __a, __a, __a, __a, __a, __a, __a};
15670 }
15671 
15672 __extension__ extern __inline uint16x8_t
15673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u16(uint16_t __a)15674 vdupq_n_u16 (uint16_t __a)
15675 {
15676   return (uint16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15677 }
15678 
15679 __extension__ extern __inline uint32x4_t
15680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u32(uint32_t __a)15681 vdupq_n_u32 (uint32_t __a)
15682 {
15683   return (uint32x4_t) {__a, __a, __a, __a};
15684 }
15685 
15686 __extension__ extern __inline uint64x2_t
15687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u64(uint64_t __a)15688 vdupq_n_u64 (uint64_t __a)
15689 {
15690   return (uint64x2_t) {__a, __a};
15691 }
15692 
15693 /* vdup_lane  */
15694 
15695 __extension__ extern __inline float16x4_t
15696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f16(float16x4_t __a,const int __b)15697 vdup_lane_f16 (float16x4_t __a, const int __b)
15698 {
15699   return __aarch64_vdup_lane_f16 (__a, __b);
15700 }
15701 
15702 __extension__ extern __inline float32x2_t
15703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f32(float32x2_t __a,const int __b)15704 vdup_lane_f32 (float32x2_t __a, const int __b)
15705 {
15706   return __aarch64_vdup_lane_f32 (__a, __b);
15707 }
15708 
15709 __extension__ extern __inline float64x1_t
15710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f64(float64x1_t __a,const int __b)15711 vdup_lane_f64 (float64x1_t __a, const int __b)
15712 {
15713   return __aarch64_vdup_lane_f64 (__a, __b);
15714 }
15715 
15716 __extension__ extern __inline poly8x8_t
15717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p8(poly8x8_t __a,const int __b)15718 vdup_lane_p8 (poly8x8_t __a, const int __b)
15719 {
15720   return __aarch64_vdup_lane_p8 (__a, __b);
15721 }
15722 
15723 __extension__ extern __inline poly16x4_t
15724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p16(poly16x4_t __a,const int __b)15725 vdup_lane_p16 (poly16x4_t __a, const int __b)
15726 {
15727   return __aarch64_vdup_lane_p16 (__a, __b);
15728 }
15729 
15730 __extension__ extern __inline poly64x1_t
15731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p64(poly64x1_t __a,const int __b)15732 vdup_lane_p64 (poly64x1_t __a, const int __b)
15733 {
15734   return __aarch64_vdup_lane_p64 (__a, __b);
15735 }
15736 
15737 __extension__ extern __inline int8x8_t
15738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s8(int8x8_t __a,const int __b)15739 vdup_lane_s8 (int8x8_t __a, const int __b)
15740 {
15741   return __aarch64_vdup_lane_s8 (__a, __b);
15742 }
15743 
15744 __extension__ extern __inline int16x4_t
15745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s16(int16x4_t __a,const int __b)15746 vdup_lane_s16 (int16x4_t __a, const int __b)
15747 {
15748   return __aarch64_vdup_lane_s16 (__a, __b);
15749 }
15750 
15751 __extension__ extern __inline int32x2_t
15752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s32(int32x2_t __a,const int __b)15753 vdup_lane_s32 (int32x2_t __a, const int __b)
15754 {
15755   return __aarch64_vdup_lane_s32 (__a, __b);
15756 }
15757 
15758 __extension__ extern __inline int64x1_t
15759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s64(int64x1_t __a,const int __b)15760 vdup_lane_s64 (int64x1_t __a, const int __b)
15761 {
15762   return __aarch64_vdup_lane_s64 (__a, __b);
15763 }
15764 
15765 __extension__ extern __inline uint8x8_t
15766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u8(uint8x8_t __a,const int __b)15767 vdup_lane_u8 (uint8x8_t __a, const int __b)
15768 {
15769   return __aarch64_vdup_lane_u8 (__a, __b);
15770 }
15771 
15772 __extension__ extern __inline uint16x4_t
15773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u16(uint16x4_t __a,const int __b)15774 vdup_lane_u16 (uint16x4_t __a, const int __b)
15775 {
15776   return __aarch64_vdup_lane_u16 (__a, __b);
15777 }
15778 
15779 __extension__ extern __inline uint32x2_t
15780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u32(uint32x2_t __a,const int __b)15781 vdup_lane_u32 (uint32x2_t __a, const int __b)
15782 {
15783   return __aarch64_vdup_lane_u32 (__a, __b);
15784 }
15785 
15786 __extension__ extern __inline uint64x1_t
15787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u64(uint64x1_t __a,const int __b)15788 vdup_lane_u64 (uint64x1_t __a, const int __b)
15789 {
15790   return __aarch64_vdup_lane_u64 (__a, __b);
15791 }
15792 
15793 /* vdup_laneq  */
15794 
15795 __extension__ extern __inline float16x4_t
15796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f16(float16x8_t __a,const int __b)15797 vdup_laneq_f16 (float16x8_t __a, const int __b)
15798 {
15799   return __aarch64_vdup_laneq_f16 (__a, __b);
15800 }
15801 
15802 __extension__ extern __inline float32x2_t
15803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f32(float32x4_t __a,const int __b)15804 vdup_laneq_f32 (float32x4_t __a, const int __b)
15805 {
15806   return __aarch64_vdup_laneq_f32 (__a, __b);
15807 }
15808 
15809 __extension__ extern __inline float64x1_t
15810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f64(float64x2_t __a,const int __b)15811 vdup_laneq_f64 (float64x2_t __a, const int __b)
15812 {
15813   return __aarch64_vdup_laneq_f64 (__a, __b);
15814 }
15815 
15816 __extension__ extern __inline poly8x8_t
15817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p8(poly8x16_t __a,const int __b)15818 vdup_laneq_p8 (poly8x16_t __a, const int __b)
15819 {
15820   return __aarch64_vdup_laneq_p8 (__a, __b);
15821 }
15822 
15823 __extension__ extern __inline poly16x4_t
15824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p16(poly16x8_t __a,const int __b)15825 vdup_laneq_p16 (poly16x8_t __a, const int __b)
15826 {
15827   return __aarch64_vdup_laneq_p16 (__a, __b);
15828 }
15829 
15830 __extension__ extern __inline poly64x1_t
15831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p64(poly64x2_t __a,const int __b)15832 vdup_laneq_p64 (poly64x2_t __a, const int __b)
15833 {
15834   return __aarch64_vdup_laneq_p64 (__a, __b);
15835 }
15836 
15837 __extension__ extern __inline int8x8_t
15838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s8(int8x16_t __a,const int __b)15839 vdup_laneq_s8 (int8x16_t __a, const int __b)
15840 {
15841   return __aarch64_vdup_laneq_s8 (__a, __b);
15842 }
15843 
15844 __extension__ extern __inline int16x4_t
15845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s16(int16x8_t __a,const int __b)15846 vdup_laneq_s16 (int16x8_t __a, const int __b)
15847 {
15848   return __aarch64_vdup_laneq_s16 (__a, __b);
15849 }
15850 
15851 __extension__ extern __inline int32x2_t
15852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s32(int32x4_t __a,const int __b)15853 vdup_laneq_s32 (int32x4_t __a, const int __b)
15854 {
15855   return __aarch64_vdup_laneq_s32 (__a, __b);
15856 }
15857 
15858 __extension__ extern __inline int64x1_t
15859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s64(int64x2_t __a,const int __b)15860 vdup_laneq_s64 (int64x2_t __a, const int __b)
15861 {
15862   return __aarch64_vdup_laneq_s64 (__a, __b);
15863 }
15864 
15865 __extension__ extern __inline uint8x8_t
15866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u8(uint8x16_t __a,const int __b)15867 vdup_laneq_u8 (uint8x16_t __a, const int __b)
15868 {
15869   return __aarch64_vdup_laneq_u8 (__a, __b);
15870 }
15871 
15872 __extension__ extern __inline uint16x4_t
15873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u16(uint16x8_t __a,const int __b)15874 vdup_laneq_u16 (uint16x8_t __a, const int __b)
15875 {
15876   return __aarch64_vdup_laneq_u16 (__a, __b);
15877 }
15878 
15879 __extension__ extern __inline uint32x2_t
15880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u32(uint32x4_t __a,const int __b)15881 vdup_laneq_u32 (uint32x4_t __a, const int __b)
15882 {
15883   return __aarch64_vdup_laneq_u32 (__a, __b);
15884 }
15885 
15886 __extension__ extern __inline uint64x1_t
15887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u64(uint64x2_t __a,const int __b)15888 vdup_laneq_u64 (uint64x2_t __a, const int __b)
15889 {
15890   return __aarch64_vdup_laneq_u64 (__a, __b);
15891 }
15892 
15893 /* vdupq_lane  */
15894 
15895 __extension__ extern __inline float16x8_t
15896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f16(float16x4_t __a,const int __b)15897 vdupq_lane_f16 (float16x4_t __a, const int __b)
15898 {
15899   return __aarch64_vdupq_lane_f16 (__a, __b);
15900 }
15901 
15902 __extension__ extern __inline float32x4_t
15903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f32(float32x2_t __a,const int __b)15904 vdupq_lane_f32 (float32x2_t __a, const int __b)
15905 {
15906   return __aarch64_vdupq_lane_f32 (__a, __b);
15907 }
15908 
15909 __extension__ extern __inline float64x2_t
15910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f64(float64x1_t __a,const int __b)15911 vdupq_lane_f64 (float64x1_t __a, const int __b)
15912 {
15913   return __aarch64_vdupq_lane_f64 (__a, __b);
15914 }
15915 
15916 __extension__ extern __inline poly8x16_t
15917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p8(poly8x8_t __a,const int __b)15918 vdupq_lane_p8 (poly8x8_t __a, const int __b)
15919 {
15920   return __aarch64_vdupq_lane_p8 (__a, __b);
15921 }
15922 
15923 __extension__ extern __inline poly16x8_t
15924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p16(poly16x4_t __a,const int __b)15925 vdupq_lane_p16 (poly16x4_t __a, const int __b)
15926 {
15927   return __aarch64_vdupq_lane_p16 (__a, __b);
15928 }
15929 
15930 __extension__ extern __inline poly64x2_t
15931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p64(poly64x1_t __a,const int __b)15932 vdupq_lane_p64 (poly64x1_t __a, const int __b)
15933 {
15934   return __aarch64_vdupq_lane_p64 (__a, __b);
15935 }
15936 
15937 __extension__ extern __inline int8x16_t
15938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s8(int8x8_t __a,const int __b)15939 vdupq_lane_s8 (int8x8_t __a, const int __b)
15940 {
15941   return __aarch64_vdupq_lane_s8 (__a, __b);
15942 }
15943 
15944 __extension__ extern __inline int16x8_t
15945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s16(int16x4_t __a,const int __b)15946 vdupq_lane_s16 (int16x4_t __a, const int __b)
15947 {
15948   return __aarch64_vdupq_lane_s16 (__a, __b);
15949 }
15950 
15951 __extension__ extern __inline int32x4_t
15952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s32(int32x2_t __a,const int __b)15953 vdupq_lane_s32 (int32x2_t __a, const int __b)
15954 {
15955   return __aarch64_vdupq_lane_s32 (__a, __b);
15956 }
15957 
15958 __extension__ extern __inline int64x2_t
15959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s64(int64x1_t __a,const int __b)15960 vdupq_lane_s64 (int64x1_t __a, const int __b)
15961 {
15962   return __aarch64_vdupq_lane_s64 (__a, __b);
15963 }
15964 
15965 __extension__ extern __inline uint8x16_t
15966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u8(uint8x8_t __a,const int __b)15967 vdupq_lane_u8 (uint8x8_t __a, const int __b)
15968 {
15969   return __aarch64_vdupq_lane_u8 (__a, __b);
15970 }
15971 
15972 __extension__ extern __inline uint16x8_t
15973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u16(uint16x4_t __a,const int __b)15974 vdupq_lane_u16 (uint16x4_t __a, const int __b)
15975 {
15976   return __aarch64_vdupq_lane_u16 (__a, __b);
15977 }
15978 
15979 __extension__ extern __inline uint32x4_t
15980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u32(uint32x2_t __a,const int __b)15981 vdupq_lane_u32 (uint32x2_t __a, const int __b)
15982 {
15983   return __aarch64_vdupq_lane_u32 (__a, __b);
15984 }
15985 
15986 __extension__ extern __inline uint64x2_t
15987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u64(uint64x1_t __a,const int __b)15988 vdupq_lane_u64 (uint64x1_t __a, const int __b)
15989 {
15990   return __aarch64_vdupq_lane_u64 (__a, __b);
15991 }
15992 
15993 /* vdupq_laneq  */
15994 
15995 __extension__ extern __inline float16x8_t
15996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f16(float16x8_t __a,const int __b)15997 vdupq_laneq_f16 (float16x8_t __a, const int __b)
15998 {
15999   return __aarch64_vdupq_laneq_f16 (__a, __b);
16000 }
16001 
16002 __extension__ extern __inline float32x4_t
16003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f32(float32x4_t __a,const int __b)16004 vdupq_laneq_f32 (float32x4_t __a, const int __b)
16005 {
16006   return __aarch64_vdupq_laneq_f32 (__a, __b);
16007 }
16008 
16009 __extension__ extern __inline float64x2_t
16010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f64(float64x2_t __a,const int __b)16011 vdupq_laneq_f64 (float64x2_t __a, const int __b)
16012 {
16013   return __aarch64_vdupq_laneq_f64 (__a, __b);
16014 }
16015 
16016 __extension__ extern __inline poly8x16_t
16017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p8(poly8x16_t __a,const int __b)16018 vdupq_laneq_p8 (poly8x16_t __a, const int __b)
16019 {
16020   return __aarch64_vdupq_laneq_p8 (__a, __b);
16021 }
16022 
16023 __extension__ extern __inline poly16x8_t
16024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p16(poly16x8_t __a,const int __b)16025 vdupq_laneq_p16 (poly16x8_t __a, const int __b)
16026 {
16027   return __aarch64_vdupq_laneq_p16 (__a, __b);
16028 }
16029 
16030 __extension__ extern __inline poly64x2_t
16031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p64(poly64x2_t __a,const int __b)16032 vdupq_laneq_p64 (poly64x2_t __a, const int __b)
16033 {
16034   return __aarch64_vdupq_laneq_p64 (__a, __b);
16035 }
16036 
16037 __extension__ extern __inline int8x16_t
16038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s8(int8x16_t __a,const int __b)16039 vdupq_laneq_s8 (int8x16_t __a, const int __b)
16040 {
16041   return __aarch64_vdupq_laneq_s8 (__a, __b);
16042 }
16043 
16044 __extension__ extern __inline int16x8_t
16045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s16(int16x8_t __a,const int __b)16046 vdupq_laneq_s16 (int16x8_t __a, const int __b)
16047 {
16048   return __aarch64_vdupq_laneq_s16 (__a, __b);
16049 }
16050 
16051 __extension__ extern __inline int32x4_t
16052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s32(int32x4_t __a,const int __b)16053 vdupq_laneq_s32 (int32x4_t __a, const int __b)
16054 {
16055   return __aarch64_vdupq_laneq_s32 (__a, __b);
16056 }
16057 
16058 __extension__ extern __inline int64x2_t
16059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s64(int64x2_t __a,const int __b)16060 vdupq_laneq_s64 (int64x2_t __a, const int __b)
16061 {
16062   return __aarch64_vdupq_laneq_s64 (__a, __b);
16063 }
16064 
16065 __extension__ extern __inline uint8x16_t
16066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u8(uint8x16_t __a,const int __b)16067 vdupq_laneq_u8 (uint8x16_t __a, const int __b)
16068 {
16069   return __aarch64_vdupq_laneq_u8 (__a, __b);
16070 }
16071 
16072 __extension__ extern __inline uint16x8_t
16073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u16(uint16x8_t __a,const int __b)16074 vdupq_laneq_u16 (uint16x8_t __a, const int __b)
16075 {
16076   return __aarch64_vdupq_laneq_u16 (__a, __b);
16077 }
16078 
16079 __extension__ extern __inline uint32x4_t
16080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u32(uint32x4_t __a,const int __b)16081 vdupq_laneq_u32 (uint32x4_t __a, const int __b)
16082 {
16083   return __aarch64_vdupq_laneq_u32 (__a, __b);
16084 }
16085 
16086 __extension__ extern __inline uint64x2_t
16087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u64(uint64x2_t __a,const int __b)16088 vdupq_laneq_u64 (uint64x2_t __a, const int __b)
16089 {
16090   return __aarch64_vdupq_laneq_u64 (__a, __b);
16091 }
16092 
16093 /* vdupb_lane  */
16094 __extension__ extern __inline poly8_t
16095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_p8(poly8x8_t __a,const int __b)16096 vdupb_lane_p8 (poly8x8_t __a, const int __b)
16097 {
16098   return __aarch64_vget_lane_any (__a, __b);
16099 }
16100 
16101 __extension__ extern __inline int8_t
16102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_s8(int8x8_t __a,const int __b)16103 vdupb_lane_s8 (int8x8_t __a, const int __b)
16104 {
16105   return __aarch64_vget_lane_any (__a, __b);
16106 }
16107 
16108 __extension__ extern __inline uint8_t
16109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_u8(uint8x8_t __a,const int __b)16110 vdupb_lane_u8 (uint8x8_t __a, const int __b)
16111 {
16112   return __aarch64_vget_lane_any (__a, __b);
16113 }
16114 
16115 /* vduph_lane  */
16116 
16117 __extension__ extern __inline float16_t
16118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_f16(float16x4_t __a,const int __b)16119 vduph_lane_f16 (float16x4_t __a, const int __b)
16120 {
16121   return __aarch64_vget_lane_any (__a, __b);
16122 }
16123 
16124 __extension__ extern __inline poly16_t
16125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_p16(poly16x4_t __a,const int __b)16126 vduph_lane_p16 (poly16x4_t __a, const int __b)
16127 {
16128   return __aarch64_vget_lane_any (__a, __b);
16129 }
16130 
16131 __extension__ extern __inline int16_t
16132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_s16(int16x4_t __a,const int __b)16133 vduph_lane_s16 (int16x4_t __a, const int __b)
16134 {
16135   return __aarch64_vget_lane_any (__a, __b);
16136 }
16137 
16138 __extension__ extern __inline uint16_t
16139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_u16(uint16x4_t __a,const int __b)16140 vduph_lane_u16 (uint16x4_t __a, const int __b)
16141 {
16142   return __aarch64_vget_lane_any (__a, __b);
16143 }
16144 
16145 /* vdups_lane  */
16146 
16147 __extension__ extern __inline float32_t
16148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_f32(float32x2_t __a,const int __b)16149 vdups_lane_f32 (float32x2_t __a, const int __b)
16150 {
16151   return __aarch64_vget_lane_any (__a, __b);
16152 }
16153 
16154 __extension__ extern __inline int32_t
16155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_s32(int32x2_t __a,const int __b)16156 vdups_lane_s32 (int32x2_t __a, const int __b)
16157 {
16158   return __aarch64_vget_lane_any (__a, __b);
16159 }
16160 
16161 __extension__ extern __inline uint32_t
16162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_u32(uint32x2_t __a,const int __b)16163 vdups_lane_u32 (uint32x2_t __a, const int __b)
16164 {
16165   return __aarch64_vget_lane_any (__a, __b);
16166 }
16167 
16168 /* vdupd_lane  */
16169 __extension__ extern __inline float64_t
16170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_f64(float64x1_t __a,const int __b)16171 vdupd_lane_f64 (float64x1_t __a, const int __b)
16172 {
16173   __AARCH64_LANE_CHECK (__a, __b);
16174   return __a[0];
16175 }
16176 
16177 __extension__ extern __inline int64_t
16178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_s64(int64x1_t __a,const int __b)16179 vdupd_lane_s64 (int64x1_t __a, const int __b)
16180 {
16181   __AARCH64_LANE_CHECK (__a, __b);
16182   return __a[0];
16183 }
16184 
16185 __extension__ extern __inline uint64_t
16186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_u64(uint64x1_t __a,const int __b)16187 vdupd_lane_u64 (uint64x1_t __a, const int __b)
16188 {
16189   __AARCH64_LANE_CHECK (__a, __b);
16190   return __a[0];
16191 }
16192 
16193 /* vdupb_laneq  */
16194 __extension__ extern __inline poly8_t
16195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_p8(poly8x16_t __a,const int __b)16196 vdupb_laneq_p8 (poly8x16_t __a, const int __b)
16197 {
16198   return __aarch64_vget_lane_any (__a, __b);
16199 }
16200 
16201 __extension__ extern __inline int8_t
16202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_s8(int8x16_t __a,const int __b)16203 vdupb_laneq_s8 (int8x16_t __a, const int __b)
16204 {
16205   return __aarch64_vget_lane_any (__a, __b);
16206 }
16207 
16208 __extension__ extern __inline uint8_t
16209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_u8(uint8x16_t __a,const int __b)16210 vdupb_laneq_u8 (uint8x16_t __a, const int __b)
16211 {
16212   return __aarch64_vget_lane_any (__a, __b);
16213 }
16214 
16215 /* vduph_laneq  */
16216 
16217 __extension__ extern __inline float16_t
16218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_f16(float16x8_t __a,const int __b)16219 vduph_laneq_f16 (float16x8_t __a, const int __b)
16220 {
16221   return __aarch64_vget_lane_any (__a, __b);
16222 }
16223 
16224 __extension__ extern __inline poly16_t
16225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_p16(poly16x8_t __a,const int __b)16226 vduph_laneq_p16 (poly16x8_t __a, const int __b)
16227 {
16228   return __aarch64_vget_lane_any (__a, __b);
16229 }
16230 
16231 __extension__ extern __inline int16_t
16232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_s16(int16x8_t __a,const int __b)16233 vduph_laneq_s16 (int16x8_t __a, const int __b)
16234 {
16235   return __aarch64_vget_lane_any (__a, __b);
16236 }
16237 
16238 __extension__ extern __inline uint16_t
16239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_u16(uint16x8_t __a,const int __b)16240 vduph_laneq_u16 (uint16x8_t __a, const int __b)
16241 {
16242   return __aarch64_vget_lane_any (__a, __b);
16243 }
16244 
16245 /* vdups_laneq  */
16246 
16247 __extension__ extern __inline float32_t
16248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_f32(float32x4_t __a,const int __b)16249 vdups_laneq_f32 (float32x4_t __a, const int __b)
16250 {
16251   return __aarch64_vget_lane_any (__a, __b);
16252 }
16253 
16254 __extension__ extern __inline int32_t
16255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_s32(int32x4_t __a,const int __b)16256 vdups_laneq_s32 (int32x4_t __a, const int __b)
16257 {
16258   return __aarch64_vget_lane_any (__a, __b);
16259 }
16260 
16261 __extension__ extern __inline uint32_t
16262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_u32(uint32x4_t __a,const int __b)16263 vdups_laneq_u32 (uint32x4_t __a, const int __b)
16264 {
16265   return __aarch64_vget_lane_any (__a, __b);
16266 }
16267 
16268 /* vdupd_laneq  */
16269 __extension__ extern __inline float64_t
16270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_f64(float64x2_t __a,const int __b)16271 vdupd_laneq_f64 (float64x2_t __a, const int __b)
16272 {
16273   return __aarch64_vget_lane_any (__a, __b);
16274 }
16275 
16276 __extension__ extern __inline int64_t
16277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_s64(int64x2_t __a,const int __b)16278 vdupd_laneq_s64 (int64x2_t __a, const int __b)
16279 {
16280   return __aarch64_vget_lane_any (__a, __b);
16281 }
16282 
16283 __extension__ extern __inline uint64_t
16284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_u64(uint64x2_t __a,const int __b)16285 vdupd_laneq_u64 (uint64x2_t __a, const int __b)
16286 {
16287   return __aarch64_vget_lane_any (__a, __b);
16288 }
16289 
16290 /* vext  */
16291 
16292 __extension__ extern __inline float16x4_t
16293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f16(float16x4_t __a,float16x4_t __b,__const int __c)16294 vext_f16 (float16x4_t __a, float16x4_t __b, __const int __c)
16295 {
16296   __AARCH64_LANE_CHECK (__a, __c);
16297 #ifdef __AARCH64EB__
16298   return __builtin_shuffle (__b, __a,
16299 			    (uint16x4_t) {4 - __c, 5 - __c, 6 - __c, 7 - __c});
16300 #else
16301   return __builtin_shuffle (__a, __b,
16302 			    (uint16x4_t) {__c, __c + 1, __c + 2, __c + 3});
16303 #endif
16304 }
16305 
16306 __extension__ extern __inline float32x2_t
16307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f32(float32x2_t __a,float32x2_t __b,__const int __c)16308 vext_f32 (float32x2_t __a, float32x2_t __b, __const int __c)
16309 {
16310   __AARCH64_LANE_CHECK (__a, __c);
16311 #ifdef __AARCH64EB__
16312   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16313 #else
16314   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16315 #endif
16316 }
16317 
16318 __extension__ extern __inline float64x1_t
16319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f64(float64x1_t __a,float64x1_t __b,__const int __c)16320 vext_f64 (float64x1_t __a, float64x1_t __b, __const int __c)
16321 {
16322   __AARCH64_LANE_CHECK (__a, __c);
16323   /* The only possible index to the assembler instruction returns element 0.  */
16324   return __a;
16325 }
16326 __extension__ extern __inline poly8x8_t
16327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p8(poly8x8_t __a,poly8x8_t __b,__const int __c)16328 vext_p8 (poly8x8_t __a, poly8x8_t __b, __const int __c)
16329 {
16330   __AARCH64_LANE_CHECK (__a, __c);
16331 #ifdef __AARCH64EB__
16332   return __builtin_shuffle (__b, __a, (uint8x8_t)
16333       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16334 #else
16335   return __builtin_shuffle (__a, __b,
16336       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16337 #endif
16338 }
16339 
16340 __extension__ extern __inline poly16x4_t
16341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p16(poly16x4_t __a,poly16x4_t __b,__const int __c)16342 vext_p16 (poly16x4_t __a, poly16x4_t __b, __const int __c)
16343 {
16344   __AARCH64_LANE_CHECK (__a, __c);
16345 #ifdef __AARCH64EB__
16346   return __builtin_shuffle (__b, __a,
16347       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16348 #else
16349   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16350 #endif
16351 }
16352 
16353 __extension__ extern __inline poly64x1_t
16354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p64(poly64x1_t __a,poly64x1_t __b,__const int __c)16355 vext_p64 (poly64x1_t __a, poly64x1_t __b, __const int __c)
16356 {
16357   __AARCH64_LANE_CHECK (__a, __c);
16358   /* The only possible index to the assembler instruction returns element 0.  */
16359   return __a;
16360 }
16361 
16362 __extension__ extern __inline int8x8_t
16363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s8(int8x8_t __a,int8x8_t __b,__const int __c)16364 vext_s8 (int8x8_t __a, int8x8_t __b, __const int __c)
16365 {
16366   __AARCH64_LANE_CHECK (__a, __c);
16367 #ifdef __AARCH64EB__
16368   return __builtin_shuffle (__b, __a, (uint8x8_t)
16369       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16370 #else
16371   return __builtin_shuffle (__a, __b,
16372       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16373 #endif
16374 }
16375 
16376 __extension__ extern __inline int16x4_t
16377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s16(int16x4_t __a,int16x4_t __b,__const int __c)16378 vext_s16 (int16x4_t __a, int16x4_t __b, __const int __c)
16379 {
16380   __AARCH64_LANE_CHECK (__a, __c);
16381 #ifdef __AARCH64EB__
16382   return __builtin_shuffle (__b, __a,
16383       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16384 #else
16385   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16386 #endif
16387 }
16388 
16389 __extension__ extern __inline int32x2_t
16390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s32(int32x2_t __a,int32x2_t __b,__const int __c)16391 vext_s32 (int32x2_t __a, int32x2_t __b, __const int __c)
16392 {
16393   __AARCH64_LANE_CHECK (__a, __c);
16394 #ifdef __AARCH64EB__
16395   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16396 #else
16397   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16398 #endif
16399 }
16400 
16401 __extension__ extern __inline int64x1_t
16402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s64(int64x1_t __a,int64x1_t __b,__const int __c)16403 vext_s64 (int64x1_t __a, int64x1_t __b, __const int __c)
16404 {
16405   __AARCH64_LANE_CHECK (__a, __c);
16406   /* The only possible index to the assembler instruction returns element 0.  */
16407   return __a;
16408 }
16409 
16410 __extension__ extern __inline uint8x8_t
16411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u8(uint8x8_t __a,uint8x8_t __b,__const int __c)16412 vext_u8 (uint8x8_t __a, uint8x8_t __b, __const int __c)
16413 {
16414   __AARCH64_LANE_CHECK (__a, __c);
16415 #ifdef __AARCH64EB__
16416   return __builtin_shuffle (__b, __a, (uint8x8_t)
16417       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16418 #else
16419   return __builtin_shuffle (__a, __b,
16420       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16421 #endif
16422 }
16423 
16424 __extension__ extern __inline uint16x4_t
16425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u16(uint16x4_t __a,uint16x4_t __b,__const int __c)16426 vext_u16 (uint16x4_t __a, uint16x4_t __b, __const int __c)
16427 {
16428   __AARCH64_LANE_CHECK (__a, __c);
16429 #ifdef __AARCH64EB__
16430   return __builtin_shuffle (__b, __a,
16431       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16432 #else
16433   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16434 #endif
16435 }
16436 
16437 __extension__ extern __inline uint32x2_t
16438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u32(uint32x2_t __a,uint32x2_t __b,__const int __c)16439 vext_u32 (uint32x2_t __a, uint32x2_t __b, __const int __c)
16440 {
16441   __AARCH64_LANE_CHECK (__a, __c);
16442 #ifdef __AARCH64EB__
16443   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16444 #else
16445   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16446 #endif
16447 }
16448 
16449 __extension__ extern __inline uint64x1_t
16450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u64(uint64x1_t __a,uint64x1_t __b,__const int __c)16451 vext_u64 (uint64x1_t __a, uint64x1_t __b, __const int __c)
16452 {
16453   __AARCH64_LANE_CHECK (__a, __c);
16454   /* The only possible index to the assembler instruction returns element 0.  */
16455   return __a;
16456 }
16457 
16458 __extension__ extern __inline float16x8_t
16459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f16(float16x8_t __a,float16x8_t __b,__const int __c)16460 vextq_f16 (float16x8_t __a, float16x8_t __b, __const int __c)
16461 {
16462   __AARCH64_LANE_CHECK (__a, __c);
16463 #ifdef __AARCH64EB__
16464   return __builtin_shuffle (__b, __a,
16465 			    (uint16x8_t) {8 - __c, 9 - __c, 10 - __c, 11 - __c,
16466 					  12 - __c, 13 - __c, 14 - __c,
16467 					  15 - __c});
16468 #else
16469   return __builtin_shuffle (__a, __b,
16470 			    (uint16x8_t) {__c, __c + 1, __c + 2, __c + 3,
16471 					  __c + 4, __c + 5, __c + 6, __c + 7});
16472 #endif
16473 }
16474 
16475 __extension__ extern __inline float32x4_t
16476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f32(float32x4_t __a,float32x4_t __b,__const int __c)16477 vextq_f32 (float32x4_t __a, float32x4_t __b, __const int __c)
16478 {
16479   __AARCH64_LANE_CHECK (__a, __c);
16480 #ifdef __AARCH64EB__
16481   return __builtin_shuffle (__b, __a,
16482       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16483 #else
16484   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16485 #endif
16486 }
16487 
16488 __extension__ extern __inline float64x2_t
16489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f64(float64x2_t __a,float64x2_t __b,__const int __c)16490 vextq_f64 (float64x2_t __a, float64x2_t __b, __const int __c)
16491 {
16492   __AARCH64_LANE_CHECK (__a, __c);
16493 #ifdef __AARCH64EB__
16494   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16495 #else
16496   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16497 #endif
16498 }
16499 
16500 __extension__ extern __inline poly8x16_t
16501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,__const int __c)16502 vextq_p8 (poly8x16_t __a, poly8x16_t __b, __const int __c)
16503 {
16504   __AARCH64_LANE_CHECK (__a, __c);
16505 #ifdef __AARCH64EB__
16506   return __builtin_shuffle (__b, __a, (uint8x16_t)
16507       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16508        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16509 #else
16510   return __builtin_shuffle (__a, __b, (uint8x16_t)
16511       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16512        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16513 #endif
16514 }
16515 
16516 __extension__ extern __inline poly16x8_t
16517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,__const int __c)16518 vextq_p16 (poly16x8_t __a, poly16x8_t __b, __const int __c)
16519 {
16520   __AARCH64_LANE_CHECK (__a, __c);
16521 #ifdef __AARCH64EB__
16522   return __builtin_shuffle (__b, __a, (uint16x8_t)
16523       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16524 #else
16525   return __builtin_shuffle (__a, __b,
16526       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16527 #endif
16528 }
16529 
16530 __extension__ extern __inline poly64x2_t
16531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,__const int __c)16532 vextq_p64 (poly64x2_t __a, poly64x2_t __b, __const int __c)
16533 {
16534   __AARCH64_LANE_CHECK (__a, __c);
16535 #ifdef __AARCH64EB__
16536   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16537 #else
16538   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16539 #endif
16540 }
16541 
16542 __extension__ extern __inline int8x16_t
16543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s8(int8x16_t __a,int8x16_t __b,__const int __c)16544 vextq_s8 (int8x16_t __a, int8x16_t __b, __const int __c)
16545 {
16546   __AARCH64_LANE_CHECK (__a, __c);
16547 #ifdef __AARCH64EB__
16548   return __builtin_shuffle (__b, __a, (uint8x16_t)
16549       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16550        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16551 #else
16552   return __builtin_shuffle (__a, __b, (uint8x16_t)
16553       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16554        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16555 #endif
16556 }
16557 
16558 __extension__ extern __inline int16x8_t
16559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s16(int16x8_t __a,int16x8_t __b,__const int __c)16560 vextq_s16 (int16x8_t __a, int16x8_t __b, __const int __c)
16561 {
16562   __AARCH64_LANE_CHECK (__a, __c);
16563 #ifdef __AARCH64EB__
16564   return __builtin_shuffle (__b, __a, (uint16x8_t)
16565       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16566 #else
16567   return __builtin_shuffle (__a, __b,
16568       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16569 #endif
16570 }
16571 
16572 __extension__ extern __inline int32x4_t
16573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s32(int32x4_t __a,int32x4_t __b,__const int __c)16574 vextq_s32 (int32x4_t __a, int32x4_t __b, __const int __c)
16575 {
16576   __AARCH64_LANE_CHECK (__a, __c);
16577 #ifdef __AARCH64EB__
16578   return __builtin_shuffle (__b, __a,
16579       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16580 #else
16581   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16582 #endif
16583 }
16584 
16585 __extension__ extern __inline int64x2_t
16586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s64(int64x2_t __a,int64x2_t __b,__const int __c)16587 vextq_s64 (int64x2_t __a, int64x2_t __b, __const int __c)
16588 {
16589   __AARCH64_LANE_CHECK (__a, __c);
16590 #ifdef __AARCH64EB__
16591   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16592 #else
16593   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16594 #endif
16595 }
16596 
16597 __extension__ extern __inline uint8x16_t
16598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,__const int __c)16599 vextq_u8 (uint8x16_t __a, uint8x16_t __b, __const int __c)
16600 {
16601   __AARCH64_LANE_CHECK (__a, __c);
16602 #ifdef __AARCH64EB__
16603   return __builtin_shuffle (__b, __a, (uint8x16_t)
16604       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16605        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16606 #else
16607   return __builtin_shuffle (__a, __b, (uint8x16_t)
16608       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16609        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16610 #endif
16611 }
16612 
16613 __extension__ extern __inline uint16x8_t
16614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,__const int __c)16615 vextq_u16 (uint16x8_t __a, uint16x8_t __b, __const int __c)
16616 {
16617   __AARCH64_LANE_CHECK (__a, __c);
16618 #ifdef __AARCH64EB__
16619   return __builtin_shuffle (__b, __a, (uint16x8_t)
16620       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16621 #else
16622   return __builtin_shuffle (__a, __b,
16623       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16624 #endif
16625 }
16626 
16627 __extension__ extern __inline uint32x4_t
16628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,__const int __c)16629 vextq_u32 (uint32x4_t __a, uint32x4_t __b, __const int __c)
16630 {
16631   __AARCH64_LANE_CHECK (__a, __c);
16632 #ifdef __AARCH64EB__
16633   return __builtin_shuffle (__b, __a,
16634       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16635 #else
16636   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16637 #endif
16638 }
16639 
16640 __extension__ extern __inline uint64x2_t
16641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,__const int __c)16642 vextq_u64 (uint64x2_t __a, uint64x2_t __b, __const int __c)
16643 {
16644   __AARCH64_LANE_CHECK (__a, __c);
16645 #ifdef __AARCH64EB__
16646   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16647 #else
16648   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16649 #endif
16650 }
16651 
16652 /* vfma  */
16653 
16654 __extension__ extern __inline float64x1_t
16655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)16656 vfma_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16657 {
16658   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
16659 }
16660 
16661 __extension__ extern __inline float32x2_t
16662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)16663 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16664 {
16665   return __builtin_aarch64_fmav2sf (__b, __c, __a);
16666 }
16667 
16668 __extension__ extern __inline float32x4_t
16669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)16670 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16671 {
16672   return __builtin_aarch64_fmav4sf (__b, __c, __a);
16673 }
16674 
16675 __extension__ extern __inline float64x2_t
16676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)16677 vfmaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16678 {
16679   return __builtin_aarch64_fmav2df (__b, __c, __a);
16680 }
16681 
16682 __extension__ extern __inline float32x2_t
16683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)16684 vfma_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
16685 {
16686   return __builtin_aarch64_fmav2sf (__b, vdup_n_f32 (__c), __a);
16687 }
16688 
16689 __extension__ extern __inline float64x1_t
16690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)16691 vfma_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
16692 {
16693   return (float64x1_t) {__b[0] * __c + __a[0]};
16694 }
16695 
16696 __extension__ extern __inline float32x4_t
16697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)16698 vfmaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
16699 {
16700   return __builtin_aarch64_fmav4sf (__b, vdupq_n_f32 (__c), __a);
16701 }
16702 
16703 __extension__ extern __inline float64x2_t
16704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)16705 vfmaq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
16706 {
16707   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c), __a);
16708 }
16709 
16710 /* vfma_lane  */
16711 
16712 __extension__ extern __inline float32x2_t
16713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)16714 vfma_lane_f32 (float32x2_t __a, float32x2_t __b,
16715 	       float32x2_t __c, const int __lane)
16716 {
16717   return __builtin_aarch64_fmav2sf (__b,
16718 				    __aarch64_vdup_lane_f32 (__c, __lane),
16719 				    __a);
16720 }
16721 
16722 __extension__ extern __inline float64x1_t
16723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)16724 vfma_lane_f64 (float64x1_t __a, float64x1_t __b,
16725 	       float64x1_t __c, const int __lane)
16726 {
16727   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
16728 }
16729 
16730 __extension__ extern __inline float64_t
16731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)16732 vfmad_lane_f64 (float64_t __a, float64_t __b,
16733 	        float64x1_t __c, const int __lane)
16734 {
16735   return __builtin_fma (__b, __c[0], __a);
16736 }
16737 
16738 __extension__ extern __inline float32_t
16739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)16740 vfmas_lane_f32 (float32_t __a, float32_t __b,
16741 	        float32x2_t __c, const int __lane)
16742 {
16743   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16744 }
16745 
16746 /* vfma_laneq  */
16747 
16748 __extension__ extern __inline float32x2_t
16749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)16750 vfma_laneq_f32 (float32x2_t __a, float32x2_t __b,
16751 	        float32x4_t __c, const int __lane)
16752 {
16753   return __builtin_aarch64_fmav2sf (__b,
16754 				    __aarch64_vdup_laneq_f32 (__c, __lane),
16755 				    __a);
16756 }
16757 
16758 __extension__ extern __inline float64x1_t
16759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)16760 vfma_laneq_f64 (float64x1_t __a, float64x1_t __b,
16761 	        float64x2_t __c, const int __lane)
16762 {
16763   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
16764   return (float64x1_t) {__builtin_fma (__b[0], __c0, __a[0])};
16765 }
16766 
16767 __extension__ extern __inline float64_t
16768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)16769 vfmad_laneq_f64 (float64_t __a, float64_t __b,
16770 	         float64x2_t __c, const int __lane)
16771 {
16772   return __builtin_fma (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16773 }
16774 
16775 __extension__ extern __inline float32_t
16776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)16777 vfmas_laneq_f32 (float32_t __a, float32_t __b,
16778 		 float32x4_t __c, const int __lane)
16779 {
16780   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16781 }
16782 
16783 /* vfmaq_lane  */
16784 
16785 __extension__ extern __inline float32x4_t
16786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)16787 vfmaq_lane_f32 (float32x4_t __a, float32x4_t __b,
16788 	        float32x2_t __c, const int __lane)
16789 {
16790   return __builtin_aarch64_fmav4sf (__b,
16791 				    __aarch64_vdupq_lane_f32 (__c, __lane),
16792 				    __a);
16793 }
16794 
16795 __extension__ extern __inline float64x2_t
16796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)16797 vfmaq_lane_f64 (float64x2_t __a, float64x2_t __b,
16798 	        float64x1_t __c, const int __lane)
16799 {
16800   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c[0]), __a);
16801 }
16802 
16803 /* vfmaq_laneq  */
16804 
16805 __extension__ extern __inline float32x4_t
16806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)16807 vfmaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16808 	         float32x4_t __c, const int __lane)
16809 {
16810   return __builtin_aarch64_fmav4sf (__b,
16811 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
16812 				    __a);
16813 }
16814 
16815 __extension__ extern __inline float64x2_t
16816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)16817 vfmaq_laneq_f64 (float64x2_t __a, float64x2_t __b,
16818 	         float64x2_t __c, const int __lane)
16819 {
16820   return __builtin_aarch64_fmav2df (__b,
16821 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
16822 				    __a);
16823 }
16824 
16825 /* vfms  */
16826 
16827 __extension__ extern __inline float64x1_t
16828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)16829 vfms_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16830 {
16831   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
16832 }
16833 
16834 __extension__ extern __inline float32x2_t
16835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)16836 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16837 {
16838   return __builtin_aarch64_fmav2sf (-__b, __c, __a);
16839 }
16840 
16841 __extension__ extern __inline float32x4_t
16842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)16843 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16844 {
16845   return __builtin_aarch64_fmav4sf (-__b, __c, __a);
16846 }
16847 
16848 __extension__ extern __inline float64x2_t
16849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)16850 vfmsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16851 {
16852   return __builtin_aarch64_fmav2df (-__b, __c, __a);
16853 }
16854 
16855 __extension__ extern __inline float32x2_t
16856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)16857 vfms_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
16858 {
16859   return __builtin_aarch64_fmav2sf (-__b, vdup_n_f32 (__c), __a);
16860 }
16861 
16862 __extension__ extern __inline float64x1_t
16863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)16864 vfms_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
16865 {
16866   return (float64x1_t) {-__b[0] * __c + __a[0]};
16867 }
16868 
16869 __extension__ extern __inline float32x4_t
16870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)16871 vfmsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
16872 {
16873   return __builtin_aarch64_fmav4sf (-__b, vdupq_n_f32 (__c), __a);
16874 }
16875 
16876 __extension__ extern __inline float64x2_t
16877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)16878 vfmsq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
16879 {
16880   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c), __a);
16881 }
16882 
16883 /* vfms_lane  */
16884 
16885 __extension__ extern __inline float32x2_t
16886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)16887 vfms_lane_f32 (float32x2_t __a, float32x2_t __b,
16888 	       float32x2_t __c, const int __lane)
16889 {
16890   return __builtin_aarch64_fmav2sf (-__b,
16891 				    __aarch64_vdup_lane_f32 (__c, __lane),
16892 				    __a);
16893 }
16894 
16895 __extension__ extern __inline float64x1_t
16896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)16897 vfms_lane_f64 (float64x1_t __a, float64x1_t __b,
16898 	       float64x1_t __c, const int __lane)
16899 {
16900   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
16901 }
16902 
16903 __extension__ extern __inline float64_t
16904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)16905 vfmsd_lane_f64 (float64_t __a, float64_t __b,
16906 	        float64x1_t __c, const int __lane)
16907 {
16908   return __builtin_fma (-__b, __c[0], __a);
16909 }
16910 
16911 __extension__ extern __inline float32_t
16912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)16913 vfmss_lane_f32 (float32_t __a, float32_t __b,
16914 	        float32x2_t __c, const int __lane)
16915 {
16916   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16917 }
16918 
16919 /* vfms_laneq  */
16920 
16921 __extension__ extern __inline float32x2_t
16922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)16923 vfms_laneq_f32 (float32x2_t __a, float32x2_t __b,
16924 	        float32x4_t __c, const int __lane)
16925 {
16926   return __builtin_aarch64_fmav2sf (-__b,
16927 				    __aarch64_vdup_laneq_f32 (__c, __lane),
16928 				    __a);
16929 }
16930 
16931 __extension__ extern __inline float64x1_t
16932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)16933 vfms_laneq_f64 (float64x1_t __a, float64x1_t __b,
16934 	        float64x2_t __c, const int __lane)
16935 {
16936   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
16937   return (float64x1_t) {__builtin_fma (-__b[0], __c0, __a[0])};
16938 }
16939 
16940 __extension__ extern __inline float64_t
16941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)16942 vfmsd_laneq_f64 (float64_t __a, float64_t __b,
16943 	         float64x2_t __c, const int __lane)
16944 {
16945   return __builtin_fma (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16946 }
16947 
16948 __extension__ extern __inline float32_t
16949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)16950 vfmss_laneq_f32 (float32_t __a, float32_t __b,
16951 		 float32x4_t __c, const int __lane)
16952 {
16953   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16954 }
16955 
16956 /* vfmsq_lane  */
16957 
16958 __extension__ extern __inline float32x4_t
16959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)16960 vfmsq_lane_f32 (float32x4_t __a, float32x4_t __b,
16961 	        float32x2_t __c, const int __lane)
16962 {
16963   return __builtin_aarch64_fmav4sf (-__b,
16964 				    __aarch64_vdupq_lane_f32 (__c, __lane),
16965 				    __a);
16966 }
16967 
16968 __extension__ extern __inline float64x2_t
16969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)16970 vfmsq_lane_f64 (float64x2_t __a, float64x2_t __b,
16971 	        float64x1_t __c, const int __lane)
16972 {
16973   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c[0]), __a);
16974 }
16975 
16976 /* vfmsq_laneq  */
16977 
16978 __extension__ extern __inline float32x4_t
16979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)16980 vfmsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16981 	         float32x4_t __c, const int __lane)
16982 {
16983   return __builtin_aarch64_fmav4sf (-__b,
16984 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
16985 				    __a);
16986 }
16987 
16988 __extension__ extern __inline float64x2_t
16989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)16990 vfmsq_laneq_f64 (float64x2_t __a, float64x2_t __b,
16991 	         float64x2_t __c, const int __lane)
16992 {
16993   return __builtin_aarch64_fmav2df (-__b,
16994 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
16995 				    __a);
16996 }
16997 
16998 /* vld1 */
16999 
17000 __extension__ extern __inline float16x4_t
17001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16(const float16_t * __a)17002 vld1_f16 (const float16_t *__a)
17003 {
17004   return __builtin_aarch64_ld1v4hf (__a);
17005 }
17006 
17007 __extension__ extern __inline float32x2_t
17008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32(const float32_t * __a)17009 vld1_f32 (const float32_t *__a)
17010 {
17011   return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
17012 }
17013 
17014 __extension__ extern __inline float64x1_t
17015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64(const float64_t * __a)17016 vld1_f64 (const float64_t *__a)
17017 {
17018   return (float64x1_t) {*__a};
17019 }
17020 
17021 __extension__ extern __inline poly8x8_t
17022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8(const poly8_t * __a)17023 vld1_p8 (const poly8_t *__a)
17024 {
17025   return (poly8x8_t)
17026     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
17027 }
17028 
17029 __extension__ extern __inline poly16x4_t
17030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16(const poly16_t * __a)17031 vld1_p16 (const poly16_t *__a)
17032 {
17033   return (poly16x4_t)
17034     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
17035 }
17036 
17037 __extension__ extern __inline poly64x1_t
17038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64(const poly64_t * __a)17039 vld1_p64 (const poly64_t *__a)
17040 {
17041   return (poly64x1_t) {*__a};
17042 }
17043 
17044 __extension__ extern __inline int8x8_t
17045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8(const int8_t * __a)17046 vld1_s8 (const int8_t *__a)
17047 {
17048   return __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
17049 }
17050 
17051 __extension__ extern __inline int16x4_t
17052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16(const int16_t * __a)17053 vld1_s16 (const int16_t *__a)
17054 {
17055   return __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
17056 }
17057 
17058 __extension__ extern __inline int32x2_t
17059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32(const int32_t * __a)17060 vld1_s32 (const int32_t *__a)
17061 {
17062   return __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
17063 }
17064 
17065 __extension__ extern __inline int64x1_t
17066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64(const int64_t * __a)17067 vld1_s64 (const int64_t *__a)
17068 {
17069   return (int64x1_t) {*__a};
17070 }
17071 
17072 __extension__ extern __inline uint8x8_t
17073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8(const uint8_t * __a)17074 vld1_u8 (const uint8_t *__a)
17075 {
17076   return (uint8x8_t)
17077     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
17078 }
17079 
17080 __extension__ extern __inline uint16x4_t
17081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16(const uint16_t * __a)17082 vld1_u16 (const uint16_t *__a)
17083 {
17084   return (uint16x4_t)
17085     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
17086 }
17087 
17088 __extension__ extern __inline uint32x2_t
17089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32(const uint32_t * __a)17090 vld1_u32 (const uint32_t *__a)
17091 {
17092   return (uint32x2_t)
17093     __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
17094 }
17095 
17096 __extension__ extern __inline uint64x1_t
17097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64(const uint64_t * __a)17098 vld1_u64 (const uint64_t *__a)
17099 {
17100   return (uint64x1_t) {*__a};
17101 }
17102 
17103 /* vld1x3  */
17104 
17105 __extension__ extern __inline uint8x8x3_t
17106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x3(const uint8_t * __a)17107 vld1_u8_x3 (const uint8_t *__a)
17108 {
17109   uint8x8x3_t __i;
17110   __builtin_aarch64_simd_ci __o;
17111   __o = (__builtin_aarch64_simd_ci)__builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17112   __i.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17113   __i.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17114   __i.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17115   return __i;
17116 }
17117 
17118 __extension__ extern __inline int8x8x3_t
17119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x3(const uint8_t * __a)17120 vld1_s8_x3 (const uint8_t *__a)
17121 {
17122   int8x8x3_t __i;
17123   __builtin_aarch64_simd_ci __o;
17124   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17125   __i.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17126   __i.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17127   __i.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17128   return __i;
17129 }
17130 
17131 __extension__ extern __inline uint16x4x3_t
17132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x3(const uint16_t * __a)17133 vld1_u16_x3 (const uint16_t *__a)
17134 {
17135   uint16x4x3_t __i;
17136   __builtin_aarch64_simd_ci __o;
17137   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17138   __i.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17139   __i.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17140   __i.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17141   return __i;
17142 }
17143 
17144 __extension__ extern __inline int16x4x3_t
17145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x3(const int16_t * __a)17146 vld1_s16_x3 (const int16_t *__a)
17147 {
17148   int16x4x3_t __i;
17149   __builtin_aarch64_simd_ci __o;
17150   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17151   __i.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17152   __i.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17153   __i.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17154   return __i;
17155 }
17156 
17157 __extension__ extern __inline uint32x2x3_t
17158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x3(const uint32_t * __a)17159 vld1_u32_x3 (const uint32_t *__a)
17160 {
17161   uint32x2x3_t __i;
17162   __builtin_aarch64_simd_ci __o;
17163   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
17164   __i.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
17165   __i.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
17166   __i.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
17167   return __i;
17168 }
17169 
17170 __extension__ extern __inline int32x2x3_t
17171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x3(const uint32_t * __a)17172 vld1_s32_x3 (const uint32_t *__a)
17173 {
17174   int32x2x3_t __i;
17175   __builtin_aarch64_simd_ci __o;
17176   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
17177   __i.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
17178   __i.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
17179   __i.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
17180   return __i;
17181 }
17182 
17183 __extension__ extern __inline uint64x1x3_t
17184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x3(const uint64_t * __a)17185 vld1_u64_x3 (const uint64_t *__a)
17186 {
17187   uint64x1x3_t __i;
17188   __builtin_aarch64_simd_ci __o;
17189   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17190   __i.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17191   __i.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17192   __i.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17193   return __i;
17194 }
17195 
17196 __extension__ extern __inline int64x1x3_t
17197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x3(const int64_t * __a)17198 vld1_s64_x3 (const int64_t *__a)
17199 {
17200   int64x1x3_t __i;
17201   __builtin_aarch64_simd_ci __o;
17202   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17203   __i.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17204   __i.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17205   __i.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17206 
17207   return __i;
17208 }
17209 
17210 __extension__ extern __inline float16x4x3_t
17211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x3(const float16_t * __a)17212 vld1_f16_x3 (const float16_t *__a)
17213 {
17214   float16x4x3_t __i;
17215   __builtin_aarch64_simd_ci __o;
17216   __o = __builtin_aarch64_ld1x3v4hf ((const __builtin_aarch64_simd_hf *) __a);
17217   __i.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 0);
17218   __i.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 1);
17219   __i.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 2);
17220   return __i;
17221 }
17222 
17223 __extension__ extern __inline float32x2x3_t
17224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x3(const float32_t * __a)17225 vld1_f32_x3 (const float32_t *__a)
17226 {
17227   float32x2x3_t __i;
17228   __builtin_aarch64_simd_ci __o;
17229   __o = __builtin_aarch64_ld1x3v2sf ((const __builtin_aarch64_simd_sf *) __a);
17230   __i.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 0);
17231   __i.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 1);
17232   __i.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 2);
17233   return __i;
17234 }
17235 
17236 __extension__ extern __inline float64x1x3_t
17237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x3(const float64_t * __a)17238 vld1_f64_x3 (const float64_t *__a)
17239 {
17240   float64x1x3_t __i;
17241   __builtin_aarch64_simd_ci __o;
17242   __o = __builtin_aarch64_ld1x3df ((const __builtin_aarch64_simd_df *) __a);
17243   __i.val[0] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17244   __i.val[1] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17245   __i.val[2] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17246   return __i;
17247 }
17248 
17249 __extension__ extern __inline poly8x8x3_t
17250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x3(const poly8_t * __a)17251 vld1_p8_x3 (const poly8_t *__a)
17252 {
17253   poly8x8x3_t __i;
17254   __builtin_aarch64_simd_ci __o;
17255   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17256   __i.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17257   __i.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17258   __i.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17259   return __i;
17260 }
17261 
17262 __extension__ extern __inline poly16x4x3_t
17263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x3(const poly16_t * __a)17264 vld1_p16_x3 (const poly16_t *__a)
17265 {
17266   poly16x4x3_t __i;
17267   __builtin_aarch64_simd_ci __o;
17268   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17269   __i.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17270   __i.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17271   __i.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17272   return __i;
17273 }
17274 
17275 __extension__ extern __inline poly64x1x3_t
17276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x3(const poly64_t * __a)17277 vld1_p64_x3 (const poly64_t *__a)
17278 {
17279   poly64x1x3_t __i;
17280   __builtin_aarch64_simd_ci __o;
17281   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17282   __i.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17283   __i.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17284   __i.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17285 
17286 return __i;
17287 }
17288 
17289 __extension__ extern __inline uint8x16x3_t
17290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x3(const uint8_t * __a)17291 vld1q_u8_x3 (const uint8_t *__a)
17292 {
17293   uint8x16x3_t __i;
17294   __builtin_aarch64_simd_ci __o;
17295   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17296   __i.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17297   __i.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17298   __i.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17299   return __i;
17300 }
17301 
17302 __extension__ extern __inline int8x16x3_t
17303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x3(const int8_t * __a)17304 vld1q_s8_x3 (const int8_t *__a)
17305 {
17306   int8x16x3_t __i;
17307   __builtin_aarch64_simd_ci __o;
17308   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17309   __i.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17310   __i.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17311   __i.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17312   return __i;
17313 }
17314 
17315 __extension__ extern __inline uint16x8x3_t
17316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x3(const uint16_t * __a)17317 vld1q_u16_x3 (const uint16_t *__a)
17318 {
17319   uint16x8x3_t __i;
17320   __builtin_aarch64_simd_ci __o;
17321   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17322   __i.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17323   __i.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17324   __i.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17325   return __i;
17326 }
17327 
17328 __extension__ extern __inline int16x8x3_t
17329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x3(const int16_t * __a)17330 vld1q_s16_x3 (const int16_t *__a)
17331 {
17332   int16x8x3_t __i;
17333   __builtin_aarch64_simd_ci __o;
17334   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17335   __i.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17336   __i.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17337   __i.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17338   return __i;
17339 }
17340 
17341 __extension__ extern __inline uint32x4x3_t
17342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x3(const uint32_t * __a)17343 vld1q_u32_x3 (const uint32_t *__a)
17344 {
17345   uint32x4x3_t __i;
17346   __builtin_aarch64_simd_ci __o;
17347   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
17348   __i.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
17349   __i.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
17350   __i.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
17351   return __i;
17352 }
17353 
17354 __extension__ extern __inline int32x4x3_t
17355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x3(const int32_t * __a)17356 vld1q_s32_x3 (const int32_t *__a)
17357 {
17358   int32x4x3_t __i;
17359   __builtin_aarch64_simd_ci __o;
17360   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
17361   __i.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
17362   __i.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
17363   __i.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
17364   return __i;
17365 }
17366 
17367 __extension__ extern __inline uint64x2x3_t
17368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x3(const uint64_t * __a)17369 vld1q_u64_x3 (const uint64_t *__a)
17370 {
17371   uint64x2x3_t __i;
17372   __builtin_aarch64_simd_ci __o;
17373   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17374   __i.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17375   __i.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17376   __i.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17377   return __i;
17378 }
17379 
17380 __extension__ extern __inline int64x2x3_t
17381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x3(const int64_t * __a)17382 vld1q_s64_x3 (const int64_t *__a)
17383 {
17384   int64x2x3_t __i;
17385   __builtin_aarch64_simd_ci __o;
17386   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17387   __i.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17388   __i.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17389   __i.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17390   return __i;
17391 }
17392 
17393 __extension__ extern __inline float16x8x3_t
17394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x3(const float16_t * __a)17395 vld1q_f16_x3 (const float16_t *__a)
17396 {
17397   float16x8x3_t __i;
17398   __builtin_aarch64_simd_ci __o;
17399   __o = __builtin_aarch64_ld1x3v8hf ((const __builtin_aarch64_simd_hf *) __a);
17400   __i.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 0);
17401   __i.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 1);
17402   __i.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 2);
17403   return __i;
17404 }
17405 
17406 __extension__ extern __inline float32x4x3_t
17407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x3(const float32_t * __a)17408 vld1q_f32_x3 (const float32_t *__a)
17409 {
17410   float32x4x3_t __i;
17411   __builtin_aarch64_simd_ci __o;
17412   __o = __builtin_aarch64_ld1x3v4sf ((const __builtin_aarch64_simd_sf *) __a);
17413   __i.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 0);
17414   __i.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 1);
17415   __i.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 2);
17416   return __i;
17417 }
17418 
17419 __extension__ extern __inline float64x2x3_t
17420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x3(const float64_t * __a)17421 vld1q_f64_x3 (const float64_t *__a)
17422 {
17423   float64x2x3_t __i;
17424   __builtin_aarch64_simd_ci __o;
17425   __o = __builtin_aarch64_ld1x3v2df ((const __builtin_aarch64_simd_df *) __a);
17426   __i.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 0);
17427   __i.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 1);
17428   __i.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 2);
17429   return __i;
17430 }
17431 
17432 __extension__ extern __inline poly8x16x3_t
17433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x3(const poly8_t * __a)17434 vld1q_p8_x3 (const poly8_t *__a)
17435 {
17436   poly8x16x3_t __i;
17437   __builtin_aarch64_simd_ci __o;
17438   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17439   __i.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17440   __i.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17441   __i.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17442   return __i;
17443 }
17444 
17445 __extension__ extern __inline poly16x8x3_t
17446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x3(const poly16_t * __a)17447 vld1q_p16_x3 (const poly16_t *__a)
17448 {
17449   poly16x8x3_t __i;
17450   __builtin_aarch64_simd_ci __o;
17451   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17452   __i.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17453   __i.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17454   __i.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17455   return __i;
17456 }
17457 
17458 __extension__ extern __inline poly64x2x3_t
17459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x3(const poly64_t * __a)17460 vld1q_p64_x3 (const poly64_t *__a)
17461 {
17462   poly64x2x3_t __i;
17463   __builtin_aarch64_simd_ci __o;
17464   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17465   __i.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17466   __i.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17467   __i.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17468   return __i;
17469 }
17470 
17471 /* vld1q */
17472 
17473 __extension__ extern __inline float16x8_t
17474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16(const float16_t * __a)17475 vld1q_f16 (const float16_t *__a)
17476 {
17477   return __builtin_aarch64_ld1v8hf (__a);
17478 }
17479 
17480 __extension__ extern __inline float32x4_t
17481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32(const float32_t * __a)17482 vld1q_f32 (const float32_t *__a)
17483 {
17484   return __builtin_aarch64_ld1v4sf ((const __builtin_aarch64_simd_sf *) __a);
17485 }
17486 
17487 __extension__ extern __inline float64x2_t
17488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64(const float64_t * __a)17489 vld1q_f64 (const float64_t *__a)
17490 {
17491   return __builtin_aarch64_ld1v2df ((const __builtin_aarch64_simd_df *) __a);
17492 }
17493 
17494 __extension__ extern __inline poly8x16_t
17495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8(const poly8_t * __a)17496 vld1q_p8 (const poly8_t *__a)
17497 {
17498   return (poly8x16_t)
17499     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17500 }
17501 
17502 __extension__ extern __inline poly16x8_t
17503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16(const poly16_t * __a)17504 vld1q_p16 (const poly16_t *__a)
17505 {
17506   return (poly16x8_t)
17507     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17508 }
17509 
17510 __extension__ extern __inline poly64x2_t
17511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64(const poly64_t * __a)17512 vld1q_p64 (const poly64_t *__a)
17513 {
17514   return (poly64x2_t)
17515     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17516 }
17517 
17518 __extension__ extern __inline int8x16_t
17519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8(const int8_t * __a)17520 vld1q_s8 (const int8_t *__a)
17521 {
17522   return __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17523 }
17524 
17525 __extension__ extern __inline int16x8_t
17526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16(const int16_t * __a)17527 vld1q_s16 (const int16_t *__a)
17528 {
17529   return __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17530 }
17531 
17532 __extension__ extern __inline int32x4_t
17533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32(const int32_t * __a)17534 vld1q_s32 (const int32_t *__a)
17535 {
17536   return __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
17537 }
17538 
17539 __extension__ extern __inline int64x2_t
17540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64(const int64_t * __a)17541 vld1q_s64 (const int64_t *__a)
17542 {
17543   return __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17544 }
17545 
17546 __extension__ extern __inline uint8x16_t
17547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8(const uint8_t * __a)17548 vld1q_u8 (const uint8_t *__a)
17549 {
17550   return (uint8x16_t)
17551     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17552 }
17553 
17554 __extension__ extern __inline uint8x8x2_t
17555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x2(const uint8_t * __a)17556 vld1_u8_x2 (const uint8_t *__a)
17557 {
17558   uint8x8x2_t ret;
17559   __builtin_aarch64_simd_oi __o;
17560   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17561   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17562   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17563   return ret;
17564 }
17565 
17566 __extension__ extern __inline int8x8x2_t
17567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x2(const int8_t * __a)17568 vld1_s8_x2 (const int8_t *__a)
17569 {
17570   int8x8x2_t ret;
17571   __builtin_aarch64_simd_oi __o;
17572   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17573   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17574   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17575   return ret;
17576 }
17577 
17578 __extension__ extern __inline uint16x4x2_t
17579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x2(const uint16_t * __a)17580 vld1_u16_x2 (const uint16_t *__a)
17581 {
17582   uint16x4x2_t ret;
17583   __builtin_aarch64_simd_oi __o;
17584   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17585   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17586   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17587   return ret;
17588 }
17589 
17590 __extension__ extern __inline int16x4x2_t
17591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x2(const int16_t * __a)17592 vld1_s16_x2 (const int16_t *__a)
17593 {
17594   int16x4x2_t ret;
17595   __builtin_aarch64_simd_oi __o;
17596   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17597   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17598   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17599   return ret;
17600 }
17601 
17602 __extension__ extern __inline uint32x2x2_t
17603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x2(const uint32_t * __a)17604 vld1_u32_x2 (const uint32_t *__a)
17605 {
17606   uint32x2x2_t ret;
17607   __builtin_aarch64_simd_oi __o;
17608   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
17609   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17610   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17611   return ret;
17612 }
17613 
17614 __extension__ extern __inline int32x2x2_t
17615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x2(const int32_t * __a)17616 vld1_s32_x2 (const int32_t *__a)
17617 {
17618   int32x2x2_t ret;
17619   __builtin_aarch64_simd_oi __o;
17620   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
17621   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17622   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17623   return ret;
17624 }
17625 
17626 __extension__ extern __inline uint64x1x2_t
17627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x2(const uint64_t * __a)17628 vld1_u64_x2 (const uint64_t *__a)
17629 {
17630   uint64x1x2_t ret;
17631   __builtin_aarch64_simd_oi __o;
17632   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17633   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17634   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17635   return ret;
17636 }
17637 
17638 __extension__ extern __inline int64x1x2_t
17639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x2(const int64_t * __a)17640 vld1_s64_x2 (const int64_t *__a)
17641 {
17642   int64x1x2_t ret;
17643   __builtin_aarch64_simd_oi __o;
17644   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17645   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17646   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17647   return ret;
17648 }
17649 
17650 __extension__ extern __inline float16x4x2_t
17651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x2(const float16_t * __a)17652 vld1_f16_x2 (const float16_t *__a)
17653 {
17654   float16x4x2_t ret;
17655   __builtin_aarch64_simd_oi __o;
17656   __o = __builtin_aarch64_ld1x2v4hf ((const __builtin_aarch64_simd_hf *) __a);
17657   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 0);
17658   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
17659   return ret;
17660 }
17661 
17662 __extension__ extern __inline float32x2x2_t
17663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x2(const float32_t * __a)17664 vld1_f32_x2 (const float32_t *__a)
17665 {
17666   float32x2x2_t ret;
17667   __builtin_aarch64_simd_oi __o;
17668   __o = __builtin_aarch64_ld1x2v2sf ((const __builtin_aarch64_simd_sf *) __a);
17669   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
17670   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
17671   return ret;
17672 }
17673 
17674 __extension__ extern __inline float64x1x2_t
17675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x2(const float64_t * __a)17676 vld1_f64_x2 (const float64_t *__a)
17677 {
17678   float64x1x2_t ret;
17679   __builtin_aarch64_simd_oi __o;
17680   __o = __builtin_aarch64_ld1x2df ((const __builtin_aarch64_simd_df *) __a);
17681   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
17682   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
17683   return ret;
17684 }
17685 
17686 __extension__ extern __inline poly8x8x2_t
17687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x2(const poly8_t * __a)17688 vld1_p8_x2 (const poly8_t *__a)
17689 {
17690   poly8x8x2_t ret;
17691   __builtin_aarch64_simd_oi __o;
17692   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17693   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17694   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17695   return ret;
17696 }
17697 
17698 __extension__ extern __inline poly16x4x2_t
17699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x2(const poly16_t * __a)17700 vld1_p16_x2 (const poly16_t *__a)
17701 {
17702   poly16x4x2_t ret;
17703   __builtin_aarch64_simd_oi __o;
17704   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17705   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17706   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17707   return ret;
17708 }
17709 
17710 __extension__ extern __inline poly64x1x2_t
17711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x2(const poly64_t * __a)17712 vld1_p64_x2 (const poly64_t *__a)
17713 {
17714   poly64x1x2_t ret;
17715   __builtin_aarch64_simd_oi __o;
17716   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17717   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17718   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17719   return ret;
17720 }
17721 
17722 __extension__ extern __inline uint8x16x2_t
17723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x2(const uint8_t * __a)17724 vld1q_u8_x2 (const uint8_t *__a)
17725 {
17726   uint8x16x2_t ret;
17727   __builtin_aarch64_simd_oi __o;
17728   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17729   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17730   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17731   return ret;
17732 }
17733 
17734 __extension__ extern __inline int8x16x2_t
17735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x2(const int8_t * __a)17736 vld1q_s8_x2 (const int8_t *__a)
17737 {
17738   int8x16x2_t ret;
17739   __builtin_aarch64_simd_oi __o;
17740   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17741   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17742   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17743   return ret;
17744 }
17745 
17746 __extension__ extern __inline uint16x8x2_t
17747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x2(const uint16_t * __a)17748 vld1q_u16_x2 (const uint16_t *__a)
17749 {
17750   uint16x8x2_t ret;
17751   __builtin_aarch64_simd_oi __o;
17752   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17753   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17754   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17755   return ret;
17756 }
17757 
17758 __extension__ extern __inline int16x8x2_t
17759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x2(const int16_t * __a)17760 vld1q_s16_x2 (const int16_t *__a)
17761 {
17762   int16x8x2_t ret;
17763   __builtin_aarch64_simd_oi __o;
17764   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17765   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17766   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17767   return ret;
17768 }
17769 
17770 __extension__ extern __inline uint32x4x2_t
17771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x2(const uint32_t * __a)17772 vld1q_u32_x2 (const uint32_t *__a)
17773 {
17774   uint32x4x2_t ret;
17775   __builtin_aarch64_simd_oi __o;
17776   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
17777   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17778   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17779   return ret;
17780 }
17781 
17782 __extension__ extern __inline int32x4x2_t
17783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x2(const int32_t * __a)17784 vld1q_s32_x2 (const int32_t *__a)
17785 {
17786   int32x4x2_t ret;
17787   __builtin_aarch64_simd_oi __o;
17788   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
17789   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17790   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17791   return ret;
17792 }
17793 
17794 __extension__ extern __inline uint64x2x2_t
17795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x2(const uint64_t * __a)17796 vld1q_u64_x2 (const uint64_t *__a)
17797 {
17798   uint64x2x2_t ret;
17799   __builtin_aarch64_simd_oi __o;
17800   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17801   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17802   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17803   return ret;
17804 }
17805 
17806 __extension__ extern __inline int64x2x2_t
17807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x2(const int64_t * __a)17808 vld1q_s64_x2 (const int64_t *__a)
17809 {
17810   int64x2x2_t ret;
17811   __builtin_aarch64_simd_oi __o;
17812   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17813   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17814   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17815   return ret;
17816 }
17817 
17818 __extension__ extern __inline float16x8x2_t
17819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x2(const float16_t * __a)17820 vld1q_f16_x2 (const float16_t *__a)
17821 {
17822   float16x8x2_t ret;
17823   __builtin_aarch64_simd_oi __o;
17824   __o = __builtin_aarch64_ld1x2v8hf ((const __builtin_aarch64_simd_hf *) __a);
17825   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
17826   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 1);
17827   return ret;
17828 }
17829 
17830 __extension__ extern __inline float32x4x2_t
17831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x2(const float32_t * __a)17832 vld1q_f32_x2 (const float32_t *__a)
17833 {
17834   float32x4x2_t ret;
17835   __builtin_aarch64_simd_oi __o;
17836   __o = __builtin_aarch64_ld1x2v4sf ((const __builtin_aarch64_simd_sf *) __a);
17837   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
17838   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
17839   return ret;
17840 }
17841 
17842 __extension__ extern __inline float64x2x2_t
17843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x2(const float64_t * __a)17844 vld1q_f64_x2 (const float64_t *__a)
17845 {
17846   float64x2x2_t ret;
17847   __builtin_aarch64_simd_oi __o;
17848   __o = __builtin_aarch64_ld1x2v2df ((const __builtin_aarch64_simd_df *) __a);
17849   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
17850   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
17851   return ret;
17852 }
17853 
17854 __extension__ extern __inline poly8x16x2_t
17855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x2(const poly8_t * __a)17856 vld1q_p8_x2 (const poly8_t *__a)
17857 {
17858   poly8x16x2_t ret;
17859   __builtin_aarch64_simd_oi __o;
17860   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17861   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17862   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17863   return ret;
17864 }
17865 
17866 __extension__ extern __inline poly16x8x2_t
17867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x2(const poly16_t * __a)17868 vld1q_p16_x2 (const poly16_t *__a)
17869 {
17870   poly16x8x2_t ret;
17871   __builtin_aarch64_simd_oi __o;
17872   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17873   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17874   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17875   return ret;
17876 }
17877 
17878 __extension__ extern __inline poly64x2x2_t
17879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x2(const poly64_t * __a)17880 vld1q_p64_x2 (const poly64_t *__a)
17881 {
17882   poly64x2x2_t ret;
17883   __builtin_aarch64_simd_oi __o;
17884   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17885   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17886   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17887   return ret;
17888 }
17889 
17890 __extension__ extern __inline uint16x8_t
17891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16(const uint16_t * __a)17892 vld1q_u16 (const uint16_t *__a)
17893 {
17894   return (uint16x8_t)
17895     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17896 }
17897 
17898 __extension__ extern __inline uint32x4_t
17899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32(const uint32_t * __a)17900 vld1q_u32 (const uint32_t *__a)
17901 {
17902   return (uint32x4_t)
17903     __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
17904 }
17905 
17906 __extension__ extern __inline uint64x2_t
17907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64(const uint64_t * __a)17908 vld1q_u64 (const uint64_t *__a)
17909 {
17910   return (uint64x2_t)
17911     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17912 }
17913 
17914 /* vld1(q)_x4.  */
17915 
17916 __extension__ extern __inline int8x8x4_t
17917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x4(const int8_t * __a)17918 vld1_s8_x4 (const int8_t *__a)
17919 {
17920   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17921   __au.__o
17922     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17923   return __au.__i;
17924 }
17925 
17926 __extension__ extern __inline int8x16x4_t
17927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x4(const int8_t * __a)17928 vld1q_s8_x4 (const int8_t *__a)
17929 {
17930   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17931   __au.__o
17932     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
17933   return __au.__i;
17934 }
17935 
17936 __extension__ extern __inline int16x4x4_t
17937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x4(const int16_t * __a)17938 vld1_s16_x4 (const int16_t *__a)
17939 {
17940   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17941   __au.__o
17942     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
17943   return __au.__i;
17944 }
17945 
17946 __extension__ extern __inline int16x8x4_t
17947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x4(const int16_t * __a)17948 vld1q_s16_x4 (const int16_t *__a)
17949 {
17950   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17951   __au.__o
17952     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
17953   return __au.__i;
17954 }
17955 
17956 __extension__ extern __inline int32x2x4_t
17957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x4(const int32_t * __a)17958 vld1_s32_x4 (const int32_t *__a)
17959 {
17960   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17961   __au.__o
17962   = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
17963   return __au.__i;
17964 }
17965 
17966 __extension__ extern __inline int32x4x4_t
17967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x4(const int32_t * __a)17968 vld1q_s32_x4 (const int32_t *__a)
17969 {
17970   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17971   __au.__o
17972   = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
17973   return __au.__i;
17974 }
17975 
17976 __extension__ extern __inline uint8x8x4_t
17977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x4(const uint8_t * __a)17978 vld1_u8_x4 (const uint8_t *__a)
17979 {
17980   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17981   __au.__o
17982     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17983   return __au.__i;
17984 }
17985 
17986 __extension__ extern __inline uint8x16x4_t
17987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x4(const uint8_t * __a)17988 vld1q_u8_x4 (const uint8_t *__a)
17989 {
17990   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17991   __au.__o
17992     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
17993   return __au.__i;
17994 }
17995 
17996 __extension__ extern __inline uint16x4x4_t
17997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x4(const uint16_t * __a)17998 vld1_u16_x4 (const uint16_t *__a)
17999 {
18000   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18001   __au.__o
18002     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
18003   return __au.__i;
18004 }
18005 
18006 __extension__ extern __inline uint16x8x4_t
18007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x4(const uint16_t * __a)18008 vld1q_u16_x4 (const uint16_t *__a)
18009 {
18010   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18011   __au.__o
18012     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18013   return __au.__i;
18014 }
18015 
18016 __extension__ extern __inline uint32x2x4_t
18017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x4(const uint32_t * __a)18018 vld1_u32_x4 (const uint32_t *__a)
18019 {
18020   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18021   __au.__o
18022     = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
18023   return __au.__i;
18024 }
18025 
18026 __extension__ extern __inline uint32x4x4_t
18027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x4(const uint32_t * __a)18028 vld1q_u32_x4 (const uint32_t *__a)
18029 {
18030   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18031   __au.__o
18032     = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
18033   return __au.__i;
18034 }
18035 
18036 __extension__ extern __inline float16x4x4_t
18037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x4(const float16_t * __a)18038 vld1_f16_x4 (const float16_t *__a)
18039 {
18040   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18041   __au.__o
18042     = __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf *) __a);
18043   return __au.__i;
18044 }
18045 
18046 __extension__ extern __inline float16x8x4_t
18047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x4(const float16_t * __a)18048 vld1q_f16_x4 (const float16_t *__a)
18049 {
18050   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18051   __au.__o
18052     = __builtin_aarch64_ld1x4v8hf ((const __builtin_aarch64_simd_hf *) __a);
18053   return __au.__i;
18054 }
18055 
18056 __extension__ extern __inline float32x2x4_t
18057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x4(const float32_t * __a)18058 vld1_f32_x4 (const float32_t *__a)
18059 {
18060   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18061   __au.__o
18062     = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
18063   return __au.__i;
18064 }
18065 
18066 __extension__ extern __inline float32x4x4_t
18067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x4(const float32_t * __a)18068 vld1q_f32_x4 (const float32_t *__a)
18069 {
18070   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18071   __au.__o
18072     = __builtin_aarch64_ld1x4v4sf ((const __builtin_aarch64_simd_sf *) __a);
18073   return __au.__i;
18074 }
18075 
18076 __extension__ extern __inline poly8x8x4_t
18077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x4(const poly8_t * __a)18078 vld1_p8_x4 (const poly8_t *__a)
18079 {
18080   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18081   __au.__o
18082     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
18083   return __au.__i;
18084 }
18085 
18086 __extension__ extern __inline poly8x16x4_t
18087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x4(const poly8_t * __a)18088 vld1q_p8_x4 (const poly8_t *__a)
18089 {
18090   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18091   __au.__o
18092     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
18093   return __au.__i;
18094 }
18095 
18096 __extension__ extern __inline poly16x4x4_t
18097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x4(const poly16_t * __a)18098 vld1_p16_x4 (const poly16_t *__a)
18099 {
18100   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18101   __au.__o
18102     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
18103   return __au.__i;
18104 }
18105 
18106 __extension__ extern __inline poly16x8x4_t
18107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x4(const poly16_t * __a)18108 vld1q_p16_x4 (const poly16_t *__a)
18109 {
18110   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18111   __au.__o
18112     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18113   return __au.__i;
18114 }
18115 
18116 __extension__ extern __inline int64x1x4_t
18117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x4(const int64_t * __a)18118 vld1_s64_x4 (const int64_t *__a)
18119 {
18120   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18121   __au.__o
18122     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18123   return __au.__i;
18124 }
18125 
18126 __extension__ extern __inline uint64x1x4_t
18127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x4(const uint64_t * __a)18128 vld1_u64_x4 (const uint64_t *__a)
18129 {
18130   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18131   __au.__o
18132     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18133   return __au.__i;
18134 }
18135 
18136 __extension__ extern __inline poly64x1x4_t
18137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x4(const poly64_t * __a)18138 vld1_p64_x4 (const poly64_t *__a)
18139 {
18140   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18141   __au.__o
18142     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18143   return __au.__i;
18144 }
18145 
18146 __extension__ extern __inline int64x2x4_t
18147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x4(const int64_t * __a)18148 vld1q_s64_x4 (const int64_t *__a)
18149 {
18150   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18151   __au.__o
18152     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18153   return __au.__i;
18154 }
18155 
18156 __extension__ extern __inline uint64x2x4_t
18157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x4(const uint64_t * __a)18158 vld1q_u64_x4 (const uint64_t *__a)
18159 {
18160   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18161   __au.__o
18162     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18163   return __au.__i;
18164 }
18165 
18166 __extension__ extern __inline poly64x2x4_t
18167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x4(const poly64_t * __a)18168 vld1q_p64_x4 (const poly64_t *__a)
18169 {
18170   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18171   __au.__o
18172     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18173   return __au.__i;
18174 }
18175 
18176 __extension__ extern __inline float64x1x4_t
18177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x4(const float64_t * __a)18178 vld1_f64_x4 (const float64_t *__a)
18179 {
18180   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18181   __au.__o
18182     = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
18183   return __au.__i;
18184 }
18185 
18186 __extension__ extern __inline float64x2x4_t
18187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x4(const float64_t * __a)18188 vld1q_f64_x4 (const float64_t *__a)
18189 {
18190   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18191   __au.__o
18192     = __builtin_aarch64_ld1x4v2df ((const __builtin_aarch64_simd_df *) __a);
18193   return __au.__i;
18194 }
18195 
18196 /* vld1_dup  */
18197 
18198 __extension__ extern __inline float16x4_t
18199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f16(const float16_t * __a)18200 vld1_dup_f16 (const float16_t* __a)
18201 {
18202   return vdup_n_f16 (*__a);
18203 }
18204 
18205 __extension__ extern __inline float32x2_t
18206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f32(const float32_t * __a)18207 vld1_dup_f32 (const float32_t* __a)
18208 {
18209   return vdup_n_f32 (*__a);
18210 }
18211 
18212 __extension__ extern __inline float64x1_t
18213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f64(const float64_t * __a)18214 vld1_dup_f64 (const float64_t* __a)
18215 {
18216   return vdup_n_f64 (*__a);
18217 }
18218 
18219 __extension__ extern __inline poly8x8_t
18220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p8(const poly8_t * __a)18221 vld1_dup_p8 (const poly8_t* __a)
18222 {
18223   return vdup_n_p8 (*__a);
18224 }
18225 
18226 __extension__ extern __inline poly16x4_t
18227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p16(const poly16_t * __a)18228 vld1_dup_p16 (const poly16_t* __a)
18229 {
18230   return vdup_n_p16 (*__a);
18231 }
18232 
18233 __extension__ extern __inline poly64x1_t
18234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p64(const poly64_t * __a)18235 vld1_dup_p64 (const poly64_t* __a)
18236 {
18237   return vdup_n_p64 (*__a);
18238 }
18239 
18240 __extension__ extern __inline int8x8_t
18241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s8(const int8_t * __a)18242 vld1_dup_s8 (const int8_t* __a)
18243 {
18244   return vdup_n_s8 (*__a);
18245 }
18246 
18247 __extension__ extern __inline int16x4_t
18248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s16(const int16_t * __a)18249 vld1_dup_s16 (const int16_t* __a)
18250 {
18251   return vdup_n_s16 (*__a);
18252 }
18253 
18254 __extension__ extern __inline int32x2_t
18255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s32(const int32_t * __a)18256 vld1_dup_s32 (const int32_t* __a)
18257 {
18258   return vdup_n_s32 (*__a);
18259 }
18260 
18261 __extension__ extern __inline int64x1_t
18262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s64(const int64_t * __a)18263 vld1_dup_s64 (const int64_t* __a)
18264 {
18265   return vdup_n_s64 (*__a);
18266 }
18267 
18268 __extension__ extern __inline uint8x8_t
18269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u8(const uint8_t * __a)18270 vld1_dup_u8 (const uint8_t* __a)
18271 {
18272   return vdup_n_u8 (*__a);
18273 }
18274 
18275 __extension__ extern __inline uint16x4_t
18276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u16(const uint16_t * __a)18277 vld1_dup_u16 (const uint16_t* __a)
18278 {
18279   return vdup_n_u16 (*__a);
18280 }
18281 
18282 __extension__ extern __inline uint32x2_t
18283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u32(const uint32_t * __a)18284 vld1_dup_u32 (const uint32_t* __a)
18285 {
18286   return vdup_n_u32 (*__a);
18287 }
18288 
18289 __extension__ extern __inline uint64x1_t
18290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u64(const uint64_t * __a)18291 vld1_dup_u64 (const uint64_t* __a)
18292 {
18293   return vdup_n_u64 (*__a);
18294 }
18295 
18296 /* vld1q_dup  */
18297 
18298 __extension__ extern __inline float16x8_t
18299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f16(const float16_t * __a)18300 vld1q_dup_f16 (const float16_t* __a)
18301 {
18302   return vdupq_n_f16 (*__a);
18303 }
18304 
18305 __extension__ extern __inline float32x4_t
18306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f32(const float32_t * __a)18307 vld1q_dup_f32 (const float32_t* __a)
18308 {
18309   return vdupq_n_f32 (*__a);
18310 }
18311 
18312 __extension__ extern __inline float64x2_t
18313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f64(const float64_t * __a)18314 vld1q_dup_f64 (const float64_t* __a)
18315 {
18316   return vdupq_n_f64 (*__a);
18317 }
18318 
18319 __extension__ extern __inline poly8x16_t
18320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p8(const poly8_t * __a)18321 vld1q_dup_p8 (const poly8_t* __a)
18322 {
18323   return vdupq_n_p8 (*__a);
18324 }
18325 
18326 __extension__ extern __inline poly16x8_t
18327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p16(const poly16_t * __a)18328 vld1q_dup_p16 (const poly16_t* __a)
18329 {
18330   return vdupq_n_p16 (*__a);
18331 }
18332 
18333 __extension__ extern __inline poly64x2_t
18334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p64(const poly64_t * __a)18335 vld1q_dup_p64 (const poly64_t* __a)
18336 {
18337   return vdupq_n_p64 (*__a);
18338 }
18339 
18340  __extension__ extern __inline int8x16_t
18341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s8(const int8_t * __a)18342 vld1q_dup_s8 (const int8_t* __a)
18343 {
18344   return vdupq_n_s8 (*__a);
18345 }
18346 
18347 __extension__ extern __inline int16x8_t
18348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s16(const int16_t * __a)18349 vld1q_dup_s16 (const int16_t* __a)
18350 {
18351   return vdupq_n_s16 (*__a);
18352 }
18353 
18354 __extension__ extern __inline int32x4_t
18355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s32(const int32_t * __a)18356 vld1q_dup_s32 (const int32_t* __a)
18357 {
18358   return vdupq_n_s32 (*__a);
18359 }
18360 
18361 __extension__ extern __inline int64x2_t
18362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s64(const int64_t * __a)18363 vld1q_dup_s64 (const int64_t* __a)
18364 {
18365   return vdupq_n_s64 (*__a);
18366 }
18367 
18368 __extension__ extern __inline uint8x16_t
18369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u8(const uint8_t * __a)18370 vld1q_dup_u8 (const uint8_t* __a)
18371 {
18372   return vdupq_n_u8 (*__a);
18373 }
18374 
18375 __extension__ extern __inline uint16x8_t
18376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u16(const uint16_t * __a)18377 vld1q_dup_u16 (const uint16_t* __a)
18378 {
18379   return vdupq_n_u16 (*__a);
18380 }
18381 
18382 __extension__ extern __inline uint32x4_t
18383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u32(const uint32_t * __a)18384 vld1q_dup_u32 (const uint32_t* __a)
18385 {
18386   return vdupq_n_u32 (*__a);
18387 }
18388 
18389 __extension__ extern __inline uint64x2_t
18390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u64(const uint64_t * __a)18391 vld1q_dup_u64 (const uint64_t* __a)
18392 {
18393   return vdupq_n_u64 (*__a);
18394 }
18395 
18396 /* vld1_lane  */
18397 
18398 __extension__ extern __inline float16x4_t
18399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f16(const float16_t * __src,float16x4_t __vec,const int __lane)18400 vld1_lane_f16 (const float16_t *__src, float16x4_t __vec, const int __lane)
18401 {
18402   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18403 }
18404 
18405 __extension__ extern __inline float32x2_t
18406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f32(const float32_t * __src,float32x2_t __vec,const int __lane)18407 vld1_lane_f32 (const float32_t *__src, float32x2_t __vec, const int __lane)
18408 {
18409   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18410 }
18411 
18412 __extension__ extern __inline float64x1_t
18413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f64(const float64_t * __src,float64x1_t __vec,const int __lane)18414 vld1_lane_f64 (const float64_t *__src, float64x1_t __vec, const int __lane)
18415 {
18416   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18417 }
18418 
18419 __extension__ extern __inline poly8x8_t
18420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p8(const poly8_t * __src,poly8x8_t __vec,const int __lane)18421 vld1_lane_p8 (const poly8_t *__src, poly8x8_t __vec, const int __lane)
18422 {
18423   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18424 }
18425 
18426 __extension__ extern __inline poly16x4_t
18427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p16(const poly16_t * __src,poly16x4_t __vec,const int __lane)18428 vld1_lane_p16 (const poly16_t *__src, poly16x4_t __vec, const int __lane)
18429 {
18430   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18431 }
18432 
18433 __extension__ extern __inline poly64x1_t
18434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p64(const poly64_t * __src,poly64x1_t __vec,const int __lane)18435 vld1_lane_p64 (const poly64_t *__src, poly64x1_t __vec, const int __lane)
18436 {
18437   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18438 }
18439 
18440 __extension__ extern __inline int8x8_t
18441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s8(const int8_t * __src,int8x8_t __vec,const int __lane)18442 vld1_lane_s8 (const int8_t *__src, int8x8_t __vec, const int __lane)
18443 {
18444   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18445 }
18446 
18447 __extension__ extern __inline int16x4_t
18448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s16(const int16_t * __src,int16x4_t __vec,const int __lane)18449 vld1_lane_s16 (const int16_t *__src, int16x4_t __vec, const int __lane)
18450 {
18451   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18452 }
18453 
18454 __extension__ extern __inline int32x2_t
18455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s32(const int32_t * __src,int32x2_t __vec,const int __lane)18456 vld1_lane_s32 (const int32_t *__src, int32x2_t __vec, const int __lane)
18457 {
18458   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18459 }
18460 
18461 __extension__ extern __inline int64x1_t
18462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s64(const int64_t * __src,int64x1_t __vec,const int __lane)18463 vld1_lane_s64 (const int64_t *__src, int64x1_t __vec, const int __lane)
18464 {
18465   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18466 }
18467 
18468 __extension__ extern __inline uint8x8_t
18469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u8(const uint8_t * __src,uint8x8_t __vec,const int __lane)18470 vld1_lane_u8 (const uint8_t *__src, uint8x8_t __vec, const int __lane)
18471 {
18472   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18473 }
18474 
18475 __extension__ extern __inline uint16x4_t
18476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u16(const uint16_t * __src,uint16x4_t __vec,const int __lane)18477 vld1_lane_u16 (const uint16_t *__src, uint16x4_t __vec, const int __lane)
18478 {
18479   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18480 }
18481 
18482 __extension__ extern __inline uint32x2_t
18483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u32(const uint32_t * __src,uint32x2_t __vec,const int __lane)18484 vld1_lane_u32 (const uint32_t *__src, uint32x2_t __vec, const int __lane)
18485 {
18486   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18487 }
18488 
18489 __extension__ extern __inline uint64x1_t
18490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u64(const uint64_t * __src,uint64x1_t __vec,const int __lane)18491 vld1_lane_u64 (const uint64_t *__src, uint64x1_t __vec, const int __lane)
18492 {
18493   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18494 }
18495 
18496 /* vld1q_lane  */
18497 
18498 __extension__ extern __inline float16x8_t
18499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f16(const float16_t * __src,float16x8_t __vec,const int __lane)18500 vld1q_lane_f16 (const float16_t *__src, float16x8_t __vec, const int __lane)
18501 {
18502   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18503 }
18504 
18505 __extension__ extern __inline float32x4_t
18506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f32(const float32_t * __src,float32x4_t __vec,const int __lane)18507 vld1q_lane_f32 (const float32_t *__src, float32x4_t __vec, const int __lane)
18508 {
18509   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18510 }
18511 
18512 __extension__ extern __inline float64x2_t
18513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f64(const float64_t * __src,float64x2_t __vec,const int __lane)18514 vld1q_lane_f64 (const float64_t *__src, float64x2_t __vec, const int __lane)
18515 {
18516   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18517 }
18518 
18519 __extension__ extern __inline poly8x16_t
18520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p8(const poly8_t * __src,poly8x16_t __vec,const int __lane)18521 vld1q_lane_p8 (const poly8_t *__src, poly8x16_t __vec, const int __lane)
18522 {
18523   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18524 }
18525 
18526 __extension__ extern __inline poly16x8_t
18527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p16(const poly16_t * __src,poly16x8_t __vec,const int __lane)18528 vld1q_lane_p16 (const poly16_t *__src, poly16x8_t __vec, const int __lane)
18529 {
18530   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18531 }
18532 
18533 __extension__ extern __inline poly64x2_t
18534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p64(const poly64_t * __src,poly64x2_t __vec,const int __lane)18535 vld1q_lane_p64 (const poly64_t *__src, poly64x2_t __vec, const int __lane)
18536 {
18537   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18538 }
18539 
18540 __extension__ extern __inline int8x16_t
18541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s8(const int8_t * __src,int8x16_t __vec,const int __lane)18542 vld1q_lane_s8 (const int8_t *__src, int8x16_t __vec, const int __lane)
18543 {
18544   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18545 }
18546 
18547 __extension__ extern __inline int16x8_t
18548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s16(const int16_t * __src,int16x8_t __vec,const int __lane)18549 vld1q_lane_s16 (const int16_t *__src, int16x8_t __vec, const int __lane)
18550 {
18551   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18552 }
18553 
18554 __extension__ extern __inline int32x4_t
18555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s32(const int32_t * __src,int32x4_t __vec,const int __lane)18556 vld1q_lane_s32 (const int32_t *__src, int32x4_t __vec, const int __lane)
18557 {
18558   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18559 }
18560 
18561 __extension__ extern __inline int64x2_t
18562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s64(const int64_t * __src,int64x2_t __vec,const int __lane)18563 vld1q_lane_s64 (const int64_t *__src, int64x2_t __vec, const int __lane)
18564 {
18565   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18566 }
18567 
18568 __extension__ extern __inline uint8x16_t
18569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u8(const uint8_t * __src,uint8x16_t __vec,const int __lane)18570 vld1q_lane_u8 (const uint8_t *__src, uint8x16_t __vec, const int __lane)
18571 {
18572   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18573 }
18574 
18575 __extension__ extern __inline uint16x8_t
18576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u16(const uint16_t * __src,uint16x8_t __vec,const int __lane)18577 vld1q_lane_u16 (const uint16_t *__src, uint16x8_t __vec, const int __lane)
18578 {
18579   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18580 }
18581 
18582 __extension__ extern __inline uint32x4_t
18583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u32(const uint32_t * __src,uint32x4_t __vec,const int __lane)18584 vld1q_lane_u32 (const uint32_t *__src, uint32x4_t __vec, const int __lane)
18585 {
18586   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18587 }
18588 
18589 __extension__ extern __inline uint64x2_t
18590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u64(const uint64_t * __src,uint64x2_t __vec,const int __lane)18591 vld1q_lane_u64 (const uint64_t *__src, uint64x2_t __vec, const int __lane)
18592 {
18593   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18594 }
18595 
18596 /* vldn */
18597 
18598 __extension__ extern __inline int64x1x2_t
18599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s64(const int64_t * __a)18600 vld2_s64 (const int64_t * __a)
18601 {
18602   int64x1x2_t ret;
18603   __builtin_aarch64_simd_oi __o;
18604   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18605   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18606   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18607   return ret;
18608 }
18609 
18610 __extension__ extern __inline uint64x1x2_t
18611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u64(const uint64_t * __a)18612 vld2_u64 (const uint64_t * __a)
18613 {
18614   uint64x1x2_t ret;
18615   __builtin_aarch64_simd_oi __o;
18616   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18617   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18618   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18619   return ret;
18620 }
18621 
18622 __extension__ extern __inline float64x1x2_t
18623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f64(const float64_t * __a)18624 vld2_f64 (const float64_t * __a)
18625 {
18626   float64x1x2_t ret;
18627   __builtin_aarch64_simd_oi __o;
18628   __o = __builtin_aarch64_ld2df ((const __builtin_aarch64_simd_df *) __a);
18629   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
18630   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
18631   return ret;
18632 }
18633 
18634 __extension__ extern __inline int8x8x2_t
18635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s8(const int8_t * __a)18636 vld2_s8 (const int8_t * __a)
18637 {
18638   int8x8x2_t ret;
18639   __builtin_aarch64_simd_oi __o;
18640   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18641   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18642   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18643   return ret;
18644 }
18645 
18646 __extension__ extern __inline poly8x8x2_t
18647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p8(const poly8_t * __a)18648 vld2_p8 (const poly8_t * __a)
18649 {
18650   poly8x8x2_t ret;
18651   __builtin_aarch64_simd_oi __o;
18652   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18653   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18654   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18655   return ret;
18656 }
18657 
18658 __extension__ extern __inline poly64x1x2_t
18659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p64(const poly64_t * __a)18660 vld2_p64 (const poly64_t * __a)
18661 {
18662   poly64x1x2_t ret;
18663   __builtin_aarch64_simd_oi __o;
18664   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18665   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
18666   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
18667   return ret;
18668 }
18669 
18670 __extension__ extern __inline int16x4x2_t
18671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s16(const int16_t * __a)18672 vld2_s16 (const int16_t * __a)
18673 {
18674   int16x4x2_t ret;
18675   __builtin_aarch64_simd_oi __o;
18676   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18677   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18678   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18679   return ret;
18680 }
18681 
18682 __extension__ extern __inline poly16x4x2_t
18683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p16(const poly16_t * __a)18684 vld2_p16 (const poly16_t * __a)
18685 {
18686   poly16x4x2_t ret;
18687   __builtin_aarch64_simd_oi __o;
18688   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18689   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18690   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18691   return ret;
18692 }
18693 
18694 __extension__ extern __inline int32x2x2_t
18695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s32(const int32_t * __a)18696 vld2_s32 (const int32_t * __a)
18697 {
18698   int32x2x2_t ret;
18699   __builtin_aarch64_simd_oi __o;
18700   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
18701   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18702   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18703   return ret;
18704 }
18705 
18706 __extension__ extern __inline uint8x8x2_t
18707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u8(const uint8_t * __a)18708 vld2_u8 (const uint8_t * __a)
18709 {
18710   uint8x8x2_t ret;
18711   __builtin_aarch64_simd_oi __o;
18712   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18713   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18714   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18715   return ret;
18716 }
18717 
18718 __extension__ extern __inline uint16x4x2_t
18719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u16(const uint16_t * __a)18720 vld2_u16 (const uint16_t * __a)
18721 {
18722   uint16x4x2_t ret;
18723   __builtin_aarch64_simd_oi __o;
18724   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18725   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18726   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18727   return ret;
18728 }
18729 
18730 __extension__ extern __inline uint32x2x2_t
18731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u32(const uint32_t * __a)18732 vld2_u32 (const uint32_t * __a)
18733 {
18734   uint32x2x2_t ret;
18735   __builtin_aarch64_simd_oi __o;
18736   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
18737   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18738   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18739   return ret;
18740 }
18741 
18742 __extension__ extern __inline float16x4x2_t
18743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f16(const float16_t * __a)18744 vld2_f16 (const float16_t * __a)
18745 {
18746   float16x4x2_t ret;
18747   __builtin_aarch64_simd_oi __o;
18748   __o = __builtin_aarch64_ld2v4hf (__a);
18749   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
18750   ret.val[1] = __builtin_aarch64_get_dregoiv4hf (__o, 1);
18751   return ret;
18752 }
18753 
18754 __extension__ extern __inline float32x2x2_t
18755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f32(const float32_t * __a)18756 vld2_f32 (const float32_t * __a)
18757 {
18758   float32x2x2_t ret;
18759   __builtin_aarch64_simd_oi __o;
18760   __o = __builtin_aarch64_ld2v2sf ((const __builtin_aarch64_simd_sf *) __a);
18761   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
18762   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
18763   return ret;
18764 }
18765 
18766 __extension__ extern __inline int8x16x2_t
18767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s8(const int8_t * __a)18768 vld2q_s8 (const int8_t * __a)
18769 {
18770   int8x16x2_t ret;
18771   __builtin_aarch64_simd_oi __o;
18772   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18773   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18774   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18775   return ret;
18776 }
18777 
18778 __extension__ extern __inline poly8x16x2_t
18779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p8(const poly8_t * __a)18780 vld2q_p8 (const poly8_t * __a)
18781 {
18782   poly8x16x2_t ret;
18783   __builtin_aarch64_simd_oi __o;
18784   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18785   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18786   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18787   return ret;
18788 }
18789 
18790 __extension__ extern __inline int16x8x2_t
18791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s16(const int16_t * __a)18792 vld2q_s16 (const int16_t * __a)
18793 {
18794   int16x8x2_t ret;
18795   __builtin_aarch64_simd_oi __o;
18796   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18797   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18798   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18799   return ret;
18800 }
18801 
18802 __extension__ extern __inline poly16x8x2_t
18803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p16(const poly16_t * __a)18804 vld2q_p16 (const poly16_t * __a)
18805 {
18806   poly16x8x2_t ret;
18807   __builtin_aarch64_simd_oi __o;
18808   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18809   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18810   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18811   return ret;
18812 }
18813 
18814 __extension__ extern __inline poly64x2x2_t
18815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p64(const poly64_t * __a)18816 vld2q_p64 (const poly64_t * __a)
18817 {
18818   poly64x2x2_t ret;
18819   __builtin_aarch64_simd_oi __o;
18820   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18821   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
18822   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
18823   return ret;
18824 }
18825 
18826 __extension__ extern __inline int32x4x2_t
18827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s32(const int32_t * __a)18828 vld2q_s32 (const int32_t * __a)
18829 {
18830   int32x4x2_t ret;
18831   __builtin_aarch64_simd_oi __o;
18832   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
18833   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18834   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18835   return ret;
18836 }
18837 
18838 __extension__ extern __inline int64x2x2_t
18839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s64(const int64_t * __a)18840 vld2q_s64 (const int64_t * __a)
18841 {
18842   int64x2x2_t ret;
18843   __builtin_aarch64_simd_oi __o;
18844   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18845   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18846   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18847   return ret;
18848 }
18849 
18850 __extension__ extern __inline uint8x16x2_t
18851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u8(const uint8_t * __a)18852 vld2q_u8 (const uint8_t * __a)
18853 {
18854   uint8x16x2_t ret;
18855   __builtin_aarch64_simd_oi __o;
18856   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18857   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18858   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18859   return ret;
18860 }
18861 
18862 __extension__ extern __inline uint16x8x2_t
18863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u16(const uint16_t * __a)18864 vld2q_u16 (const uint16_t * __a)
18865 {
18866   uint16x8x2_t ret;
18867   __builtin_aarch64_simd_oi __o;
18868   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18869   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18870   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18871   return ret;
18872 }
18873 
18874 __extension__ extern __inline uint32x4x2_t
18875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u32(const uint32_t * __a)18876 vld2q_u32 (const uint32_t * __a)
18877 {
18878   uint32x4x2_t ret;
18879   __builtin_aarch64_simd_oi __o;
18880   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
18881   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18882   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18883   return ret;
18884 }
18885 
18886 __extension__ extern __inline uint64x2x2_t
18887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u64(const uint64_t * __a)18888 vld2q_u64 (const uint64_t * __a)
18889 {
18890   uint64x2x2_t ret;
18891   __builtin_aarch64_simd_oi __o;
18892   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18893   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18894   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18895   return ret;
18896 }
18897 
18898 __extension__ extern __inline float16x8x2_t
18899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f16(const float16_t * __a)18900 vld2q_f16 (const float16_t * __a)
18901 {
18902   float16x8x2_t ret;
18903   __builtin_aarch64_simd_oi __o;
18904   __o = __builtin_aarch64_ld2v8hf (__a);
18905   ret.val[0] = __builtin_aarch64_get_qregoiv8hf (__o, 0);
18906   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
18907   return ret;
18908 }
18909 
18910 __extension__ extern __inline float32x4x2_t
18911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f32(const float32_t * __a)18912 vld2q_f32 (const float32_t * __a)
18913 {
18914   float32x4x2_t ret;
18915   __builtin_aarch64_simd_oi __o;
18916   __o = __builtin_aarch64_ld2v4sf ((const __builtin_aarch64_simd_sf *) __a);
18917   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
18918   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
18919   return ret;
18920 }
18921 
18922 __extension__ extern __inline float64x2x2_t
18923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f64(const float64_t * __a)18924 vld2q_f64 (const float64_t * __a)
18925 {
18926   float64x2x2_t ret;
18927   __builtin_aarch64_simd_oi __o;
18928   __o = __builtin_aarch64_ld2v2df ((const __builtin_aarch64_simd_df *) __a);
18929   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
18930   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
18931   return ret;
18932 }
18933 
18934 __extension__ extern __inline int64x1x3_t
18935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s64(const int64_t * __a)18936 vld3_s64 (const int64_t * __a)
18937 {
18938   int64x1x3_t ret;
18939   __builtin_aarch64_simd_ci __o;
18940   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
18941   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18942   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18943   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18944   return ret;
18945 }
18946 
18947 __extension__ extern __inline uint64x1x3_t
18948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u64(const uint64_t * __a)18949 vld3_u64 (const uint64_t * __a)
18950 {
18951   uint64x1x3_t ret;
18952   __builtin_aarch64_simd_ci __o;
18953   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
18954   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18955   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18956   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18957   return ret;
18958 }
18959 
18960 __extension__ extern __inline float64x1x3_t
18961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f64(const float64_t * __a)18962 vld3_f64 (const float64_t * __a)
18963 {
18964   float64x1x3_t ret;
18965   __builtin_aarch64_simd_ci __o;
18966   __o = __builtin_aarch64_ld3df ((const __builtin_aarch64_simd_df *) __a);
18967   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
18968   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
18969   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
18970   return ret;
18971 }
18972 
18973 __extension__ extern __inline int8x8x3_t
18974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s8(const int8_t * __a)18975 vld3_s8 (const int8_t * __a)
18976 {
18977   int8x8x3_t ret;
18978   __builtin_aarch64_simd_ci __o;
18979   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
18980   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18981   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18982   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18983   return ret;
18984 }
18985 
18986 __extension__ extern __inline poly8x8x3_t
18987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p8(const poly8_t * __a)18988 vld3_p8 (const poly8_t * __a)
18989 {
18990   poly8x8x3_t ret;
18991   __builtin_aarch64_simd_ci __o;
18992   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
18993   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18994   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18995   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18996   return ret;
18997 }
18998 
18999 __extension__ extern __inline int16x4x3_t
19000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s16(const int16_t * __a)19001 vld3_s16 (const int16_t * __a)
19002 {
19003   int16x4x3_t ret;
19004   __builtin_aarch64_simd_ci __o;
19005   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
19006   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
19007   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
19008   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
19009   return ret;
19010 }
19011 
19012 __extension__ extern __inline poly16x4x3_t
19013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p16(const poly16_t * __a)19014 vld3_p16 (const poly16_t * __a)
19015 {
19016   poly16x4x3_t ret;
19017   __builtin_aarch64_simd_ci __o;
19018   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
19019   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
19020   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
19021   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
19022   return ret;
19023 }
19024 
19025 __extension__ extern __inline int32x2x3_t
19026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s32(const int32_t * __a)19027 vld3_s32 (const int32_t * __a)
19028 {
19029   int32x2x3_t ret;
19030   __builtin_aarch64_simd_ci __o;
19031   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
19032   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
19033   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
19034   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
19035   return ret;
19036 }
19037 
19038 __extension__ extern __inline uint8x8x3_t
19039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u8(const uint8_t * __a)19040 vld3_u8 (const uint8_t * __a)
19041 {
19042   uint8x8x3_t ret;
19043   __builtin_aarch64_simd_ci __o;
19044   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
19045   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
19046   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
19047   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
19048   return ret;
19049 }
19050 
19051 __extension__ extern __inline uint16x4x3_t
19052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u16(const uint16_t * __a)19053 vld3_u16 (const uint16_t * __a)
19054 {
19055   uint16x4x3_t ret;
19056   __builtin_aarch64_simd_ci __o;
19057   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
19058   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
19059   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
19060   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
19061   return ret;
19062 }
19063 
19064 __extension__ extern __inline uint32x2x3_t
19065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u32(const uint32_t * __a)19066 vld3_u32 (const uint32_t * __a)
19067 {
19068   uint32x2x3_t ret;
19069   __builtin_aarch64_simd_ci __o;
19070   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
19071   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
19072   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
19073   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
19074   return ret;
19075 }
19076 
19077 __extension__ extern __inline float16x4x3_t
19078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f16(const float16_t * __a)19079 vld3_f16 (const float16_t * __a)
19080 {
19081   float16x4x3_t ret;
19082   __builtin_aarch64_simd_ci __o;
19083   __o = __builtin_aarch64_ld3v4hf (__a);
19084   ret.val[0] = __builtin_aarch64_get_dregciv4hf (__o, 0);
19085   ret.val[1] = __builtin_aarch64_get_dregciv4hf (__o, 1);
19086   ret.val[2] = __builtin_aarch64_get_dregciv4hf (__o, 2);
19087   return ret;
19088 }
19089 
19090 __extension__ extern __inline float32x2x3_t
19091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f32(const float32_t * __a)19092 vld3_f32 (const float32_t * __a)
19093 {
19094   float32x2x3_t ret;
19095   __builtin_aarch64_simd_ci __o;
19096   __o = __builtin_aarch64_ld3v2sf ((const __builtin_aarch64_simd_sf *) __a);
19097   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
19098   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
19099   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
19100   return ret;
19101 }
19102 
19103 __extension__ extern __inline poly64x1x3_t
19104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p64(const poly64_t * __a)19105 vld3_p64 (const poly64_t * __a)
19106 {
19107   poly64x1x3_t ret;
19108   __builtin_aarch64_simd_ci __o;
19109   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
19110   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
19111   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
19112   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
19113   return ret;
19114 }
19115 
19116 __extension__ extern __inline int8x16x3_t
19117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s8(const int8_t * __a)19118 vld3q_s8 (const int8_t * __a)
19119 {
19120   int8x16x3_t ret;
19121   __builtin_aarch64_simd_ci __o;
19122   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19123   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19124   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19125   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19126   return ret;
19127 }
19128 
19129 __extension__ extern __inline poly8x16x3_t
19130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p8(const poly8_t * __a)19131 vld3q_p8 (const poly8_t * __a)
19132 {
19133   poly8x16x3_t ret;
19134   __builtin_aarch64_simd_ci __o;
19135   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19136   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19137   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19138   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19139   return ret;
19140 }
19141 
19142 __extension__ extern __inline int16x8x3_t
19143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s16(const int16_t * __a)19144 vld3q_s16 (const int16_t * __a)
19145 {
19146   int16x8x3_t ret;
19147   __builtin_aarch64_simd_ci __o;
19148   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19149   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19150   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19151   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19152   return ret;
19153 }
19154 
19155 __extension__ extern __inline poly16x8x3_t
19156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p16(const poly16_t * __a)19157 vld3q_p16 (const poly16_t * __a)
19158 {
19159   poly16x8x3_t ret;
19160   __builtin_aarch64_simd_ci __o;
19161   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19162   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19163   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19164   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19165   return ret;
19166 }
19167 
19168 __extension__ extern __inline int32x4x3_t
19169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s32(const int32_t * __a)19170 vld3q_s32 (const int32_t * __a)
19171 {
19172   int32x4x3_t ret;
19173   __builtin_aarch64_simd_ci __o;
19174   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
19175   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
19176   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
19177   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
19178   return ret;
19179 }
19180 
19181 __extension__ extern __inline int64x2x3_t
19182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s64(const int64_t * __a)19183 vld3q_s64 (const int64_t * __a)
19184 {
19185   int64x2x3_t ret;
19186   __builtin_aarch64_simd_ci __o;
19187   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19188   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
19189   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
19190   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
19191   return ret;
19192 }
19193 
19194 __extension__ extern __inline uint8x16x3_t
19195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u8(const uint8_t * __a)19196 vld3q_u8 (const uint8_t * __a)
19197 {
19198   uint8x16x3_t ret;
19199   __builtin_aarch64_simd_ci __o;
19200   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19201   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19202   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19203   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19204   return ret;
19205 }
19206 
19207 __extension__ extern __inline uint16x8x3_t
19208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u16(const uint16_t * __a)19209 vld3q_u16 (const uint16_t * __a)
19210 {
19211   uint16x8x3_t ret;
19212   __builtin_aarch64_simd_ci __o;
19213   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19214   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19215   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19216   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19217   return ret;
19218 }
19219 
19220 __extension__ extern __inline uint32x4x3_t
19221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u32(const uint32_t * __a)19222 vld3q_u32 (const uint32_t * __a)
19223 {
19224   uint32x4x3_t ret;
19225   __builtin_aarch64_simd_ci __o;
19226   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
19227   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
19228   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
19229   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
19230   return ret;
19231 }
19232 
19233 __extension__ extern __inline uint64x2x3_t
19234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u64(const uint64_t * __a)19235 vld3q_u64 (const uint64_t * __a)
19236 {
19237   uint64x2x3_t ret;
19238   __builtin_aarch64_simd_ci __o;
19239   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19240   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
19241   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
19242   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
19243   return ret;
19244 }
19245 
19246 __extension__ extern __inline float16x8x3_t
19247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f16(const float16_t * __a)19248 vld3q_f16 (const float16_t * __a)
19249 {
19250   float16x8x3_t ret;
19251   __builtin_aarch64_simd_ci __o;
19252   __o = __builtin_aarch64_ld3v8hf (__a);
19253   ret.val[0] = __builtin_aarch64_get_qregciv8hf (__o, 0);
19254   ret.val[1] = __builtin_aarch64_get_qregciv8hf (__o, 1);
19255   ret.val[2] = __builtin_aarch64_get_qregciv8hf (__o, 2);
19256   return ret;
19257 }
19258 
19259 __extension__ extern __inline float32x4x3_t
19260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f32(const float32_t * __a)19261 vld3q_f32 (const float32_t * __a)
19262 {
19263   float32x4x3_t ret;
19264   __builtin_aarch64_simd_ci __o;
19265   __o = __builtin_aarch64_ld3v4sf ((const __builtin_aarch64_simd_sf *) __a);
19266   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
19267   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
19268   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
19269   return ret;
19270 }
19271 
19272 __extension__ extern __inline float64x2x3_t
19273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f64(const float64_t * __a)19274 vld3q_f64 (const float64_t * __a)
19275 {
19276   float64x2x3_t ret;
19277   __builtin_aarch64_simd_ci __o;
19278   __o = __builtin_aarch64_ld3v2df ((const __builtin_aarch64_simd_df *) __a);
19279   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
19280   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
19281   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
19282   return ret;
19283 }
19284 
19285 __extension__ extern __inline poly64x2x3_t
19286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p64(const poly64_t * __a)19287 vld3q_p64 (const poly64_t * __a)
19288 {
19289   poly64x2x3_t ret;
19290   __builtin_aarch64_simd_ci __o;
19291   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19292   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
19293   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
19294   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
19295   return ret;
19296 }
19297 
19298 __extension__ extern __inline int64x1x4_t
19299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s64(const int64_t * __a)19300 vld4_s64 (const int64_t * __a)
19301 {
19302   int64x1x4_t ret;
19303   __builtin_aarch64_simd_xi __o;
19304   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19305   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
19306   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
19307   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
19308   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
19309   return ret;
19310 }
19311 
19312 __extension__ extern __inline uint64x1x4_t
19313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u64(const uint64_t * __a)19314 vld4_u64 (const uint64_t * __a)
19315 {
19316   uint64x1x4_t ret;
19317   __builtin_aarch64_simd_xi __o;
19318   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19319   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
19320   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
19321   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
19322   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
19323   return ret;
19324 }
19325 
19326 __extension__ extern __inline float64x1x4_t
19327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f64(const float64_t * __a)19328 vld4_f64 (const float64_t * __a)
19329 {
19330   float64x1x4_t ret;
19331   __builtin_aarch64_simd_xi __o;
19332   __o = __builtin_aarch64_ld4df ((const __builtin_aarch64_simd_df *) __a);
19333   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
19334   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
19335   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
19336   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
19337   return ret;
19338 }
19339 
19340 __extension__ extern __inline int8x8x4_t
19341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s8(const int8_t * __a)19342 vld4_s8 (const int8_t * __a)
19343 {
19344   int8x8x4_t ret;
19345   __builtin_aarch64_simd_xi __o;
19346   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19347   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19348   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19349   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19350   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19351   return ret;
19352 }
19353 
19354 __extension__ extern __inline poly8x8x4_t
19355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p8(const poly8_t * __a)19356 vld4_p8 (const poly8_t * __a)
19357 {
19358   poly8x8x4_t ret;
19359   __builtin_aarch64_simd_xi __o;
19360   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19361   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19362   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19363   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19364   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19365   return ret;
19366 }
19367 
19368 __extension__ extern __inline int16x4x4_t
19369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s16(const int16_t * __a)19370 vld4_s16 (const int16_t * __a)
19371 {
19372   int16x4x4_t ret;
19373   __builtin_aarch64_simd_xi __o;
19374   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19375   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19376   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19377   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19378   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19379   return ret;
19380 }
19381 
19382 __extension__ extern __inline poly16x4x4_t
19383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p16(const poly16_t * __a)19384 vld4_p16 (const poly16_t * __a)
19385 {
19386   poly16x4x4_t ret;
19387   __builtin_aarch64_simd_xi __o;
19388   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19389   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19390   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19391   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19392   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19393   return ret;
19394 }
19395 
19396 __extension__ extern __inline int32x2x4_t
19397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s32(const int32_t * __a)19398 vld4_s32 (const int32_t * __a)
19399 {
19400   int32x2x4_t ret;
19401   __builtin_aarch64_simd_xi __o;
19402   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
19403   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19404   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19405   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19406   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19407   return ret;
19408 }
19409 
19410 __extension__ extern __inline uint8x8x4_t
19411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u8(const uint8_t * __a)19412 vld4_u8 (const uint8_t * __a)
19413 {
19414   uint8x8x4_t ret;
19415   __builtin_aarch64_simd_xi __o;
19416   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19417   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19418   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19419   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19420   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19421   return ret;
19422 }
19423 
19424 __extension__ extern __inline uint16x4x4_t
19425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u16(const uint16_t * __a)19426 vld4_u16 (const uint16_t * __a)
19427 {
19428   uint16x4x4_t ret;
19429   __builtin_aarch64_simd_xi __o;
19430   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19431   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19432   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19433   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19434   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19435   return ret;
19436 }
19437 
19438 __extension__ extern __inline uint32x2x4_t
19439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u32(const uint32_t * __a)19440 vld4_u32 (const uint32_t * __a)
19441 {
19442   uint32x2x4_t ret;
19443   __builtin_aarch64_simd_xi __o;
19444   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
19445   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19446   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19447   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19448   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19449   return ret;
19450 }
19451 
19452 __extension__ extern __inline float16x4x4_t
19453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f16(const float16_t * __a)19454 vld4_f16 (const float16_t * __a)
19455 {
19456   float16x4x4_t ret;
19457   __builtin_aarch64_simd_xi __o;
19458   __o = __builtin_aarch64_ld4v4hf (__a);
19459   ret.val[0] = __builtin_aarch64_get_dregxiv4hf (__o, 0);
19460   ret.val[1] = __builtin_aarch64_get_dregxiv4hf (__o, 1);
19461   ret.val[2] = __builtin_aarch64_get_dregxiv4hf (__o, 2);
19462   ret.val[3] = __builtin_aarch64_get_dregxiv4hf (__o, 3);
19463   return ret;
19464 }
19465 
19466 __extension__ extern __inline float32x2x4_t
19467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f32(const float32_t * __a)19468 vld4_f32 (const float32_t * __a)
19469 {
19470   float32x2x4_t ret;
19471   __builtin_aarch64_simd_xi __o;
19472   __o = __builtin_aarch64_ld4v2sf ((const __builtin_aarch64_simd_sf *) __a);
19473   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
19474   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
19475   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
19476   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
19477   return ret;
19478 }
19479 
19480 __extension__ extern __inline poly64x1x4_t
19481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p64(const poly64_t * __a)19482 vld4_p64 (const poly64_t * __a)
19483 {
19484   poly64x1x4_t  ret;
19485   __builtin_aarch64_simd_xi __o;
19486   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19487   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
19488   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
19489   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
19490   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
19491   return ret;
19492 }
19493 
19494 __extension__ extern __inline int8x16x4_t
19495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s8(const int8_t * __a)19496 vld4q_s8 (const int8_t * __a)
19497 {
19498   int8x16x4_t ret;
19499   __builtin_aarch64_simd_xi __o;
19500   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19501   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19502   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19503   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19504   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19505   return ret;
19506 }
19507 
19508 __extension__ extern __inline poly8x16x4_t
19509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p8(const poly8_t * __a)19510 vld4q_p8 (const poly8_t * __a)
19511 {
19512   poly8x16x4_t ret;
19513   __builtin_aarch64_simd_xi __o;
19514   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19515   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19516   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19517   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19518   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19519   return ret;
19520 }
19521 
19522 __extension__ extern __inline int16x8x4_t
19523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s16(const int16_t * __a)19524 vld4q_s16 (const int16_t * __a)
19525 {
19526   int16x8x4_t ret;
19527   __builtin_aarch64_simd_xi __o;
19528   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19529   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19530   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19531   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19532   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19533   return ret;
19534 }
19535 
19536 __extension__ extern __inline poly16x8x4_t
19537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p16(const poly16_t * __a)19538 vld4q_p16 (const poly16_t * __a)
19539 {
19540   poly16x8x4_t ret;
19541   __builtin_aarch64_simd_xi __o;
19542   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19543   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19544   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19545   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19546   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19547   return ret;
19548 }
19549 
19550 __extension__ extern __inline int32x4x4_t
19551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s32(const int32_t * __a)19552 vld4q_s32 (const int32_t * __a)
19553 {
19554   int32x4x4_t ret;
19555   __builtin_aarch64_simd_xi __o;
19556   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
19557   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19558   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19559   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19560   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19561   return ret;
19562 }
19563 
19564 __extension__ extern __inline int64x2x4_t
19565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s64(const int64_t * __a)19566 vld4q_s64 (const int64_t * __a)
19567 {
19568   int64x2x4_t ret;
19569   __builtin_aarch64_simd_xi __o;
19570   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19571   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19572   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19573   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19574   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19575   return ret;
19576 }
19577 
19578 __extension__ extern __inline uint8x16x4_t
19579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u8(const uint8_t * __a)19580 vld4q_u8 (const uint8_t * __a)
19581 {
19582   uint8x16x4_t ret;
19583   __builtin_aarch64_simd_xi __o;
19584   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19585   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19586   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19587   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19588   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19589   return ret;
19590 }
19591 
19592 __extension__ extern __inline uint16x8x4_t
19593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u16(const uint16_t * __a)19594 vld4q_u16 (const uint16_t * __a)
19595 {
19596   uint16x8x4_t ret;
19597   __builtin_aarch64_simd_xi __o;
19598   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19599   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19600   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19601   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19602   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19603   return ret;
19604 }
19605 
19606 __extension__ extern __inline uint32x4x4_t
19607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u32(const uint32_t * __a)19608 vld4q_u32 (const uint32_t * __a)
19609 {
19610   uint32x4x4_t ret;
19611   __builtin_aarch64_simd_xi __o;
19612   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
19613   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19614   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19615   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19616   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19617   return ret;
19618 }
19619 
19620 __extension__ extern __inline uint64x2x4_t
19621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u64(const uint64_t * __a)19622 vld4q_u64 (const uint64_t * __a)
19623 {
19624   uint64x2x4_t ret;
19625   __builtin_aarch64_simd_xi __o;
19626   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19627   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19628   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19629   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19630   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19631   return ret;
19632 }
19633 
19634 __extension__ extern __inline float16x8x4_t
19635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f16(const float16_t * __a)19636 vld4q_f16 (const float16_t * __a)
19637 {
19638   float16x8x4_t ret;
19639   __builtin_aarch64_simd_xi __o;
19640   __o = __builtin_aarch64_ld4v8hf (__a);
19641   ret.val[0] = __builtin_aarch64_get_qregxiv8hf (__o, 0);
19642   ret.val[1] = __builtin_aarch64_get_qregxiv8hf (__o, 1);
19643   ret.val[2] = __builtin_aarch64_get_qregxiv8hf (__o, 2);
19644   ret.val[3] = __builtin_aarch64_get_qregxiv8hf (__o, 3);
19645   return ret;
19646 }
19647 
19648 __extension__ extern __inline float32x4x4_t
19649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f32(const float32_t * __a)19650 vld4q_f32 (const float32_t * __a)
19651 {
19652   float32x4x4_t ret;
19653   __builtin_aarch64_simd_xi __o;
19654   __o = __builtin_aarch64_ld4v4sf ((const __builtin_aarch64_simd_sf *) __a);
19655   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
19656   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
19657   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
19658   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
19659   return ret;
19660 }
19661 
19662 __extension__ extern __inline float64x2x4_t
19663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f64(const float64_t * __a)19664 vld4q_f64 (const float64_t * __a)
19665 {
19666   float64x2x4_t ret;
19667   __builtin_aarch64_simd_xi __o;
19668   __o = __builtin_aarch64_ld4v2df ((const __builtin_aarch64_simd_df *) __a);
19669   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
19670   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
19671   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
19672   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
19673   return ret;
19674 }
19675 
19676 __extension__ extern __inline poly64x2x4_t
19677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p64(const poly64_t * __a)19678 vld4q_p64 (const poly64_t * __a)
19679 {
19680   poly64x2x4_t  ret;
19681   __builtin_aarch64_simd_xi __o;
19682   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19683   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
19684   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
19685   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
19686   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
19687   return ret;
19688 }
19689 
19690 __extension__ extern __inline poly128_t
19691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vldrq_p128(const poly128_t * __ptr)19692 vldrq_p128 (const poly128_t * __ptr)
19693 {
19694   return *__ptr;
19695 }
19696 
19697 /* vldn_dup */
19698 
19699 __extension__ extern __inline int8x8x2_t
19700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s8(const int8_t * __a)19701 vld2_dup_s8 (const int8_t * __a)
19702 {
19703   int8x8x2_t ret;
19704   __builtin_aarch64_simd_oi __o;
19705   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19706   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19707   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19708   return ret;
19709 }
19710 
19711 __extension__ extern __inline int16x4x2_t
19712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s16(const int16_t * __a)19713 vld2_dup_s16 (const int16_t * __a)
19714 {
19715   int16x4x2_t ret;
19716   __builtin_aarch64_simd_oi __o;
19717   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19718   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19719   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19720   return ret;
19721 }
19722 
19723 __extension__ extern __inline int32x2x2_t
19724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s32(const int32_t * __a)19725 vld2_dup_s32 (const int32_t * __a)
19726 {
19727   int32x2x2_t ret;
19728   __builtin_aarch64_simd_oi __o;
19729   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
19730   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
19731   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
19732   return ret;
19733 }
19734 
19735 __extension__ extern __inline float16x4x2_t
19736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f16(const float16_t * __a)19737 vld2_dup_f16 (const float16_t * __a)
19738 {
19739   float16x4x2_t ret;
19740   __builtin_aarch64_simd_oi __o;
19741   __o = __builtin_aarch64_ld2rv4hf ((const __builtin_aarch64_simd_hf *) __a);
19742   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
19743   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
19744   return ret;
19745 }
19746 
19747 __extension__ extern __inline float32x2x2_t
19748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f32(const float32_t * __a)19749 vld2_dup_f32 (const float32_t * __a)
19750 {
19751   float32x2x2_t ret;
19752   __builtin_aarch64_simd_oi __o;
19753   __o = __builtin_aarch64_ld2rv2sf ((const __builtin_aarch64_simd_sf *) __a);
19754   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
19755   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
19756   return ret;
19757 }
19758 
19759 __extension__ extern __inline float64x1x2_t
19760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f64(const float64_t * __a)19761 vld2_dup_f64 (const float64_t * __a)
19762 {
19763   float64x1x2_t ret;
19764   __builtin_aarch64_simd_oi __o;
19765   __o = __builtin_aarch64_ld2rdf ((const __builtin_aarch64_simd_df *) __a);
19766   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
19767   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
19768   return ret;
19769 }
19770 
19771 __extension__ extern __inline uint8x8x2_t
19772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u8(const uint8_t * __a)19773 vld2_dup_u8 (const uint8_t * __a)
19774 {
19775   uint8x8x2_t ret;
19776   __builtin_aarch64_simd_oi __o;
19777   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19778   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19779   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19780   return ret;
19781 }
19782 
19783 __extension__ extern __inline uint16x4x2_t
19784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u16(const uint16_t * __a)19785 vld2_dup_u16 (const uint16_t * __a)
19786 {
19787   uint16x4x2_t ret;
19788   __builtin_aarch64_simd_oi __o;
19789   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19790   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19791   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19792   return ret;
19793 }
19794 
19795 __extension__ extern __inline uint32x2x2_t
19796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u32(const uint32_t * __a)19797 vld2_dup_u32 (const uint32_t * __a)
19798 {
19799   uint32x2x2_t ret;
19800   __builtin_aarch64_simd_oi __o;
19801   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
19802   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
19803   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
19804   return ret;
19805 }
19806 
19807 __extension__ extern __inline poly8x8x2_t
19808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p8(const poly8_t * __a)19809 vld2_dup_p8 (const poly8_t * __a)
19810 {
19811   poly8x8x2_t ret;
19812   __builtin_aarch64_simd_oi __o;
19813   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19814   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19815   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19816   return ret;
19817 }
19818 
19819 __extension__ extern __inline poly16x4x2_t
19820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p16(const poly16_t * __a)19821 vld2_dup_p16 (const poly16_t * __a)
19822 {
19823   poly16x4x2_t ret;
19824   __builtin_aarch64_simd_oi __o;
19825   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19826   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19827   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19828   return ret;
19829 }
19830 
19831 __extension__ extern __inline poly64x1x2_t
19832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p64(const poly64_t * __a)19833 vld2_dup_p64 (const poly64_t * __a)
19834 {
19835   poly64x1x2_t ret;
19836   __builtin_aarch64_simd_oi __o;
19837   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19838   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
19839   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
19840   return ret;
19841 }
19842 
19843 
19844 __extension__ extern __inline int64x1x2_t
19845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s64(const int64_t * __a)19846 vld2_dup_s64 (const int64_t * __a)
19847 {
19848   int64x1x2_t ret;
19849   __builtin_aarch64_simd_oi __o;
19850   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
19851   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
19852   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
19853   return ret;
19854 }
19855 
19856 __extension__ extern __inline uint64x1x2_t
19857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u64(const uint64_t * __a)19858 vld2_dup_u64 (const uint64_t * __a)
19859 {
19860   uint64x1x2_t ret;
19861   __builtin_aarch64_simd_oi __o;
19862   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
19863   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
19864   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
19865   return ret;
19866 }
19867 
19868 __extension__ extern __inline int8x16x2_t
19869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s8(const int8_t * __a)19870 vld2q_dup_s8 (const int8_t * __a)
19871 {
19872   int8x16x2_t ret;
19873   __builtin_aarch64_simd_oi __o;
19874   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19875   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19876   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19877   return ret;
19878 }
19879 
19880 __extension__ extern __inline poly8x16x2_t
19881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p8(const poly8_t * __a)19882 vld2q_dup_p8 (const poly8_t * __a)
19883 {
19884   poly8x16x2_t ret;
19885   __builtin_aarch64_simd_oi __o;
19886   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19887   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19888   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19889   return ret;
19890 }
19891 
19892 __extension__ extern __inline int16x8x2_t
19893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s16(const int16_t * __a)19894 vld2q_dup_s16 (const int16_t * __a)
19895 {
19896   int16x8x2_t ret;
19897   __builtin_aarch64_simd_oi __o;
19898   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19899   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19900   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19901   return ret;
19902 }
19903 
19904 __extension__ extern __inline poly16x8x2_t
19905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p16(const poly16_t * __a)19906 vld2q_dup_p16 (const poly16_t * __a)
19907 {
19908   poly16x8x2_t ret;
19909   __builtin_aarch64_simd_oi __o;
19910   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19911   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19912   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19913   return ret;
19914 }
19915 
19916 __extension__ extern __inline int32x4x2_t
19917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s32(const int32_t * __a)19918 vld2q_dup_s32 (const int32_t * __a)
19919 {
19920   int32x4x2_t ret;
19921   __builtin_aarch64_simd_oi __o;
19922   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
19923   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
19924   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
19925   return ret;
19926 }
19927 
19928 __extension__ extern __inline int64x2x2_t
19929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s64(const int64_t * __a)19930 vld2q_dup_s64 (const int64_t * __a)
19931 {
19932   int64x2x2_t ret;
19933   __builtin_aarch64_simd_oi __o;
19934   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19935   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
19936   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
19937   return ret;
19938 }
19939 
19940 __extension__ extern __inline uint8x16x2_t
19941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u8(const uint8_t * __a)19942 vld2q_dup_u8 (const uint8_t * __a)
19943 {
19944   uint8x16x2_t ret;
19945   __builtin_aarch64_simd_oi __o;
19946   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19947   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19948   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19949   return ret;
19950 }
19951 
19952 __extension__ extern __inline uint16x8x2_t
19953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u16(const uint16_t * __a)19954 vld2q_dup_u16 (const uint16_t * __a)
19955 {
19956   uint16x8x2_t ret;
19957   __builtin_aarch64_simd_oi __o;
19958   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19959   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19960   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19961   return ret;
19962 }
19963 
19964 __extension__ extern __inline uint32x4x2_t
19965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u32(const uint32_t * __a)19966 vld2q_dup_u32 (const uint32_t * __a)
19967 {
19968   uint32x4x2_t ret;
19969   __builtin_aarch64_simd_oi __o;
19970   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
19971   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
19972   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
19973   return ret;
19974 }
19975 
19976 __extension__ extern __inline uint64x2x2_t
19977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u64(const uint64_t * __a)19978 vld2q_dup_u64 (const uint64_t * __a)
19979 {
19980   uint64x2x2_t ret;
19981   __builtin_aarch64_simd_oi __o;
19982   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19983   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
19984   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
19985   return ret;
19986 }
19987 
19988 __extension__ extern __inline float16x8x2_t
19989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f16(const float16_t * __a)19990 vld2q_dup_f16 (const float16_t * __a)
19991 {
19992   float16x8x2_t ret;
19993   __builtin_aarch64_simd_oi __o;
19994   __o = __builtin_aarch64_ld2rv8hf ((const __builtin_aarch64_simd_hf *) __a);
19995   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
19996   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
19997   return ret;
19998 }
19999 
20000 __extension__ extern __inline float32x4x2_t
20001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f32(const float32_t * __a)20002 vld2q_dup_f32 (const float32_t * __a)
20003 {
20004   float32x4x2_t ret;
20005   __builtin_aarch64_simd_oi __o;
20006   __o = __builtin_aarch64_ld2rv4sf ((const __builtin_aarch64_simd_sf *) __a);
20007   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
20008   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
20009   return ret;
20010 }
20011 
20012 __extension__ extern __inline float64x2x2_t
20013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f64(const float64_t * __a)20014 vld2q_dup_f64 (const float64_t * __a)
20015 {
20016   float64x2x2_t ret;
20017   __builtin_aarch64_simd_oi __o;
20018   __o = __builtin_aarch64_ld2rv2df ((const __builtin_aarch64_simd_df *) __a);
20019   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
20020   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
20021   return ret;
20022 }
20023 
20024 __extension__ extern __inline poly64x2x2_t
20025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p64(const poly64_t * __a)20026 vld2q_dup_p64 (const poly64_t * __a)
20027 {
20028   poly64x2x2_t ret;
20029   __builtin_aarch64_simd_oi __o;
20030   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
20031   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
20032   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
20033   return ret;
20034 }
20035 
20036 __extension__ extern __inline int64x1x3_t
20037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s64(const int64_t * __a)20038 vld3_dup_s64 (const int64_t * __a)
20039 {
20040   int64x1x3_t ret;
20041   __builtin_aarch64_simd_ci __o;
20042   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
20043   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
20044   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
20045   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
20046   return ret;
20047 }
20048 
20049 __extension__ extern __inline uint64x1x3_t
20050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u64(const uint64_t * __a)20051 vld3_dup_u64 (const uint64_t * __a)
20052 {
20053   uint64x1x3_t ret;
20054   __builtin_aarch64_simd_ci __o;
20055   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
20056   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
20057   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
20058   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
20059   return ret;
20060 }
20061 
20062 __extension__ extern __inline float64x1x3_t
20063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f64(const float64_t * __a)20064 vld3_dup_f64 (const float64_t * __a)
20065 {
20066   float64x1x3_t ret;
20067   __builtin_aarch64_simd_ci __o;
20068   __o = __builtin_aarch64_ld3rdf ((const __builtin_aarch64_simd_df *) __a);
20069   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
20070   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
20071   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
20072   return ret;
20073 }
20074 
20075 __extension__ extern __inline int8x8x3_t
20076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s8(const int8_t * __a)20077 vld3_dup_s8 (const int8_t * __a)
20078 {
20079   int8x8x3_t ret;
20080   __builtin_aarch64_simd_ci __o;
20081   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20082   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20083   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20084   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20085   return ret;
20086 }
20087 
20088 __extension__ extern __inline poly8x8x3_t
20089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p8(const poly8_t * __a)20090 vld3_dup_p8 (const poly8_t * __a)
20091 {
20092   poly8x8x3_t ret;
20093   __builtin_aarch64_simd_ci __o;
20094   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20095   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20096   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20097   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20098   return ret;
20099 }
20100 
20101 __extension__ extern __inline int16x4x3_t
20102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s16(const int16_t * __a)20103 vld3_dup_s16 (const int16_t * __a)
20104 {
20105   int16x4x3_t ret;
20106   __builtin_aarch64_simd_ci __o;
20107   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20108   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20109   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20110   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20111   return ret;
20112 }
20113 
20114 __extension__ extern __inline poly16x4x3_t
20115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p16(const poly16_t * __a)20116 vld3_dup_p16 (const poly16_t * __a)
20117 {
20118   poly16x4x3_t ret;
20119   __builtin_aarch64_simd_ci __o;
20120   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20121   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20122   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20123   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20124   return ret;
20125 }
20126 
20127 __extension__ extern __inline int32x2x3_t
20128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s32(const int32_t * __a)20129 vld3_dup_s32 (const int32_t * __a)
20130 {
20131   int32x2x3_t ret;
20132   __builtin_aarch64_simd_ci __o;
20133   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
20134   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
20135   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
20136   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
20137   return ret;
20138 }
20139 
20140 __extension__ extern __inline uint8x8x3_t
20141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u8(const uint8_t * __a)20142 vld3_dup_u8 (const uint8_t * __a)
20143 {
20144   uint8x8x3_t ret;
20145   __builtin_aarch64_simd_ci __o;
20146   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20147   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20148   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20149   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20150   return ret;
20151 }
20152 
20153 __extension__ extern __inline uint16x4x3_t
20154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u16(const uint16_t * __a)20155 vld3_dup_u16 (const uint16_t * __a)
20156 {
20157   uint16x4x3_t ret;
20158   __builtin_aarch64_simd_ci __o;
20159   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20160   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20161   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20162   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20163   return ret;
20164 }
20165 
20166 __extension__ extern __inline uint32x2x3_t
20167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u32(const uint32_t * __a)20168 vld3_dup_u32 (const uint32_t * __a)
20169 {
20170   uint32x2x3_t ret;
20171   __builtin_aarch64_simd_ci __o;
20172   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
20173   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
20174   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
20175   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
20176   return ret;
20177 }
20178 
20179 __extension__ extern __inline float16x4x3_t
20180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f16(const float16_t * __a)20181 vld3_dup_f16 (const float16_t * __a)
20182 {
20183   float16x4x3_t ret;
20184   __builtin_aarch64_simd_ci __o;
20185   __o = __builtin_aarch64_ld3rv4hf ((const __builtin_aarch64_simd_hf *) __a);
20186   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 0);
20187   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 1);
20188   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 2);
20189   return ret;
20190 }
20191 
20192 __extension__ extern __inline float32x2x3_t
20193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f32(const float32_t * __a)20194 vld3_dup_f32 (const float32_t * __a)
20195 {
20196   float32x2x3_t ret;
20197   __builtin_aarch64_simd_ci __o;
20198   __o = __builtin_aarch64_ld3rv2sf ((const __builtin_aarch64_simd_sf *) __a);
20199   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
20200   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
20201   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
20202   return ret;
20203 }
20204 
20205 __extension__ extern __inline poly64x1x3_t
20206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p64(const poly64_t * __a)20207 vld3_dup_p64 (const poly64_t * __a)
20208 {
20209   poly64x1x3_t ret;
20210   __builtin_aarch64_simd_ci __o;
20211   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20212   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
20213   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
20214   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
20215   return ret;
20216 }
20217 
20218 __extension__ extern __inline int8x16x3_t
20219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s8(const int8_t * __a)20220 vld3q_dup_s8 (const int8_t * __a)
20221 {
20222   int8x16x3_t ret;
20223   __builtin_aarch64_simd_ci __o;
20224   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20225   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20226   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20227   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20228   return ret;
20229 }
20230 
20231 __extension__ extern __inline poly8x16x3_t
20232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p8(const poly8_t * __a)20233 vld3q_dup_p8 (const poly8_t * __a)
20234 {
20235   poly8x16x3_t ret;
20236   __builtin_aarch64_simd_ci __o;
20237   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20238   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20239   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20240   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20241   return ret;
20242 }
20243 
20244 __extension__ extern __inline int16x8x3_t
20245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s16(const int16_t * __a)20246 vld3q_dup_s16 (const int16_t * __a)
20247 {
20248   int16x8x3_t ret;
20249   __builtin_aarch64_simd_ci __o;
20250   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20251   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20252   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20253   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20254   return ret;
20255 }
20256 
20257 __extension__ extern __inline poly16x8x3_t
20258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p16(const poly16_t * __a)20259 vld3q_dup_p16 (const poly16_t * __a)
20260 {
20261   poly16x8x3_t ret;
20262   __builtin_aarch64_simd_ci __o;
20263   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20264   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20265   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20266   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20267   return ret;
20268 }
20269 
20270 __extension__ extern __inline int32x4x3_t
20271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s32(const int32_t * __a)20272 vld3q_dup_s32 (const int32_t * __a)
20273 {
20274   int32x4x3_t ret;
20275   __builtin_aarch64_simd_ci __o;
20276   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
20277   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
20278   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
20279   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
20280   return ret;
20281 }
20282 
20283 __extension__ extern __inline int64x2x3_t
20284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s64(const int64_t * __a)20285 vld3q_dup_s64 (const int64_t * __a)
20286 {
20287   int64x2x3_t ret;
20288   __builtin_aarch64_simd_ci __o;
20289   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20290   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
20291   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
20292   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
20293   return ret;
20294 }
20295 
20296 __extension__ extern __inline uint8x16x3_t
20297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u8(const uint8_t * __a)20298 vld3q_dup_u8 (const uint8_t * __a)
20299 {
20300   uint8x16x3_t ret;
20301   __builtin_aarch64_simd_ci __o;
20302   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20303   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20304   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20305   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20306   return ret;
20307 }
20308 
20309 __extension__ extern __inline uint16x8x3_t
20310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u16(const uint16_t * __a)20311 vld3q_dup_u16 (const uint16_t * __a)
20312 {
20313   uint16x8x3_t ret;
20314   __builtin_aarch64_simd_ci __o;
20315   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20316   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20317   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20318   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20319   return ret;
20320 }
20321 
20322 __extension__ extern __inline uint32x4x3_t
20323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u32(const uint32_t * __a)20324 vld3q_dup_u32 (const uint32_t * __a)
20325 {
20326   uint32x4x3_t ret;
20327   __builtin_aarch64_simd_ci __o;
20328   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
20329   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
20330   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
20331   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
20332   return ret;
20333 }
20334 
20335 __extension__ extern __inline uint64x2x3_t
20336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u64(const uint64_t * __a)20337 vld3q_dup_u64 (const uint64_t * __a)
20338 {
20339   uint64x2x3_t ret;
20340   __builtin_aarch64_simd_ci __o;
20341   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20342   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
20343   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
20344   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
20345   return ret;
20346 }
20347 
20348 __extension__ extern __inline float16x8x3_t
20349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f16(const float16_t * __a)20350 vld3q_dup_f16 (const float16_t * __a)
20351 {
20352   float16x8x3_t ret;
20353   __builtin_aarch64_simd_ci __o;
20354   __o = __builtin_aarch64_ld3rv8hf ((const __builtin_aarch64_simd_hf *) __a);
20355   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 0);
20356   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 1);
20357   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 2);
20358   return ret;
20359 }
20360 
20361 __extension__ extern __inline float32x4x3_t
20362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f32(const float32_t * __a)20363 vld3q_dup_f32 (const float32_t * __a)
20364 {
20365   float32x4x3_t ret;
20366   __builtin_aarch64_simd_ci __o;
20367   __o = __builtin_aarch64_ld3rv4sf ((const __builtin_aarch64_simd_sf *) __a);
20368   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
20369   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
20370   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
20371   return ret;
20372 }
20373 
20374 __extension__ extern __inline float64x2x3_t
20375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f64(const float64_t * __a)20376 vld3q_dup_f64 (const float64_t * __a)
20377 {
20378   float64x2x3_t ret;
20379   __builtin_aarch64_simd_ci __o;
20380   __o = __builtin_aarch64_ld3rv2df ((const __builtin_aarch64_simd_df *) __a);
20381   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
20382   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
20383   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
20384   return ret;
20385 }
20386 
20387 __extension__ extern __inline poly64x2x3_t
20388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p64(const poly64_t * __a)20389 vld3q_dup_p64 (const poly64_t * __a)
20390 {
20391   poly64x2x3_t ret;
20392   __builtin_aarch64_simd_ci __o;
20393   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20394   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
20395   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
20396   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
20397   return ret;
20398 }
20399 
20400 __extension__ extern __inline int64x1x4_t
20401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s64(const int64_t * __a)20402 vld4_dup_s64 (const int64_t * __a)
20403 {
20404   int64x1x4_t ret;
20405   __builtin_aarch64_simd_xi __o;
20406   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
20407   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
20408   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
20409   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
20410   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
20411   return ret;
20412 }
20413 
20414 __extension__ extern __inline uint64x1x4_t
20415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u64(const uint64_t * __a)20416 vld4_dup_u64 (const uint64_t * __a)
20417 {
20418   uint64x1x4_t ret;
20419   __builtin_aarch64_simd_xi __o;
20420   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
20421   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
20422   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
20423   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
20424   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
20425   return ret;
20426 }
20427 
20428 __extension__ extern __inline float64x1x4_t
20429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f64(const float64_t * __a)20430 vld4_dup_f64 (const float64_t * __a)
20431 {
20432   float64x1x4_t ret;
20433   __builtin_aarch64_simd_xi __o;
20434   __o = __builtin_aarch64_ld4rdf ((const __builtin_aarch64_simd_df *) __a);
20435   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
20436   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
20437   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
20438   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
20439   return ret;
20440 }
20441 
20442 __extension__ extern __inline int8x8x4_t
20443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s8(const int8_t * __a)20444 vld4_dup_s8 (const int8_t * __a)
20445 {
20446   int8x8x4_t ret;
20447   __builtin_aarch64_simd_xi __o;
20448   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20449   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20450   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20451   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20452   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20453   return ret;
20454 }
20455 
20456 __extension__ extern __inline poly8x8x4_t
20457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p8(const poly8_t * __a)20458 vld4_dup_p8 (const poly8_t * __a)
20459 {
20460   poly8x8x4_t ret;
20461   __builtin_aarch64_simd_xi __o;
20462   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20463   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20464   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20465   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20466   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20467   return ret;
20468 }
20469 
20470 __extension__ extern __inline int16x4x4_t
20471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s16(const int16_t * __a)20472 vld4_dup_s16 (const int16_t * __a)
20473 {
20474   int16x4x4_t ret;
20475   __builtin_aarch64_simd_xi __o;
20476   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20477   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20478   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20479   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20480   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20481   return ret;
20482 }
20483 
20484 __extension__ extern __inline poly16x4x4_t
20485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p16(const poly16_t * __a)20486 vld4_dup_p16 (const poly16_t * __a)
20487 {
20488   poly16x4x4_t ret;
20489   __builtin_aarch64_simd_xi __o;
20490   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20491   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20492   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20493   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20494   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20495   return ret;
20496 }
20497 
20498 __extension__ extern __inline int32x2x4_t
20499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s32(const int32_t * __a)20500 vld4_dup_s32 (const int32_t * __a)
20501 {
20502   int32x2x4_t ret;
20503   __builtin_aarch64_simd_xi __o;
20504   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
20505   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
20506   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
20507   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
20508   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
20509   return ret;
20510 }
20511 
20512 __extension__ extern __inline uint8x8x4_t
20513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u8(const uint8_t * __a)20514 vld4_dup_u8 (const uint8_t * __a)
20515 {
20516   uint8x8x4_t ret;
20517   __builtin_aarch64_simd_xi __o;
20518   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20519   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20520   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20521   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20522   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20523   return ret;
20524 }
20525 
20526 __extension__ extern __inline uint16x4x4_t
20527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u16(const uint16_t * __a)20528 vld4_dup_u16 (const uint16_t * __a)
20529 {
20530   uint16x4x4_t ret;
20531   __builtin_aarch64_simd_xi __o;
20532   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20533   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20534   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20535   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20536   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20537   return ret;
20538 }
20539 
20540 __extension__ extern __inline uint32x2x4_t
20541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u32(const uint32_t * __a)20542 vld4_dup_u32 (const uint32_t * __a)
20543 {
20544   uint32x2x4_t ret;
20545   __builtin_aarch64_simd_xi __o;
20546   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
20547   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
20548   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
20549   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
20550   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
20551   return ret;
20552 }
20553 
20554 __extension__ extern __inline float16x4x4_t
20555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f16(const float16_t * __a)20556 vld4_dup_f16 (const float16_t * __a)
20557 {
20558   float16x4x4_t ret;
20559   __builtin_aarch64_simd_xi __o;
20560   __o = __builtin_aarch64_ld4rv4hf ((const __builtin_aarch64_simd_hf *) __a);
20561   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 0);
20562   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 1);
20563   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 2);
20564   ret.val[3] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 3);
20565   return ret;
20566 }
20567 
20568 __extension__ extern __inline float32x2x4_t
20569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f32(const float32_t * __a)20570 vld4_dup_f32 (const float32_t * __a)
20571 {
20572   float32x2x4_t ret;
20573   __builtin_aarch64_simd_xi __o;
20574   __o = __builtin_aarch64_ld4rv2sf ((const __builtin_aarch64_simd_sf *) __a);
20575   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
20576   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
20577   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
20578   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
20579   return ret;
20580 }
20581 
20582 __extension__ extern __inline poly64x1x4_t
20583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p64(const poly64_t * __a)20584 vld4_dup_p64 (const poly64_t * __a)
20585 {
20586   poly64x1x4_t ret;
20587   __builtin_aarch64_simd_xi __o;
20588   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20589   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
20590   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
20591   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
20592   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
20593   return ret;
20594 }
20595 
20596 __extension__ extern __inline int8x16x4_t
20597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s8(const int8_t * __a)20598 vld4q_dup_s8 (const int8_t * __a)
20599 {
20600   int8x16x4_t ret;
20601   __builtin_aarch64_simd_xi __o;
20602   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20603   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20604   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20605   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20606   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20607   return ret;
20608 }
20609 
20610 __extension__ extern __inline poly8x16x4_t
20611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p8(const poly8_t * __a)20612 vld4q_dup_p8 (const poly8_t * __a)
20613 {
20614   poly8x16x4_t ret;
20615   __builtin_aarch64_simd_xi __o;
20616   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20617   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20618   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20619   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20620   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20621   return ret;
20622 }
20623 
20624 __extension__ extern __inline int16x8x4_t
20625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s16(const int16_t * __a)20626 vld4q_dup_s16 (const int16_t * __a)
20627 {
20628   int16x8x4_t ret;
20629   __builtin_aarch64_simd_xi __o;
20630   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20631   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20632   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20633   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20634   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20635   return ret;
20636 }
20637 
20638 __extension__ extern __inline poly16x8x4_t
20639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p16(const poly16_t * __a)20640 vld4q_dup_p16 (const poly16_t * __a)
20641 {
20642   poly16x8x4_t ret;
20643   __builtin_aarch64_simd_xi __o;
20644   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20645   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20646   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20647   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20648   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20649   return ret;
20650 }
20651 
20652 __extension__ extern __inline int32x4x4_t
20653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s32(const int32_t * __a)20654 vld4q_dup_s32 (const int32_t * __a)
20655 {
20656   int32x4x4_t ret;
20657   __builtin_aarch64_simd_xi __o;
20658   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
20659   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
20660   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
20661   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
20662   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
20663   return ret;
20664 }
20665 
20666 __extension__ extern __inline int64x2x4_t
20667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s64(const int64_t * __a)20668 vld4q_dup_s64 (const int64_t * __a)
20669 {
20670   int64x2x4_t ret;
20671   __builtin_aarch64_simd_xi __o;
20672   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20673   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
20674   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
20675   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
20676   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
20677   return ret;
20678 }
20679 
20680 __extension__ extern __inline uint8x16x4_t
20681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u8(const uint8_t * __a)20682 vld4q_dup_u8 (const uint8_t * __a)
20683 {
20684   uint8x16x4_t ret;
20685   __builtin_aarch64_simd_xi __o;
20686   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20687   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20688   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20689   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20690   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20691   return ret;
20692 }
20693 
20694 __extension__ extern __inline uint16x8x4_t
20695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u16(const uint16_t * __a)20696 vld4q_dup_u16 (const uint16_t * __a)
20697 {
20698   uint16x8x4_t ret;
20699   __builtin_aarch64_simd_xi __o;
20700   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20701   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20702   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20703   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20704   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20705   return ret;
20706 }
20707 
20708 __extension__ extern __inline uint32x4x4_t
20709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u32(const uint32_t * __a)20710 vld4q_dup_u32 (const uint32_t * __a)
20711 {
20712   uint32x4x4_t ret;
20713   __builtin_aarch64_simd_xi __o;
20714   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
20715   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
20716   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
20717   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
20718   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
20719   return ret;
20720 }
20721 
20722 __extension__ extern __inline uint64x2x4_t
20723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u64(const uint64_t * __a)20724 vld4q_dup_u64 (const uint64_t * __a)
20725 {
20726   uint64x2x4_t ret;
20727   __builtin_aarch64_simd_xi __o;
20728   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20729   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
20730   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
20731   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
20732   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
20733   return ret;
20734 }
20735 
20736 __extension__ extern __inline float16x8x4_t
20737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f16(const float16_t * __a)20738 vld4q_dup_f16 (const float16_t * __a)
20739 {
20740   float16x8x4_t ret;
20741   __builtin_aarch64_simd_xi __o;
20742   __o = __builtin_aarch64_ld4rv8hf ((const __builtin_aarch64_simd_hf *) __a);
20743   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 0);
20744   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 1);
20745   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 2);
20746   ret.val[3] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 3);
20747   return ret;
20748 }
20749 
20750 __extension__ extern __inline float32x4x4_t
20751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f32(const float32_t * __a)20752 vld4q_dup_f32 (const float32_t * __a)
20753 {
20754   float32x4x4_t ret;
20755   __builtin_aarch64_simd_xi __o;
20756   __o = __builtin_aarch64_ld4rv4sf ((const __builtin_aarch64_simd_sf *) __a);
20757   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
20758   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
20759   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
20760   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
20761   return ret;
20762 }
20763 
20764 __extension__ extern __inline float64x2x4_t
20765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f64(const float64_t * __a)20766 vld4q_dup_f64 (const float64_t * __a)
20767 {
20768   float64x2x4_t ret;
20769   __builtin_aarch64_simd_xi __o;
20770   __o = __builtin_aarch64_ld4rv2df ((const __builtin_aarch64_simd_df *) __a);
20771   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
20772   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
20773   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
20774   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
20775   return ret;
20776 }
20777 
20778 __extension__ extern __inline poly64x2x4_t
20779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p64(const poly64_t * __a)20780 vld4q_dup_p64 (const poly64_t * __a)
20781 {
20782   poly64x2x4_t ret;
20783   __builtin_aarch64_simd_xi __o;
20784   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20785   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
20786   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
20787   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
20788   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
20789   return ret;
20790 }
20791 
20792 /* vld2_lane */
20793 
20794 #define __LD2_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20795 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20796 __extension__ extern __inline intype \
20797 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20798 vld2_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20799 {									   \
20800   __builtin_aarch64_simd_oi __o;					   \
20801   largetype __temp;							   \
20802   __temp.val[0] =							   \
20803     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20804   __temp.val[1] =							   \
20805     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20806   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
20807 					    (signedtype) __temp.val[0],	   \
20808 					    0);				   \
20809   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
20810 					    (signedtype) __temp.val[1],	   \
20811 					    1);				   \
20812   __o =	__builtin_aarch64_ld2_lane##mode (				   \
20813 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
20814   __b.val[0] = (vectype) __builtin_aarch64_get_dregoidi (__o, 0);	   \
20815   __b.val[1] = (vectype) __builtin_aarch64_get_dregoidi (__o, 1);	   \
20816   return __b;								   \
20817 }
20818 
__LD2_LANE_FUNC(float16x4x2_t,float16x4_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)20819 __LD2_LANE_FUNC (float16x4x2_t, float16x4_t, float16x8x2_t, float16_t, v4hf,
20820 		 v8hf, hf, f16, float16x8_t)
20821 __LD2_LANE_FUNC (float32x2x2_t, float32x2_t, float32x4x2_t, float32_t, v2sf, v4sf,
20822 		 sf, f32, float32x4_t)
20823 __LD2_LANE_FUNC (float64x1x2_t, float64x1_t, float64x2x2_t, float64_t, df, v2df,
20824 		 df, f64, float64x2_t)
20825 __LD2_LANE_FUNC (poly8x8x2_t, poly8x8_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
20826 		 int8x16_t)
20827 __LD2_LANE_FUNC (poly16x4x2_t, poly16x4_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi,
20828 		 p16, int16x8_t)
20829 __LD2_LANE_FUNC (poly64x1x2_t, poly64x1_t, poly64x2x2_t, poly64_t, di,
20830 		 v2di_ssps, di, p64, poly64x2_t)
20831 __LD2_LANE_FUNC (int8x8x2_t, int8x8_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
20832 		 int8x16_t)
20833 __LD2_LANE_FUNC (int16x4x2_t, int16x4_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
20834 		 int16x8_t)
20835 __LD2_LANE_FUNC (int32x2x2_t, int32x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
20836 		 int32x4_t)
20837 __LD2_LANE_FUNC (int64x1x2_t, int64x1_t, int64x2x2_t, int64_t, di, v2di, di, s64,
20838 		 int64x2_t)
20839 __LD2_LANE_FUNC (uint8x8x2_t, uint8x8_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
20840 		 int8x16_t)
20841 __LD2_LANE_FUNC (uint16x4x2_t, uint16x4_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi,
20842 		 u16, int16x8_t)
20843 __LD2_LANE_FUNC (uint32x2x2_t, uint32x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si,
20844 		 u32, int32x4_t)
20845 __LD2_LANE_FUNC (uint64x1x2_t, uint64x1_t, uint64x2x2_t, uint64_t, di, v2di, di,
20846 		 u64, int64x2_t)
20847 
20848 /* vld2q_lane */
20849 
20850 #define __LD2Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20851 __extension__ extern __inline intype \
20852 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20853 vld2q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20854 {									   \
20855   __builtin_aarch64_simd_oi __o;					   \
20856   intype ret;								   \
20857   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[0], 0); \
20858   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[1], 1); \
20859   __o = __builtin_aarch64_ld2_lane##mode (				   \
20860 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
20861   ret.val[0] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 0);	   \
20862   ret.val[1] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 1);	   \
20863   return ret;								   \
20864 }
20865 
20866 __LD2Q_LANE_FUNC (float16x8x2_t, float16x8_t, float16_t, v8hf, hf, f16)
20867 __LD2Q_LANE_FUNC (float32x4x2_t, float32x4_t, float32_t, v4sf, sf, f32)
20868 __LD2Q_LANE_FUNC (float64x2x2_t, float64x2_t, float64_t, v2df, df, f64)
20869 __LD2Q_LANE_FUNC (poly8x16x2_t, poly8x16_t, poly8_t, v16qi, qi, p8)
20870 __LD2Q_LANE_FUNC (poly16x8x2_t, poly16x8_t, poly16_t, v8hi, hi, p16)
20871 __LD2Q_LANE_FUNC (poly64x2x2_t, poly64x2_t, poly64_t, v2di, di, p64)
20872 __LD2Q_LANE_FUNC (int8x16x2_t, int8x16_t, int8_t, v16qi, qi, s8)
20873 __LD2Q_LANE_FUNC (int16x8x2_t, int16x8_t, int16_t, v8hi, hi, s16)
20874 __LD2Q_LANE_FUNC (int32x4x2_t, int32x4_t, int32_t, v4si, si, s32)
20875 __LD2Q_LANE_FUNC (int64x2x2_t, int64x2_t, int64_t, v2di, di, s64)
20876 __LD2Q_LANE_FUNC (uint8x16x2_t, uint8x16_t, uint8_t, v16qi, qi, u8)
20877 __LD2Q_LANE_FUNC (uint16x8x2_t, uint16x8_t, uint16_t, v8hi, hi, u16)
20878 __LD2Q_LANE_FUNC (uint32x4x2_t, uint32x4_t, uint32_t, v4si, si, u32)
20879 __LD2Q_LANE_FUNC (uint64x2x2_t, uint64x2_t, uint64_t, v2di, di, u64)
20880 
20881 /* vld3_lane */
20882 
20883 #define __LD3_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20884 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20885 __extension__ extern __inline intype \
20886 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20887 vld3_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20888 {									   \
20889   __builtin_aarch64_simd_ci __o;					   \
20890   largetype __temp;							   \
20891   __temp.val[0] =							   \
20892     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20893   __temp.val[1] =							   \
20894     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20895   __temp.val[2] =							   \
20896     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
20897   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20898 					    (signedtype) __temp.val[0],	   \
20899 					    0);				   \
20900   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20901 					    (signedtype) __temp.val[1],	   \
20902 					    1);				   \
20903   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20904 					    (signedtype) __temp.val[2],	   \
20905 					    2);				   \
20906   __o =	__builtin_aarch64_ld3_lane##mode (				   \
20907 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
20908   __b.val[0] = (vectype) __builtin_aarch64_get_dregcidi (__o, 0);	   \
20909   __b.val[1] = (vectype) __builtin_aarch64_get_dregcidi (__o, 1);	   \
20910   __b.val[2] = (vectype) __builtin_aarch64_get_dregcidi (__o, 2);	   \
20911   return __b;								   \
20912 }
20913 
20914 __LD3_LANE_FUNC (float16x4x3_t, float16x4_t, float16x8x3_t, float16_t, v4hf,
20915 		 v8hf, hf, f16, float16x8_t)
20916 __LD3_LANE_FUNC (float32x2x3_t, float32x2_t, float32x4x3_t, float32_t, v2sf, v4sf,
20917 		 sf, f32, float32x4_t)
20918 __LD3_LANE_FUNC (float64x1x3_t, float64x1_t, float64x2x3_t, float64_t, df, v2df,
20919 		 df, f64, float64x2_t)
20920 __LD3_LANE_FUNC (poly8x8x3_t, poly8x8_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
20921 		 int8x16_t)
20922 __LD3_LANE_FUNC (poly16x4x3_t, poly16x4_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi,
20923 		 p16, int16x8_t)
20924 __LD3_LANE_FUNC (poly64x1x3_t, poly64x1_t, poly64x2x3_t, poly64_t, di,
20925 		 v2di_ssps, di, p64, poly64x2_t)
20926 __LD3_LANE_FUNC (int8x8x3_t, int8x8_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
20927 		 int8x16_t)
20928 __LD3_LANE_FUNC (int16x4x3_t, int16x4_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
20929 		 int16x8_t)
20930 __LD3_LANE_FUNC (int32x2x3_t, int32x2_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
20931 		 int32x4_t)
20932 __LD3_LANE_FUNC (int64x1x3_t, int64x1_t, int64x2x3_t, int64_t, di, v2di, di, s64,
20933 		 int64x2_t)
20934 __LD3_LANE_FUNC (uint8x8x3_t, uint8x8_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
20935 		 int8x16_t)
20936 __LD3_LANE_FUNC (uint16x4x3_t, uint16x4_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi,
20937 		 u16, int16x8_t)
20938 __LD3_LANE_FUNC (uint32x2x3_t, uint32x2_t, uint32x4x3_t, uint32_t, v2si, v4si, si,
20939 		 u32, int32x4_t)
20940 __LD3_LANE_FUNC (uint64x1x3_t, uint64x1_t, uint64x2x3_t, uint64_t, di, v2di, di,
20941 		 u64, int64x2_t)
20942 
20943 /* vld3q_lane */
20944 
20945 #define __LD3Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20946 __extension__ extern __inline intype \
20947 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20948 vld3q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20949 {									   \
20950   __builtin_aarch64_simd_ci __o;					   \
20951   intype ret;								   \
20952   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[0], 0); \
20953   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[1], 1); \
20954   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[2], 2); \
20955   __o = __builtin_aarch64_ld3_lane##mode (				   \
20956 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
20957   ret.val[0] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 0);	   \
20958   ret.val[1] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 1);	   \
20959   ret.val[2] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 2);	   \
20960   return ret;								   \
20961 }
20962 
20963 __LD3Q_LANE_FUNC (float16x8x3_t, float16x8_t, float16_t, v8hf, hf, f16)
20964 __LD3Q_LANE_FUNC (float32x4x3_t, float32x4_t, float32_t, v4sf, sf, f32)
20965 __LD3Q_LANE_FUNC (float64x2x3_t, float64x2_t, float64_t, v2df, df, f64)
20966 __LD3Q_LANE_FUNC (poly8x16x3_t, poly8x16_t, poly8_t, v16qi, qi, p8)
20967 __LD3Q_LANE_FUNC (poly16x8x3_t, poly16x8_t, poly16_t, v8hi, hi, p16)
20968 __LD3Q_LANE_FUNC (poly64x2x3_t, poly64x2_t, poly64_t, v2di, di, p64)
20969 __LD3Q_LANE_FUNC (int8x16x3_t, int8x16_t, int8_t, v16qi, qi, s8)
20970 __LD3Q_LANE_FUNC (int16x8x3_t, int16x8_t, int16_t, v8hi, hi, s16)
20971 __LD3Q_LANE_FUNC (int32x4x3_t, int32x4_t, int32_t, v4si, si, s32)
20972 __LD3Q_LANE_FUNC (int64x2x3_t, int64x2_t, int64_t, v2di, di, s64)
20973 __LD3Q_LANE_FUNC (uint8x16x3_t, uint8x16_t, uint8_t, v16qi, qi, u8)
20974 __LD3Q_LANE_FUNC (uint16x8x3_t, uint16x8_t, uint16_t, v8hi, hi, u16)
20975 __LD3Q_LANE_FUNC (uint32x4x3_t, uint32x4_t, uint32_t, v4si, si, u32)
20976 __LD3Q_LANE_FUNC (uint64x2x3_t, uint64x2_t, uint64_t, v2di, di, u64)
20977 
20978 /* vld4_lane */
20979 
20980 #define __LD4_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20981 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20982 __extension__ extern __inline intype \
20983 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20984 vld4_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20985 {									   \
20986   __builtin_aarch64_simd_xi __o;					   \
20987   largetype __temp;							   \
20988   __temp.val[0] =							   \
20989     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20990   __temp.val[1] =							   \
20991     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20992   __temp.val[2] =							   \
20993     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
20994   __temp.val[3] =							   \
20995     vcombine_##funcsuffix (__b.val[3], vcreate_##funcsuffix (0));	   \
20996   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
20997 					    (signedtype) __temp.val[0],	   \
20998 					    0);				   \
20999   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
21000 					    (signedtype) __temp.val[1],	   \
21001 					    1);				   \
21002   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
21003 					    (signedtype) __temp.val[2],	   \
21004 					    2);				   \
21005   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
21006 					    (signedtype) __temp.val[3],	   \
21007 					    3);				   \
21008   __o =	__builtin_aarch64_ld4_lane##mode (				   \
21009 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
21010   __b.val[0] = (vectype) __builtin_aarch64_get_dregxidi (__o, 0);	   \
21011   __b.val[1] = (vectype) __builtin_aarch64_get_dregxidi (__o, 1);	   \
21012   __b.val[2] = (vectype) __builtin_aarch64_get_dregxidi (__o, 2);	   \
21013   __b.val[3] = (vectype) __builtin_aarch64_get_dregxidi (__o, 3);	   \
21014   return __b;								   \
21015 }
21016 
21017 /* vld4q_lane */
21018 
21019 __LD4_LANE_FUNC (float16x4x4_t, float16x4_t, float16x8x4_t, float16_t, v4hf,
21020 		 v8hf, hf, f16, float16x8_t)
21021 __LD4_LANE_FUNC (float32x2x4_t, float32x2_t, float32x4x4_t, float32_t, v2sf, v4sf,
21022 		 sf, f32, float32x4_t)
21023 __LD4_LANE_FUNC (float64x1x4_t, float64x1_t, float64x2x4_t, float64_t, df, v2df,
21024 		 df, f64, float64x2_t)
21025 __LD4_LANE_FUNC (poly8x8x4_t, poly8x8_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
21026 		 int8x16_t)
21027 __LD4_LANE_FUNC (poly16x4x4_t, poly16x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi,
21028 		 p16, int16x8_t)
21029 __LD4_LANE_FUNC (poly64x1x4_t, poly64x1_t, poly64x2x4_t, poly64_t, di,
21030 		 v2di_ssps, di, p64, poly64x2_t)
21031 __LD4_LANE_FUNC (int8x8x4_t, int8x8_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
21032 		 int8x16_t)
21033 __LD4_LANE_FUNC (int16x4x4_t, int16x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
21034 		 int16x8_t)
21035 __LD4_LANE_FUNC (int32x2x4_t, int32x2_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
21036 		 int32x4_t)
21037 __LD4_LANE_FUNC (int64x1x4_t, int64x1_t, int64x2x4_t, int64_t, di, v2di, di, s64,
21038 		 int64x2_t)
21039 __LD4_LANE_FUNC (uint8x8x4_t, uint8x8_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
21040 		 int8x16_t)
21041 __LD4_LANE_FUNC (uint16x4x4_t, uint16x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi,
21042 		 u16, int16x8_t)
21043 __LD4_LANE_FUNC (uint32x2x4_t, uint32x2_t, uint32x4x4_t, uint32_t, v2si, v4si, si,
21044 		 u32, int32x4_t)
21045 __LD4_LANE_FUNC (uint64x1x4_t, uint64x1_t, uint64x2x4_t, uint64_t, di, v2di, di,
21046 		 u64, int64x2_t)
21047 
21048 /* vld4q_lane */
21049 
21050 #define __LD4Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
21051 __extension__ extern __inline intype \
21052 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
21053 vld4q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
21054 {									   \
21055   __builtin_aarch64_simd_xi __o;					   \
21056   intype ret;								   \
21057   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[0], 0); \
21058   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[1], 1); \
21059   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[2], 2); \
21060   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[3], 3); \
21061   __o = __builtin_aarch64_ld4_lane##mode (				   \
21062 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
21063   ret.val[0] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 0);	   \
21064   ret.val[1] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 1);	   \
21065   ret.val[2] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 2);	   \
21066   ret.val[3] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 3);	   \
21067   return ret;								   \
21068 }
21069 
21070 __LD4Q_LANE_FUNC (float16x8x4_t, float16x8_t, float16_t, v8hf, hf, f16)
21071 __LD4Q_LANE_FUNC (float32x4x4_t, float32x4_t, float32_t, v4sf, sf, f32)
21072 __LD4Q_LANE_FUNC (float64x2x4_t, float64x2_t, float64_t, v2df, df, f64)
21073 __LD4Q_LANE_FUNC (poly8x16x4_t, poly8x16_t, poly8_t, v16qi, qi, p8)
21074 __LD4Q_LANE_FUNC (poly16x8x4_t, poly16x8_t, poly16_t, v8hi, hi, p16)
21075 __LD4Q_LANE_FUNC (poly64x2x4_t, poly64x2_t, poly64_t, v2di, di, p64)
21076 __LD4Q_LANE_FUNC (int8x16x4_t, int8x16_t, int8_t, v16qi, qi, s8)
21077 __LD4Q_LANE_FUNC (int16x8x4_t, int16x8_t, int16_t, v8hi, hi, s16)
21078 __LD4Q_LANE_FUNC (int32x4x4_t, int32x4_t, int32_t, v4si, si, s32)
21079 __LD4Q_LANE_FUNC (int64x2x4_t, int64x2_t, int64_t, v2di, di, s64)
21080 __LD4Q_LANE_FUNC (uint8x16x4_t, uint8x16_t, uint8_t, v16qi, qi, u8)
21081 __LD4Q_LANE_FUNC (uint16x8x4_t, uint16x8_t, uint16_t, v8hi, hi, u16)
21082 __LD4Q_LANE_FUNC (uint32x4x4_t, uint32x4_t, uint32_t, v4si, si, u32)
21083 __LD4Q_LANE_FUNC (uint64x2x4_t, uint64x2_t, uint64_t, v2di, di, u64)
21084 
21085 /* vmax */
21086 
21087 __extension__ extern __inline float32x2_t
21088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21089 vmax_f32 (float32x2_t __a, float32x2_t __b)
21090 {
21091   return __builtin_aarch64_smax_nanv2sf (__a, __b);
21092 }
21093 
21094 __extension__ extern __inline float64x1_t
21095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f64(float64x1_t __a,float64x1_t __b)21096 vmax_f64 (float64x1_t __a, float64x1_t __b)
21097 {
21098     return (float64x1_t)
21099       { __builtin_aarch64_smax_nandf (vget_lane_f64 (__a, 0),
21100 				      vget_lane_f64 (__b, 0)) };
21101 }
21102 
21103 __extension__ extern __inline int8x8_t
21104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s8(int8x8_t __a,int8x8_t __b)21105 vmax_s8 (int8x8_t __a, int8x8_t __b)
21106 {
21107   return __builtin_aarch64_smaxv8qi (__a, __b);
21108 }
21109 
21110 __extension__ extern __inline int16x4_t
21111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s16(int16x4_t __a,int16x4_t __b)21112 vmax_s16 (int16x4_t __a, int16x4_t __b)
21113 {
21114   return __builtin_aarch64_smaxv4hi (__a, __b);
21115 }
21116 
21117 __extension__ extern __inline int32x2_t
21118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s32(int32x2_t __a,int32x2_t __b)21119 vmax_s32 (int32x2_t __a, int32x2_t __b)
21120 {
21121   return __builtin_aarch64_smaxv2si (__a, __b);
21122 }
21123 
21124 __extension__ extern __inline uint8x8_t
21125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)21126 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
21127 {
21128   return (uint8x8_t) __builtin_aarch64_umaxv8qi ((int8x8_t) __a,
21129 						 (int8x8_t) __b);
21130 }
21131 
21132 __extension__ extern __inline uint16x4_t
21133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)21134 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
21135 {
21136   return (uint16x4_t) __builtin_aarch64_umaxv4hi ((int16x4_t) __a,
21137 						  (int16x4_t) __b);
21138 }
21139 
21140 __extension__ extern __inline uint32x2_t
21141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)21142 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
21143 {
21144   return (uint32x2_t) __builtin_aarch64_umaxv2si ((int32x2_t) __a,
21145 						  (int32x2_t) __b);
21146 }
21147 
21148 __extension__ extern __inline float32x4_t
21149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)21150 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
21151 {
21152   return __builtin_aarch64_smax_nanv4sf (__a, __b);
21153 }
21154 
21155 __extension__ extern __inline float64x2_t
21156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f64(float64x2_t __a,float64x2_t __b)21157 vmaxq_f64 (float64x2_t __a, float64x2_t __b)
21158 {
21159   return __builtin_aarch64_smax_nanv2df (__a, __b);
21160 }
21161 
21162 __extension__ extern __inline int8x16_t
21163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)21164 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
21165 {
21166   return __builtin_aarch64_smaxv16qi (__a, __b);
21167 }
21168 
21169 __extension__ extern __inline int16x8_t
21170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)21171 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
21172 {
21173   return __builtin_aarch64_smaxv8hi (__a, __b);
21174 }
21175 
21176 __extension__ extern __inline int32x4_t
21177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)21178 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
21179 {
21180   return __builtin_aarch64_smaxv4si (__a, __b);
21181 }
21182 
21183 __extension__ extern __inline uint8x16_t
21184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)21185 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
21186 {
21187   return (uint8x16_t) __builtin_aarch64_umaxv16qi ((int8x16_t) __a,
21188 						   (int8x16_t) __b);
21189 }
21190 
21191 __extension__ extern __inline uint16x8_t
21192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)21193 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
21194 {
21195   return (uint16x8_t) __builtin_aarch64_umaxv8hi ((int16x8_t) __a,
21196 						  (int16x8_t) __b);
21197 }
21198 
21199 __extension__ extern __inline uint32x4_t
21200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)21201 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
21202 {
21203   return (uint32x4_t) __builtin_aarch64_umaxv4si ((int32x4_t) __a,
21204 						  (int32x4_t) __b);
21205 }
21206 /* vmulx */
21207 
21208 __extension__ extern __inline float32x2_t
21209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f32(float32x2_t __a,float32x2_t __b)21210 vmulx_f32 (float32x2_t __a, float32x2_t __b)
21211 {
21212   return __builtin_aarch64_fmulxv2sf (__a, __b);
21213 }
21214 
21215 __extension__ extern __inline float32x4_t
21216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f32(float32x4_t __a,float32x4_t __b)21217 vmulxq_f32 (float32x4_t __a, float32x4_t __b)
21218 {
21219   return __builtin_aarch64_fmulxv4sf (__a, __b);
21220 }
21221 
21222 __extension__ extern __inline float64x1_t
21223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f64(float64x1_t __a,float64x1_t __b)21224 vmulx_f64 (float64x1_t __a, float64x1_t __b)
21225 {
21226   return (float64x1_t) {__builtin_aarch64_fmulxdf (__a[0], __b[0])};
21227 }
21228 
21229 __extension__ extern __inline float64x2_t
21230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f64(float64x2_t __a,float64x2_t __b)21231 vmulxq_f64 (float64x2_t __a, float64x2_t __b)
21232 {
21233   return __builtin_aarch64_fmulxv2df (__a, __b);
21234 }
21235 
21236 __extension__ extern __inline float32_t
21237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_f32(float32_t __a,float32_t __b)21238 vmulxs_f32 (float32_t __a, float32_t __b)
21239 {
21240   return __builtin_aarch64_fmulxsf (__a, __b);
21241 }
21242 
21243 __extension__ extern __inline float64_t
21244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_f64(float64_t __a,float64_t __b)21245 vmulxd_f64 (float64_t __a, float64_t __b)
21246 {
21247   return __builtin_aarch64_fmulxdf (__a, __b);
21248 }
21249 
21250 __extension__ extern __inline float32x2_t
21251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f32(float32x2_t __a,float32x2_t __v,const int __lane)21252 vmulx_lane_f32 (float32x2_t __a, float32x2_t __v, const int __lane)
21253 {
21254   return vmulx_f32 (__a, __aarch64_vdup_lane_f32 (__v, __lane));
21255 }
21256 
21257 __extension__ extern __inline float64x1_t
21258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f64(float64x1_t __a,float64x1_t __v,const int __lane)21259 vmulx_lane_f64 (float64x1_t __a, float64x1_t __v, const int __lane)
21260 {
21261   return vmulx_f64 (__a, __aarch64_vdup_lane_f64 (__v, __lane));
21262 }
21263 
21264 __extension__ extern __inline float32x4_t
21265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f32(float32x4_t __a,float32x2_t __v,const int __lane)21266 vmulxq_lane_f32 (float32x4_t __a, float32x2_t __v, const int __lane)
21267 {
21268   return vmulxq_f32 (__a, __aarch64_vdupq_lane_f32 (__v, __lane));
21269 }
21270 
21271 __extension__ extern __inline float64x2_t
21272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f64(float64x2_t __a,float64x1_t __v,const int __lane)21273 vmulxq_lane_f64 (float64x2_t __a, float64x1_t __v, const int __lane)
21274 {
21275   return vmulxq_f64 (__a, __aarch64_vdupq_lane_f64 (__v, __lane));
21276 }
21277 
21278 __extension__ extern __inline float32x2_t
21279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f32(float32x2_t __a,float32x4_t __v,const int __lane)21280 vmulx_laneq_f32 (float32x2_t __a, float32x4_t __v, const int __lane)
21281 {
21282   return vmulx_f32 (__a, __aarch64_vdup_laneq_f32 (__v, __lane));
21283 }
21284 
21285 __extension__ extern __inline float64x1_t
21286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f64(float64x1_t __a,float64x2_t __v,const int __lane)21287 vmulx_laneq_f64 (float64x1_t __a, float64x2_t __v, const int __lane)
21288 {
21289   return vmulx_f64 (__a, __aarch64_vdup_laneq_f64 (__v, __lane));
21290 }
21291 
21292 __extension__ extern __inline float32x4_t
21293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f32(float32x4_t __a,float32x4_t __v,const int __lane)21294 vmulxq_laneq_f32 (float32x4_t __a, float32x4_t __v, const int __lane)
21295 {
21296   return vmulxq_f32 (__a, __aarch64_vdupq_laneq_f32 (__v, __lane));
21297 }
21298 
21299 __extension__ extern __inline float64x2_t
21300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f64(float64x2_t __a,float64x2_t __v,const int __lane)21301 vmulxq_laneq_f64 (float64x2_t __a, float64x2_t __v, const int __lane)
21302 {
21303   return vmulxq_f64 (__a, __aarch64_vdupq_laneq_f64 (__v, __lane));
21304 }
21305 
21306 __extension__ extern __inline float32_t
21307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_lane_f32(float32_t __a,float32x2_t __v,const int __lane)21308 vmulxs_lane_f32 (float32_t __a, float32x2_t __v, const int __lane)
21309 {
21310   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
21311 }
21312 
21313 __extension__ extern __inline float32_t
21314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_laneq_f32(float32_t __a,float32x4_t __v,const int __lane)21315 vmulxs_laneq_f32 (float32_t __a, float32x4_t __v, const int __lane)
21316 {
21317   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
21318 }
21319 
21320 __extension__ extern __inline float64_t
21321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_lane_f64(float64_t __a,float64x1_t __v,const int __lane)21322 vmulxd_lane_f64 (float64_t __a, float64x1_t __v, const int __lane)
21323 {
21324   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
21325 }
21326 
21327 __extension__ extern __inline float64_t
21328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_laneq_f64(float64_t __a,float64x2_t __v,const int __lane)21329 vmulxd_laneq_f64 (float64_t __a, float64x2_t __v, const int __lane)
21330 {
21331   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
21332 }
21333 
21334 /* vpmax  */
21335 
21336 __extension__ extern __inline int8x8_t
21337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s8(int8x8_t __a,int8x8_t __b)21338 vpmax_s8 (int8x8_t __a, int8x8_t __b)
21339 {
21340   return __builtin_aarch64_smaxpv8qi (__a, __b);
21341 }
21342 
21343 __extension__ extern __inline int16x4_t
21344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s16(int16x4_t __a,int16x4_t __b)21345 vpmax_s16 (int16x4_t __a, int16x4_t __b)
21346 {
21347   return __builtin_aarch64_smaxpv4hi (__a, __b);
21348 }
21349 
21350 __extension__ extern __inline int32x2_t
21351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s32(int32x2_t __a,int32x2_t __b)21352 vpmax_s32 (int32x2_t __a, int32x2_t __b)
21353 {
21354   return __builtin_aarch64_smaxpv2si (__a, __b);
21355 }
21356 
21357 __extension__ extern __inline uint8x8_t
21358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)21359 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
21360 {
21361   return (uint8x8_t) __builtin_aarch64_umaxpv8qi ((int8x8_t) __a,
21362 						  (int8x8_t) __b);
21363 }
21364 
21365 __extension__ extern __inline uint16x4_t
21366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)21367 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
21368 {
21369   return (uint16x4_t) __builtin_aarch64_umaxpv4hi ((int16x4_t) __a,
21370 						   (int16x4_t) __b);
21371 }
21372 
21373 __extension__ extern __inline uint32x2_t
21374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)21375 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
21376 {
21377   return (uint32x2_t) __builtin_aarch64_umaxpv2si ((int32x2_t) __a,
21378 						   (int32x2_t) __b);
21379 }
21380 
21381 __extension__ extern __inline int8x16_t
21382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s8(int8x16_t __a,int8x16_t __b)21383 vpmaxq_s8 (int8x16_t __a, int8x16_t __b)
21384 {
21385   return __builtin_aarch64_smaxpv16qi (__a, __b);
21386 }
21387 
21388 __extension__ extern __inline int16x8_t
21389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s16(int16x8_t __a,int16x8_t __b)21390 vpmaxq_s16 (int16x8_t __a, int16x8_t __b)
21391 {
21392   return __builtin_aarch64_smaxpv8hi (__a, __b);
21393 }
21394 
21395 __extension__ extern __inline int32x4_t
21396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s32(int32x4_t __a,int32x4_t __b)21397 vpmaxq_s32 (int32x4_t __a, int32x4_t __b)
21398 {
21399   return __builtin_aarch64_smaxpv4si (__a, __b);
21400 }
21401 
21402 __extension__ extern __inline uint8x16_t
21403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u8(uint8x16_t __a,uint8x16_t __b)21404 vpmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
21405 {
21406   return (uint8x16_t) __builtin_aarch64_umaxpv16qi ((int8x16_t) __a,
21407 						    (int8x16_t) __b);
21408 }
21409 
21410 __extension__ extern __inline uint16x8_t
21411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u16(uint16x8_t __a,uint16x8_t __b)21412 vpmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
21413 {
21414   return (uint16x8_t) __builtin_aarch64_umaxpv8hi ((int16x8_t) __a,
21415 						   (int16x8_t) __b);
21416 }
21417 
21418 __extension__ extern __inline uint32x4_t
21419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u32(uint32x4_t __a,uint32x4_t __b)21420 vpmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
21421 {
21422   return (uint32x4_t) __builtin_aarch64_umaxpv4si ((int32x4_t) __a,
21423 						   (int32x4_t) __b);
21424 }
21425 
21426 __extension__ extern __inline float32x2_t
21427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f32(float32x2_t __a,float32x2_t __b)21428 vpmax_f32 (float32x2_t __a, float32x2_t __b)
21429 {
21430   return __builtin_aarch64_smax_nanpv2sf (__a, __b);
21431 }
21432 
21433 __extension__ extern __inline float32x4_t
21434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f32(float32x4_t __a,float32x4_t __b)21435 vpmaxq_f32 (float32x4_t __a, float32x4_t __b)
21436 {
21437   return __builtin_aarch64_smax_nanpv4sf (__a, __b);
21438 }
21439 
21440 __extension__ extern __inline float64x2_t
21441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f64(float64x2_t __a,float64x2_t __b)21442 vpmaxq_f64 (float64x2_t __a, float64x2_t __b)
21443 {
21444   return __builtin_aarch64_smax_nanpv2df (__a, __b);
21445 }
21446 
21447 __extension__ extern __inline float64_t
21448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxqd_f64(float64x2_t __a)21449 vpmaxqd_f64 (float64x2_t __a)
21450 {
21451   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
21452 }
21453 
21454 __extension__ extern __inline float32_t
21455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxs_f32(float32x2_t __a)21456 vpmaxs_f32 (float32x2_t __a)
21457 {
21458   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
21459 }
21460 
21461 /* vpmaxnm  */
21462 
21463 __extension__ extern __inline float32x2_t
21464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f32(float32x2_t __a,float32x2_t __b)21465 vpmaxnm_f32 (float32x2_t __a, float32x2_t __b)
21466 {
21467   return __builtin_aarch64_smaxpv2sf (__a, __b);
21468 }
21469 
21470 __extension__ extern __inline float32x4_t
21471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f32(float32x4_t __a,float32x4_t __b)21472 vpmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
21473 {
21474   return __builtin_aarch64_smaxpv4sf (__a, __b);
21475 }
21476 
21477 __extension__ extern __inline float64x2_t
21478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f64(float64x2_t __a,float64x2_t __b)21479 vpmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
21480 {
21481   return __builtin_aarch64_smaxpv2df (__a, __b);
21482 }
21483 
21484 __extension__ extern __inline float64_t
21485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmqd_f64(float64x2_t __a)21486 vpmaxnmqd_f64 (float64x2_t __a)
21487 {
21488   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
21489 }
21490 
21491 __extension__ extern __inline float32_t
21492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnms_f32(float32x2_t __a)21493 vpmaxnms_f32 (float32x2_t __a)
21494 {
21495   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
21496 }
21497 
21498 /* vpmin  */
21499 
21500 __extension__ extern __inline int8x8_t
21501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s8(int8x8_t __a,int8x8_t __b)21502 vpmin_s8 (int8x8_t __a, int8x8_t __b)
21503 {
21504   return __builtin_aarch64_sminpv8qi (__a, __b);
21505 }
21506 
21507 __extension__ extern __inline int16x4_t
21508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s16(int16x4_t __a,int16x4_t __b)21509 vpmin_s16 (int16x4_t __a, int16x4_t __b)
21510 {
21511   return __builtin_aarch64_sminpv4hi (__a, __b);
21512 }
21513 
21514 __extension__ extern __inline int32x2_t
21515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s32(int32x2_t __a,int32x2_t __b)21516 vpmin_s32 (int32x2_t __a, int32x2_t __b)
21517 {
21518   return __builtin_aarch64_sminpv2si (__a, __b);
21519 }
21520 
21521 __extension__ extern __inline uint8x8_t
21522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)21523 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
21524 {
21525   return (uint8x8_t) __builtin_aarch64_uminpv8qi ((int8x8_t) __a,
21526 						  (int8x8_t) __b);
21527 }
21528 
21529 __extension__ extern __inline uint16x4_t
21530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)21531 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
21532 {
21533   return (uint16x4_t) __builtin_aarch64_uminpv4hi ((int16x4_t) __a,
21534 						   (int16x4_t) __b);
21535 }
21536 
21537 __extension__ extern __inline uint32x2_t
21538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)21539 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
21540 {
21541   return (uint32x2_t) __builtin_aarch64_uminpv2si ((int32x2_t) __a,
21542 						   (int32x2_t) __b);
21543 }
21544 
21545 __extension__ extern __inline int8x16_t
21546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s8(int8x16_t __a,int8x16_t __b)21547 vpminq_s8 (int8x16_t __a, int8x16_t __b)
21548 {
21549   return __builtin_aarch64_sminpv16qi (__a, __b);
21550 }
21551 
21552 __extension__ extern __inline int16x8_t
21553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s16(int16x8_t __a,int16x8_t __b)21554 vpminq_s16 (int16x8_t __a, int16x8_t __b)
21555 {
21556   return __builtin_aarch64_sminpv8hi (__a, __b);
21557 }
21558 
21559 __extension__ extern __inline int32x4_t
21560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s32(int32x4_t __a,int32x4_t __b)21561 vpminq_s32 (int32x4_t __a, int32x4_t __b)
21562 {
21563   return __builtin_aarch64_sminpv4si (__a, __b);
21564 }
21565 
21566 __extension__ extern __inline uint8x16_t
21567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u8(uint8x16_t __a,uint8x16_t __b)21568 vpminq_u8 (uint8x16_t __a, uint8x16_t __b)
21569 {
21570   return (uint8x16_t) __builtin_aarch64_uminpv16qi ((int8x16_t) __a,
21571 						    (int8x16_t) __b);
21572 }
21573 
21574 __extension__ extern __inline uint16x8_t
21575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u16(uint16x8_t __a,uint16x8_t __b)21576 vpminq_u16 (uint16x8_t __a, uint16x8_t __b)
21577 {
21578   return (uint16x8_t) __builtin_aarch64_uminpv8hi ((int16x8_t) __a,
21579 						   (int16x8_t) __b);
21580 }
21581 
21582 __extension__ extern __inline uint32x4_t
21583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u32(uint32x4_t __a,uint32x4_t __b)21584 vpminq_u32 (uint32x4_t __a, uint32x4_t __b)
21585 {
21586   return (uint32x4_t) __builtin_aarch64_uminpv4si ((int32x4_t) __a,
21587 						   (int32x4_t) __b);
21588 }
21589 
21590 __extension__ extern __inline float32x2_t
21591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f32(float32x2_t __a,float32x2_t __b)21592 vpmin_f32 (float32x2_t __a, float32x2_t __b)
21593 {
21594   return __builtin_aarch64_smin_nanpv2sf (__a, __b);
21595 }
21596 
21597 __extension__ extern __inline float32x4_t
21598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f32(float32x4_t __a,float32x4_t __b)21599 vpminq_f32 (float32x4_t __a, float32x4_t __b)
21600 {
21601   return __builtin_aarch64_smin_nanpv4sf (__a, __b);
21602 }
21603 
21604 __extension__ extern __inline float64x2_t
21605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f64(float64x2_t __a,float64x2_t __b)21606 vpminq_f64 (float64x2_t __a, float64x2_t __b)
21607 {
21608   return __builtin_aarch64_smin_nanpv2df (__a, __b);
21609 }
21610 
21611 __extension__ extern __inline float64_t
21612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminqd_f64(float64x2_t __a)21613 vpminqd_f64 (float64x2_t __a)
21614 {
21615   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
21616 }
21617 
21618 __extension__ extern __inline float32_t
21619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmins_f32(float32x2_t __a)21620 vpmins_f32 (float32x2_t __a)
21621 {
21622   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
21623 }
21624 
21625 /* vpminnm  */
21626 
21627 __extension__ extern __inline float32x2_t
21628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f32(float32x2_t __a,float32x2_t __b)21629 vpminnm_f32 (float32x2_t __a, float32x2_t __b)
21630 {
21631   return __builtin_aarch64_sminpv2sf (__a, __b);
21632 }
21633 
21634 __extension__ extern __inline float32x4_t
21635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f32(float32x4_t __a,float32x4_t __b)21636 vpminnmq_f32 (float32x4_t __a, float32x4_t __b)
21637 {
21638   return __builtin_aarch64_sminpv4sf (__a, __b);
21639 }
21640 
21641 __extension__ extern __inline float64x2_t
21642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f64(float64x2_t __a,float64x2_t __b)21643 vpminnmq_f64 (float64x2_t __a, float64x2_t __b)
21644 {
21645   return __builtin_aarch64_sminpv2df (__a, __b);
21646 }
21647 
21648 __extension__ extern __inline float64_t
21649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmqd_f64(float64x2_t __a)21650 vpminnmqd_f64 (float64x2_t __a)
21651 {
21652   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
21653 }
21654 
21655 __extension__ extern __inline float32_t
21656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnms_f32(float32x2_t __a)21657 vpminnms_f32 (float32x2_t __a)
21658 {
21659   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
21660 }
21661 
21662 /* vmaxnm  */
21663 
21664 __extension__ extern __inline float32x2_t
21665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f32(float32x2_t __a,float32x2_t __b)21666 vmaxnm_f32 (float32x2_t __a, float32x2_t __b)
21667 {
21668   return __builtin_aarch64_fmaxv2sf (__a, __b);
21669 }
21670 
21671 __extension__ extern __inline float64x1_t
21672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f64(float64x1_t __a,float64x1_t __b)21673 vmaxnm_f64 (float64x1_t __a, float64x1_t __b)
21674 {
21675   return (float64x1_t)
21676     { __builtin_aarch64_fmaxdf (vget_lane_f64 (__a, 0),
21677 				vget_lane_f64 (__b, 0)) };
21678 }
21679 
21680 __extension__ extern __inline float32x4_t
21681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f32(float32x4_t __a,float32x4_t __b)21682 vmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
21683 {
21684   return __builtin_aarch64_fmaxv4sf (__a, __b);
21685 }
21686 
21687 __extension__ extern __inline float64x2_t
21688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f64(float64x2_t __a,float64x2_t __b)21689 vmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
21690 {
21691   return __builtin_aarch64_fmaxv2df (__a, __b);
21692 }
21693 
21694 /* vmaxv  */
21695 
21696 __extension__ extern __inline float32_t
21697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f32(float32x2_t __a)21698 vmaxv_f32 (float32x2_t __a)
21699 {
21700   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
21701 }
21702 
21703 __extension__ extern __inline int8_t
21704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s8(int8x8_t __a)21705 vmaxv_s8 (int8x8_t __a)
21706 {
21707   return __builtin_aarch64_reduc_smax_scal_v8qi (__a);
21708 }
21709 
21710 __extension__ extern __inline int16_t
21711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s16(int16x4_t __a)21712 vmaxv_s16 (int16x4_t __a)
21713 {
21714   return __builtin_aarch64_reduc_smax_scal_v4hi (__a);
21715 }
21716 
21717 __extension__ extern __inline int32_t
21718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s32(int32x2_t __a)21719 vmaxv_s32 (int32x2_t __a)
21720 {
21721   return __builtin_aarch64_reduc_smax_scal_v2si (__a);
21722 }
21723 
21724 __extension__ extern __inline uint8_t
21725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u8(uint8x8_t __a)21726 vmaxv_u8 (uint8x8_t __a)
21727 {
21728   return __builtin_aarch64_reduc_umax_scal_v8qi_uu (__a);
21729 }
21730 
21731 __extension__ extern __inline uint16_t
21732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u16(uint16x4_t __a)21733 vmaxv_u16 (uint16x4_t __a)
21734 {
21735   return __builtin_aarch64_reduc_umax_scal_v4hi_uu (__a);
21736 }
21737 
21738 __extension__ extern __inline uint32_t
21739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u32(uint32x2_t __a)21740 vmaxv_u32 (uint32x2_t __a)
21741 {
21742   return __builtin_aarch64_reduc_umax_scal_v2si_uu (__a);
21743 }
21744 
21745 __extension__ extern __inline float32_t
21746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f32(float32x4_t __a)21747 vmaxvq_f32 (float32x4_t __a)
21748 {
21749   return __builtin_aarch64_reduc_smax_nan_scal_v4sf (__a);
21750 }
21751 
21752 __extension__ extern __inline float64_t
21753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f64(float64x2_t __a)21754 vmaxvq_f64 (float64x2_t __a)
21755 {
21756   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
21757 }
21758 
21759 __extension__ extern __inline int8_t
21760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s8(int8x16_t __a)21761 vmaxvq_s8 (int8x16_t __a)
21762 {
21763   return __builtin_aarch64_reduc_smax_scal_v16qi (__a);
21764 }
21765 
21766 __extension__ extern __inline int16_t
21767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s16(int16x8_t __a)21768 vmaxvq_s16 (int16x8_t __a)
21769 {
21770   return __builtin_aarch64_reduc_smax_scal_v8hi (__a);
21771 }
21772 
21773 __extension__ extern __inline int32_t
21774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s32(int32x4_t __a)21775 vmaxvq_s32 (int32x4_t __a)
21776 {
21777   return __builtin_aarch64_reduc_smax_scal_v4si (__a);
21778 }
21779 
21780 __extension__ extern __inline uint8_t
21781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u8(uint8x16_t __a)21782 vmaxvq_u8 (uint8x16_t __a)
21783 {
21784   return __builtin_aarch64_reduc_umax_scal_v16qi_uu (__a);
21785 }
21786 
21787 __extension__ extern __inline uint16_t
21788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u16(uint16x8_t __a)21789 vmaxvq_u16 (uint16x8_t __a)
21790 {
21791   return __builtin_aarch64_reduc_umax_scal_v8hi_uu (__a);
21792 }
21793 
21794 __extension__ extern __inline uint32_t
21795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u32(uint32x4_t __a)21796 vmaxvq_u32 (uint32x4_t __a)
21797 {
21798   return __builtin_aarch64_reduc_umax_scal_v4si_uu (__a);
21799 }
21800 
21801 /* vmaxnmv  */
21802 
21803 __extension__ extern __inline float32_t
21804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f32(float32x2_t __a)21805 vmaxnmv_f32 (float32x2_t __a)
21806 {
21807   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
21808 }
21809 
21810 __extension__ extern __inline float32_t
21811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f32(float32x4_t __a)21812 vmaxnmvq_f32 (float32x4_t __a)
21813 {
21814   return __builtin_aarch64_reduc_smax_scal_v4sf (__a);
21815 }
21816 
21817 __extension__ extern __inline float64_t
21818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f64(float64x2_t __a)21819 vmaxnmvq_f64 (float64x2_t __a)
21820 {
21821   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
21822 }
21823 
21824 /* vmin  */
21825 
21826 __extension__ extern __inline float32x2_t
21827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f32(float32x2_t __a,float32x2_t __b)21828 vmin_f32 (float32x2_t __a, float32x2_t __b)
21829 {
21830   return __builtin_aarch64_smin_nanv2sf (__a, __b);
21831 }
21832 
21833 __extension__ extern __inline float64x1_t
21834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f64(float64x1_t __a,float64x1_t __b)21835 vmin_f64 (float64x1_t __a, float64x1_t __b)
21836 {
21837     return (float64x1_t)
21838 	  { __builtin_aarch64_smin_nandf (vget_lane_f64 (__a, 0),
21839 					  vget_lane_f64 (__b, 0)) };
21840 }
21841 
21842 __extension__ extern __inline int8x8_t
21843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s8(int8x8_t __a,int8x8_t __b)21844 vmin_s8 (int8x8_t __a, int8x8_t __b)
21845 {
21846   return __builtin_aarch64_sminv8qi (__a, __b);
21847 }
21848 
21849 __extension__ extern __inline int16x4_t
21850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s16(int16x4_t __a,int16x4_t __b)21851 vmin_s16 (int16x4_t __a, int16x4_t __b)
21852 {
21853   return __builtin_aarch64_sminv4hi (__a, __b);
21854 }
21855 
21856 __extension__ extern __inline int32x2_t
21857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s32(int32x2_t __a,int32x2_t __b)21858 vmin_s32 (int32x2_t __a, int32x2_t __b)
21859 {
21860   return __builtin_aarch64_sminv2si (__a, __b);
21861 }
21862 
21863 __extension__ extern __inline uint8x8_t
21864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)21865 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
21866 {
21867   return (uint8x8_t) __builtin_aarch64_uminv8qi ((int8x8_t) __a,
21868 						 (int8x8_t) __b);
21869 }
21870 
21871 __extension__ extern __inline uint16x4_t
21872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)21873 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
21874 {
21875   return (uint16x4_t) __builtin_aarch64_uminv4hi ((int16x4_t) __a,
21876 						  (int16x4_t) __b);
21877 }
21878 
21879 __extension__ extern __inline uint32x2_t
21880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)21881 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
21882 {
21883   return (uint32x2_t) __builtin_aarch64_uminv2si ((int32x2_t) __a,
21884 						  (int32x2_t) __b);
21885 }
21886 
21887 __extension__ extern __inline float32x4_t
21888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f32(float32x4_t __a,float32x4_t __b)21889 vminq_f32 (float32x4_t __a, float32x4_t __b)
21890 {
21891   return __builtin_aarch64_smin_nanv4sf (__a, __b);
21892 }
21893 
21894 __extension__ extern __inline float64x2_t
21895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f64(float64x2_t __a,float64x2_t __b)21896 vminq_f64 (float64x2_t __a, float64x2_t __b)
21897 {
21898   return __builtin_aarch64_smin_nanv2df (__a, __b);
21899 }
21900 
21901 __extension__ extern __inline int8x16_t
21902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s8(int8x16_t __a,int8x16_t __b)21903 vminq_s8 (int8x16_t __a, int8x16_t __b)
21904 {
21905   return __builtin_aarch64_sminv16qi (__a, __b);
21906 }
21907 
21908 __extension__ extern __inline int16x8_t
21909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s16(int16x8_t __a,int16x8_t __b)21910 vminq_s16 (int16x8_t __a, int16x8_t __b)
21911 {
21912   return __builtin_aarch64_sminv8hi (__a, __b);
21913 }
21914 
21915 __extension__ extern __inline int32x4_t
21916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s32(int32x4_t __a,int32x4_t __b)21917 vminq_s32 (int32x4_t __a, int32x4_t __b)
21918 {
21919   return __builtin_aarch64_sminv4si (__a, __b);
21920 }
21921 
21922 __extension__ extern __inline uint8x16_t
21923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)21924 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
21925 {
21926   return (uint8x16_t) __builtin_aarch64_uminv16qi ((int8x16_t) __a,
21927 						   (int8x16_t) __b);
21928 }
21929 
21930 __extension__ extern __inline uint16x8_t
21931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)21932 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
21933 {
21934   return (uint16x8_t) __builtin_aarch64_uminv8hi ((int16x8_t) __a,
21935 						  (int16x8_t) __b);
21936 }
21937 
21938 __extension__ extern __inline uint32x4_t
21939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)21940 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
21941 {
21942   return (uint32x4_t) __builtin_aarch64_uminv4si ((int32x4_t) __a,
21943 						  (int32x4_t) __b);
21944 }
21945 
21946 /* vminnm  */
21947 
21948 __extension__ extern __inline float32x2_t
21949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f32(float32x2_t __a,float32x2_t __b)21950 vminnm_f32 (float32x2_t __a, float32x2_t __b)
21951 {
21952   return __builtin_aarch64_fminv2sf (__a, __b);
21953 }
21954 
21955 __extension__ extern __inline float64x1_t
21956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f64(float64x1_t __a,float64x1_t __b)21957 vminnm_f64 (float64x1_t __a, float64x1_t __b)
21958 {
21959   return (float64x1_t)
21960     { __builtin_aarch64_fmindf (vget_lane_f64 (__a, 0),
21961 				vget_lane_f64 (__b, 0)) };
21962 }
21963 
21964 __extension__ extern __inline float32x4_t
21965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f32(float32x4_t __a,float32x4_t __b)21966 vminnmq_f32 (float32x4_t __a, float32x4_t __b)
21967 {
21968   return __builtin_aarch64_fminv4sf (__a, __b);
21969 }
21970 
21971 __extension__ extern __inline float64x2_t
21972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f64(float64x2_t __a,float64x2_t __b)21973 vminnmq_f64 (float64x2_t __a, float64x2_t __b)
21974 {
21975   return __builtin_aarch64_fminv2df (__a, __b);
21976 }
21977 
21978 /* vminv  */
21979 
21980 __extension__ extern __inline float32_t
21981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f32(float32x2_t __a)21982 vminv_f32 (float32x2_t __a)
21983 {
21984   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
21985 }
21986 
21987 __extension__ extern __inline int8_t
21988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s8(int8x8_t __a)21989 vminv_s8 (int8x8_t __a)
21990 {
21991   return __builtin_aarch64_reduc_smin_scal_v8qi (__a);
21992 }
21993 
21994 __extension__ extern __inline int16_t
21995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s16(int16x4_t __a)21996 vminv_s16 (int16x4_t __a)
21997 {
21998   return __builtin_aarch64_reduc_smin_scal_v4hi (__a);
21999 }
22000 
22001 __extension__ extern __inline int32_t
22002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s32(int32x2_t __a)22003 vminv_s32 (int32x2_t __a)
22004 {
22005   return __builtin_aarch64_reduc_smin_scal_v2si (__a);
22006 }
22007 
22008 __extension__ extern __inline uint8_t
22009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u8(uint8x8_t __a)22010 vminv_u8 (uint8x8_t __a)
22011 {
22012   return __builtin_aarch64_reduc_umin_scal_v8qi_uu (__a);
22013 }
22014 
22015 __extension__ extern __inline uint16_t
22016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u16(uint16x4_t __a)22017 vminv_u16 (uint16x4_t __a)
22018 {
22019   return __builtin_aarch64_reduc_umin_scal_v4hi_uu (__a);
22020 }
22021 
22022 __extension__ extern __inline uint32_t
22023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u32(uint32x2_t __a)22024 vminv_u32 (uint32x2_t __a)
22025 {
22026   return __builtin_aarch64_reduc_umin_scal_v2si_uu (__a);
22027 }
22028 
22029 __extension__ extern __inline float32_t
22030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f32(float32x4_t __a)22031 vminvq_f32 (float32x4_t __a)
22032 {
22033   return __builtin_aarch64_reduc_smin_nan_scal_v4sf (__a);
22034 }
22035 
22036 __extension__ extern __inline float64_t
22037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f64(float64x2_t __a)22038 vminvq_f64 (float64x2_t __a)
22039 {
22040   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
22041 }
22042 
22043 __extension__ extern __inline int8_t
22044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s8(int8x16_t __a)22045 vminvq_s8 (int8x16_t __a)
22046 {
22047   return __builtin_aarch64_reduc_smin_scal_v16qi (__a);
22048 }
22049 
22050 __extension__ extern __inline int16_t
22051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s16(int16x8_t __a)22052 vminvq_s16 (int16x8_t __a)
22053 {
22054   return __builtin_aarch64_reduc_smin_scal_v8hi (__a);
22055 }
22056 
22057 __extension__ extern __inline int32_t
22058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s32(int32x4_t __a)22059 vminvq_s32 (int32x4_t __a)
22060 {
22061   return __builtin_aarch64_reduc_smin_scal_v4si (__a);
22062 }
22063 
22064 __extension__ extern __inline uint8_t
22065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u8(uint8x16_t __a)22066 vminvq_u8 (uint8x16_t __a)
22067 {
22068   return __builtin_aarch64_reduc_umin_scal_v16qi_uu (__a);
22069 }
22070 
22071 __extension__ extern __inline uint16_t
22072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u16(uint16x8_t __a)22073 vminvq_u16 (uint16x8_t __a)
22074 {
22075   return __builtin_aarch64_reduc_umin_scal_v8hi_uu (__a);
22076 }
22077 
22078 __extension__ extern __inline uint32_t
22079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u32(uint32x4_t __a)22080 vminvq_u32 (uint32x4_t __a)
22081 {
22082   return __builtin_aarch64_reduc_umin_scal_v4si_uu (__a);
22083 }
22084 
22085 /* vminnmv  */
22086 
22087 __extension__ extern __inline float32_t
22088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f32(float32x2_t __a)22089 vminnmv_f32 (float32x2_t __a)
22090 {
22091   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
22092 }
22093 
22094 __extension__ extern __inline float32_t
22095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f32(float32x4_t __a)22096 vminnmvq_f32 (float32x4_t __a)
22097 {
22098   return __builtin_aarch64_reduc_smin_scal_v4sf (__a);
22099 }
22100 
22101 __extension__ extern __inline float64_t
22102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f64(float64x2_t __a)22103 vminnmvq_f64 (float64x2_t __a)
22104 {
22105   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
22106 }
22107 
22108 /* vmla */
22109 
22110 __extension__ extern __inline float32x2_t
22111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)22112 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
22113 {
22114   return __a + __b * __c;
22115 }
22116 
22117 __extension__ extern __inline float64x1_t
22118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)22119 vmla_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
22120 {
22121   return __a + __b * __c;
22122 }
22123 
22124 __extension__ extern __inline float32x4_t
22125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)22126 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
22127 {
22128   return __a + __b * __c;
22129 }
22130 
22131 __extension__ extern __inline float64x2_t
22132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)22133 vmlaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
22134 {
22135   return __a + __b * __c;
22136 }
22137 
22138 /* vmla_lane  */
22139 
22140 __extension__ extern __inline float32x2_t
22141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)22142 vmla_lane_f32 (float32x2_t __a, float32x2_t __b,
22143 	       float32x2_t __c, const int __lane)
22144 {
22145   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22146 }
22147 
22148 __extension__ extern __inline int16x4_t
22149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)22150 vmla_lane_s16 (int16x4_t __a, int16x4_t __b,
22151 		int16x4_t __c, const int __lane)
22152 {
22153   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22154 }
22155 
22156 __extension__ extern __inline int32x2_t
22157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)22158 vmla_lane_s32 (int32x2_t __a, int32x2_t __b,
22159 		int32x2_t __c, const int __lane)
22160 {
22161   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22162 }
22163 
22164 __extension__ extern __inline uint16x4_t
22165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)22166 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b,
22167 		uint16x4_t __c, const int __lane)
22168 {
22169   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22170 }
22171 
22172 __extension__ extern __inline uint32x2_t
22173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)22174 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b,
22175 	       uint32x2_t __c, const int __lane)
22176 {
22177   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22178 }
22179 
22180 /* vmla_laneq  */
22181 
22182 __extension__ extern __inline float32x2_t
22183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)22184 vmla_laneq_f32 (float32x2_t __a, float32x2_t __b,
22185 	        float32x4_t __c, const int __lane)
22186 {
22187   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22188 }
22189 
22190 __extension__ extern __inline int16x4_t
22191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)22192 vmla_laneq_s16 (int16x4_t __a, int16x4_t __b,
22193 		int16x8_t __c, const int __lane)
22194 {
22195   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22196 }
22197 
22198 __extension__ extern __inline int32x2_t
22199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)22200 vmla_laneq_s32 (int32x2_t __a, int32x2_t __b,
22201 		int32x4_t __c, const int __lane)
22202 {
22203   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22204 }
22205 
22206 __extension__ extern __inline uint16x4_t
22207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)22208 vmla_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
22209 		uint16x8_t __c, const int __lane)
22210 {
22211   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22212 }
22213 
22214 __extension__ extern __inline uint32x2_t
22215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)22216 vmla_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
22217 		uint32x4_t __c, const int __lane)
22218 {
22219   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22220 }
22221 
22222 /* vmlaq_lane  */
22223 
22224 __extension__ extern __inline float32x4_t
22225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)22226 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b,
22227 		float32x2_t __c, const int __lane)
22228 {
22229   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22230 }
22231 
22232 __extension__ extern __inline int16x8_t
22233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)22234 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b,
22235 		int16x4_t __c, const int __lane)
22236 {
22237   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22238 }
22239 
22240 __extension__ extern __inline int32x4_t
22241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)22242 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b,
22243 		int32x2_t __c, const int __lane)
22244 {
22245   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22246 }
22247 
22248 __extension__ extern __inline uint16x8_t
22249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)22250 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
22251 		uint16x4_t __c, const int __lane)
22252 {
22253   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22254 }
22255 
22256 __extension__ extern __inline uint32x4_t
22257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)22258 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
22259 		uint32x2_t __c, const int __lane)
22260 {
22261   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22262 }
22263 
22264   /* vmlaq_laneq  */
22265 
22266 __extension__ extern __inline float32x4_t
22267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)22268 vmlaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
22269 		 float32x4_t __c, const int __lane)
22270 {
22271   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22272 }
22273 
22274 __extension__ extern __inline int16x8_t
22275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)22276 vmlaq_laneq_s16 (int16x8_t __a, int16x8_t __b,
22277 		int16x8_t __c, const int __lane)
22278 {
22279   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22280 }
22281 
22282 __extension__ extern __inline int32x4_t
22283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)22284 vmlaq_laneq_s32 (int32x4_t __a, int32x4_t __b,
22285 		int32x4_t __c, const int __lane)
22286 {
22287   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22288 }
22289 
22290 __extension__ extern __inline uint16x8_t
22291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)22292 vmlaq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
22293 		uint16x8_t __c, const int __lane)
22294 {
22295   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22296 }
22297 
22298 __extension__ extern __inline uint32x4_t
22299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)22300 vmlaq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
22301 		uint32x4_t __c, const int __lane)
22302 {
22303   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22304 }
22305 
22306 /* vmls  */
22307 
22308 __extension__ extern __inline float32x2_t
22309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)22310 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
22311 {
22312   return __a - __b * __c;
22313 }
22314 
22315 __extension__ extern __inline float64x1_t
22316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)22317 vmls_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
22318 {
22319   return __a - __b * __c;
22320 }
22321 
22322 __extension__ extern __inline float32x4_t
22323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)22324 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
22325 {
22326   return __a - __b * __c;
22327 }
22328 
22329 __extension__ extern __inline float64x2_t
22330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)22331 vmlsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
22332 {
22333   return __a - __b * __c;
22334 }
22335 
22336 /* vmls_lane  */
22337 
22338 __extension__ extern __inline float32x2_t
22339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)22340 vmls_lane_f32 (float32x2_t __a, float32x2_t __b,
22341 	       float32x2_t __c, const int __lane)
22342 {
22343   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22344 }
22345 
22346 __extension__ extern __inline int16x4_t
22347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)22348 vmls_lane_s16 (int16x4_t __a, int16x4_t __b,
22349 		int16x4_t __c, const int __lane)
22350 {
22351   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22352 }
22353 
22354 __extension__ extern __inline int32x2_t
22355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)22356 vmls_lane_s32 (int32x2_t __a, int32x2_t __b,
22357 		int32x2_t __c, const int __lane)
22358 {
22359   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22360 }
22361 
22362 __extension__ extern __inline uint16x4_t
22363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)22364 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b,
22365 		uint16x4_t __c, const int __lane)
22366 {
22367   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22368 }
22369 
22370 __extension__ extern __inline uint32x2_t
22371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)22372 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b,
22373 	       uint32x2_t __c, const int __lane)
22374 {
22375   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22376 }
22377 
22378 /* vmls_laneq  */
22379 
22380 __extension__ extern __inline float32x2_t
22381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)22382 vmls_laneq_f32 (float32x2_t __a, float32x2_t __b,
22383 	       float32x4_t __c, const int __lane)
22384 {
22385   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22386 }
22387 
22388 __extension__ extern __inline int16x4_t
22389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)22390 vmls_laneq_s16 (int16x4_t __a, int16x4_t __b,
22391 		int16x8_t __c, const int __lane)
22392 {
22393   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22394 }
22395 
22396 __extension__ extern __inline int32x2_t
22397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)22398 vmls_laneq_s32 (int32x2_t __a, int32x2_t __b,
22399 		int32x4_t __c, const int __lane)
22400 {
22401   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22402 }
22403 
22404 __extension__ extern __inline uint16x4_t
22405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)22406 vmls_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
22407 		uint16x8_t __c, const int __lane)
22408 {
22409   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22410 }
22411 
22412 __extension__ extern __inline uint32x2_t
22413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)22414 vmls_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
22415 		uint32x4_t __c, const int __lane)
22416 {
22417   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22418 }
22419 
22420 /* vmlsq_lane  */
22421 
22422 __extension__ extern __inline float32x4_t
22423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)22424 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b,
22425 		float32x2_t __c, const int __lane)
22426 {
22427   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22428 }
22429 
22430 __extension__ extern __inline int16x8_t
22431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)22432 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b,
22433 		int16x4_t __c, const int __lane)
22434 {
22435   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22436 }
22437 
22438 __extension__ extern __inline int32x4_t
22439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)22440 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b,
22441 		int32x2_t __c, const int __lane)
22442 {
22443   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22444 }
22445 
22446 __extension__ extern __inline uint16x8_t
22447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)22448 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
22449 		uint16x4_t __c, const int __lane)
22450 {
22451   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22452 }
22453 
22454 __extension__ extern __inline uint32x4_t
22455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)22456 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
22457 		uint32x2_t __c, const int __lane)
22458 {
22459   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22460 }
22461 
22462   /* vmlsq_laneq  */
22463 
22464 __extension__ extern __inline float32x4_t
22465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)22466 vmlsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
22467 		float32x4_t __c, const int __lane)
22468 {
22469   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22470 }
22471 
22472 __extension__ extern __inline int16x8_t
22473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)22474 vmlsq_laneq_s16 (int16x8_t __a, int16x8_t __b,
22475 		int16x8_t __c, const int __lane)
22476 {
22477   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22478 }
22479 
22480 __extension__ extern __inline int32x4_t
22481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)22482 vmlsq_laneq_s32 (int32x4_t __a, int32x4_t __b,
22483 		int32x4_t __c, const int __lane)
22484 {
22485   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22486 }
22487 __extension__ extern __inline uint16x8_t
22488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)22489 vmlsq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
22490 		uint16x8_t __c, const int __lane)
22491 {
22492   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22493 }
22494 
22495 __extension__ extern __inline uint32x4_t
22496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)22497 vmlsq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
22498 		uint32x4_t __c, const int __lane)
22499 {
22500   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22501 }
22502 
22503 /* vmov_n_  */
22504 
22505 __extension__ extern __inline float16x4_t
22506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f16(float16_t __a)22507 vmov_n_f16 (float16_t __a)
22508 {
22509   return vdup_n_f16 (__a);
22510 }
22511 
22512 __extension__ extern __inline float32x2_t
22513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f32(float32_t __a)22514 vmov_n_f32 (float32_t __a)
22515 {
22516   return vdup_n_f32 (__a);
22517 }
22518 
22519 __extension__ extern __inline float64x1_t
22520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f64(float64_t __a)22521 vmov_n_f64 (float64_t __a)
22522 {
22523   return (float64x1_t) {__a};
22524 }
22525 
22526 __extension__ extern __inline poly8x8_t
22527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p8(poly8_t __a)22528 vmov_n_p8 (poly8_t __a)
22529 {
22530   return vdup_n_p8 (__a);
22531 }
22532 
22533 __extension__ extern __inline poly16x4_t
22534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p16(poly16_t __a)22535 vmov_n_p16 (poly16_t __a)
22536 {
22537   return vdup_n_p16 (__a);
22538 }
22539 
22540 __extension__ extern __inline poly64x1_t
22541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p64(poly64_t __a)22542 vmov_n_p64 (poly64_t __a)
22543 {
22544   return vdup_n_p64 (__a);
22545 }
22546 
22547 __extension__ extern __inline int8x8_t
22548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s8(int8_t __a)22549 vmov_n_s8 (int8_t __a)
22550 {
22551   return vdup_n_s8 (__a);
22552 }
22553 
22554 __extension__ extern __inline int16x4_t
22555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s16(int16_t __a)22556 vmov_n_s16 (int16_t __a)
22557 {
22558   return vdup_n_s16 (__a);
22559 }
22560 
22561 __extension__ extern __inline int32x2_t
22562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s32(int32_t __a)22563 vmov_n_s32 (int32_t __a)
22564 {
22565   return vdup_n_s32 (__a);
22566 }
22567 
22568 __extension__ extern __inline int64x1_t
22569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s64(int64_t __a)22570 vmov_n_s64 (int64_t __a)
22571 {
22572   return (int64x1_t) {__a};
22573 }
22574 
22575 __extension__ extern __inline uint8x8_t
22576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u8(uint8_t __a)22577 vmov_n_u8 (uint8_t __a)
22578 {
22579   return vdup_n_u8 (__a);
22580 }
22581 
22582 __extension__ extern __inline uint16x4_t
22583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u16(uint16_t __a)22584 vmov_n_u16 (uint16_t __a)
22585 {
22586     return vdup_n_u16 (__a);
22587 }
22588 
22589 __extension__ extern __inline uint32x2_t
22590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u32(uint32_t __a)22591 vmov_n_u32 (uint32_t __a)
22592 {
22593    return vdup_n_u32 (__a);
22594 }
22595 
22596 __extension__ extern __inline uint64x1_t
22597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u64(uint64_t __a)22598 vmov_n_u64 (uint64_t __a)
22599 {
22600   return (uint64x1_t) {__a};
22601 }
22602 
22603 __extension__ extern __inline float16x8_t
22604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f16(float16_t __a)22605 vmovq_n_f16 (float16_t __a)
22606 {
22607   return vdupq_n_f16 (__a);
22608 }
22609 
22610 __extension__ extern __inline float32x4_t
22611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f32(float32_t __a)22612 vmovq_n_f32 (float32_t __a)
22613 {
22614   return vdupq_n_f32 (__a);
22615 }
22616 
22617 __extension__ extern __inline float64x2_t
22618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f64(float64_t __a)22619 vmovq_n_f64 (float64_t __a)
22620 {
22621   return vdupq_n_f64 (__a);
22622 }
22623 
22624 __extension__ extern __inline poly8x16_t
22625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p8(poly8_t __a)22626 vmovq_n_p8 (poly8_t __a)
22627 {
22628   return vdupq_n_p8 (__a);
22629 }
22630 
22631 __extension__ extern __inline poly16x8_t
22632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p16(poly16_t __a)22633 vmovq_n_p16 (poly16_t __a)
22634 {
22635   return vdupq_n_p16 (__a);
22636 }
22637 
22638 __extension__ extern __inline poly64x2_t
22639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p64(poly64_t __a)22640 vmovq_n_p64 (poly64_t __a)
22641 {
22642   return vdupq_n_p64 (__a);
22643 }
22644 
22645 __extension__ extern __inline int8x16_t
22646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s8(int8_t __a)22647 vmovq_n_s8 (int8_t __a)
22648 {
22649   return vdupq_n_s8 (__a);
22650 }
22651 
22652 __extension__ extern __inline int16x8_t
22653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s16(int16_t __a)22654 vmovq_n_s16 (int16_t __a)
22655 {
22656   return vdupq_n_s16 (__a);
22657 }
22658 
22659 __extension__ extern __inline int32x4_t
22660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s32(int32_t __a)22661 vmovq_n_s32 (int32_t __a)
22662 {
22663   return vdupq_n_s32 (__a);
22664 }
22665 
22666 __extension__ extern __inline int64x2_t
22667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s64(int64_t __a)22668 vmovq_n_s64 (int64_t __a)
22669 {
22670   return vdupq_n_s64 (__a);
22671 }
22672 
22673 __extension__ extern __inline uint8x16_t
22674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u8(uint8_t __a)22675 vmovq_n_u8 (uint8_t __a)
22676 {
22677   return vdupq_n_u8 (__a);
22678 }
22679 
22680 __extension__ extern __inline uint16x8_t
22681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u16(uint16_t __a)22682 vmovq_n_u16 (uint16_t __a)
22683 {
22684   return vdupq_n_u16 (__a);
22685 }
22686 
22687 __extension__ extern __inline uint32x4_t
22688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u32(uint32_t __a)22689 vmovq_n_u32 (uint32_t __a)
22690 {
22691   return vdupq_n_u32 (__a);
22692 }
22693 
22694 __extension__ extern __inline uint64x2_t
22695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u64(uint64_t __a)22696 vmovq_n_u64 (uint64_t __a)
22697 {
22698   return vdupq_n_u64 (__a);
22699 }
22700 
22701 /* vmul_lane  */
22702 
22703 __extension__ extern __inline float32x2_t
22704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __lane)22705 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __lane)
22706 {
22707   return __a * __aarch64_vget_lane_any (__b, __lane);
22708 }
22709 
22710 __extension__ extern __inline float64x1_t
22711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f64(float64x1_t __a,float64x1_t __b,const int __lane)22712 vmul_lane_f64 (float64x1_t __a, float64x1_t __b, const int __lane)
22713 {
22714   return __a * __b;
22715 }
22716 
22717 __extension__ extern __inline int16x4_t
22718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __lane)22719 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __lane)
22720 {
22721   return __a * __aarch64_vget_lane_any (__b, __lane);
22722 }
22723 
22724 __extension__ extern __inline int32x2_t
22725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __lane)22726 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __lane)
22727 {
22728   return __a * __aarch64_vget_lane_any (__b, __lane);
22729 }
22730 
22731 __extension__ extern __inline uint16x4_t
22732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __lane)22733 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __lane)
22734 {
22735   return __a * __aarch64_vget_lane_any (__b, __lane);
22736 }
22737 
22738 __extension__ extern __inline uint32x2_t
22739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __lane)22740 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __lane)
22741 {
22742   return __a * __aarch64_vget_lane_any (__b, __lane);
22743 }
22744 
22745 /* vmuld_lane  */
22746 
22747 __extension__ extern __inline float64_t
22748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_lane_f64(float64_t __a,float64x1_t __b,const int __lane)22749 vmuld_lane_f64 (float64_t __a, float64x1_t __b, const int __lane)
22750 {
22751   return __a * __aarch64_vget_lane_any (__b, __lane);
22752 }
22753 
22754 __extension__ extern __inline float64_t
22755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_laneq_f64(float64_t __a,float64x2_t __b,const int __lane)22756 vmuld_laneq_f64 (float64_t __a, float64x2_t __b, const int __lane)
22757 {
22758   return __a * __aarch64_vget_lane_any (__b, __lane);
22759 }
22760 
22761 /* vmuls_lane  */
22762 
22763 __extension__ extern __inline float32_t
22764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_lane_f32(float32_t __a,float32x2_t __b,const int __lane)22765 vmuls_lane_f32 (float32_t __a, float32x2_t __b, const int __lane)
22766 {
22767   return __a * __aarch64_vget_lane_any (__b, __lane);
22768 }
22769 
22770 __extension__ extern __inline float32_t
22771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_laneq_f32(float32_t __a,float32x4_t __b,const int __lane)22772 vmuls_laneq_f32 (float32_t __a, float32x4_t __b, const int __lane)
22773 {
22774   return __a * __aarch64_vget_lane_any (__b, __lane);
22775 }
22776 
22777 /* vmul_laneq  */
22778 
22779 __extension__ extern __inline float32x2_t
22780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f32(float32x2_t __a,float32x4_t __b,const int __lane)22781 vmul_laneq_f32 (float32x2_t __a, float32x4_t __b, const int __lane)
22782 {
22783   return __a * __aarch64_vget_lane_any (__b, __lane);
22784 }
22785 
22786 __extension__ extern __inline float64x1_t
22787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f64(float64x1_t __a,float64x2_t __b,const int __lane)22788 vmul_laneq_f64 (float64x1_t __a, float64x2_t __b, const int __lane)
22789 {
22790   return __a * __aarch64_vget_lane_any (__b, __lane);
22791 }
22792 
22793 __extension__ extern __inline int16x4_t
22794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s16(int16x4_t __a,int16x8_t __b,const int __lane)22795 vmul_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __lane)
22796 {
22797   return __a * __aarch64_vget_lane_any (__b, __lane);
22798 }
22799 
22800 __extension__ extern __inline int32x2_t
22801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s32(int32x2_t __a,int32x4_t __b,const int __lane)22802 vmul_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __lane)
22803 {
22804   return __a * __aarch64_vget_lane_any (__b, __lane);
22805 }
22806 
22807 __extension__ extern __inline uint16x4_t
22808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __lane)22809 vmul_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __lane)
22810 {
22811   return __a * __aarch64_vget_lane_any (__b, __lane);
22812 }
22813 
22814 __extension__ extern __inline uint32x2_t
22815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __lane)22816 vmul_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __lane)
22817 {
22818   return __a * __aarch64_vget_lane_any (__b, __lane);
22819 }
22820 
22821 /* vmul_n  */
22822 
22823 __extension__ extern __inline float64x1_t
22824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f64(float64x1_t __a,float64_t __b)22825 vmul_n_f64  (float64x1_t __a, float64_t __b)
22826 {
22827   return (float64x1_t) { vget_lane_f64 (__a, 0) * __b };
22828 }
22829 
22830 /* vmulq_lane  */
22831 
22832 __extension__ extern __inline float32x4_t
22833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __lane)22834 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __lane)
22835 {
22836   return __a * __aarch64_vget_lane_any (__b, __lane);
22837 }
22838 
22839 __extension__ extern __inline float64x2_t
22840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f64(float64x2_t __a,float64x1_t __b,const int __lane)22841 vmulq_lane_f64 (float64x2_t __a, float64x1_t __b, const int __lane)
22842 {
22843   __AARCH64_LANE_CHECK (__a, __lane);
22844   return __a * __b[0];
22845 }
22846 
22847 __extension__ extern __inline int16x8_t
22848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __lane)22849 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __lane)
22850 {
22851   return __a * __aarch64_vget_lane_any (__b, __lane);
22852 }
22853 
22854 __extension__ extern __inline int32x4_t
22855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __lane)22856 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __lane)
22857 {
22858   return __a * __aarch64_vget_lane_any (__b, __lane);
22859 }
22860 
22861 __extension__ extern __inline uint16x8_t
22862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __lane)22863 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __lane)
22864 {
22865   return __a * __aarch64_vget_lane_any (__b, __lane);
22866 }
22867 
22868 __extension__ extern __inline uint32x4_t
22869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __lane)22870 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __lane)
22871 {
22872   return __a * __aarch64_vget_lane_any (__b, __lane);
22873 }
22874 
22875 /* vmulq_laneq  */
22876 
22877 __extension__ extern __inline float32x4_t
22878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f32(float32x4_t __a,float32x4_t __b,const int __lane)22879 vmulq_laneq_f32 (float32x4_t __a, float32x4_t __b, const int __lane)
22880 {
22881   return __a * __aarch64_vget_lane_any (__b, __lane);
22882 }
22883 
22884 __extension__ extern __inline float64x2_t
22885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f64(float64x2_t __a,float64x2_t __b,const int __lane)22886 vmulq_laneq_f64 (float64x2_t __a, float64x2_t __b, const int __lane)
22887 {
22888   return __a * __aarch64_vget_lane_any (__b, __lane);
22889 }
22890 
22891 __extension__ extern __inline int16x8_t
22892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __lane)22893 vmulq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __lane)
22894 {
22895   return __a * __aarch64_vget_lane_any (__b, __lane);
22896 }
22897 
22898 __extension__ extern __inline int32x4_t
22899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __lane)22900 vmulq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __lane)
22901 {
22902   return __a * __aarch64_vget_lane_any (__b, __lane);
22903 }
22904 
22905 __extension__ extern __inline uint16x8_t
22906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u16(uint16x8_t __a,uint16x8_t __b,const int __lane)22907 vmulq_laneq_u16 (uint16x8_t __a, uint16x8_t __b, const int __lane)
22908 {
22909   return __a * __aarch64_vget_lane_any (__b, __lane);
22910 }
22911 
22912 __extension__ extern __inline uint32x4_t
22913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u32(uint32x4_t __a,uint32x4_t __b,const int __lane)22914 vmulq_laneq_u32 (uint32x4_t __a, uint32x4_t __b, const int __lane)
22915 {
22916   return __a * __aarch64_vget_lane_any (__b, __lane);
22917 }
22918 
22919 /* vmul_n.  */
22920 
22921 __extension__ extern __inline float32x2_t
22922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f32(float32x2_t __a,float32_t __b)22923 vmul_n_f32 (float32x2_t __a, float32_t __b)
22924 {
22925   return __a * __b;
22926 }
22927 
22928 __extension__ extern __inline float32x4_t
22929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f32(float32x4_t __a,float32_t __b)22930 vmulq_n_f32 (float32x4_t __a, float32_t __b)
22931 {
22932   return __a * __b;
22933 }
22934 
22935 __extension__ extern __inline float64x2_t
22936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f64(float64x2_t __a,float64_t __b)22937 vmulq_n_f64 (float64x2_t __a, float64_t __b)
22938 {
22939   return __a * __b;
22940 }
22941 
22942 __extension__ extern __inline int16x4_t
22943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s16(int16x4_t __a,int16_t __b)22944 vmul_n_s16 (int16x4_t __a, int16_t __b)
22945 {
22946   return __a * __b;
22947 }
22948 
22949 __extension__ extern __inline int16x8_t
22950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s16(int16x8_t __a,int16_t __b)22951 vmulq_n_s16 (int16x8_t __a, int16_t __b)
22952 {
22953   return __a * __b;
22954 }
22955 
22956 __extension__ extern __inline int32x2_t
22957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s32(int32x2_t __a,int32_t __b)22958 vmul_n_s32 (int32x2_t __a, int32_t __b)
22959 {
22960   return __a * __b;
22961 }
22962 
22963 __extension__ extern __inline int32x4_t
22964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s32(int32x4_t __a,int32_t __b)22965 vmulq_n_s32 (int32x4_t __a, int32_t __b)
22966 {
22967   return __a * __b;
22968 }
22969 
22970 __extension__ extern __inline uint16x4_t
22971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)22972 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
22973 {
22974   return __a * __b;
22975 }
22976 
22977 __extension__ extern __inline uint16x8_t
22978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)22979 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
22980 {
22981   return __a * __b;
22982 }
22983 
22984 __extension__ extern __inline uint32x2_t
22985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)22986 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
22987 {
22988   return __a * __b;
22989 }
22990 
22991 __extension__ extern __inline uint32x4_t
22992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)22993 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
22994 {
22995   return __a * __b;
22996 }
22997 
22998 /* vmvn  */
22999 
23000 __extension__ extern __inline poly8x8_t
23001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8(poly8x8_t __a)23002 vmvn_p8 (poly8x8_t __a)
23003 {
23004   return (poly8x8_t) ~((int8x8_t) __a);
23005 }
23006 
23007 __extension__ extern __inline int8x8_t
23008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8(int8x8_t __a)23009 vmvn_s8 (int8x8_t __a)
23010 {
23011   return ~__a;
23012 }
23013 
23014 __extension__ extern __inline int16x4_t
23015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16(int16x4_t __a)23016 vmvn_s16 (int16x4_t __a)
23017 {
23018   return ~__a;
23019 }
23020 
23021 __extension__ extern __inline int32x2_t
23022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32(int32x2_t __a)23023 vmvn_s32 (int32x2_t __a)
23024 {
23025   return ~__a;
23026 }
23027 
23028 __extension__ extern __inline uint8x8_t
23029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8(uint8x8_t __a)23030 vmvn_u8 (uint8x8_t __a)
23031 {
23032   return ~__a;
23033 }
23034 
23035 __extension__ extern __inline uint16x4_t
23036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16(uint16x4_t __a)23037 vmvn_u16 (uint16x4_t __a)
23038 {
23039   return ~__a;
23040 }
23041 
23042 __extension__ extern __inline uint32x2_t
23043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32(uint32x2_t __a)23044 vmvn_u32 (uint32x2_t __a)
23045 {
23046   return ~__a;
23047 }
23048 
23049 __extension__ extern __inline poly8x16_t
23050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8(poly8x16_t __a)23051 vmvnq_p8 (poly8x16_t __a)
23052 {
23053   return (poly8x16_t) ~((int8x16_t) __a);
23054 }
23055 
23056 __extension__ extern __inline int8x16_t
23057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8(int8x16_t __a)23058 vmvnq_s8 (int8x16_t __a)
23059 {
23060   return ~__a;
23061 }
23062 
23063 __extension__ extern __inline int16x8_t
23064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16(int16x8_t __a)23065 vmvnq_s16 (int16x8_t __a)
23066 {
23067   return ~__a;
23068 }
23069 
23070 __extension__ extern __inline int32x4_t
23071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32(int32x4_t __a)23072 vmvnq_s32 (int32x4_t __a)
23073 {
23074   return ~__a;
23075 }
23076 
23077 __extension__ extern __inline uint8x16_t
23078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8(uint8x16_t __a)23079 vmvnq_u8 (uint8x16_t __a)
23080 {
23081   return ~__a;
23082 }
23083 
23084 __extension__ extern __inline uint16x8_t
23085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16(uint16x8_t __a)23086 vmvnq_u16 (uint16x8_t __a)
23087 {
23088   return ~__a;
23089 }
23090 
23091 __extension__ extern __inline uint32x4_t
23092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32(uint32x4_t __a)23093 vmvnq_u32 (uint32x4_t __a)
23094 {
23095   return ~__a;
23096 }
23097 
23098 /* vneg  */
23099 
23100 __extension__ extern __inline float32x2_t
23101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f32(float32x2_t __a)23102 vneg_f32 (float32x2_t __a)
23103 {
23104   return -__a;
23105 }
23106 
23107 __extension__ extern __inline float64x1_t
23108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f64(float64x1_t __a)23109 vneg_f64 (float64x1_t __a)
23110 {
23111   return -__a;
23112 }
23113 
23114 __extension__ extern __inline int8x8_t
23115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s8(int8x8_t __a)23116 vneg_s8 (int8x8_t __a)
23117 {
23118   return -__a;
23119 }
23120 
23121 __extension__ extern __inline int16x4_t
23122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s16(int16x4_t __a)23123 vneg_s16 (int16x4_t __a)
23124 {
23125   return -__a;
23126 }
23127 
23128 __extension__ extern __inline int32x2_t
23129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s32(int32x2_t __a)23130 vneg_s32 (int32x2_t __a)
23131 {
23132   return -__a;
23133 }
23134 
23135 __extension__ extern __inline int64x1_t
23136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s64(int64x1_t __a)23137 vneg_s64 (int64x1_t __a)
23138 {
23139   return -__a;
23140 }
23141 
23142 /* According to the ACLE, the negative of the minimum (signed)
23143    value is itself.  This leads to a semantics mismatch, as this is
23144    undefined behaviour in C.  The value range predictor is not
23145    aware that the negation of a negative number can still be negative
23146    and it may try to fold the expression.  See the test in
23147    gcc.target/aarch64/vnegd_s64.c for an example.
23148 
23149    The cast below tricks the value range predictor to include
23150    INT64_MIN in the range it computes.  So for x in the range
23151    [INT64_MIN, y] the range prediction after vnegd_s64 (x) will
23152    be ~[INT64_MIN + 1, y].  */
23153 
23154 __extension__ extern __inline int64_t
23155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegd_s64(int64_t __a)23156 vnegd_s64 (int64_t __a)
23157 {
23158   return - (uint64_t) __a;
23159 }
23160 
23161 __extension__ extern __inline float32x4_t
23162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f32(float32x4_t __a)23163 vnegq_f32 (float32x4_t __a)
23164 {
23165   return -__a;
23166 }
23167 
23168 __extension__ extern __inline float64x2_t
23169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f64(float64x2_t __a)23170 vnegq_f64 (float64x2_t __a)
23171 {
23172   return -__a;
23173 }
23174 
23175 __extension__ extern __inline int8x16_t
23176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s8(int8x16_t __a)23177 vnegq_s8 (int8x16_t __a)
23178 {
23179   return -__a;
23180 }
23181 
23182 __extension__ extern __inline int16x8_t
23183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s16(int16x8_t __a)23184 vnegq_s16 (int16x8_t __a)
23185 {
23186   return -__a;
23187 }
23188 
23189 __extension__ extern __inline int32x4_t
23190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s32(int32x4_t __a)23191 vnegq_s32 (int32x4_t __a)
23192 {
23193   return -__a;
23194 }
23195 
23196 __extension__ extern __inline int64x2_t
23197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s64(int64x2_t __a)23198 vnegq_s64 (int64x2_t __a)
23199 {
23200   return -__a;
23201 }
23202 
23203 /* vpadd  */
23204 
23205 __extension__ extern __inline float32x2_t
23206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f32(float32x2_t __a,float32x2_t __b)23207 vpadd_f32 (float32x2_t __a, float32x2_t __b)
23208 {
23209   return __builtin_aarch64_faddpv2sf (__a, __b);
23210 }
23211 
23212 __extension__ extern __inline float32x4_t
23213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f32(float32x4_t __a,float32x4_t __b)23214 vpaddq_f32 (float32x4_t __a, float32x4_t __b)
23215 {
23216   return __builtin_aarch64_faddpv4sf (__a, __b);
23217 }
23218 
23219 __extension__ extern __inline float64x2_t
23220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f64(float64x2_t __a,float64x2_t __b)23221 vpaddq_f64 (float64x2_t __a, float64x2_t __b)
23222 {
23223   return __builtin_aarch64_faddpv2df (__a, __b);
23224 }
23225 
23226 __extension__ extern __inline int8x8_t
23227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s8(int8x8_t __a,int8x8_t __b)23228 vpadd_s8 (int8x8_t __a, int8x8_t __b)
23229 {
23230   return __builtin_aarch64_addpv8qi (__a, __b);
23231 }
23232 
23233 __extension__ extern __inline int16x4_t
23234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s16(int16x4_t __a,int16x4_t __b)23235 vpadd_s16 (int16x4_t __a, int16x4_t __b)
23236 {
23237   return __builtin_aarch64_addpv4hi (__a, __b);
23238 }
23239 
23240 __extension__ extern __inline int32x2_t
23241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s32(int32x2_t __a,int32x2_t __b)23242 vpadd_s32 (int32x2_t __a, int32x2_t __b)
23243 {
23244   return __builtin_aarch64_addpv2si (__a, __b);
23245 }
23246 
23247 __extension__ extern __inline uint8x8_t
23248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)23249 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
23250 {
23251   return (uint8x8_t) __builtin_aarch64_addpv8qi ((int8x8_t) __a,
23252 						 (int8x8_t) __b);
23253 }
23254 
23255 __extension__ extern __inline uint16x4_t
23256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)23257 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
23258 {
23259   return (uint16x4_t) __builtin_aarch64_addpv4hi ((int16x4_t) __a,
23260 						  (int16x4_t) __b);
23261 }
23262 
23263 __extension__ extern __inline uint32x2_t
23264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)23265 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
23266 {
23267   return (uint32x2_t) __builtin_aarch64_addpv2si ((int32x2_t) __a,
23268 						  (int32x2_t) __b);
23269 }
23270 
23271 __extension__ extern __inline float32_t
23272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadds_f32(float32x2_t __a)23273 vpadds_f32 (float32x2_t __a)
23274 {
23275   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
23276 }
23277 
23278 __extension__ extern __inline float64_t
23279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_f64(float64x2_t __a)23280 vpaddd_f64 (float64x2_t __a)
23281 {
23282   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
23283 }
23284 
23285 __extension__ extern __inline int64_t
23286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_s64(int64x2_t __a)23287 vpaddd_s64 (int64x2_t __a)
23288 {
23289   return __builtin_aarch64_addpdi (__a);
23290 }
23291 
23292 __extension__ extern __inline uint64_t
23293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_u64(uint64x2_t __a)23294 vpaddd_u64 (uint64x2_t __a)
23295 {
23296   return __builtin_aarch64_addpdi ((int64x2_t) __a);
23297 }
23298 
23299 /* vqabs */
23300 
23301 __extension__ extern __inline int64x2_t
23302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s64(int64x2_t __a)23303 vqabsq_s64 (int64x2_t __a)
23304 {
23305   return (int64x2_t) __builtin_aarch64_sqabsv2di (__a);
23306 }
23307 
23308 __extension__ extern __inline int8_t
23309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsb_s8(int8_t __a)23310 vqabsb_s8 (int8_t __a)
23311 {
23312   return (int8_t) __builtin_aarch64_sqabsqi (__a);
23313 }
23314 
23315 __extension__ extern __inline int16_t
23316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsh_s16(int16_t __a)23317 vqabsh_s16 (int16_t __a)
23318 {
23319   return (int16_t) __builtin_aarch64_sqabshi (__a);
23320 }
23321 
23322 __extension__ extern __inline int32_t
23323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabss_s32(int32_t __a)23324 vqabss_s32 (int32_t __a)
23325 {
23326   return (int32_t) __builtin_aarch64_sqabssi (__a);
23327 }
23328 
23329 __extension__ extern __inline int64_t
23330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsd_s64(int64_t __a)23331 vqabsd_s64 (int64_t __a)
23332 {
23333   return __builtin_aarch64_sqabsdi (__a);
23334 }
23335 
23336 /* vqadd */
23337 
23338 __extension__ extern __inline int8_t
23339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_s8(int8_t __a,int8_t __b)23340 vqaddb_s8 (int8_t __a, int8_t __b)
23341 {
23342   return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
23343 }
23344 
23345 __extension__ extern __inline int16_t
23346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_s16(int16_t __a,int16_t __b)23347 vqaddh_s16 (int16_t __a, int16_t __b)
23348 {
23349   return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
23350 }
23351 
23352 __extension__ extern __inline int32_t
23353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_s32(int32_t __a,int32_t __b)23354 vqadds_s32 (int32_t __a, int32_t __b)
23355 {
23356   return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
23357 }
23358 
23359 __extension__ extern __inline int64_t
23360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_s64(int64_t __a,int64_t __b)23361 vqaddd_s64 (int64_t __a, int64_t __b)
23362 {
23363   return __builtin_aarch64_sqadddi (__a, __b);
23364 }
23365 
23366 __extension__ extern __inline uint8_t
23367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_u8(uint8_t __a,uint8_t __b)23368 vqaddb_u8 (uint8_t __a, uint8_t __b)
23369 {
23370   return (uint8_t) __builtin_aarch64_uqaddqi_uuu (__a, __b);
23371 }
23372 
23373 __extension__ extern __inline uint16_t
23374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_u16(uint16_t __a,uint16_t __b)23375 vqaddh_u16 (uint16_t __a, uint16_t __b)
23376 {
23377   return (uint16_t) __builtin_aarch64_uqaddhi_uuu (__a, __b);
23378 }
23379 
23380 __extension__ extern __inline uint32_t
23381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_u32(uint32_t __a,uint32_t __b)23382 vqadds_u32 (uint32_t __a, uint32_t __b)
23383 {
23384   return (uint32_t) __builtin_aarch64_uqaddsi_uuu (__a, __b);
23385 }
23386 
23387 __extension__ extern __inline uint64_t
23388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_u64(uint64_t __a,uint64_t __b)23389 vqaddd_u64 (uint64_t __a, uint64_t __b)
23390 {
23391   return __builtin_aarch64_uqadddi_uuu (__a, __b);
23392 }
23393 
23394 /* vqdmlal */
23395 
23396 __extension__ extern __inline int32x4_t
23397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)23398 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
23399 {
23400   return __builtin_aarch64_sqdmlalv4hi (__a, __b, __c);
23401 }
23402 
23403 __extension__ extern __inline int32x4_t
23404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)23405 vqdmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
23406 {
23407   return __builtin_aarch64_sqdmlal2v8hi (__a, __b, __c);
23408 }
23409 
23410 __extension__ extern __inline int32x4_t
23411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)23412 vqdmlal_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
23413 		       int const __d)
23414 {
23415   return __builtin_aarch64_sqdmlal2_lanev8hi (__a, __b, __c, __d);
23416 }
23417 
23418 __extension__ extern __inline int32x4_t
23419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)23420 vqdmlal_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
23421 			int const __d)
23422 {
23423   return __builtin_aarch64_sqdmlal2_laneqv8hi (__a, __b, __c, __d);
23424 }
23425 
23426 __extension__ extern __inline int32x4_t
23427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)23428 vqdmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
23429 {
23430   return __builtin_aarch64_sqdmlal2_nv8hi (__a, __b, __c);
23431 }
23432 
23433 __extension__ extern __inline int32x4_t
23434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)23435 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
23436 {
23437   return __builtin_aarch64_sqdmlal_lanev4hi (__a, __b, __c, __d);
23438 }
23439 
23440 __extension__ extern __inline int32x4_t
23441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)23442 vqdmlal_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
23443 {
23444   return __builtin_aarch64_sqdmlal_laneqv4hi (__a, __b, __c, __d);
23445 }
23446 
23447 __extension__ extern __inline int32x4_t
23448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)23449 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
23450 {
23451   return __builtin_aarch64_sqdmlal_nv4hi (__a, __b, __c);
23452 }
23453 
23454 __extension__ extern __inline int64x2_t
23455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)23456 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
23457 {
23458   return __builtin_aarch64_sqdmlalv2si (__a, __b, __c);
23459 }
23460 
23461 __extension__ extern __inline int64x2_t
23462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)23463 vqdmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
23464 {
23465   return __builtin_aarch64_sqdmlal2v4si (__a, __b, __c);
23466 }
23467 
23468 __extension__ extern __inline int64x2_t
23469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)23470 vqdmlal_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
23471 		       int const __d)
23472 {
23473   return __builtin_aarch64_sqdmlal2_lanev4si (__a, __b, __c, __d);
23474 }
23475 
23476 __extension__ extern __inline int64x2_t
23477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)23478 vqdmlal_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
23479 			int const __d)
23480 {
23481   return __builtin_aarch64_sqdmlal2_laneqv4si (__a, __b, __c, __d);
23482 }
23483 
23484 __extension__ extern __inline int64x2_t
23485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)23486 vqdmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
23487 {
23488   return __builtin_aarch64_sqdmlal2_nv4si (__a, __b, __c);
23489 }
23490 
23491 __extension__ extern __inline int64x2_t
23492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)23493 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
23494 {
23495   return __builtin_aarch64_sqdmlal_lanev2si (__a, __b, __c, __d);
23496 }
23497 
23498 __extension__ extern __inline int64x2_t
23499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)23500 vqdmlal_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
23501 {
23502   return __builtin_aarch64_sqdmlal_laneqv2si (__a, __b, __c, __d);
23503 }
23504 
23505 __extension__ extern __inline int64x2_t
23506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)23507 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
23508 {
23509   return __builtin_aarch64_sqdmlal_nv2si (__a, __b, __c);
23510 }
23511 
23512 __extension__ extern __inline int32_t
23513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_s16(int32_t __a,int16_t __b,int16_t __c)23514 vqdmlalh_s16 (int32_t __a, int16_t __b, int16_t __c)
23515 {
23516   return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
23517 }
23518 
23519 __extension__ extern __inline int32_t
23520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)23521 vqdmlalh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
23522 {
23523   return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
23524 }
23525 
23526 __extension__ extern __inline int32_t
23527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)23528 vqdmlalh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
23529 {
23530   return __builtin_aarch64_sqdmlal_laneqhi (__a, __b, __c, __d);
23531 }
23532 
23533 __extension__ extern __inline int64_t
23534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_s32(int64_t __a,int32_t __b,int32_t __c)23535 vqdmlals_s32 (int64_t __a, int32_t __b, int32_t __c)
23536 {
23537   return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
23538 }
23539 
23540 __extension__ extern __inline int64_t
23541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)23542 vqdmlals_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
23543 {
23544   return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
23545 }
23546 
23547 __extension__ extern __inline int64_t
23548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)23549 vqdmlals_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
23550 {
23551   return __builtin_aarch64_sqdmlal_laneqsi (__a, __b, __c, __d);
23552 }
23553 
23554 /* vqdmlsl */
23555 
23556 __extension__ extern __inline int32x4_t
23557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)23558 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
23559 {
23560   return __builtin_aarch64_sqdmlslv4hi (__a, __b, __c);
23561 }
23562 
23563 __extension__ extern __inline int32x4_t
23564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)23565 vqdmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
23566 {
23567   return __builtin_aarch64_sqdmlsl2v8hi (__a, __b, __c);
23568 }
23569 
23570 __extension__ extern __inline int32x4_t
23571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)23572 vqdmlsl_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
23573 		       int const __d)
23574 {
23575   return __builtin_aarch64_sqdmlsl2_lanev8hi (__a, __b, __c, __d);
23576 }
23577 
23578 __extension__ extern __inline int32x4_t
23579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)23580 vqdmlsl_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
23581 			int const __d)
23582 {
23583   return __builtin_aarch64_sqdmlsl2_laneqv8hi (__a, __b, __c, __d);
23584 }
23585 
23586 __extension__ extern __inline int32x4_t
23587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)23588 vqdmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
23589 {
23590   return __builtin_aarch64_sqdmlsl2_nv8hi (__a, __b, __c);
23591 }
23592 
23593 __extension__ extern __inline int32x4_t
23594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)23595 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
23596 {
23597   return __builtin_aarch64_sqdmlsl_lanev4hi (__a, __b, __c, __d);
23598 }
23599 
23600 __extension__ extern __inline int32x4_t
23601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)23602 vqdmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
23603 {
23604   return __builtin_aarch64_sqdmlsl_laneqv4hi (__a, __b, __c, __d);
23605 }
23606 
23607 __extension__ extern __inline int32x4_t
23608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)23609 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
23610 {
23611   return __builtin_aarch64_sqdmlsl_nv4hi (__a, __b, __c);
23612 }
23613 
23614 __extension__ extern __inline int64x2_t
23615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)23616 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
23617 {
23618   return __builtin_aarch64_sqdmlslv2si (__a, __b, __c);
23619 }
23620 
23621 __extension__ extern __inline int64x2_t
23622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)23623 vqdmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
23624 {
23625   return __builtin_aarch64_sqdmlsl2v4si (__a, __b, __c);
23626 }
23627 
23628 __extension__ extern __inline int64x2_t
23629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)23630 vqdmlsl_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
23631 		       int const __d)
23632 {
23633   return __builtin_aarch64_sqdmlsl2_lanev4si (__a, __b, __c, __d);
23634 }
23635 
23636 __extension__ extern __inline int64x2_t
23637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)23638 vqdmlsl_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
23639 			int const __d)
23640 {
23641   return __builtin_aarch64_sqdmlsl2_laneqv4si (__a, __b, __c, __d);
23642 }
23643 
23644 __extension__ extern __inline int64x2_t
23645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)23646 vqdmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
23647 {
23648   return __builtin_aarch64_sqdmlsl2_nv4si (__a, __b, __c);
23649 }
23650 
23651 __extension__ extern __inline int64x2_t
23652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)23653 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
23654 {
23655   return __builtin_aarch64_sqdmlsl_lanev2si (__a, __b, __c, __d);
23656 }
23657 
23658 __extension__ extern __inline int64x2_t
23659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)23660 vqdmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
23661 {
23662   return __builtin_aarch64_sqdmlsl_laneqv2si (__a, __b, __c, __d);
23663 }
23664 
23665 __extension__ extern __inline int64x2_t
23666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)23667 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
23668 {
23669   return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
23670 }
23671 
23672 __extension__ extern __inline int32_t
23673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_s16(int32_t __a,int16_t __b,int16_t __c)23674 vqdmlslh_s16 (int32_t __a, int16_t __b, int16_t __c)
23675 {
23676   return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
23677 }
23678 
23679 __extension__ extern __inline int32_t
23680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)23681 vqdmlslh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
23682 {
23683   return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
23684 }
23685 
23686 __extension__ extern __inline int32_t
23687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)23688 vqdmlslh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
23689 {
23690   return __builtin_aarch64_sqdmlsl_laneqhi (__a, __b, __c, __d);
23691 }
23692 
23693 __extension__ extern __inline int64_t
23694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_s32(int64_t __a,int32_t __b,int32_t __c)23695 vqdmlsls_s32 (int64_t __a, int32_t __b, int32_t __c)
23696 {
23697   return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
23698 }
23699 
23700 __extension__ extern __inline int64_t
23701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)23702 vqdmlsls_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
23703 {
23704   return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
23705 }
23706 
23707 __extension__ extern __inline int64_t
23708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)23709 vqdmlsls_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
23710 {
23711   return __builtin_aarch64_sqdmlsl_laneqsi (__a, __b, __c, __d);
23712 }
23713 
23714 /* vqdmulh */
23715 
23716 __extension__ extern __inline int16x4_t
23717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)23718 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
23719 {
23720   return __builtin_aarch64_sqdmulh_lanev4hi (__a, __b, __c);
23721 }
23722 
23723 __extension__ extern __inline int32x2_t
23724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)23725 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
23726 {
23727   return __builtin_aarch64_sqdmulh_lanev2si (__a, __b, __c);
23728 }
23729 
23730 __extension__ extern __inline int16x8_t
23731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)23732 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
23733 {
23734   return __builtin_aarch64_sqdmulh_lanev8hi (__a, __b, __c);
23735 }
23736 
23737 __extension__ extern __inline int32x4_t
23738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)23739 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
23740 {
23741   return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
23742 }
23743 
23744 __extension__ extern __inline int16_t
23745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_s16(int16_t __a,int16_t __b)23746 vqdmulhh_s16 (int16_t __a, int16_t __b)
23747 {
23748   return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
23749 }
23750 
23751 __extension__ extern __inline int16_t
23752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)23753 vqdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
23754 {
23755   return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
23756 }
23757 
23758 __extension__ extern __inline int16_t
23759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)23760 vqdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
23761 {
23762   return __builtin_aarch64_sqdmulh_laneqhi (__a, __b, __c);
23763 }
23764 
23765 __extension__ extern __inline int32_t
23766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_s32(int32_t __a,int32_t __b)23767 vqdmulhs_s32 (int32_t __a, int32_t __b)
23768 {
23769   return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
23770 }
23771 
23772 __extension__ extern __inline int32_t
23773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)23774 vqdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
23775 {
23776   return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
23777 }
23778 
23779 __extension__ extern __inline int32_t
23780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)23781 vqdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
23782 {
23783   return __builtin_aarch64_sqdmulh_laneqsi (__a, __b, __c);
23784 }
23785 
23786 /* vqdmull */
23787 
23788 __extension__ extern __inline int32x4_t
23789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)23790 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
23791 {
23792   return __builtin_aarch64_sqdmullv4hi (__a, __b);
23793 }
23794 
23795 __extension__ extern __inline int32x4_t
23796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s16(int16x8_t __a,int16x8_t __b)23797 vqdmull_high_s16 (int16x8_t __a, int16x8_t __b)
23798 {
23799   return __builtin_aarch64_sqdmull2v8hi (__a, __b);
23800 }
23801 
23802 __extension__ extern __inline int32x4_t
23803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s16(int16x8_t __a,int16x4_t __b,int const __c)23804 vqdmull_high_lane_s16 (int16x8_t __a, int16x4_t __b, int const __c)
23805 {
23806   return __builtin_aarch64_sqdmull2_lanev8hi (__a, __b,__c);
23807 }
23808 
23809 __extension__ extern __inline int32x4_t
23810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s16(int16x8_t __a,int16x8_t __b,int const __c)23811 vqdmull_high_laneq_s16 (int16x8_t __a, int16x8_t __b, int const __c)
23812 {
23813   return __builtin_aarch64_sqdmull2_laneqv8hi (__a, __b,__c);
23814 }
23815 
23816 __extension__ extern __inline int32x4_t
23817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s16(int16x8_t __a,int16_t __b)23818 vqdmull_high_n_s16 (int16x8_t __a, int16_t __b)
23819 {
23820   return __builtin_aarch64_sqdmull2_nv8hi (__a, __b);
23821 }
23822 
23823 __extension__ extern __inline int32x4_t
23824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,int const __c)23825 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, int const __c)
23826 {
23827   return __builtin_aarch64_sqdmull_lanev4hi (__a, __b, __c);
23828 }
23829 
23830 __extension__ extern __inline int32x4_t
23831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s16(int16x4_t __a,int16x8_t __b,int const __c)23832 vqdmull_laneq_s16 (int16x4_t __a, int16x8_t __b, int const __c)
23833 {
23834   return __builtin_aarch64_sqdmull_laneqv4hi (__a, __b, __c);
23835 }
23836 
23837 __extension__ extern __inline int32x4_t
23838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)23839 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
23840 {
23841   return __builtin_aarch64_sqdmull_nv4hi (__a, __b);
23842 }
23843 
23844 __extension__ extern __inline int64x2_t
23845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)23846 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
23847 {
23848   return __builtin_aarch64_sqdmullv2si (__a, __b);
23849 }
23850 
23851 __extension__ extern __inline int64x2_t
23852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s32(int32x4_t __a,int32x4_t __b)23853 vqdmull_high_s32 (int32x4_t __a, int32x4_t __b)
23854 {
23855   return __builtin_aarch64_sqdmull2v4si (__a, __b);
23856 }
23857 
23858 __extension__ extern __inline int64x2_t
23859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s32(int32x4_t __a,int32x2_t __b,int const __c)23860 vqdmull_high_lane_s32 (int32x4_t __a, int32x2_t __b, int const __c)
23861 {
23862   return __builtin_aarch64_sqdmull2_lanev4si (__a, __b, __c);
23863 }
23864 
23865 __extension__ extern __inline int64x2_t
23866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s32(int32x4_t __a,int32x4_t __b,int const __c)23867 vqdmull_high_laneq_s32 (int32x4_t __a, int32x4_t __b, int const __c)
23868 {
23869   return __builtin_aarch64_sqdmull2_laneqv4si (__a, __b, __c);
23870 }
23871 
23872 __extension__ extern __inline int64x2_t
23873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s32(int32x4_t __a,int32_t __b)23874 vqdmull_high_n_s32 (int32x4_t __a, int32_t __b)
23875 {
23876   return __builtin_aarch64_sqdmull2_nv4si (__a, __b);
23877 }
23878 
23879 __extension__ extern __inline int64x2_t
23880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,int const __c)23881 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, int const __c)
23882 {
23883   return __builtin_aarch64_sqdmull_lanev2si (__a, __b, __c);
23884 }
23885 
23886 __extension__ extern __inline int64x2_t
23887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s32(int32x2_t __a,int32x4_t __b,int const __c)23888 vqdmull_laneq_s32 (int32x2_t __a, int32x4_t __b, int const __c)
23889 {
23890   return __builtin_aarch64_sqdmull_laneqv2si (__a, __b, __c);
23891 }
23892 
23893 __extension__ extern __inline int64x2_t
23894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)23895 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
23896 {
23897   return __builtin_aarch64_sqdmull_nv2si (__a, __b);
23898 }
23899 
23900 __extension__ extern __inline int32_t
23901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_s16(int16_t __a,int16_t __b)23902 vqdmullh_s16 (int16_t __a, int16_t __b)
23903 {
23904   return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
23905 }
23906 
23907 __extension__ extern __inline int32_t
23908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_lane_s16(int16_t __a,int16x4_t __b,const int __c)23909 vqdmullh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
23910 {
23911   return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
23912 }
23913 
23914 __extension__ extern __inline int32_t
23915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)23916 vqdmullh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
23917 {
23918   return __builtin_aarch64_sqdmull_laneqhi (__a, __b, __c);
23919 }
23920 
23921 __extension__ extern __inline int64_t
23922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_s32(int32_t __a,int32_t __b)23923 vqdmulls_s32 (int32_t __a, int32_t __b)
23924 {
23925   return __builtin_aarch64_sqdmullsi (__a, __b);
23926 }
23927 
23928 __extension__ extern __inline int64_t
23929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_lane_s32(int32_t __a,int32x2_t __b,const int __c)23930 vqdmulls_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
23931 {
23932   return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
23933 }
23934 
23935 __extension__ extern __inline int64_t
23936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_laneq_s32(int32_t __a,int32x4_t __b,const int __c)23937 vqdmulls_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
23938 {
23939   return __builtin_aarch64_sqdmull_laneqsi (__a, __b, __c);
23940 }
23941 
23942 /* vqmovn */
23943 
23944 __extension__ extern __inline int8x8_t
23945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s16(int16x8_t __a)23946 vqmovn_s16 (int16x8_t __a)
23947 {
23948   return (int8x8_t) __builtin_aarch64_sqmovnv8hi (__a);
23949 }
23950 
23951 __extension__ extern __inline int16x4_t
23952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s32(int32x4_t __a)23953 vqmovn_s32 (int32x4_t __a)
23954 {
23955   return (int16x4_t) __builtin_aarch64_sqmovnv4si (__a);
23956 }
23957 
23958 __extension__ extern __inline int32x2_t
23959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s64(int64x2_t __a)23960 vqmovn_s64 (int64x2_t __a)
23961 {
23962   return (int32x2_t) __builtin_aarch64_sqmovnv2di (__a);
23963 }
23964 
23965 __extension__ extern __inline uint8x8_t
23966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u16(uint16x8_t __a)23967 vqmovn_u16 (uint16x8_t __a)
23968 {
23969   return (uint8x8_t) __builtin_aarch64_uqmovnv8hi ((int16x8_t) __a);
23970 }
23971 
23972 __extension__ extern __inline uint16x4_t
23973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u32(uint32x4_t __a)23974 vqmovn_u32 (uint32x4_t __a)
23975 {
23976   return (uint16x4_t) __builtin_aarch64_uqmovnv4si ((int32x4_t) __a);
23977 }
23978 
23979 __extension__ extern __inline uint32x2_t
23980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u64(uint64x2_t __a)23981 vqmovn_u64 (uint64x2_t __a)
23982 {
23983   return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
23984 }
23985 
23986 __extension__ extern __inline int8_t
23987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_s16(int16_t __a)23988 vqmovnh_s16 (int16_t __a)
23989 {
23990   return (int8_t) __builtin_aarch64_sqmovnhi (__a);
23991 }
23992 
23993 __extension__ extern __inline int16_t
23994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_s32(int32_t __a)23995 vqmovns_s32 (int32_t __a)
23996 {
23997   return (int16_t) __builtin_aarch64_sqmovnsi (__a);
23998 }
23999 
24000 __extension__ extern __inline int32_t
24001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_s64(int64_t __a)24002 vqmovnd_s64 (int64_t __a)
24003 {
24004   return (int32_t) __builtin_aarch64_sqmovndi (__a);
24005 }
24006 
24007 __extension__ extern __inline uint8_t
24008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_u16(uint16_t __a)24009 vqmovnh_u16 (uint16_t __a)
24010 {
24011   return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
24012 }
24013 
24014 __extension__ extern __inline uint16_t
24015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_u32(uint32_t __a)24016 vqmovns_u32 (uint32_t __a)
24017 {
24018   return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
24019 }
24020 
24021 __extension__ extern __inline uint32_t
24022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_u64(uint64_t __a)24023 vqmovnd_u64 (uint64_t __a)
24024 {
24025   return (uint32_t) __builtin_aarch64_uqmovndi (__a);
24026 }
24027 
24028 /* vqmovun */
24029 
24030 __extension__ extern __inline uint8x8_t
24031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s16(int16x8_t __a)24032 vqmovun_s16 (int16x8_t __a)
24033 {
24034   return __builtin_aarch64_sqmovunv8hi_us (__a);
24035 }
24036 
24037 __extension__ extern __inline uint16x4_t
24038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s32(int32x4_t __a)24039 vqmovun_s32 (int32x4_t __a)
24040 {
24041   return __builtin_aarch64_sqmovunv4si_us (__a);
24042 }
24043 
24044 __extension__ extern __inline uint32x2_t
24045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s64(int64x2_t __a)24046 vqmovun_s64 (int64x2_t __a)
24047 {
24048   return __builtin_aarch64_sqmovunv2di_us (__a);
24049 }
24050 
24051 __extension__ extern __inline uint8_t
24052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovunh_s16(int16_t __a)24053 vqmovunh_s16 (int16_t __a)
24054 {
24055   return __builtin_aarch64_sqmovunhi_us (__a);
24056 }
24057 
24058 __extension__ extern __inline uint16_t
24059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovuns_s32(int32_t __a)24060 vqmovuns_s32 (int32_t __a)
24061 {
24062   return __builtin_aarch64_sqmovunsi_us (__a);
24063 }
24064 
24065 __extension__ extern __inline uint32_t
24066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovund_s64(int64_t __a)24067 vqmovund_s64 (int64_t __a)
24068 {
24069   return __builtin_aarch64_sqmovundi_us (__a);
24070 }
24071 
24072 /* vqneg */
24073 
24074 __extension__ extern __inline int64x2_t
24075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s64(int64x2_t __a)24076 vqnegq_s64 (int64x2_t __a)
24077 {
24078   return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
24079 }
24080 
24081 __extension__ extern __inline int8_t
24082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegb_s8(int8_t __a)24083 vqnegb_s8 (int8_t __a)
24084 {
24085   return (int8_t) __builtin_aarch64_sqnegqi (__a);
24086 }
24087 
24088 __extension__ extern __inline int16_t
24089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegh_s16(int16_t __a)24090 vqnegh_s16 (int16_t __a)
24091 {
24092   return (int16_t) __builtin_aarch64_sqneghi (__a);
24093 }
24094 
24095 __extension__ extern __inline int32_t
24096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegs_s32(int32_t __a)24097 vqnegs_s32 (int32_t __a)
24098 {
24099   return (int32_t) __builtin_aarch64_sqnegsi (__a);
24100 }
24101 
24102 __extension__ extern __inline int64_t
24103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegd_s64(int64_t __a)24104 vqnegd_s64 (int64_t __a)
24105 {
24106   return __builtin_aarch64_sqnegdi (__a);
24107 }
24108 
24109 /* vqrdmulh */
24110 
24111 __extension__ extern __inline int16x4_t
24112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)24113 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
24114 {
24115   return  __builtin_aarch64_sqrdmulh_lanev4hi (__a, __b, __c);
24116 }
24117 
24118 __extension__ extern __inline int32x2_t
24119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)24120 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
24121 {
24122   return __builtin_aarch64_sqrdmulh_lanev2si (__a, __b, __c);
24123 }
24124 
24125 __extension__ extern __inline int16x8_t
24126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)24127 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
24128 {
24129   return __builtin_aarch64_sqrdmulh_lanev8hi (__a, __b, __c);
24130 }
24131 
24132 __extension__ extern __inline int32x4_t
24133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)24134 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
24135 {
24136   return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
24137 }
24138 
24139 __extension__ extern __inline int16_t
24140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_s16(int16_t __a,int16_t __b)24141 vqrdmulhh_s16 (int16_t __a, int16_t __b)
24142 {
24143   return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
24144 }
24145 
24146 __extension__ extern __inline int16_t
24147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)24148 vqrdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
24149 {
24150   return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
24151 }
24152 
24153 __extension__ extern __inline int16_t
24154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)24155 vqrdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
24156 {
24157   return __builtin_aarch64_sqrdmulh_laneqhi (__a, __b, __c);
24158 }
24159 
24160 __extension__ extern __inline int32_t
24161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_s32(int32_t __a,int32_t __b)24162 vqrdmulhs_s32 (int32_t __a, int32_t __b)
24163 {
24164   return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
24165 }
24166 
24167 __extension__ extern __inline int32_t
24168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)24169 vqrdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
24170 {
24171   return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
24172 }
24173 
24174 __extension__ extern __inline int32_t
24175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)24176 vqrdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
24177 {
24178   return __builtin_aarch64_sqrdmulh_laneqsi (__a, __b, __c);
24179 }
24180 
24181 /* vqrshl */
24182 
24183 __extension__ extern __inline int8x8_t
24184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)24185 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
24186 {
24187   return __builtin_aarch64_sqrshlv8qi (__a, __b);
24188 }
24189 
24190 __extension__ extern __inline int16x4_t
24191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)24192 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
24193 {
24194   return __builtin_aarch64_sqrshlv4hi (__a, __b);
24195 }
24196 
24197 __extension__ extern __inline int32x2_t
24198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)24199 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
24200 {
24201   return __builtin_aarch64_sqrshlv2si (__a, __b);
24202 }
24203 
24204 __extension__ extern __inline int64x1_t
24205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)24206 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
24207 {
24208   return (int64x1_t) {__builtin_aarch64_sqrshldi (__a[0], __b[0])};
24209 }
24210 
24211 __extension__ extern __inline uint8x8_t
24212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)24213 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
24214 {
24215   return __builtin_aarch64_uqrshlv8qi_uus ( __a, __b);
24216 }
24217 
24218 __extension__ extern __inline uint16x4_t
24219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)24220 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
24221 {
24222   return __builtin_aarch64_uqrshlv4hi_uus ( __a, __b);
24223 }
24224 
24225 __extension__ extern __inline uint32x2_t
24226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)24227 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
24228 {
24229   return __builtin_aarch64_uqrshlv2si_uus ( __a, __b);
24230 }
24231 
24232 __extension__ extern __inline uint64x1_t
24233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)24234 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
24235 {
24236   return (uint64x1_t) {__builtin_aarch64_uqrshldi_uus (__a[0], __b[0])};
24237 }
24238 
24239 __extension__ extern __inline int8x16_t
24240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)24241 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
24242 {
24243   return __builtin_aarch64_sqrshlv16qi (__a, __b);
24244 }
24245 
24246 __extension__ extern __inline int16x8_t
24247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)24248 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
24249 {
24250   return __builtin_aarch64_sqrshlv8hi (__a, __b);
24251 }
24252 
24253 __extension__ extern __inline int32x4_t
24254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)24255 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
24256 {
24257   return __builtin_aarch64_sqrshlv4si (__a, __b);
24258 }
24259 
24260 __extension__ extern __inline int64x2_t
24261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)24262 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
24263 {
24264   return __builtin_aarch64_sqrshlv2di (__a, __b);
24265 }
24266 
24267 __extension__ extern __inline uint8x16_t
24268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)24269 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
24270 {
24271   return __builtin_aarch64_uqrshlv16qi_uus ( __a, __b);
24272 }
24273 
24274 __extension__ extern __inline uint16x8_t
24275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)24276 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
24277 {
24278   return __builtin_aarch64_uqrshlv8hi_uus ( __a, __b);
24279 }
24280 
24281 __extension__ extern __inline uint32x4_t
24282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)24283 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
24284 {
24285   return __builtin_aarch64_uqrshlv4si_uus ( __a, __b);
24286 }
24287 
24288 __extension__ extern __inline uint64x2_t
24289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)24290 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
24291 {
24292   return __builtin_aarch64_uqrshlv2di_uus ( __a, __b);
24293 }
24294 
24295 __extension__ extern __inline int8_t
24296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_s8(int8_t __a,int8_t __b)24297 vqrshlb_s8 (int8_t __a, int8_t __b)
24298 {
24299   return __builtin_aarch64_sqrshlqi (__a, __b);
24300 }
24301 
24302 __extension__ extern __inline int16_t
24303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_s16(int16_t __a,int16_t __b)24304 vqrshlh_s16 (int16_t __a, int16_t __b)
24305 {
24306   return __builtin_aarch64_sqrshlhi (__a, __b);
24307 }
24308 
24309 __extension__ extern __inline int32_t
24310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_s32(int32_t __a,int32_t __b)24311 vqrshls_s32 (int32_t __a, int32_t __b)
24312 {
24313   return __builtin_aarch64_sqrshlsi (__a, __b);
24314 }
24315 
24316 __extension__ extern __inline int64_t
24317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_s64(int64_t __a,int64_t __b)24318 vqrshld_s64 (int64_t __a, int64_t __b)
24319 {
24320   return __builtin_aarch64_sqrshldi (__a, __b);
24321 }
24322 
24323 __extension__ extern __inline uint8_t
24324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_u8(uint8_t __a,int8_t __b)24325 vqrshlb_u8 (uint8_t __a, int8_t __b)
24326 {
24327   return __builtin_aarch64_uqrshlqi_uus (__a, __b);
24328 }
24329 
24330 __extension__ extern __inline uint16_t
24331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_u16(uint16_t __a,int16_t __b)24332 vqrshlh_u16 (uint16_t __a, int16_t __b)
24333 {
24334   return __builtin_aarch64_uqrshlhi_uus (__a, __b);
24335 }
24336 
24337 __extension__ extern __inline uint32_t
24338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_u32(uint32_t __a,int32_t __b)24339 vqrshls_u32 (uint32_t __a, int32_t __b)
24340 {
24341   return __builtin_aarch64_uqrshlsi_uus (__a, __b);
24342 }
24343 
24344 __extension__ extern __inline uint64_t
24345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_u64(uint64_t __a,int64_t __b)24346 vqrshld_u64 (uint64_t __a, int64_t __b)
24347 {
24348   return __builtin_aarch64_uqrshldi_uus (__a, __b);
24349 }
24350 
24351 /* vqrshrn */
24352 
24353 __extension__ extern __inline int8x8_t
24354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s16(int16x8_t __a,const int __b)24355 vqrshrn_n_s16 (int16x8_t __a, const int __b)
24356 {
24357   return (int8x8_t) __builtin_aarch64_sqrshrn_nv8hi (__a, __b);
24358 }
24359 
24360 __extension__ extern __inline int16x4_t
24361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s32(int32x4_t __a,const int __b)24362 vqrshrn_n_s32 (int32x4_t __a, const int __b)
24363 {
24364   return (int16x4_t) __builtin_aarch64_sqrshrn_nv4si (__a, __b);
24365 }
24366 
24367 __extension__ extern __inline int32x2_t
24368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s64(int64x2_t __a,const int __b)24369 vqrshrn_n_s64 (int64x2_t __a, const int __b)
24370 {
24371   return (int32x2_t) __builtin_aarch64_sqrshrn_nv2di (__a, __b);
24372 }
24373 
24374 __extension__ extern __inline uint8x8_t
24375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)24376 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
24377 {
24378   return __builtin_aarch64_uqrshrn_nv8hi_uus ( __a, __b);
24379 }
24380 
24381 __extension__ extern __inline uint16x4_t
24382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)24383 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
24384 {
24385   return __builtin_aarch64_uqrshrn_nv4si_uus ( __a, __b);
24386 }
24387 
24388 __extension__ extern __inline uint32x2_t
24389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)24390 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
24391 {
24392   return __builtin_aarch64_uqrshrn_nv2di_uus ( __a, __b);
24393 }
24394 
24395 __extension__ extern __inline int8_t
24396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_s16(int16_t __a,const int __b)24397 vqrshrnh_n_s16 (int16_t __a, const int __b)
24398 {
24399   return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
24400 }
24401 
24402 __extension__ extern __inline int16_t
24403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_s32(int32_t __a,const int __b)24404 vqrshrns_n_s32 (int32_t __a, const int __b)
24405 {
24406   return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
24407 }
24408 
24409 __extension__ extern __inline int32_t
24410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_s64(int64_t __a,const int __b)24411 vqrshrnd_n_s64 (int64_t __a, const int __b)
24412 {
24413   return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
24414 }
24415 
24416 __extension__ extern __inline uint8_t
24417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_u16(uint16_t __a,const int __b)24418 vqrshrnh_n_u16 (uint16_t __a, const int __b)
24419 {
24420   return __builtin_aarch64_uqrshrn_nhi_uus (__a, __b);
24421 }
24422 
24423 __extension__ extern __inline uint16_t
24424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_u32(uint32_t __a,const int __b)24425 vqrshrns_n_u32 (uint32_t __a, const int __b)
24426 {
24427   return __builtin_aarch64_uqrshrn_nsi_uus (__a, __b);
24428 }
24429 
24430 __extension__ extern __inline uint32_t
24431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_u64(uint64_t __a,const int __b)24432 vqrshrnd_n_u64 (uint64_t __a, const int __b)
24433 {
24434   return __builtin_aarch64_uqrshrn_ndi_uus (__a, __b);
24435 }
24436 
24437 /* vqrshrun */
24438 
24439 __extension__ extern __inline uint8x8_t
24440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s16(int16x8_t __a,const int __b)24441 vqrshrun_n_s16 (int16x8_t __a, const int __b)
24442 {
24443   return (uint8x8_t) __builtin_aarch64_sqrshrun_nv8hi (__a, __b);
24444 }
24445 
24446 __extension__ extern __inline uint16x4_t
24447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s32(int32x4_t __a,const int __b)24448 vqrshrun_n_s32 (int32x4_t __a, const int __b)
24449 {
24450   return (uint16x4_t) __builtin_aarch64_sqrshrun_nv4si (__a, __b);
24451 }
24452 
24453 __extension__ extern __inline uint32x2_t
24454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s64(int64x2_t __a,const int __b)24455 vqrshrun_n_s64 (int64x2_t __a, const int __b)
24456 {
24457   return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
24458 }
24459 
24460 __extension__ extern __inline int8_t
24461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrunh_n_s16(int16_t __a,const int __b)24462 vqrshrunh_n_s16 (int16_t __a, const int __b)
24463 {
24464   return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
24465 }
24466 
24467 __extension__ extern __inline int16_t
24468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshruns_n_s32(int32_t __a,const int __b)24469 vqrshruns_n_s32 (int32_t __a, const int __b)
24470 {
24471   return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
24472 }
24473 
24474 __extension__ extern __inline int32_t
24475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrund_n_s64(int64_t __a,const int __b)24476 vqrshrund_n_s64 (int64_t __a, const int __b)
24477 {
24478   return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
24479 }
24480 
24481 /* vqshl */
24482 
24483 __extension__ extern __inline int8x8_t
24484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s8(int8x8_t __a,int8x8_t __b)24485 vqshl_s8 (int8x8_t __a, int8x8_t __b)
24486 {
24487   return __builtin_aarch64_sqshlv8qi (__a, __b);
24488 }
24489 
24490 __extension__ extern __inline int16x4_t
24491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s16(int16x4_t __a,int16x4_t __b)24492 vqshl_s16 (int16x4_t __a, int16x4_t __b)
24493 {
24494   return __builtin_aarch64_sqshlv4hi (__a, __b);
24495 }
24496 
24497 __extension__ extern __inline int32x2_t
24498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s32(int32x2_t __a,int32x2_t __b)24499 vqshl_s32 (int32x2_t __a, int32x2_t __b)
24500 {
24501   return __builtin_aarch64_sqshlv2si (__a, __b);
24502 }
24503 
24504 __extension__ extern __inline int64x1_t
24505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s64(int64x1_t __a,int64x1_t __b)24506 vqshl_s64 (int64x1_t __a, int64x1_t __b)
24507 {
24508   return (int64x1_t) {__builtin_aarch64_sqshldi (__a[0], __b[0])};
24509 }
24510 
24511 __extension__ extern __inline uint8x8_t
24512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)24513 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
24514 {
24515   return __builtin_aarch64_uqshlv8qi_uus ( __a, __b);
24516 }
24517 
24518 __extension__ extern __inline uint16x4_t
24519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)24520 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
24521 {
24522   return __builtin_aarch64_uqshlv4hi_uus ( __a, __b);
24523 }
24524 
24525 __extension__ extern __inline uint32x2_t
24526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)24527 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
24528 {
24529   return __builtin_aarch64_uqshlv2si_uus ( __a, __b);
24530 }
24531 
24532 __extension__ extern __inline uint64x1_t
24533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)24534 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
24535 {
24536   return (uint64x1_t) {__builtin_aarch64_uqshldi_uus (__a[0], __b[0])};
24537 }
24538 
24539 __extension__ extern __inline int8x16_t
24540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)24541 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
24542 {
24543   return __builtin_aarch64_sqshlv16qi (__a, __b);
24544 }
24545 
24546 __extension__ extern __inline int16x8_t
24547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)24548 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
24549 {
24550   return __builtin_aarch64_sqshlv8hi (__a, __b);
24551 }
24552 
24553 __extension__ extern __inline int32x4_t
24554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)24555 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
24556 {
24557   return __builtin_aarch64_sqshlv4si (__a, __b);
24558 }
24559 
24560 __extension__ extern __inline int64x2_t
24561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)24562 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
24563 {
24564   return __builtin_aarch64_sqshlv2di (__a, __b);
24565 }
24566 
24567 __extension__ extern __inline uint8x16_t
24568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)24569 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
24570 {
24571   return __builtin_aarch64_uqshlv16qi_uus ( __a, __b);
24572 }
24573 
24574 __extension__ extern __inline uint16x8_t
24575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)24576 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
24577 {
24578   return __builtin_aarch64_uqshlv8hi_uus ( __a, __b);
24579 }
24580 
24581 __extension__ extern __inline uint32x4_t
24582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)24583 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
24584 {
24585   return __builtin_aarch64_uqshlv4si_uus ( __a, __b);
24586 }
24587 
24588 __extension__ extern __inline uint64x2_t
24589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)24590 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
24591 {
24592   return __builtin_aarch64_uqshlv2di_uus ( __a, __b);
24593 }
24594 
24595 __extension__ extern __inline int8_t
24596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_s8(int8_t __a,int8_t __b)24597 vqshlb_s8 (int8_t __a, int8_t __b)
24598 {
24599   return __builtin_aarch64_sqshlqi (__a, __b);
24600 }
24601 
24602 __extension__ extern __inline int16_t
24603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_s16(int16_t __a,int16_t __b)24604 vqshlh_s16 (int16_t __a, int16_t __b)
24605 {
24606   return __builtin_aarch64_sqshlhi (__a, __b);
24607 }
24608 
24609 __extension__ extern __inline int32_t
24610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_s32(int32_t __a,int32_t __b)24611 vqshls_s32 (int32_t __a, int32_t __b)
24612 {
24613   return __builtin_aarch64_sqshlsi (__a, __b);
24614 }
24615 
24616 __extension__ extern __inline int64_t
24617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_s64(int64_t __a,int64_t __b)24618 vqshld_s64 (int64_t __a, int64_t __b)
24619 {
24620   return __builtin_aarch64_sqshldi (__a, __b);
24621 }
24622 
24623 __extension__ extern __inline uint8_t
24624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_u8(uint8_t __a,int8_t __b)24625 vqshlb_u8 (uint8_t __a, int8_t __b)
24626 {
24627   return __builtin_aarch64_uqshlqi_uus (__a, __b);
24628 }
24629 
24630 __extension__ extern __inline uint16_t
24631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_u16(uint16_t __a,int16_t __b)24632 vqshlh_u16 (uint16_t __a, int16_t __b)
24633 {
24634   return __builtin_aarch64_uqshlhi_uus (__a, __b);
24635 }
24636 
24637 __extension__ extern __inline uint32_t
24638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_u32(uint32_t __a,int32_t __b)24639 vqshls_u32 (uint32_t __a, int32_t __b)
24640 {
24641   return __builtin_aarch64_uqshlsi_uus (__a, __b);
24642 }
24643 
24644 __extension__ extern __inline uint64_t
24645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_u64(uint64_t __a,int64_t __b)24646 vqshld_u64 (uint64_t __a, int64_t __b)
24647 {
24648   return __builtin_aarch64_uqshldi_uus (__a, __b);
24649 }
24650 
24651 __extension__ extern __inline int8x8_t
24652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s8(int8x8_t __a,const int __b)24653 vqshl_n_s8 (int8x8_t __a, const int __b)
24654 {
24655   return (int8x8_t) __builtin_aarch64_sqshl_nv8qi (__a, __b);
24656 }
24657 
24658 __extension__ extern __inline int16x4_t
24659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s16(int16x4_t __a,const int __b)24660 vqshl_n_s16 (int16x4_t __a, const int __b)
24661 {
24662   return (int16x4_t) __builtin_aarch64_sqshl_nv4hi (__a, __b);
24663 }
24664 
24665 __extension__ extern __inline int32x2_t
24666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s32(int32x2_t __a,const int __b)24667 vqshl_n_s32 (int32x2_t __a, const int __b)
24668 {
24669   return (int32x2_t) __builtin_aarch64_sqshl_nv2si (__a, __b);
24670 }
24671 
24672 __extension__ extern __inline int64x1_t
24673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s64(int64x1_t __a,const int __b)24674 vqshl_n_s64 (int64x1_t __a, const int __b)
24675 {
24676   return (int64x1_t) {__builtin_aarch64_sqshl_ndi (__a[0], __b)};
24677 }
24678 
24679 __extension__ extern __inline uint8x8_t
24680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u8(uint8x8_t __a,const int __b)24681 vqshl_n_u8 (uint8x8_t __a, const int __b)
24682 {
24683   return __builtin_aarch64_uqshl_nv8qi_uus (__a, __b);
24684 }
24685 
24686 __extension__ extern __inline uint16x4_t
24687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u16(uint16x4_t __a,const int __b)24688 vqshl_n_u16 (uint16x4_t __a, const int __b)
24689 {
24690   return __builtin_aarch64_uqshl_nv4hi_uus (__a, __b);
24691 }
24692 
24693 __extension__ extern __inline uint32x2_t
24694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u32(uint32x2_t __a,const int __b)24695 vqshl_n_u32 (uint32x2_t __a, const int __b)
24696 {
24697   return __builtin_aarch64_uqshl_nv2si_uus (__a, __b);
24698 }
24699 
24700 __extension__ extern __inline uint64x1_t
24701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u64(uint64x1_t __a,const int __b)24702 vqshl_n_u64 (uint64x1_t __a, const int __b)
24703 {
24704   return (uint64x1_t) {__builtin_aarch64_uqshl_ndi_uus (__a[0], __b)};
24705 }
24706 
24707 __extension__ extern __inline int8x16_t
24708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s8(int8x16_t __a,const int __b)24709 vqshlq_n_s8 (int8x16_t __a, const int __b)
24710 {
24711   return (int8x16_t) __builtin_aarch64_sqshl_nv16qi (__a, __b);
24712 }
24713 
24714 __extension__ extern __inline int16x8_t
24715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s16(int16x8_t __a,const int __b)24716 vqshlq_n_s16 (int16x8_t __a, const int __b)
24717 {
24718   return (int16x8_t) __builtin_aarch64_sqshl_nv8hi (__a, __b);
24719 }
24720 
24721 __extension__ extern __inline int32x4_t
24722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s32(int32x4_t __a,const int __b)24723 vqshlq_n_s32 (int32x4_t __a, const int __b)
24724 {
24725   return (int32x4_t) __builtin_aarch64_sqshl_nv4si (__a, __b);
24726 }
24727 
24728 __extension__ extern __inline int64x2_t
24729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s64(int64x2_t __a,const int __b)24730 vqshlq_n_s64 (int64x2_t __a, const int __b)
24731 {
24732   return (int64x2_t) __builtin_aarch64_sqshl_nv2di (__a, __b);
24733 }
24734 
24735 __extension__ extern __inline uint8x16_t
24736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u8(uint8x16_t __a,const int __b)24737 vqshlq_n_u8 (uint8x16_t __a, const int __b)
24738 {
24739   return __builtin_aarch64_uqshl_nv16qi_uus (__a, __b);
24740 }
24741 
24742 __extension__ extern __inline uint16x8_t
24743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u16(uint16x8_t __a,const int __b)24744 vqshlq_n_u16 (uint16x8_t __a, const int __b)
24745 {
24746   return __builtin_aarch64_uqshl_nv8hi_uus (__a, __b);
24747 }
24748 
24749 __extension__ extern __inline uint32x4_t
24750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u32(uint32x4_t __a,const int __b)24751 vqshlq_n_u32 (uint32x4_t __a, const int __b)
24752 {
24753   return __builtin_aarch64_uqshl_nv4si_uus (__a, __b);
24754 }
24755 
24756 __extension__ extern __inline uint64x2_t
24757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u64(uint64x2_t __a,const int __b)24758 vqshlq_n_u64 (uint64x2_t __a, const int __b)
24759 {
24760   return __builtin_aarch64_uqshl_nv2di_uus (__a, __b);
24761 }
24762 
24763 __extension__ extern __inline int8_t
24764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_s8(int8_t __a,const int __b)24765 vqshlb_n_s8 (int8_t __a, const int __b)
24766 {
24767   return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
24768 }
24769 
24770 __extension__ extern __inline int16_t
24771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_s16(int16_t __a,const int __b)24772 vqshlh_n_s16 (int16_t __a, const int __b)
24773 {
24774   return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
24775 }
24776 
24777 __extension__ extern __inline int32_t
24778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_s32(int32_t __a,const int __b)24779 vqshls_n_s32 (int32_t __a, const int __b)
24780 {
24781   return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
24782 }
24783 
24784 __extension__ extern __inline int64_t
24785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_s64(int64_t __a,const int __b)24786 vqshld_n_s64 (int64_t __a, const int __b)
24787 {
24788   return __builtin_aarch64_sqshl_ndi (__a, __b);
24789 }
24790 
24791 __extension__ extern __inline uint8_t
24792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_u8(uint8_t __a,const int __b)24793 vqshlb_n_u8 (uint8_t __a, const int __b)
24794 {
24795   return __builtin_aarch64_uqshl_nqi_uus (__a, __b);
24796 }
24797 
24798 __extension__ extern __inline uint16_t
24799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_u16(uint16_t __a,const int __b)24800 vqshlh_n_u16 (uint16_t __a, const int __b)
24801 {
24802   return __builtin_aarch64_uqshl_nhi_uus (__a, __b);
24803 }
24804 
24805 __extension__ extern __inline uint32_t
24806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_u32(uint32_t __a,const int __b)24807 vqshls_n_u32 (uint32_t __a, const int __b)
24808 {
24809   return __builtin_aarch64_uqshl_nsi_uus (__a, __b);
24810 }
24811 
24812 __extension__ extern __inline uint64_t
24813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_u64(uint64_t __a,const int __b)24814 vqshld_n_u64 (uint64_t __a, const int __b)
24815 {
24816   return __builtin_aarch64_uqshl_ndi_uus (__a, __b);
24817 }
24818 
24819 /* vqshlu */
24820 
24821 __extension__ extern __inline uint8x8_t
24822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s8(int8x8_t __a,const int __b)24823 vqshlu_n_s8 (int8x8_t __a, const int __b)
24824 {
24825   return __builtin_aarch64_sqshlu_nv8qi_uss (__a, __b);
24826 }
24827 
24828 __extension__ extern __inline uint16x4_t
24829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s16(int16x4_t __a,const int __b)24830 vqshlu_n_s16 (int16x4_t __a, const int __b)
24831 {
24832   return __builtin_aarch64_sqshlu_nv4hi_uss (__a, __b);
24833 }
24834 
24835 __extension__ extern __inline uint32x2_t
24836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s32(int32x2_t __a,const int __b)24837 vqshlu_n_s32 (int32x2_t __a, const int __b)
24838 {
24839   return __builtin_aarch64_sqshlu_nv2si_uss (__a, __b);
24840 }
24841 
24842 __extension__ extern __inline uint64x1_t
24843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s64(int64x1_t __a,const int __b)24844 vqshlu_n_s64 (int64x1_t __a, const int __b)
24845 {
24846   return (uint64x1_t) {__builtin_aarch64_sqshlu_ndi_uss (__a[0], __b)};
24847 }
24848 
24849 __extension__ extern __inline uint8x16_t
24850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s8(int8x16_t __a,const int __b)24851 vqshluq_n_s8 (int8x16_t __a, const int __b)
24852 {
24853   return __builtin_aarch64_sqshlu_nv16qi_uss (__a, __b);
24854 }
24855 
24856 __extension__ extern __inline uint16x8_t
24857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s16(int16x8_t __a,const int __b)24858 vqshluq_n_s16 (int16x8_t __a, const int __b)
24859 {
24860   return __builtin_aarch64_sqshlu_nv8hi_uss (__a, __b);
24861 }
24862 
24863 __extension__ extern __inline uint32x4_t
24864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s32(int32x4_t __a,const int __b)24865 vqshluq_n_s32 (int32x4_t __a, const int __b)
24866 {
24867   return __builtin_aarch64_sqshlu_nv4si_uss (__a, __b);
24868 }
24869 
24870 __extension__ extern __inline uint64x2_t
24871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s64(int64x2_t __a,const int __b)24872 vqshluq_n_s64 (int64x2_t __a, const int __b)
24873 {
24874   return __builtin_aarch64_sqshlu_nv2di_uss (__a, __b);
24875 }
24876 
24877 __extension__ extern __inline int8_t
24878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlub_n_s8(int8_t __a,const int __b)24879 vqshlub_n_s8 (int8_t __a, const int __b)
24880 {
24881   return (int8_t) __builtin_aarch64_sqshlu_nqi_uss (__a, __b);
24882 }
24883 
24884 __extension__ extern __inline int16_t
24885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluh_n_s16(int16_t __a,const int __b)24886 vqshluh_n_s16 (int16_t __a, const int __b)
24887 {
24888   return (int16_t) __builtin_aarch64_sqshlu_nhi_uss (__a, __b);
24889 }
24890 
24891 __extension__ extern __inline int32_t
24892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlus_n_s32(int32_t __a,const int __b)24893 vqshlus_n_s32 (int32_t __a, const int __b)
24894 {
24895   return (int32_t) __builtin_aarch64_sqshlu_nsi_uss (__a, __b);
24896 }
24897 
24898 __extension__ extern __inline uint64_t
24899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlud_n_s64(int64_t __a,const int __b)24900 vqshlud_n_s64 (int64_t __a, const int __b)
24901 {
24902   return __builtin_aarch64_sqshlu_ndi_uss (__a, __b);
24903 }
24904 
24905 /* vqshrn */
24906 
24907 __extension__ extern __inline int8x8_t
24908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s16(int16x8_t __a,const int __b)24909 vqshrn_n_s16 (int16x8_t __a, const int __b)
24910 {
24911   return (int8x8_t) __builtin_aarch64_sqshrn_nv8hi (__a, __b);
24912 }
24913 
24914 __extension__ extern __inline int16x4_t
24915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s32(int32x4_t __a,const int __b)24916 vqshrn_n_s32 (int32x4_t __a, const int __b)
24917 {
24918   return (int16x4_t) __builtin_aarch64_sqshrn_nv4si (__a, __b);
24919 }
24920 
24921 __extension__ extern __inline int32x2_t
24922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s64(int64x2_t __a,const int __b)24923 vqshrn_n_s64 (int64x2_t __a, const int __b)
24924 {
24925   return (int32x2_t) __builtin_aarch64_sqshrn_nv2di (__a, __b);
24926 }
24927 
24928 __extension__ extern __inline uint8x8_t
24929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u16(uint16x8_t __a,const int __b)24930 vqshrn_n_u16 (uint16x8_t __a, const int __b)
24931 {
24932   return __builtin_aarch64_uqshrn_nv8hi_uus ( __a, __b);
24933 }
24934 
24935 __extension__ extern __inline uint16x4_t
24936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u32(uint32x4_t __a,const int __b)24937 vqshrn_n_u32 (uint32x4_t __a, const int __b)
24938 {
24939   return __builtin_aarch64_uqshrn_nv4si_uus ( __a, __b);
24940 }
24941 
24942 __extension__ extern __inline uint32x2_t
24943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u64(uint64x2_t __a,const int __b)24944 vqshrn_n_u64 (uint64x2_t __a, const int __b)
24945 {
24946   return __builtin_aarch64_uqshrn_nv2di_uus ( __a, __b);
24947 }
24948 
24949 __extension__ extern __inline int8_t
24950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_s16(int16_t __a,const int __b)24951 vqshrnh_n_s16 (int16_t __a, const int __b)
24952 {
24953   return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
24954 }
24955 
24956 __extension__ extern __inline int16_t
24957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_s32(int32_t __a,const int __b)24958 vqshrns_n_s32 (int32_t __a, const int __b)
24959 {
24960   return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
24961 }
24962 
24963 __extension__ extern __inline int32_t
24964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_s64(int64_t __a,const int __b)24965 vqshrnd_n_s64 (int64_t __a, const int __b)
24966 {
24967   return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
24968 }
24969 
24970 __extension__ extern __inline uint8_t
24971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_u16(uint16_t __a,const int __b)24972 vqshrnh_n_u16 (uint16_t __a, const int __b)
24973 {
24974   return __builtin_aarch64_uqshrn_nhi_uus (__a, __b);
24975 }
24976 
24977 __extension__ extern __inline uint16_t
24978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_u32(uint32_t __a,const int __b)24979 vqshrns_n_u32 (uint32_t __a, const int __b)
24980 {
24981   return __builtin_aarch64_uqshrn_nsi_uus (__a, __b);
24982 }
24983 
24984 __extension__ extern __inline uint32_t
24985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_u64(uint64_t __a,const int __b)24986 vqshrnd_n_u64 (uint64_t __a, const int __b)
24987 {
24988   return __builtin_aarch64_uqshrn_ndi_uus (__a, __b);
24989 }
24990 
24991 /* vqshrun */
24992 
24993 __extension__ extern __inline uint8x8_t
24994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s16(int16x8_t __a,const int __b)24995 vqshrun_n_s16 (int16x8_t __a, const int __b)
24996 {
24997   return (uint8x8_t) __builtin_aarch64_sqshrun_nv8hi (__a, __b);
24998 }
24999 
25000 __extension__ extern __inline uint16x4_t
25001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s32(int32x4_t __a,const int __b)25002 vqshrun_n_s32 (int32x4_t __a, const int __b)
25003 {
25004   return (uint16x4_t) __builtin_aarch64_sqshrun_nv4si (__a, __b);
25005 }
25006 
25007 __extension__ extern __inline uint32x2_t
25008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s64(int64x2_t __a,const int __b)25009 vqshrun_n_s64 (int64x2_t __a, const int __b)
25010 {
25011   return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
25012 }
25013 
25014 __extension__ extern __inline int8_t
25015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrunh_n_s16(int16_t __a,const int __b)25016 vqshrunh_n_s16 (int16_t __a, const int __b)
25017 {
25018   return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
25019 }
25020 
25021 __extension__ extern __inline int16_t
25022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshruns_n_s32(int32_t __a,const int __b)25023 vqshruns_n_s32 (int32_t __a, const int __b)
25024 {
25025   return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
25026 }
25027 
25028 __extension__ extern __inline int32_t
25029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrund_n_s64(int64_t __a,const int __b)25030 vqshrund_n_s64 (int64_t __a, const int __b)
25031 {
25032   return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
25033 }
25034 
25035 /* vqsub */
25036 
25037 __extension__ extern __inline int8_t
25038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_s8(int8_t __a,int8_t __b)25039 vqsubb_s8 (int8_t __a, int8_t __b)
25040 {
25041   return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
25042 }
25043 
25044 __extension__ extern __inline int16_t
25045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_s16(int16_t __a,int16_t __b)25046 vqsubh_s16 (int16_t __a, int16_t __b)
25047 {
25048   return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
25049 }
25050 
25051 __extension__ extern __inline int32_t
25052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_s32(int32_t __a,int32_t __b)25053 vqsubs_s32 (int32_t __a, int32_t __b)
25054 {
25055   return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
25056 }
25057 
25058 __extension__ extern __inline int64_t
25059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_s64(int64_t __a,int64_t __b)25060 vqsubd_s64 (int64_t __a, int64_t __b)
25061 {
25062   return __builtin_aarch64_sqsubdi (__a, __b);
25063 }
25064 
25065 __extension__ extern __inline uint8_t
25066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_u8(uint8_t __a,uint8_t __b)25067 vqsubb_u8 (uint8_t __a, uint8_t __b)
25068 {
25069   return (uint8_t) __builtin_aarch64_uqsubqi_uuu (__a, __b);
25070 }
25071 
25072 __extension__ extern __inline uint16_t
25073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_u16(uint16_t __a,uint16_t __b)25074 vqsubh_u16 (uint16_t __a, uint16_t __b)
25075 {
25076   return (uint16_t) __builtin_aarch64_uqsubhi_uuu (__a, __b);
25077 }
25078 
25079 __extension__ extern __inline uint32_t
25080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_u32(uint32_t __a,uint32_t __b)25081 vqsubs_u32 (uint32_t __a, uint32_t __b)
25082 {
25083   return (uint32_t) __builtin_aarch64_uqsubsi_uuu (__a, __b);
25084 }
25085 
25086 __extension__ extern __inline uint64_t
25087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_u64(uint64_t __a,uint64_t __b)25088 vqsubd_u64 (uint64_t __a, uint64_t __b)
25089 {
25090   return __builtin_aarch64_uqsubdi_uuu (__a, __b);
25091 }
25092 
25093 /* vqtbl2 */
25094 
25095 __extension__ extern __inline int8x8_t
25096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_s8(int8x16x2_t __tab,uint8x8_t __idx)25097 vqtbl2_s8 (int8x16x2_t __tab, uint8x8_t __idx)
25098 {
25099   __builtin_aarch64_simd_oi __o;
25100   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25101   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25102   return __builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25103 }
25104 
25105 __extension__ extern __inline uint8x8_t
25106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_u8(uint8x16x2_t __tab,uint8x8_t __idx)25107 vqtbl2_u8 (uint8x16x2_t __tab, uint8x8_t __idx)
25108 {
25109   __builtin_aarch64_simd_oi __o;
25110   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25111   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25112   return (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25113 }
25114 
25115 __extension__ extern __inline poly8x8_t
25116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_p8(poly8x16x2_t __tab,uint8x8_t __idx)25117 vqtbl2_p8 (poly8x16x2_t __tab, uint8x8_t __idx)
25118 {
25119   __builtin_aarch64_simd_oi __o;
25120   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25121   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25122   return (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25123 }
25124 
25125 __extension__ extern __inline int8x16_t
25126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_s8(int8x16x2_t __tab,uint8x16_t __idx)25127 vqtbl2q_s8 (int8x16x2_t __tab, uint8x16_t __idx)
25128 {
25129   __builtin_aarch64_simd_oi __o;
25130   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25131   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25132   return __builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25133 }
25134 
25135 __extension__ extern __inline uint8x16_t
25136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_u8(uint8x16x2_t __tab,uint8x16_t __idx)25137 vqtbl2q_u8 (uint8x16x2_t __tab, uint8x16_t __idx)
25138 {
25139   __builtin_aarch64_simd_oi __o;
25140   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25141   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25142   return (uint8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25143 }
25144 
25145 __extension__ extern __inline poly8x16_t
25146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_p8(poly8x16x2_t __tab,uint8x16_t __idx)25147 vqtbl2q_p8 (poly8x16x2_t __tab, uint8x16_t __idx)
25148 {
25149   __builtin_aarch64_simd_oi __o;
25150   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25151   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25152   return (poly8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25153 }
25154 
25155 /* vqtbl3 */
25156 
25157 __extension__ extern __inline int8x8_t
25158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_s8(int8x16x3_t __tab,uint8x8_t __idx)25159 vqtbl3_s8 (int8x16x3_t __tab, uint8x8_t __idx)
25160 {
25161   __builtin_aarch64_simd_ci __o;
25162   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25163   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25164   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25165   return __builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25166 }
25167 
25168 __extension__ extern __inline uint8x8_t
25169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_u8(uint8x16x3_t __tab,uint8x8_t __idx)25170 vqtbl3_u8 (uint8x16x3_t __tab, uint8x8_t __idx)
25171 {
25172   __builtin_aarch64_simd_ci __o;
25173   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25174   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25175   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25176   return (uint8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25177 }
25178 
25179 __extension__ extern __inline poly8x8_t
25180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_p8(poly8x16x3_t __tab,uint8x8_t __idx)25181 vqtbl3_p8 (poly8x16x3_t __tab, uint8x8_t __idx)
25182 {
25183   __builtin_aarch64_simd_ci __o;
25184   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25185   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25186   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25187   return (poly8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25188 }
25189 
25190 __extension__ extern __inline int8x16_t
25191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_s8(int8x16x3_t __tab,uint8x16_t __idx)25192 vqtbl3q_s8 (int8x16x3_t __tab, uint8x16_t __idx)
25193 {
25194   __builtin_aarch64_simd_ci __o;
25195   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25196   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25197   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25198   return __builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25199 }
25200 
25201 __extension__ extern __inline uint8x16_t
25202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_u8(uint8x16x3_t __tab,uint8x16_t __idx)25203 vqtbl3q_u8 (uint8x16x3_t __tab, uint8x16_t __idx)
25204 {
25205   __builtin_aarch64_simd_ci __o;
25206   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25207   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25208   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25209   return (uint8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25210 }
25211 
25212 __extension__ extern __inline poly8x16_t
25213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_p8(poly8x16x3_t __tab,uint8x16_t __idx)25214 vqtbl3q_p8 (poly8x16x3_t __tab, uint8x16_t __idx)
25215 {
25216   __builtin_aarch64_simd_ci __o;
25217   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25218   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25219   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25220   return (poly8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25221 }
25222 
25223 /* vqtbl4 */
25224 
25225 __extension__ extern __inline int8x8_t
25226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_s8(int8x16x4_t __tab,uint8x8_t __idx)25227 vqtbl4_s8 (int8x16x4_t __tab, uint8x8_t __idx)
25228 {
25229   __builtin_aarch64_simd_xi __o;
25230   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25231   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25232   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25233   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25234   return __builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25235 }
25236 
25237 __extension__ extern __inline uint8x8_t
25238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_u8(uint8x16x4_t __tab,uint8x8_t __idx)25239 vqtbl4_u8 (uint8x16x4_t __tab, uint8x8_t __idx)
25240 {
25241   __builtin_aarch64_simd_xi __o;
25242   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25243   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25244   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25245   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25246   return (uint8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25247 }
25248 
25249 __extension__ extern __inline poly8x8_t
25250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_p8(poly8x16x4_t __tab,uint8x8_t __idx)25251 vqtbl4_p8 (poly8x16x4_t __tab, uint8x8_t __idx)
25252 {
25253   __builtin_aarch64_simd_xi __o;
25254   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25255   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25256   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25257   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25258   return (poly8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25259 }
25260 
25261 __extension__ extern __inline int8x16_t
25262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_s8(int8x16x4_t __tab,uint8x16_t __idx)25263 vqtbl4q_s8 (int8x16x4_t __tab, uint8x16_t __idx)
25264 {
25265   __builtin_aarch64_simd_xi __o;
25266   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25267   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25268   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25269   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25270   return __builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25271 }
25272 
25273 __extension__ extern __inline uint8x16_t
25274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_u8(uint8x16x4_t __tab,uint8x16_t __idx)25275 vqtbl4q_u8 (uint8x16x4_t __tab, uint8x16_t __idx)
25276 {
25277   __builtin_aarch64_simd_xi __o;
25278   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25279   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25280   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25281   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25282   return (uint8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25283 }
25284 
25285 __extension__ extern __inline poly8x16_t
25286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_p8(poly8x16x4_t __tab,uint8x16_t __idx)25287 vqtbl4q_p8 (poly8x16x4_t __tab, uint8x16_t __idx)
25288 {
25289   __builtin_aarch64_simd_xi __o;
25290   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25291   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25292   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25293   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25294   return (poly8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25295 }
25296 
25297 
25298 /* vqtbx2 */
25299 __extension__ extern __inline int8x8_t
25300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_s8(int8x8_t __r,int8x16x2_t __tab,uint8x8_t __idx)25301 vqtbx2_s8 (int8x8_t __r, int8x16x2_t __tab, uint8x8_t __idx)
25302 {
25303   __builtin_aarch64_simd_oi __o;
25304   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25305   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25306   return __builtin_aarch64_tbx4v8qi (__r, __o, (int8x8_t)__idx);
25307 }
25308 
25309 __extension__ extern __inline uint8x8_t
25310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_u8(uint8x8_t __r,uint8x16x2_t __tab,uint8x8_t __idx)25311 vqtbx2_u8 (uint8x8_t __r, uint8x16x2_t __tab, uint8x8_t __idx)
25312 {
25313   __builtin_aarch64_simd_oi __o;
25314   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25315   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25316   return (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
25317 						(int8x8_t)__idx);
25318 }
25319 
25320 __extension__ extern __inline poly8x8_t
25321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_p8(poly8x8_t __r,poly8x16x2_t __tab,uint8x8_t __idx)25322 vqtbx2_p8 (poly8x8_t __r, poly8x16x2_t __tab, uint8x8_t __idx)
25323 {
25324   __builtin_aarch64_simd_oi __o;
25325   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25326   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25327   return (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
25328 						(int8x8_t)__idx);
25329 }
25330 
25331 __extension__ extern __inline int8x16_t
25332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_s8(int8x16_t __r,int8x16x2_t __tab,uint8x16_t __idx)25333 vqtbx2q_s8 (int8x16_t __r, int8x16x2_t __tab, uint8x16_t __idx)
25334 {
25335   __builtin_aarch64_simd_oi __o;
25336   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25337   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25338   return __builtin_aarch64_tbx4v16qi (__r, __o, (int8x16_t)__idx);
25339 }
25340 
25341 __extension__ extern __inline uint8x16_t
25342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_u8(uint8x16_t __r,uint8x16x2_t __tab,uint8x16_t __idx)25343 vqtbx2q_u8 (uint8x16_t __r, uint8x16x2_t __tab, uint8x16_t __idx)
25344 {
25345   __builtin_aarch64_simd_oi __o;
25346   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25347   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25348   return (uint8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
25349 						  (int8x16_t)__idx);
25350 }
25351 
25352 __extension__ extern __inline poly8x16_t
25353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_p8(poly8x16_t __r,poly8x16x2_t __tab,uint8x16_t __idx)25354 vqtbx2q_p8 (poly8x16_t __r, poly8x16x2_t __tab, uint8x16_t __idx)
25355 {
25356   __builtin_aarch64_simd_oi __o;
25357   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25358   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25359   return (poly8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
25360 						  (int8x16_t)__idx);
25361 }
25362 
25363 /* vqtbx3 */
25364 __extension__ extern __inline int8x8_t
25365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_s8(int8x8_t __r,int8x16x3_t __tab,uint8x8_t __idx)25366 vqtbx3_s8 (int8x8_t __r, int8x16x3_t __tab, uint8x8_t __idx)
25367 {
25368   __builtin_aarch64_simd_ci __o;
25369   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
25370   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
25371   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
25372   return __builtin_aarch64_qtbx3v8qi (__r, __o, (int8x8_t)__idx);
25373 }
25374 
25375 __extension__ extern __inline uint8x8_t
25376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_u8(uint8x8_t __r,uint8x16x3_t __tab,uint8x8_t __idx)25377 vqtbx3_u8 (uint8x8_t __r, uint8x16x3_t __tab, uint8x8_t __idx)
25378 {
25379   __builtin_aarch64_simd_ci __o;
25380   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25381   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25382   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25383   return (uint8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
25384 						 (int8x8_t)__idx);
25385 }
25386 
25387 __extension__ extern __inline poly8x8_t
25388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_p8(poly8x8_t __r,poly8x16x3_t __tab,uint8x8_t __idx)25389 vqtbx3_p8 (poly8x8_t __r, poly8x16x3_t __tab, uint8x8_t __idx)
25390 {
25391   __builtin_aarch64_simd_ci __o;
25392   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25393   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25394   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25395   return (poly8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
25396 						 (int8x8_t)__idx);
25397 }
25398 
25399 __extension__ extern __inline int8x16_t
25400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_s8(int8x16_t __r,int8x16x3_t __tab,uint8x16_t __idx)25401 vqtbx3q_s8 (int8x16_t __r, int8x16x3_t __tab, uint8x16_t __idx)
25402 {
25403   __builtin_aarch64_simd_ci __o;
25404   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
25405   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
25406   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
25407   return __builtin_aarch64_qtbx3v16qi (__r, __o, (int8x16_t)__idx);
25408 }
25409 
25410 __extension__ extern __inline uint8x16_t
25411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_u8(uint8x16_t __r,uint8x16x3_t __tab,uint8x16_t __idx)25412 vqtbx3q_u8 (uint8x16_t __r, uint8x16x3_t __tab, uint8x16_t __idx)
25413 {
25414   __builtin_aarch64_simd_ci __o;
25415   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25416   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25417   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25418   return (uint8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
25419 						   (int8x16_t)__idx);
25420 }
25421 
25422 __extension__ extern __inline poly8x16_t
25423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_p8(poly8x16_t __r,poly8x16x3_t __tab,uint8x16_t __idx)25424 vqtbx3q_p8 (poly8x16_t __r, poly8x16x3_t __tab, uint8x16_t __idx)
25425 {
25426   __builtin_aarch64_simd_ci __o;
25427   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25428   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25429   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25430   return (poly8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
25431 						   (int8x16_t)__idx);
25432 }
25433 
25434 /* vqtbx4 */
25435 
25436 __extension__ extern __inline int8x8_t
25437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_s8(int8x8_t __r,int8x16x4_t __tab,uint8x8_t __idx)25438 vqtbx4_s8 (int8x8_t __r, int8x16x4_t __tab, uint8x8_t __idx)
25439 {
25440   __builtin_aarch64_simd_xi __o;
25441   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
25442   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
25443   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
25444   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
25445   return __builtin_aarch64_qtbx4v8qi (__r, __o, (int8x8_t)__idx);
25446 }
25447 
25448 __extension__ extern __inline uint8x8_t
25449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_u8(uint8x8_t __r,uint8x16x4_t __tab,uint8x8_t __idx)25450 vqtbx4_u8 (uint8x8_t __r, uint8x16x4_t __tab, uint8x8_t __idx)
25451 {
25452   __builtin_aarch64_simd_xi __o;
25453   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25454   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25455   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25456   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25457   return (uint8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
25458 						 (int8x8_t)__idx);
25459 }
25460 
25461 __extension__ extern __inline poly8x8_t
25462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_p8(poly8x8_t __r,poly8x16x4_t __tab,uint8x8_t __idx)25463 vqtbx4_p8 (poly8x8_t __r, poly8x16x4_t __tab, uint8x8_t __idx)
25464 {
25465   __builtin_aarch64_simd_xi __o;
25466   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25467   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25468   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25469   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25470   return (poly8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
25471 						 (int8x8_t)__idx);
25472 }
25473 
25474 __extension__ extern __inline int8x16_t
25475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_s8(int8x16_t __r,int8x16x4_t __tab,uint8x16_t __idx)25476 vqtbx4q_s8 (int8x16_t __r, int8x16x4_t __tab, uint8x16_t __idx)
25477 {
25478   __builtin_aarch64_simd_xi __o;
25479   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
25480   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
25481   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
25482   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
25483   return __builtin_aarch64_qtbx4v16qi (__r, __o, (int8x16_t)__idx);
25484 }
25485 
25486 __extension__ extern __inline uint8x16_t
25487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_u8(uint8x16_t __r,uint8x16x4_t __tab,uint8x16_t __idx)25488 vqtbx4q_u8 (uint8x16_t __r, uint8x16x4_t __tab, uint8x16_t __idx)
25489 {
25490   __builtin_aarch64_simd_xi __o;
25491   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25492   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25493   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25494   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25495   return (uint8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
25496 						   (int8x16_t)__idx);
25497 }
25498 
25499 __extension__ extern __inline poly8x16_t
25500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_p8(poly8x16_t __r,poly8x16x4_t __tab,uint8x16_t __idx)25501 vqtbx4q_p8 (poly8x16_t __r, poly8x16x4_t __tab, uint8x16_t __idx)
25502 {
25503   __builtin_aarch64_simd_xi __o;
25504   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25505   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25506   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25507   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25508   return (poly8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
25509 						   (int8x16_t)__idx);
25510 }
25511 
25512 /* vrbit  */
25513 
25514 __extension__ extern __inline poly8x8_t
25515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_p8(poly8x8_t __a)25516 vrbit_p8 (poly8x8_t __a)
25517 {
25518   return (poly8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
25519 }
25520 
25521 __extension__ extern __inline int8x8_t
25522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_s8(int8x8_t __a)25523 vrbit_s8 (int8x8_t __a)
25524 {
25525   return __builtin_aarch64_rbitv8qi (__a);
25526 }
25527 
25528 __extension__ extern __inline uint8x8_t
25529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_u8(uint8x8_t __a)25530 vrbit_u8 (uint8x8_t __a)
25531 {
25532   return (uint8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
25533 }
25534 
25535 __extension__ extern __inline poly8x16_t
25536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_p8(poly8x16_t __a)25537 vrbitq_p8 (poly8x16_t __a)
25538 {
25539   return (poly8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t)__a);
25540 }
25541 
25542 __extension__ extern __inline int8x16_t
25543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_s8(int8x16_t __a)25544 vrbitq_s8 (int8x16_t __a)
25545 {
25546   return __builtin_aarch64_rbitv16qi (__a);
25547 }
25548 
25549 __extension__ extern __inline uint8x16_t
25550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_u8(uint8x16_t __a)25551 vrbitq_u8 (uint8x16_t __a)
25552 {
25553   return (uint8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t) __a);
25554 }
25555 
25556 /* vrecpe  */
25557 
25558 __extension__ extern __inline uint32x2_t
25559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_u32(uint32x2_t __a)25560 vrecpe_u32 (uint32x2_t __a)
25561 {
25562   return (uint32x2_t) __builtin_aarch64_urecpev2si ((int32x2_t) __a);
25563 }
25564 
25565 __extension__ extern __inline uint32x4_t
25566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_u32(uint32x4_t __a)25567 vrecpeq_u32 (uint32x4_t __a)
25568 {
25569   return (uint32x4_t) __builtin_aarch64_urecpev4si ((int32x4_t) __a);
25570 }
25571 
25572 __extension__ extern __inline float32_t
25573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpes_f32(float32_t __a)25574 vrecpes_f32 (float32_t __a)
25575 {
25576   return __builtin_aarch64_frecpesf (__a);
25577 }
25578 
25579 __extension__ extern __inline float64_t
25580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecped_f64(float64_t __a)25581 vrecped_f64 (float64_t __a)
25582 {
25583   return __builtin_aarch64_frecpedf (__a);
25584 }
25585 
25586 __extension__ extern __inline float32x2_t
25587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f32(float32x2_t __a)25588 vrecpe_f32 (float32x2_t __a)
25589 {
25590   return __builtin_aarch64_frecpev2sf (__a);
25591 }
25592 
25593 __extension__ extern __inline float64x1_t
25594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f64(float64x1_t __a)25595 vrecpe_f64 (float64x1_t __a)
25596 {
25597   return (float64x1_t) { vrecped_f64 (vget_lane_f64 (__a, 0)) };
25598 }
25599 
25600 __extension__ extern __inline float32x4_t
25601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f32(float32x4_t __a)25602 vrecpeq_f32 (float32x4_t __a)
25603 {
25604   return __builtin_aarch64_frecpev4sf (__a);
25605 }
25606 
25607 __extension__ extern __inline float64x2_t
25608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f64(float64x2_t __a)25609 vrecpeq_f64 (float64x2_t __a)
25610 {
25611   return __builtin_aarch64_frecpev2df (__a);
25612 }
25613 
25614 /* vrecps  */
25615 
25616 __extension__ extern __inline float32_t
25617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpss_f32(float32_t __a,float32_t __b)25618 vrecpss_f32 (float32_t __a, float32_t __b)
25619 {
25620   return __builtin_aarch64_frecpssf (__a, __b);
25621 }
25622 
25623 __extension__ extern __inline float64_t
25624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsd_f64(float64_t __a,float64_t __b)25625 vrecpsd_f64 (float64_t __a, float64_t __b)
25626 {
25627   return __builtin_aarch64_frecpsdf (__a, __b);
25628 }
25629 
25630 __extension__ extern __inline float32x2_t
25631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f32(float32x2_t __a,float32x2_t __b)25632 vrecps_f32 (float32x2_t __a, float32x2_t __b)
25633 {
25634   return __builtin_aarch64_frecpsv2sf (__a, __b);
25635 }
25636 
25637 __extension__ extern __inline float64x1_t
25638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f64(float64x1_t __a,float64x1_t __b)25639 vrecps_f64 (float64x1_t __a, float64x1_t __b)
25640 {
25641   return (float64x1_t) { vrecpsd_f64 (vget_lane_f64 (__a, 0),
25642 				      vget_lane_f64 (__b, 0)) };
25643 }
25644 
25645 __extension__ extern __inline float32x4_t
25646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)25647 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
25648 {
25649   return __builtin_aarch64_frecpsv4sf (__a, __b);
25650 }
25651 
25652 __extension__ extern __inline float64x2_t
25653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f64(float64x2_t __a,float64x2_t __b)25654 vrecpsq_f64 (float64x2_t __a, float64x2_t __b)
25655 {
25656   return __builtin_aarch64_frecpsv2df (__a, __b);
25657 }
25658 
25659 /* vrecpx  */
25660 
25661 __extension__ extern __inline float32_t
25662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxs_f32(float32_t __a)25663 vrecpxs_f32 (float32_t __a)
25664 {
25665   return __builtin_aarch64_frecpxsf (__a);
25666 }
25667 
25668 __extension__ extern __inline float64_t
25669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxd_f64(float64_t __a)25670 vrecpxd_f64 (float64_t __a)
25671 {
25672   return __builtin_aarch64_frecpxdf (__a);
25673 }
25674 
25675 
25676 /* vrev  */
25677 
25678 __extension__ extern __inline poly8x8_t
25679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_p8(poly8x8_t __a)25680 vrev16_p8 (poly8x8_t __a)
25681 {
25682   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25683 }
25684 
25685 __extension__ extern __inline int8x8_t
25686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_s8(int8x8_t __a)25687 vrev16_s8 (int8x8_t __a)
25688 {
25689   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25690 }
25691 
25692 __extension__ extern __inline uint8x8_t
25693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_u8(uint8x8_t __a)25694 vrev16_u8 (uint8x8_t __a)
25695 {
25696   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25697 }
25698 
25699 __extension__ extern __inline poly8x16_t
25700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_p8(poly8x16_t __a)25701 vrev16q_p8 (poly8x16_t __a)
25702 {
25703   return __builtin_shuffle (__a,
25704       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25705 }
25706 
25707 __extension__ extern __inline int8x16_t
25708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_s8(int8x16_t __a)25709 vrev16q_s8 (int8x16_t __a)
25710 {
25711   return __builtin_shuffle (__a,
25712       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25713 }
25714 
25715 __extension__ extern __inline uint8x16_t
25716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_u8(uint8x16_t __a)25717 vrev16q_u8 (uint8x16_t __a)
25718 {
25719   return __builtin_shuffle (__a,
25720       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25721 }
25722 
25723 __extension__ extern __inline poly8x8_t
25724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p8(poly8x8_t __a)25725 vrev32_p8 (poly8x8_t __a)
25726 {
25727   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25728 }
25729 
25730 __extension__ extern __inline poly16x4_t
25731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p16(poly16x4_t __a)25732 vrev32_p16 (poly16x4_t __a)
25733 {
25734   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25735 }
25736 
25737 __extension__ extern __inline int8x8_t
25738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s8(int8x8_t __a)25739 vrev32_s8 (int8x8_t __a)
25740 {
25741   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25742 }
25743 
25744 __extension__ extern __inline int16x4_t
25745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s16(int16x4_t __a)25746 vrev32_s16 (int16x4_t __a)
25747 {
25748   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25749 }
25750 
25751 __extension__ extern __inline uint8x8_t
25752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u8(uint8x8_t __a)25753 vrev32_u8 (uint8x8_t __a)
25754 {
25755   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25756 }
25757 
25758 __extension__ extern __inline uint16x4_t
25759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u16(uint16x4_t __a)25760 vrev32_u16 (uint16x4_t __a)
25761 {
25762   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25763 }
25764 
25765 __extension__ extern __inline poly8x16_t
25766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p8(poly8x16_t __a)25767 vrev32q_p8 (poly8x16_t __a)
25768 {
25769   return __builtin_shuffle (__a,
25770       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25771 }
25772 
25773 __extension__ extern __inline poly16x8_t
25774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p16(poly16x8_t __a)25775 vrev32q_p16 (poly16x8_t __a)
25776 {
25777   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25778 }
25779 
25780 __extension__ extern __inline int8x16_t
25781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s8(int8x16_t __a)25782 vrev32q_s8 (int8x16_t __a)
25783 {
25784   return __builtin_shuffle (__a,
25785       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25786 }
25787 
25788 __extension__ extern __inline int16x8_t
25789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s16(int16x8_t __a)25790 vrev32q_s16 (int16x8_t __a)
25791 {
25792   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25793 }
25794 
25795 __extension__ extern __inline uint8x16_t
25796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u8(uint8x16_t __a)25797 vrev32q_u8 (uint8x16_t __a)
25798 {
25799   return __builtin_shuffle (__a,
25800       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25801 }
25802 
25803 __extension__ extern __inline uint16x8_t
25804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u16(uint16x8_t __a)25805 vrev32q_u16 (uint16x8_t __a)
25806 {
25807   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25808 }
25809 
25810 __extension__ extern __inline float16x4_t
25811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f16(float16x4_t __a)25812 vrev64_f16 (float16x4_t __a)
25813 {
25814   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25815 }
25816 
25817 __extension__ extern __inline float32x2_t
25818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f32(float32x2_t __a)25819 vrev64_f32 (float32x2_t __a)
25820 {
25821   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25822 }
25823 
25824 __extension__ extern __inline poly8x8_t
25825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p8(poly8x8_t __a)25826 vrev64_p8 (poly8x8_t __a)
25827 {
25828   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25829 }
25830 
25831 __extension__ extern __inline poly16x4_t
25832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p16(poly16x4_t __a)25833 vrev64_p16 (poly16x4_t __a)
25834 {
25835   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25836 }
25837 
25838 __extension__ extern __inline int8x8_t
25839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s8(int8x8_t __a)25840 vrev64_s8 (int8x8_t __a)
25841 {
25842   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25843 }
25844 
25845 __extension__ extern __inline int16x4_t
25846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s16(int16x4_t __a)25847 vrev64_s16 (int16x4_t __a)
25848 {
25849   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25850 }
25851 
25852 __extension__ extern __inline int32x2_t
25853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s32(int32x2_t __a)25854 vrev64_s32 (int32x2_t __a)
25855 {
25856   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25857 }
25858 
25859 __extension__ extern __inline uint8x8_t
25860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u8(uint8x8_t __a)25861 vrev64_u8 (uint8x8_t __a)
25862 {
25863   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25864 }
25865 
25866 __extension__ extern __inline uint16x4_t
25867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u16(uint16x4_t __a)25868 vrev64_u16 (uint16x4_t __a)
25869 {
25870   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25871 }
25872 
25873 __extension__ extern __inline uint32x2_t
25874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u32(uint32x2_t __a)25875 vrev64_u32 (uint32x2_t __a)
25876 {
25877   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25878 }
25879 
25880 __extension__ extern __inline float16x8_t
25881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f16(float16x8_t __a)25882 vrev64q_f16 (float16x8_t __a)
25883 {
25884   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25885 }
25886 
25887 __extension__ extern __inline float32x4_t
25888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f32(float32x4_t __a)25889 vrev64q_f32 (float32x4_t __a)
25890 {
25891   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25892 }
25893 
25894 __extension__ extern __inline poly8x16_t
25895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p8(poly8x16_t __a)25896 vrev64q_p8 (poly8x16_t __a)
25897 {
25898   return __builtin_shuffle (__a,
25899       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25900 }
25901 
25902 __extension__ extern __inline poly16x8_t
25903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p16(poly16x8_t __a)25904 vrev64q_p16 (poly16x8_t __a)
25905 {
25906   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25907 }
25908 
25909 __extension__ extern __inline int8x16_t
25910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s8(int8x16_t __a)25911 vrev64q_s8 (int8x16_t __a)
25912 {
25913   return __builtin_shuffle (__a,
25914       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25915 }
25916 
25917 __extension__ extern __inline int16x8_t
25918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s16(int16x8_t __a)25919 vrev64q_s16 (int16x8_t __a)
25920 {
25921   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25922 }
25923 
25924 __extension__ extern __inline int32x4_t
25925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s32(int32x4_t __a)25926 vrev64q_s32 (int32x4_t __a)
25927 {
25928   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25929 }
25930 
25931 __extension__ extern __inline uint8x16_t
25932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u8(uint8x16_t __a)25933 vrev64q_u8 (uint8x16_t __a)
25934 {
25935   return __builtin_shuffle (__a,
25936       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25937 }
25938 
25939 __extension__ extern __inline uint16x8_t
25940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u16(uint16x8_t __a)25941 vrev64q_u16 (uint16x8_t __a)
25942 {
25943   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25944 }
25945 
25946 __extension__ extern __inline uint32x4_t
25947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u32(uint32x4_t __a)25948 vrev64q_u32 (uint32x4_t __a)
25949 {
25950   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25951 }
25952 
25953 /* vrnd  */
25954 
25955 __extension__ extern __inline float32x2_t
25956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f32(float32x2_t __a)25957 vrnd_f32 (float32x2_t __a)
25958 {
25959   return __builtin_aarch64_btruncv2sf (__a);
25960 }
25961 
25962 __extension__ extern __inline float64x1_t
25963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f64(float64x1_t __a)25964 vrnd_f64 (float64x1_t __a)
25965 {
25966   return vset_lane_f64 (__builtin_trunc (vget_lane_f64 (__a, 0)), __a, 0);
25967 }
25968 
25969 __extension__ extern __inline float32x4_t
25970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f32(float32x4_t __a)25971 vrndq_f32 (float32x4_t __a)
25972 {
25973   return __builtin_aarch64_btruncv4sf (__a);
25974 }
25975 
25976 __extension__ extern __inline float64x2_t
25977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f64(float64x2_t __a)25978 vrndq_f64 (float64x2_t __a)
25979 {
25980   return __builtin_aarch64_btruncv2df (__a);
25981 }
25982 
25983 /* vrnda  */
25984 
25985 __extension__ extern __inline float32x2_t
25986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f32(float32x2_t __a)25987 vrnda_f32 (float32x2_t __a)
25988 {
25989   return __builtin_aarch64_roundv2sf (__a);
25990 }
25991 
25992 __extension__ extern __inline float64x1_t
25993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f64(float64x1_t __a)25994 vrnda_f64 (float64x1_t __a)
25995 {
25996   return vset_lane_f64 (__builtin_round (vget_lane_f64 (__a, 0)), __a, 0);
25997 }
25998 
25999 __extension__ extern __inline float32x4_t
26000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f32(float32x4_t __a)26001 vrndaq_f32 (float32x4_t __a)
26002 {
26003   return __builtin_aarch64_roundv4sf (__a);
26004 }
26005 
26006 __extension__ extern __inline float64x2_t
26007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f64(float64x2_t __a)26008 vrndaq_f64 (float64x2_t __a)
26009 {
26010   return __builtin_aarch64_roundv2df (__a);
26011 }
26012 
26013 /* vrndi  */
26014 
26015 __extension__ extern __inline float32x2_t
26016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f32(float32x2_t __a)26017 vrndi_f32 (float32x2_t __a)
26018 {
26019   return __builtin_aarch64_nearbyintv2sf (__a);
26020 }
26021 
26022 __extension__ extern __inline float64x1_t
26023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f64(float64x1_t __a)26024 vrndi_f64 (float64x1_t __a)
26025 {
26026   return vset_lane_f64 (__builtin_nearbyint (vget_lane_f64 (__a, 0)), __a, 0);
26027 }
26028 
26029 __extension__ extern __inline float32x4_t
26030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f32(float32x4_t __a)26031 vrndiq_f32 (float32x4_t __a)
26032 {
26033   return __builtin_aarch64_nearbyintv4sf (__a);
26034 }
26035 
26036 __extension__ extern __inline float64x2_t
26037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f64(float64x2_t __a)26038 vrndiq_f64 (float64x2_t __a)
26039 {
26040   return __builtin_aarch64_nearbyintv2df (__a);
26041 }
26042 
26043 /* vrndm  */
26044 
26045 __extension__ extern __inline float32x2_t
26046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f32(float32x2_t __a)26047 vrndm_f32 (float32x2_t __a)
26048 {
26049   return __builtin_aarch64_floorv2sf (__a);
26050 }
26051 
26052 __extension__ extern __inline float64x1_t
26053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f64(float64x1_t __a)26054 vrndm_f64 (float64x1_t __a)
26055 {
26056   return vset_lane_f64 (__builtin_floor (vget_lane_f64 (__a, 0)), __a, 0);
26057 }
26058 
26059 __extension__ extern __inline float32x4_t
26060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f32(float32x4_t __a)26061 vrndmq_f32 (float32x4_t __a)
26062 {
26063   return __builtin_aarch64_floorv4sf (__a);
26064 }
26065 
26066 __extension__ extern __inline float64x2_t
26067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f64(float64x2_t __a)26068 vrndmq_f64 (float64x2_t __a)
26069 {
26070   return __builtin_aarch64_floorv2df (__a);
26071 }
26072 
26073 /* vrndn  */
26074 
26075 __extension__ extern __inline float32_t
26076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndns_f32(float32_t __a)26077 vrndns_f32 (float32_t __a)
26078 {
26079   return __builtin_aarch64_frintnsf (__a);
26080 }
26081 
26082 __extension__ extern __inline float32x2_t
26083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f32(float32x2_t __a)26084 vrndn_f32 (float32x2_t __a)
26085 {
26086   return __builtin_aarch64_frintnv2sf (__a);
26087 }
26088 
26089 __extension__ extern __inline float64x1_t
26090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f64(float64x1_t __a)26091 vrndn_f64 (float64x1_t __a)
26092 {
26093   return (float64x1_t) {__builtin_aarch64_frintndf (__a[0])};
26094 }
26095 
26096 __extension__ extern __inline float32x4_t
26097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f32(float32x4_t __a)26098 vrndnq_f32 (float32x4_t __a)
26099 {
26100   return __builtin_aarch64_frintnv4sf (__a);
26101 }
26102 
26103 __extension__ extern __inline float64x2_t
26104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f64(float64x2_t __a)26105 vrndnq_f64 (float64x2_t __a)
26106 {
26107   return __builtin_aarch64_frintnv2df (__a);
26108 }
26109 
26110 /* vrndp  */
26111 
26112 __extension__ extern __inline float32x2_t
26113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f32(float32x2_t __a)26114 vrndp_f32 (float32x2_t __a)
26115 {
26116   return __builtin_aarch64_ceilv2sf (__a);
26117 }
26118 
26119 __extension__ extern __inline float64x1_t
26120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f64(float64x1_t __a)26121 vrndp_f64 (float64x1_t __a)
26122 {
26123   return vset_lane_f64 (__builtin_ceil (vget_lane_f64 (__a, 0)), __a, 0);
26124 }
26125 
26126 __extension__ extern __inline float32x4_t
26127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f32(float32x4_t __a)26128 vrndpq_f32 (float32x4_t __a)
26129 {
26130   return __builtin_aarch64_ceilv4sf (__a);
26131 }
26132 
26133 __extension__ extern __inline float64x2_t
26134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f64(float64x2_t __a)26135 vrndpq_f64 (float64x2_t __a)
26136 {
26137   return __builtin_aarch64_ceilv2df (__a);
26138 }
26139 
26140 /* vrndx  */
26141 
26142 __extension__ extern __inline float32x2_t
26143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f32(float32x2_t __a)26144 vrndx_f32 (float32x2_t __a)
26145 {
26146   return __builtin_aarch64_rintv2sf (__a);
26147 }
26148 
26149 __extension__ extern __inline float64x1_t
26150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f64(float64x1_t __a)26151 vrndx_f64 (float64x1_t __a)
26152 {
26153   return vset_lane_f64 (__builtin_rint (vget_lane_f64 (__a, 0)), __a, 0);
26154 }
26155 
26156 __extension__ extern __inline float32x4_t
26157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f32(float32x4_t __a)26158 vrndxq_f32 (float32x4_t __a)
26159 {
26160   return __builtin_aarch64_rintv4sf (__a);
26161 }
26162 
26163 __extension__ extern __inline float64x2_t
26164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f64(float64x2_t __a)26165 vrndxq_f64 (float64x2_t __a)
26166 {
26167   return __builtin_aarch64_rintv2df (__a);
26168 }
26169 
26170 /* vrshl */
26171 
26172 __extension__ extern __inline int8x8_t
26173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s8(int8x8_t __a,int8x8_t __b)26174 vrshl_s8 (int8x8_t __a, int8x8_t __b)
26175 {
26176   return (int8x8_t) __builtin_aarch64_srshlv8qi (__a, __b);
26177 }
26178 
26179 __extension__ extern __inline int16x4_t
26180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s16(int16x4_t __a,int16x4_t __b)26181 vrshl_s16 (int16x4_t __a, int16x4_t __b)
26182 {
26183   return (int16x4_t) __builtin_aarch64_srshlv4hi (__a, __b);
26184 }
26185 
26186 __extension__ extern __inline int32x2_t
26187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s32(int32x2_t __a,int32x2_t __b)26188 vrshl_s32 (int32x2_t __a, int32x2_t __b)
26189 {
26190   return (int32x2_t) __builtin_aarch64_srshlv2si (__a, __b);
26191 }
26192 
26193 __extension__ extern __inline int64x1_t
26194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s64(int64x1_t __a,int64x1_t __b)26195 vrshl_s64 (int64x1_t __a, int64x1_t __b)
26196 {
26197   return (int64x1_t) {__builtin_aarch64_srshldi (__a[0], __b[0])};
26198 }
26199 
26200 __extension__ extern __inline uint8x8_t
26201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)26202 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
26203 {
26204   return __builtin_aarch64_urshlv8qi_uus (__a, __b);
26205 }
26206 
26207 __extension__ extern __inline uint16x4_t
26208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)26209 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
26210 {
26211   return __builtin_aarch64_urshlv4hi_uus (__a, __b);
26212 }
26213 
26214 __extension__ extern __inline uint32x2_t
26215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)26216 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
26217 {
26218   return __builtin_aarch64_urshlv2si_uus (__a, __b);
26219 }
26220 
26221 __extension__ extern __inline uint64x1_t
26222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)26223 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
26224 {
26225   return (uint64x1_t) {__builtin_aarch64_urshldi_uus (__a[0], __b[0])};
26226 }
26227 
26228 __extension__ extern __inline int8x16_t
26229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)26230 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
26231 {
26232   return (int8x16_t) __builtin_aarch64_srshlv16qi (__a, __b);
26233 }
26234 
26235 __extension__ extern __inline int16x8_t
26236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)26237 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
26238 {
26239   return (int16x8_t) __builtin_aarch64_srshlv8hi (__a, __b);
26240 }
26241 
26242 __extension__ extern __inline int32x4_t
26243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)26244 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
26245 {
26246   return (int32x4_t) __builtin_aarch64_srshlv4si (__a, __b);
26247 }
26248 
26249 __extension__ extern __inline int64x2_t
26250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)26251 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
26252 {
26253   return (int64x2_t) __builtin_aarch64_srshlv2di (__a, __b);
26254 }
26255 
26256 __extension__ extern __inline uint8x16_t
26257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)26258 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
26259 {
26260   return __builtin_aarch64_urshlv16qi_uus (__a, __b);
26261 }
26262 
26263 __extension__ extern __inline uint16x8_t
26264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)26265 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
26266 {
26267   return __builtin_aarch64_urshlv8hi_uus (__a, __b);
26268 }
26269 
26270 __extension__ extern __inline uint32x4_t
26271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)26272 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
26273 {
26274   return __builtin_aarch64_urshlv4si_uus (__a, __b);
26275 }
26276 
26277 __extension__ extern __inline uint64x2_t
26278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)26279 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
26280 {
26281   return __builtin_aarch64_urshlv2di_uus (__a, __b);
26282 }
26283 
26284 __extension__ extern __inline int64_t
26285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_s64(int64_t __a,int64_t __b)26286 vrshld_s64 (int64_t __a, int64_t __b)
26287 {
26288   return __builtin_aarch64_srshldi (__a, __b);
26289 }
26290 
26291 __extension__ extern __inline uint64_t
26292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_u64(uint64_t __a,int64_t __b)26293 vrshld_u64 (uint64_t __a, int64_t __b)
26294 {
26295   return __builtin_aarch64_urshldi_uus (__a, __b);
26296 }
26297 
26298 /* vrshr */
26299 
26300 __extension__ extern __inline int8x8_t
26301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s8(int8x8_t __a,const int __b)26302 vrshr_n_s8 (int8x8_t __a, const int __b)
26303 {
26304   return (int8x8_t) __builtin_aarch64_srshr_nv8qi (__a, __b);
26305 }
26306 
26307 __extension__ extern __inline int16x4_t
26308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s16(int16x4_t __a,const int __b)26309 vrshr_n_s16 (int16x4_t __a, const int __b)
26310 {
26311   return (int16x4_t) __builtin_aarch64_srshr_nv4hi (__a, __b);
26312 }
26313 
26314 __extension__ extern __inline int32x2_t
26315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s32(int32x2_t __a,const int __b)26316 vrshr_n_s32 (int32x2_t __a, const int __b)
26317 {
26318   return (int32x2_t) __builtin_aarch64_srshr_nv2si (__a, __b);
26319 }
26320 
26321 __extension__ extern __inline int64x1_t
26322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s64(int64x1_t __a,const int __b)26323 vrshr_n_s64 (int64x1_t __a, const int __b)
26324 {
26325   return (int64x1_t) {__builtin_aarch64_srshr_ndi (__a[0], __b)};
26326 }
26327 
26328 __extension__ extern __inline uint8x8_t
26329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u8(uint8x8_t __a,const int __b)26330 vrshr_n_u8 (uint8x8_t __a, const int __b)
26331 {
26332   return __builtin_aarch64_urshr_nv8qi_uus (__a, __b);
26333 }
26334 
26335 __extension__ extern __inline uint16x4_t
26336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u16(uint16x4_t __a,const int __b)26337 vrshr_n_u16 (uint16x4_t __a, const int __b)
26338 {
26339   return __builtin_aarch64_urshr_nv4hi_uus (__a, __b);
26340 }
26341 
26342 __extension__ extern __inline uint32x2_t
26343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u32(uint32x2_t __a,const int __b)26344 vrshr_n_u32 (uint32x2_t __a, const int __b)
26345 {
26346   return __builtin_aarch64_urshr_nv2si_uus (__a, __b);
26347 }
26348 
26349 __extension__ extern __inline uint64x1_t
26350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u64(uint64x1_t __a,const int __b)26351 vrshr_n_u64 (uint64x1_t __a, const int __b)
26352 {
26353   return (uint64x1_t) {__builtin_aarch64_urshr_ndi_uus (__a[0], __b)};
26354 }
26355 
26356 __extension__ extern __inline int8x16_t
26357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s8(int8x16_t __a,const int __b)26358 vrshrq_n_s8 (int8x16_t __a, const int __b)
26359 {
26360   return (int8x16_t) __builtin_aarch64_srshr_nv16qi (__a, __b);
26361 }
26362 
26363 __extension__ extern __inline int16x8_t
26364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s16(int16x8_t __a,const int __b)26365 vrshrq_n_s16 (int16x8_t __a, const int __b)
26366 {
26367   return (int16x8_t) __builtin_aarch64_srshr_nv8hi (__a, __b);
26368 }
26369 
26370 __extension__ extern __inline int32x4_t
26371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s32(int32x4_t __a,const int __b)26372 vrshrq_n_s32 (int32x4_t __a, const int __b)
26373 {
26374   return (int32x4_t) __builtin_aarch64_srshr_nv4si (__a, __b);
26375 }
26376 
26377 __extension__ extern __inline int64x2_t
26378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s64(int64x2_t __a,const int __b)26379 vrshrq_n_s64 (int64x2_t __a, const int __b)
26380 {
26381   return (int64x2_t) __builtin_aarch64_srshr_nv2di (__a, __b);
26382 }
26383 
26384 __extension__ extern __inline uint8x16_t
26385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u8(uint8x16_t __a,const int __b)26386 vrshrq_n_u8 (uint8x16_t __a, const int __b)
26387 {
26388   return __builtin_aarch64_urshr_nv16qi_uus (__a, __b);
26389 }
26390 
26391 __extension__ extern __inline uint16x8_t
26392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u16(uint16x8_t __a,const int __b)26393 vrshrq_n_u16 (uint16x8_t __a, const int __b)
26394 {
26395   return __builtin_aarch64_urshr_nv8hi_uus (__a, __b);
26396 }
26397 
26398 __extension__ extern __inline uint32x4_t
26399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u32(uint32x4_t __a,const int __b)26400 vrshrq_n_u32 (uint32x4_t __a, const int __b)
26401 {
26402   return __builtin_aarch64_urshr_nv4si_uus (__a, __b);
26403 }
26404 
26405 __extension__ extern __inline uint64x2_t
26406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u64(uint64x2_t __a,const int __b)26407 vrshrq_n_u64 (uint64x2_t __a, const int __b)
26408 {
26409   return __builtin_aarch64_urshr_nv2di_uus (__a, __b);
26410 }
26411 
26412 __extension__ extern __inline int64_t
26413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_s64(int64_t __a,const int __b)26414 vrshrd_n_s64 (int64_t __a, const int __b)
26415 {
26416   return __builtin_aarch64_srshr_ndi (__a, __b);
26417 }
26418 
26419 __extension__ extern __inline uint64_t
26420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_u64(uint64_t __a,const int __b)26421 vrshrd_n_u64 (uint64_t __a, const int __b)
26422 {
26423   return __builtin_aarch64_urshr_ndi_uus (__a, __b);
26424 }
26425 
26426 /* vrsqrte.  */
26427 
26428 __extension__ extern __inline float32_t
26429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtes_f32(float32_t __a)26430 vrsqrtes_f32 (float32_t __a)
26431 {
26432   return __builtin_aarch64_rsqrtesf (__a);
26433 }
26434 
26435 __extension__ extern __inline float64_t
26436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrted_f64(float64_t __a)26437 vrsqrted_f64 (float64_t __a)
26438 {
26439   return __builtin_aarch64_rsqrtedf (__a);
26440 }
26441 
26442 __extension__ extern __inline float32x2_t
26443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f32(float32x2_t __a)26444 vrsqrte_f32 (float32x2_t __a)
26445 {
26446   return __builtin_aarch64_rsqrtev2sf (__a);
26447 }
26448 
26449 __extension__ extern __inline float64x1_t
26450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f64(float64x1_t __a)26451 vrsqrte_f64 (float64x1_t __a)
26452 {
26453   return (float64x1_t) {vrsqrted_f64 (vget_lane_f64 (__a, 0))};
26454 }
26455 
26456 __extension__ extern __inline float32x4_t
26457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f32(float32x4_t __a)26458 vrsqrteq_f32 (float32x4_t __a)
26459 {
26460   return __builtin_aarch64_rsqrtev4sf (__a);
26461 }
26462 
26463 __extension__ extern __inline float64x2_t
26464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f64(float64x2_t __a)26465 vrsqrteq_f64 (float64x2_t __a)
26466 {
26467   return __builtin_aarch64_rsqrtev2df (__a);
26468 }
26469 
26470 /* vrsqrts.  */
26471 
26472 __extension__ extern __inline float32_t
26473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtss_f32(float32_t __a,float32_t __b)26474 vrsqrtss_f32 (float32_t __a, float32_t __b)
26475 {
26476   return __builtin_aarch64_rsqrtssf (__a, __b);
26477 }
26478 
26479 __extension__ extern __inline float64_t
26480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsd_f64(float64_t __a,float64_t __b)26481 vrsqrtsd_f64 (float64_t __a, float64_t __b)
26482 {
26483   return __builtin_aarch64_rsqrtsdf (__a, __b);
26484 }
26485 
26486 __extension__ extern __inline float32x2_t
26487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)26488 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
26489 {
26490   return __builtin_aarch64_rsqrtsv2sf (__a, __b);
26491 }
26492 
26493 __extension__ extern __inline float64x1_t
26494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f64(float64x1_t __a,float64x1_t __b)26495 vrsqrts_f64 (float64x1_t __a, float64x1_t __b)
26496 {
26497   return (float64x1_t) {vrsqrtsd_f64 (vget_lane_f64 (__a, 0),
26498 				      vget_lane_f64 (__b, 0))};
26499 }
26500 
26501 __extension__ extern __inline float32x4_t
26502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)26503 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
26504 {
26505   return __builtin_aarch64_rsqrtsv4sf (__a, __b);
26506 }
26507 
26508 __extension__ extern __inline float64x2_t
26509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f64(float64x2_t __a,float64x2_t __b)26510 vrsqrtsq_f64 (float64x2_t __a, float64x2_t __b)
26511 {
26512   return __builtin_aarch64_rsqrtsv2df (__a, __b);
26513 }
26514 
26515 /* vrsra */
26516 
26517 __extension__ extern __inline int8x8_t
26518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)26519 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
26520 {
26521   return (int8x8_t) __builtin_aarch64_srsra_nv8qi (__a, __b, __c);
26522 }
26523 
26524 __extension__ extern __inline int16x4_t
26525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)26526 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
26527 {
26528   return (int16x4_t) __builtin_aarch64_srsra_nv4hi (__a, __b, __c);
26529 }
26530 
26531 __extension__ extern __inline int32x2_t
26532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)26533 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
26534 {
26535   return (int32x2_t) __builtin_aarch64_srsra_nv2si (__a, __b, __c);
26536 }
26537 
26538 __extension__ extern __inline int64x1_t
26539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)26540 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
26541 {
26542   return (int64x1_t) {__builtin_aarch64_srsra_ndi (__a[0], __b[0], __c)};
26543 }
26544 
26545 __extension__ extern __inline uint8x8_t
26546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)26547 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
26548 {
26549   return __builtin_aarch64_ursra_nv8qi_uuus (__a, __b, __c);
26550 }
26551 
26552 __extension__ extern __inline uint16x4_t
26553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)26554 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
26555 {
26556   return __builtin_aarch64_ursra_nv4hi_uuus (__a, __b, __c);
26557 }
26558 
26559 __extension__ extern __inline uint32x2_t
26560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)26561 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
26562 {
26563   return __builtin_aarch64_ursra_nv2si_uuus (__a, __b, __c);
26564 }
26565 
26566 __extension__ extern __inline uint64x1_t
26567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)26568 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
26569 {
26570   return (uint64x1_t) {__builtin_aarch64_ursra_ndi_uuus (__a[0], __b[0], __c)};
26571 }
26572 
26573 __extension__ extern __inline int8x16_t
26574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)26575 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
26576 {
26577   return (int8x16_t) __builtin_aarch64_srsra_nv16qi (__a, __b, __c);
26578 }
26579 
26580 __extension__ extern __inline int16x8_t
26581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)26582 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
26583 {
26584   return (int16x8_t) __builtin_aarch64_srsra_nv8hi (__a, __b, __c);
26585 }
26586 
26587 __extension__ extern __inline int32x4_t
26588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)26589 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
26590 {
26591   return (int32x4_t) __builtin_aarch64_srsra_nv4si (__a, __b, __c);
26592 }
26593 
26594 __extension__ extern __inline int64x2_t
26595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)26596 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
26597 {
26598   return (int64x2_t) __builtin_aarch64_srsra_nv2di (__a, __b, __c);
26599 }
26600 
26601 __extension__ extern __inline uint8x16_t
26602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)26603 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
26604 {
26605   return __builtin_aarch64_ursra_nv16qi_uuus (__a, __b, __c);
26606 }
26607 
26608 __extension__ extern __inline uint16x8_t
26609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)26610 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
26611 {
26612   return __builtin_aarch64_ursra_nv8hi_uuus (__a, __b, __c);
26613 }
26614 
26615 __extension__ extern __inline uint32x4_t
26616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)26617 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
26618 {
26619   return __builtin_aarch64_ursra_nv4si_uuus (__a, __b, __c);
26620 }
26621 
26622 __extension__ extern __inline uint64x2_t
26623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)26624 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
26625 {
26626   return __builtin_aarch64_ursra_nv2di_uuus (__a, __b, __c);
26627 }
26628 
26629 __extension__ extern __inline int64_t
26630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_s64(int64_t __a,int64_t __b,const int __c)26631 vrsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
26632 {
26633   return __builtin_aarch64_srsra_ndi (__a, __b, __c);
26634 }
26635 
26636 __extension__ extern __inline uint64_t
26637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)26638 vrsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
26639 {
26640   return __builtin_aarch64_ursra_ndi_uuus (__a, __b, __c);
26641 }
26642 
26643 #pragma GCC push_options
26644 #pragma GCC target ("+nothing+crypto")
26645 
26646 /* vsha1  */
26647 
26648 __extension__ extern __inline uint32x4_t
26649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26650 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26651 {
26652   return __builtin_aarch64_crypto_sha1cv4si_uuuu (__hash_abcd, __hash_e, __wk);
26653 }
26654 
26655 __extension__ extern __inline uint32x4_t
26656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26657 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26658 {
26659   return __builtin_aarch64_crypto_sha1mv4si_uuuu (__hash_abcd, __hash_e, __wk);
26660 }
26661 
26662 __extension__ extern __inline uint32x4_t
26663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26664 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26665 {
26666   return __builtin_aarch64_crypto_sha1pv4si_uuuu (__hash_abcd, __hash_e, __wk);
26667 }
26668 
26669 __extension__ extern __inline uint32_t
26670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1h_u32(uint32_t __hash_e)26671 vsha1h_u32 (uint32_t __hash_e)
26672 {
26673   return __builtin_aarch64_crypto_sha1hsi_uu (__hash_e);
26674 }
26675 
26676 __extension__ extern __inline uint32x4_t
26677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)26678 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
26679 {
26680   return __builtin_aarch64_crypto_sha1su0v4si_uuuu (__w0_3, __w4_7, __w8_11);
26681 }
26682 
26683 __extension__ extern __inline uint32x4_t
26684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)26685 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
26686 {
26687   return __builtin_aarch64_crypto_sha1su1v4si_uuu (__tw0_3, __w12_15);
26688 }
26689 
26690 __extension__ extern __inline uint32x4_t
26691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)26692 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
26693 {
26694   return __builtin_aarch64_crypto_sha256hv4si_uuuu (__hash_abcd, __hash_efgh,
26695 						     __wk);
26696 }
26697 
26698 __extension__ extern __inline uint32x4_t
26699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256h2q_u32(uint32x4_t __hash_efgh,uint32x4_t __hash_abcd,uint32x4_t __wk)26700 vsha256h2q_u32 (uint32x4_t __hash_efgh, uint32x4_t __hash_abcd, uint32x4_t __wk)
26701 {
26702   return __builtin_aarch64_crypto_sha256h2v4si_uuuu (__hash_efgh, __hash_abcd,
26703 						      __wk);
26704 }
26705 
26706 __extension__ extern __inline uint32x4_t
26707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)26708 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
26709 {
26710   return __builtin_aarch64_crypto_sha256su0v4si_uuu (__w0_3, __w4_7);
26711 }
26712 
26713 __extension__ extern __inline uint32x4_t
26714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)26715 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
26716 {
26717   return __builtin_aarch64_crypto_sha256su1v4si_uuuu (__tw0_3, __w8_11,
26718 						       __w12_15);
26719 }
26720 
26721 __extension__ extern __inline poly128_t
26722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p64(poly64_t __a,poly64_t __b)26723 vmull_p64 (poly64_t __a, poly64_t __b)
26724 {
26725   return
26726     __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
26727 }
26728 
26729 __extension__ extern __inline poly128_t
26730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)26731 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
26732 {
26733   return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
26734 }
26735 
26736 #pragma GCC pop_options
26737 
26738 /* vshl */
26739 
26740 __extension__ extern __inline int8x8_t
26741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s8(int8x8_t __a,const int __b)26742 vshl_n_s8 (int8x8_t __a, const int __b)
26743 {
26744   return (int8x8_t) __builtin_aarch64_ashlv8qi (__a, __b);
26745 }
26746 
26747 __extension__ extern __inline int16x4_t
26748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s16(int16x4_t __a,const int __b)26749 vshl_n_s16 (int16x4_t __a, const int __b)
26750 {
26751   return (int16x4_t) __builtin_aarch64_ashlv4hi (__a, __b);
26752 }
26753 
26754 __extension__ extern __inline int32x2_t
26755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s32(int32x2_t __a,const int __b)26756 vshl_n_s32 (int32x2_t __a, const int __b)
26757 {
26758   return (int32x2_t) __builtin_aarch64_ashlv2si (__a, __b);
26759 }
26760 
26761 __extension__ extern __inline int64x1_t
26762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s64(int64x1_t __a,const int __b)26763 vshl_n_s64 (int64x1_t __a, const int __b)
26764 {
26765   return (int64x1_t) {__builtin_aarch64_ashldi (__a[0], __b)};
26766 }
26767 
26768 __extension__ extern __inline uint8x8_t
26769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u8(uint8x8_t __a,const int __b)26770 vshl_n_u8 (uint8x8_t __a, const int __b)
26771 {
26772   return (uint8x8_t) __builtin_aarch64_ashlv8qi ((int8x8_t) __a, __b);
26773 }
26774 
26775 __extension__ extern __inline uint16x4_t
26776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u16(uint16x4_t __a,const int __b)26777 vshl_n_u16 (uint16x4_t __a, const int __b)
26778 {
26779   return (uint16x4_t) __builtin_aarch64_ashlv4hi ((int16x4_t) __a, __b);
26780 }
26781 
26782 __extension__ extern __inline uint32x2_t
26783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u32(uint32x2_t __a,const int __b)26784 vshl_n_u32 (uint32x2_t __a, const int __b)
26785 {
26786   return (uint32x2_t) __builtin_aarch64_ashlv2si ((int32x2_t) __a, __b);
26787 }
26788 
26789 __extension__ extern __inline uint64x1_t
26790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u64(uint64x1_t __a,const int __b)26791 vshl_n_u64 (uint64x1_t __a, const int __b)
26792 {
26793   return (uint64x1_t) {__builtin_aarch64_ashldi ((int64_t) __a[0], __b)};
26794 }
26795 
26796 __extension__ extern __inline int8x16_t
26797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s8(int8x16_t __a,const int __b)26798 vshlq_n_s8 (int8x16_t __a, const int __b)
26799 {
26800   return (int8x16_t) __builtin_aarch64_ashlv16qi (__a, __b);
26801 }
26802 
26803 __extension__ extern __inline int16x8_t
26804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s16(int16x8_t __a,const int __b)26805 vshlq_n_s16 (int16x8_t __a, const int __b)
26806 {
26807   return (int16x8_t) __builtin_aarch64_ashlv8hi (__a, __b);
26808 }
26809 
26810 __extension__ extern __inline int32x4_t
26811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s32(int32x4_t __a,const int __b)26812 vshlq_n_s32 (int32x4_t __a, const int __b)
26813 {
26814   return (int32x4_t) __builtin_aarch64_ashlv4si (__a, __b);
26815 }
26816 
26817 __extension__ extern __inline int64x2_t
26818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s64(int64x2_t __a,const int __b)26819 vshlq_n_s64 (int64x2_t __a, const int __b)
26820 {
26821   return (int64x2_t) __builtin_aarch64_ashlv2di (__a, __b);
26822 }
26823 
26824 __extension__ extern __inline uint8x16_t
26825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u8(uint8x16_t __a,const int __b)26826 vshlq_n_u8 (uint8x16_t __a, const int __b)
26827 {
26828   return (uint8x16_t) __builtin_aarch64_ashlv16qi ((int8x16_t) __a, __b);
26829 }
26830 
26831 __extension__ extern __inline uint16x8_t
26832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u16(uint16x8_t __a,const int __b)26833 vshlq_n_u16 (uint16x8_t __a, const int __b)
26834 {
26835   return (uint16x8_t) __builtin_aarch64_ashlv8hi ((int16x8_t) __a, __b);
26836 }
26837 
26838 __extension__ extern __inline uint32x4_t
26839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u32(uint32x4_t __a,const int __b)26840 vshlq_n_u32 (uint32x4_t __a, const int __b)
26841 {
26842   return (uint32x4_t) __builtin_aarch64_ashlv4si ((int32x4_t) __a, __b);
26843 }
26844 
26845 __extension__ extern __inline uint64x2_t
26846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u64(uint64x2_t __a,const int __b)26847 vshlq_n_u64 (uint64x2_t __a, const int __b)
26848 {
26849   return (uint64x2_t) __builtin_aarch64_ashlv2di ((int64x2_t) __a, __b);
26850 }
26851 
26852 __extension__ extern __inline int64_t
26853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_s64(int64_t __a,const int __b)26854 vshld_n_s64 (int64_t __a, const int __b)
26855 {
26856   return __builtin_aarch64_ashldi (__a, __b);
26857 }
26858 
26859 __extension__ extern __inline uint64_t
26860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_u64(uint64_t __a,const int __b)26861 vshld_n_u64 (uint64_t __a, const int __b)
26862 {
26863   return (uint64_t) __builtin_aarch64_ashldi (__a, __b);
26864 }
26865 
26866 __extension__ extern __inline int8x8_t
26867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s8(int8x8_t __a,int8x8_t __b)26868 vshl_s8 (int8x8_t __a, int8x8_t __b)
26869 {
26870   return __builtin_aarch64_sshlv8qi (__a, __b);
26871 }
26872 
26873 __extension__ extern __inline int16x4_t
26874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s16(int16x4_t __a,int16x4_t __b)26875 vshl_s16 (int16x4_t __a, int16x4_t __b)
26876 {
26877   return __builtin_aarch64_sshlv4hi (__a, __b);
26878 }
26879 
26880 __extension__ extern __inline int32x2_t
26881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s32(int32x2_t __a,int32x2_t __b)26882 vshl_s32 (int32x2_t __a, int32x2_t __b)
26883 {
26884   return __builtin_aarch64_sshlv2si (__a, __b);
26885 }
26886 
26887 __extension__ extern __inline int64x1_t
26888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s64(int64x1_t __a,int64x1_t __b)26889 vshl_s64 (int64x1_t __a, int64x1_t __b)
26890 {
26891   return (int64x1_t) {__builtin_aarch64_sshldi (__a[0], __b[0])};
26892 }
26893 
26894 __extension__ extern __inline uint8x8_t
26895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u8(uint8x8_t __a,int8x8_t __b)26896 vshl_u8 (uint8x8_t __a, int8x8_t __b)
26897 {
26898   return __builtin_aarch64_ushlv8qi_uus (__a, __b);
26899 }
26900 
26901 __extension__ extern __inline uint16x4_t
26902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u16(uint16x4_t __a,int16x4_t __b)26903 vshl_u16 (uint16x4_t __a, int16x4_t __b)
26904 {
26905   return __builtin_aarch64_ushlv4hi_uus (__a, __b);
26906 }
26907 
26908 __extension__ extern __inline uint32x2_t
26909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u32(uint32x2_t __a,int32x2_t __b)26910 vshl_u32 (uint32x2_t __a, int32x2_t __b)
26911 {
26912   return __builtin_aarch64_ushlv2si_uus (__a, __b);
26913 }
26914 
26915 __extension__ extern __inline uint64x1_t
26916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u64(uint64x1_t __a,int64x1_t __b)26917 vshl_u64 (uint64x1_t __a, int64x1_t __b)
26918 {
26919   return (uint64x1_t) {__builtin_aarch64_ushldi_uus (__a[0], __b[0])};
26920 }
26921 
26922 __extension__ extern __inline int8x16_t
26923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s8(int8x16_t __a,int8x16_t __b)26924 vshlq_s8 (int8x16_t __a, int8x16_t __b)
26925 {
26926   return __builtin_aarch64_sshlv16qi (__a, __b);
26927 }
26928 
26929 __extension__ extern __inline int16x8_t
26930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s16(int16x8_t __a,int16x8_t __b)26931 vshlq_s16 (int16x8_t __a, int16x8_t __b)
26932 {
26933   return __builtin_aarch64_sshlv8hi (__a, __b);
26934 }
26935 
26936 __extension__ extern __inline int32x4_t
26937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s32(int32x4_t __a,int32x4_t __b)26938 vshlq_s32 (int32x4_t __a, int32x4_t __b)
26939 {
26940   return __builtin_aarch64_sshlv4si (__a, __b);
26941 }
26942 
26943 __extension__ extern __inline int64x2_t
26944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s64(int64x2_t __a,int64x2_t __b)26945 vshlq_s64 (int64x2_t __a, int64x2_t __b)
26946 {
26947   return __builtin_aarch64_sshlv2di (__a, __b);
26948 }
26949 
26950 __extension__ extern __inline uint8x16_t
26951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)26952 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
26953 {
26954   return __builtin_aarch64_ushlv16qi_uus (__a, __b);
26955 }
26956 
26957 __extension__ extern __inline uint16x8_t
26958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)26959 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
26960 {
26961   return __builtin_aarch64_ushlv8hi_uus (__a, __b);
26962 }
26963 
26964 __extension__ extern __inline uint32x4_t
26965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)26966 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
26967 {
26968   return __builtin_aarch64_ushlv4si_uus (__a, __b);
26969 }
26970 
26971 __extension__ extern __inline uint64x2_t
26972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)26973 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
26974 {
26975   return __builtin_aarch64_ushlv2di_uus (__a, __b);
26976 }
26977 
26978 __extension__ extern __inline int64_t
26979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_s64(int64_t __a,int64_t __b)26980 vshld_s64 (int64_t __a, int64_t __b)
26981 {
26982   return __builtin_aarch64_sshldi (__a, __b);
26983 }
26984 
26985 __extension__ extern __inline uint64_t
26986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_u64(uint64_t __a,int64_t __b)26987 vshld_u64 (uint64_t __a, int64_t __b)
26988 {
26989   return __builtin_aarch64_ushldi_uus (__a, __b);
26990 }
26991 
26992 __extension__ extern __inline int16x8_t
26993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s8(int8x16_t __a,const int __b)26994 vshll_high_n_s8 (int8x16_t __a, const int __b)
26995 {
26996   return __builtin_aarch64_sshll2_nv16qi (__a, __b);
26997 }
26998 
26999 __extension__ extern __inline int32x4_t
27000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s16(int16x8_t __a,const int __b)27001 vshll_high_n_s16 (int16x8_t __a, const int __b)
27002 {
27003   return __builtin_aarch64_sshll2_nv8hi (__a, __b);
27004 }
27005 
27006 __extension__ extern __inline int64x2_t
27007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s32(int32x4_t __a,const int __b)27008 vshll_high_n_s32 (int32x4_t __a, const int __b)
27009 {
27010   return __builtin_aarch64_sshll2_nv4si (__a, __b);
27011 }
27012 
27013 __extension__ extern __inline uint16x8_t
27014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u8(uint8x16_t __a,const int __b)27015 vshll_high_n_u8 (uint8x16_t __a, const int __b)
27016 {
27017   return (uint16x8_t) __builtin_aarch64_ushll2_nv16qi ((int8x16_t) __a, __b);
27018 }
27019 
27020 __extension__ extern __inline uint32x4_t
27021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u16(uint16x8_t __a,const int __b)27022 vshll_high_n_u16 (uint16x8_t __a, const int __b)
27023 {
27024   return (uint32x4_t) __builtin_aarch64_ushll2_nv8hi ((int16x8_t) __a, __b);
27025 }
27026 
27027 __extension__ extern __inline uint64x2_t
27028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u32(uint32x4_t __a,const int __b)27029 vshll_high_n_u32 (uint32x4_t __a, const int __b)
27030 {
27031   return (uint64x2_t) __builtin_aarch64_ushll2_nv4si ((int32x4_t) __a, __b);
27032 }
27033 
27034 __extension__ extern __inline int16x8_t
27035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s8(int8x8_t __a,const int __b)27036 vshll_n_s8 (int8x8_t __a, const int __b)
27037 {
27038   return __builtin_aarch64_sshll_nv8qi (__a, __b);
27039 }
27040 
27041 __extension__ extern __inline int32x4_t
27042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s16(int16x4_t __a,const int __b)27043 vshll_n_s16 (int16x4_t __a, const int __b)
27044 {
27045   return __builtin_aarch64_sshll_nv4hi (__a, __b);
27046 }
27047 
27048 __extension__ extern __inline int64x2_t
27049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s32(int32x2_t __a,const int __b)27050 vshll_n_s32 (int32x2_t __a, const int __b)
27051 {
27052   return __builtin_aarch64_sshll_nv2si (__a, __b);
27053 }
27054 
27055 __extension__ extern __inline uint16x8_t
27056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u8(uint8x8_t __a,const int __b)27057 vshll_n_u8 (uint8x8_t __a, const int __b)
27058 {
27059   return __builtin_aarch64_ushll_nv8qi_uus (__a, __b);
27060 }
27061 
27062 __extension__ extern __inline uint32x4_t
27063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u16(uint16x4_t __a,const int __b)27064 vshll_n_u16 (uint16x4_t __a, const int __b)
27065 {
27066   return __builtin_aarch64_ushll_nv4hi_uus (__a, __b);
27067 }
27068 
27069 __extension__ extern __inline uint64x2_t
27070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u32(uint32x2_t __a,const int __b)27071 vshll_n_u32 (uint32x2_t __a, const int __b)
27072 {
27073   return __builtin_aarch64_ushll_nv2si_uus (__a, __b);
27074 }
27075 
27076 /* vshr */
27077 
27078 __extension__ extern __inline int8x8_t
27079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s8(int8x8_t __a,const int __b)27080 vshr_n_s8 (int8x8_t __a, const int __b)
27081 {
27082   return (int8x8_t) __builtin_aarch64_ashrv8qi (__a, __b);
27083 }
27084 
27085 __extension__ extern __inline int16x4_t
27086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s16(int16x4_t __a,const int __b)27087 vshr_n_s16 (int16x4_t __a, const int __b)
27088 {
27089   return (int16x4_t) __builtin_aarch64_ashrv4hi (__a, __b);
27090 }
27091 
27092 __extension__ extern __inline int32x2_t
27093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s32(int32x2_t __a,const int __b)27094 vshr_n_s32 (int32x2_t __a, const int __b)
27095 {
27096   return (int32x2_t) __builtin_aarch64_ashrv2si (__a, __b);
27097 }
27098 
27099 __extension__ extern __inline int64x1_t
27100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s64(int64x1_t __a,const int __b)27101 vshr_n_s64 (int64x1_t __a, const int __b)
27102 {
27103   return (int64x1_t) {__builtin_aarch64_ashr_simddi (__a[0], __b)};
27104 }
27105 
27106 __extension__ extern __inline uint8x8_t
27107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u8(uint8x8_t __a,const int __b)27108 vshr_n_u8 (uint8x8_t __a, const int __b)
27109 {
27110   return (uint8x8_t) __builtin_aarch64_lshrv8qi ((int8x8_t) __a, __b);
27111 }
27112 
27113 __extension__ extern __inline uint16x4_t
27114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u16(uint16x4_t __a,const int __b)27115 vshr_n_u16 (uint16x4_t __a, const int __b)
27116 {
27117   return (uint16x4_t) __builtin_aarch64_lshrv4hi ((int16x4_t) __a, __b);
27118 }
27119 
27120 __extension__ extern __inline uint32x2_t
27121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u32(uint32x2_t __a,const int __b)27122 vshr_n_u32 (uint32x2_t __a, const int __b)
27123 {
27124   return (uint32x2_t) __builtin_aarch64_lshrv2si ((int32x2_t) __a, __b);
27125 }
27126 
27127 __extension__ extern __inline uint64x1_t
27128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u64(uint64x1_t __a,const int __b)27129 vshr_n_u64 (uint64x1_t __a, const int __b)
27130 {
27131   return (uint64x1_t) {__builtin_aarch64_lshr_simddi_uus ( __a[0], __b)};
27132 }
27133 
27134 __extension__ extern __inline int8x16_t
27135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s8(int8x16_t __a,const int __b)27136 vshrq_n_s8 (int8x16_t __a, const int __b)
27137 {
27138   return (int8x16_t) __builtin_aarch64_ashrv16qi (__a, __b);
27139 }
27140 
27141 __extension__ extern __inline int16x8_t
27142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s16(int16x8_t __a,const int __b)27143 vshrq_n_s16 (int16x8_t __a, const int __b)
27144 {
27145   return (int16x8_t) __builtin_aarch64_ashrv8hi (__a, __b);
27146 }
27147 
27148 __extension__ extern __inline int32x4_t
27149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s32(int32x4_t __a,const int __b)27150 vshrq_n_s32 (int32x4_t __a, const int __b)
27151 {
27152   return (int32x4_t) __builtin_aarch64_ashrv4si (__a, __b);
27153 }
27154 
27155 __extension__ extern __inline int64x2_t
27156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s64(int64x2_t __a,const int __b)27157 vshrq_n_s64 (int64x2_t __a, const int __b)
27158 {
27159   return (int64x2_t) __builtin_aarch64_ashrv2di (__a, __b);
27160 }
27161 
27162 __extension__ extern __inline uint8x16_t
27163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u8(uint8x16_t __a,const int __b)27164 vshrq_n_u8 (uint8x16_t __a, const int __b)
27165 {
27166   return (uint8x16_t) __builtin_aarch64_lshrv16qi ((int8x16_t) __a, __b);
27167 }
27168 
27169 __extension__ extern __inline uint16x8_t
27170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u16(uint16x8_t __a,const int __b)27171 vshrq_n_u16 (uint16x8_t __a, const int __b)
27172 {
27173   return (uint16x8_t) __builtin_aarch64_lshrv8hi ((int16x8_t) __a, __b);
27174 }
27175 
27176 __extension__ extern __inline uint32x4_t
27177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u32(uint32x4_t __a,const int __b)27178 vshrq_n_u32 (uint32x4_t __a, const int __b)
27179 {
27180   return (uint32x4_t) __builtin_aarch64_lshrv4si ((int32x4_t) __a, __b);
27181 }
27182 
27183 __extension__ extern __inline uint64x2_t
27184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u64(uint64x2_t __a,const int __b)27185 vshrq_n_u64 (uint64x2_t __a, const int __b)
27186 {
27187   return (uint64x2_t) __builtin_aarch64_lshrv2di ((int64x2_t) __a, __b);
27188 }
27189 
27190 __extension__ extern __inline int64_t
27191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_s64(int64_t __a,const int __b)27192 vshrd_n_s64 (int64_t __a, const int __b)
27193 {
27194   return __builtin_aarch64_ashr_simddi (__a, __b);
27195 }
27196 
27197 __extension__ extern __inline uint64_t
27198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_u64(uint64_t __a,const int __b)27199 vshrd_n_u64 (uint64_t __a, const int __b)
27200 {
27201   return __builtin_aarch64_lshr_simddi_uus (__a, __b);
27202 }
27203 
27204 /* vsli */
27205 
27206 __extension__ extern __inline int8x8_t
27207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27208 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27209 {
27210   return (int8x8_t) __builtin_aarch64_ssli_nv8qi (__a, __b, __c);
27211 }
27212 
27213 __extension__ extern __inline int16x4_t
27214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27215 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27216 {
27217   return (int16x4_t) __builtin_aarch64_ssli_nv4hi (__a, __b, __c);
27218 }
27219 
27220 __extension__ extern __inline int32x2_t
27221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27222 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27223 {
27224   return (int32x2_t) __builtin_aarch64_ssli_nv2si (__a, __b, __c);
27225 }
27226 
27227 __extension__ extern __inline int64x1_t
27228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27229 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27230 {
27231   return (int64x1_t) {__builtin_aarch64_ssli_ndi (__a[0], __b[0], __c)};
27232 }
27233 
27234 __extension__ extern __inline uint8x8_t
27235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27236 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27237 {
27238   return __builtin_aarch64_usli_nv8qi_uuus (__a, __b, __c);
27239 }
27240 
27241 __extension__ extern __inline uint16x4_t
27242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27243 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27244 {
27245   return __builtin_aarch64_usli_nv4hi_uuus (__a, __b, __c);
27246 }
27247 
27248 __extension__ extern __inline uint32x2_t
27249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27250 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27251 {
27252   return __builtin_aarch64_usli_nv2si_uuus (__a, __b, __c);
27253 }
27254 
27255 __extension__ extern __inline uint64x1_t
27256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27257 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27258 {
27259   return (uint64x1_t) {__builtin_aarch64_usli_ndi_uuus (__a[0], __b[0], __c)};
27260 }
27261 
27262 __extension__ extern __inline poly64x1_t
27263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)27264 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
27265 {
27266   return (poly64x1_t) {__builtin_aarch64_ssli_ndi_ppps (__a[0], __b[0], __c)};
27267 }
27268 
27269 __extension__ extern __inline int8x16_t
27270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27271 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27272 {
27273   return (int8x16_t) __builtin_aarch64_ssli_nv16qi (__a, __b, __c);
27274 }
27275 
27276 __extension__ extern __inline int16x8_t
27277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27278 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27279 {
27280   return (int16x8_t) __builtin_aarch64_ssli_nv8hi (__a, __b, __c);
27281 }
27282 
27283 __extension__ extern __inline int32x4_t
27284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27285 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27286 {
27287   return (int32x4_t) __builtin_aarch64_ssli_nv4si (__a, __b, __c);
27288 }
27289 
27290 __extension__ extern __inline int64x2_t
27291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27292 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27293 {
27294   return (int64x2_t) __builtin_aarch64_ssli_nv2di (__a, __b, __c);
27295 }
27296 
27297 __extension__ extern __inline uint8x16_t
27298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27299 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27300 {
27301   return __builtin_aarch64_usli_nv16qi_uuus (__a, __b, __c);
27302 }
27303 
27304 __extension__ extern __inline uint16x8_t
27305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27306 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27307 {
27308   return __builtin_aarch64_usli_nv8hi_uuus (__a, __b, __c);
27309 }
27310 
27311 __extension__ extern __inline uint32x4_t
27312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27313 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27314 {
27315   return __builtin_aarch64_usli_nv4si_uuus (__a, __b, __c);
27316 }
27317 
27318 __extension__ extern __inline uint64x2_t
27319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27320 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27321 {
27322   return __builtin_aarch64_usli_nv2di_uuus (__a, __b, __c);
27323 }
27324 
27325 __extension__ extern __inline poly64x2_t
27326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)27327 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
27328 {
27329   return __builtin_aarch64_ssli_nv2di_ppps (__a, __b, __c);
27330 }
27331 
27332 __extension__ extern __inline int64_t
27333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_s64(int64_t __a,int64_t __b,const int __c)27334 vslid_n_s64 (int64_t __a, int64_t __b, const int __c)
27335 {
27336   return __builtin_aarch64_ssli_ndi (__a, __b, __c);
27337 }
27338 
27339 __extension__ extern __inline uint64_t
27340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_u64(uint64_t __a,uint64_t __b,const int __c)27341 vslid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27342 {
27343   return __builtin_aarch64_usli_ndi_uuus (__a, __b, __c);
27344 }
27345 
27346 /* vsqadd */
27347 
27348 __extension__ extern __inline uint8x8_t
27349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u8(uint8x8_t __a,int8x8_t __b)27350 vsqadd_u8 (uint8x8_t __a, int8x8_t __b)
27351 {
27352   return __builtin_aarch64_usqaddv8qi_uus (__a, __b);
27353 }
27354 
27355 __extension__ extern __inline uint16x4_t
27356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u16(uint16x4_t __a,int16x4_t __b)27357 vsqadd_u16 (uint16x4_t __a, int16x4_t __b)
27358 {
27359   return __builtin_aarch64_usqaddv4hi_uus (__a, __b);
27360 }
27361 
27362 __extension__ extern __inline uint32x2_t
27363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u32(uint32x2_t __a,int32x2_t __b)27364 vsqadd_u32 (uint32x2_t __a, int32x2_t __b)
27365 {
27366   return __builtin_aarch64_usqaddv2si_uus (__a, __b);
27367 }
27368 
27369 __extension__ extern __inline uint64x1_t
27370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u64(uint64x1_t __a,int64x1_t __b)27371 vsqadd_u64 (uint64x1_t __a, int64x1_t __b)
27372 {
27373   return (uint64x1_t) {__builtin_aarch64_usqadddi_uus (__a[0], __b[0])};
27374 }
27375 
27376 __extension__ extern __inline uint8x16_t
27377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u8(uint8x16_t __a,int8x16_t __b)27378 vsqaddq_u8 (uint8x16_t __a, int8x16_t __b)
27379 {
27380   return __builtin_aarch64_usqaddv16qi_uus (__a, __b);
27381 }
27382 
27383 __extension__ extern __inline uint16x8_t
27384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u16(uint16x8_t __a,int16x8_t __b)27385 vsqaddq_u16 (uint16x8_t __a, int16x8_t __b)
27386 {
27387   return __builtin_aarch64_usqaddv8hi_uus (__a, __b);
27388 }
27389 
27390 __extension__ extern __inline uint32x4_t
27391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u32(uint32x4_t __a,int32x4_t __b)27392 vsqaddq_u32 (uint32x4_t __a, int32x4_t __b)
27393 {
27394   return __builtin_aarch64_usqaddv4si_uus (__a, __b);
27395 }
27396 
27397 __extension__ extern __inline uint64x2_t
27398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u64(uint64x2_t __a,int64x2_t __b)27399 vsqaddq_u64 (uint64x2_t __a, int64x2_t __b)
27400 {
27401   return __builtin_aarch64_usqaddv2di_uus (__a, __b);
27402 }
27403 
27404 __extension__ extern __inline uint8_t
27405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddb_u8(uint8_t __a,int8_t __b)27406 vsqaddb_u8 (uint8_t __a, int8_t __b)
27407 {
27408   return __builtin_aarch64_usqaddqi_uus (__a, __b);
27409 }
27410 
27411 __extension__ extern __inline uint16_t
27412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddh_u16(uint16_t __a,int16_t __b)27413 vsqaddh_u16 (uint16_t __a, int16_t __b)
27414 {
27415   return __builtin_aarch64_usqaddhi_uus (__a, __b);
27416 }
27417 
27418 __extension__ extern __inline uint32_t
27419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadds_u32(uint32_t __a,int32_t __b)27420 vsqadds_u32 (uint32_t __a, int32_t __b)
27421 {
27422   return __builtin_aarch64_usqaddsi_uus (__a, __b);
27423 }
27424 
27425 __extension__ extern __inline uint64_t
27426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddd_u64(uint64_t __a,int64_t __b)27427 vsqaddd_u64 (uint64_t __a, int64_t __b)
27428 {
27429   return __builtin_aarch64_usqadddi_uus (__a, __b);
27430 }
27431 
27432 /* vsqrt */
27433 __extension__ extern __inline float32x2_t
27434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f32(float32x2_t __a)27435 vsqrt_f32 (float32x2_t __a)
27436 {
27437   return __builtin_aarch64_sqrtv2sf (__a);
27438 }
27439 
27440 __extension__ extern __inline float32x4_t
27441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f32(float32x4_t __a)27442 vsqrtq_f32 (float32x4_t __a)
27443 {
27444   return __builtin_aarch64_sqrtv4sf (__a);
27445 }
27446 
27447 __extension__ extern __inline float64x1_t
27448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f64(float64x1_t __a)27449 vsqrt_f64 (float64x1_t __a)
27450 {
27451   return (float64x1_t) { __builtin_aarch64_sqrtdf (__a[0]) };
27452 }
27453 
27454 __extension__ extern __inline float64x2_t
27455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f64(float64x2_t __a)27456 vsqrtq_f64 (float64x2_t __a)
27457 {
27458   return __builtin_aarch64_sqrtv2df (__a);
27459 }
27460 
27461 /* vsra */
27462 
27463 __extension__ extern __inline int8x8_t
27464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27465 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27466 {
27467   return (int8x8_t) __builtin_aarch64_ssra_nv8qi (__a, __b, __c);
27468 }
27469 
27470 __extension__ extern __inline int16x4_t
27471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27472 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27473 {
27474   return (int16x4_t) __builtin_aarch64_ssra_nv4hi (__a, __b, __c);
27475 }
27476 
27477 __extension__ extern __inline int32x2_t
27478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27479 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27480 {
27481   return (int32x2_t) __builtin_aarch64_ssra_nv2si (__a, __b, __c);
27482 }
27483 
27484 __extension__ extern __inline int64x1_t
27485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27486 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27487 {
27488   return (int64x1_t) {__builtin_aarch64_ssra_ndi (__a[0], __b[0], __c)};
27489 }
27490 
27491 __extension__ extern __inline uint8x8_t
27492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27493 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27494 {
27495   return __builtin_aarch64_usra_nv8qi_uuus (__a, __b, __c);
27496 }
27497 
27498 __extension__ extern __inline uint16x4_t
27499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27500 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27501 {
27502   return __builtin_aarch64_usra_nv4hi_uuus (__a, __b, __c);
27503 }
27504 
27505 __extension__ extern __inline uint32x2_t
27506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27507 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27508 {
27509   return __builtin_aarch64_usra_nv2si_uuus (__a, __b, __c);
27510 }
27511 
27512 __extension__ extern __inline uint64x1_t
27513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27514 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27515 {
27516   return (uint64x1_t) {__builtin_aarch64_usra_ndi_uuus (__a[0], __b[0], __c)};
27517 }
27518 
27519 __extension__ extern __inline int8x16_t
27520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27521 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27522 {
27523   return (int8x16_t) __builtin_aarch64_ssra_nv16qi (__a, __b, __c);
27524 }
27525 
27526 __extension__ extern __inline int16x8_t
27527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27528 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27529 {
27530   return (int16x8_t) __builtin_aarch64_ssra_nv8hi (__a, __b, __c);
27531 }
27532 
27533 __extension__ extern __inline int32x4_t
27534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27535 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27536 {
27537   return (int32x4_t) __builtin_aarch64_ssra_nv4si (__a, __b, __c);
27538 }
27539 
27540 __extension__ extern __inline int64x2_t
27541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27542 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27543 {
27544   return (int64x2_t) __builtin_aarch64_ssra_nv2di (__a, __b, __c);
27545 }
27546 
27547 __extension__ extern __inline uint8x16_t
27548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27549 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27550 {
27551   return __builtin_aarch64_usra_nv16qi_uuus (__a, __b, __c);
27552 }
27553 
27554 __extension__ extern __inline uint16x8_t
27555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27556 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27557 {
27558   return __builtin_aarch64_usra_nv8hi_uuus (__a, __b, __c);
27559 }
27560 
27561 __extension__ extern __inline uint32x4_t
27562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27563 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27564 {
27565   return __builtin_aarch64_usra_nv4si_uuus (__a, __b, __c);
27566 }
27567 
27568 __extension__ extern __inline uint64x2_t
27569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27570 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27571 {
27572   return __builtin_aarch64_usra_nv2di_uuus (__a, __b, __c);
27573 }
27574 
27575 __extension__ extern __inline int64_t
27576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_s64(int64_t __a,int64_t __b,const int __c)27577 vsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
27578 {
27579   return __builtin_aarch64_ssra_ndi (__a, __b, __c);
27580 }
27581 
27582 __extension__ extern __inline uint64_t
27583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)27584 vsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27585 {
27586   return __builtin_aarch64_usra_ndi_uuus (__a, __b, __c);
27587 }
27588 
27589 /* vsri */
27590 
27591 __extension__ extern __inline int8x8_t
27592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27593 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27594 {
27595   return (int8x8_t) __builtin_aarch64_ssri_nv8qi (__a, __b, __c);
27596 }
27597 
27598 __extension__ extern __inline int16x4_t
27599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27600 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27601 {
27602   return (int16x4_t) __builtin_aarch64_ssri_nv4hi (__a, __b, __c);
27603 }
27604 
27605 __extension__ extern __inline int32x2_t
27606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27607 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27608 {
27609   return (int32x2_t) __builtin_aarch64_ssri_nv2si (__a, __b, __c);
27610 }
27611 
27612 __extension__ extern __inline int64x1_t
27613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27614 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27615 {
27616   return (int64x1_t) {__builtin_aarch64_ssri_ndi (__a[0], __b[0], __c)};
27617 }
27618 
27619 __extension__ extern __inline uint8x8_t
27620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27621 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27622 {
27623   return __builtin_aarch64_usri_nv8qi_uuus (__a, __b, __c);
27624 }
27625 
27626 __extension__ extern __inline uint16x4_t
27627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27628 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27629 {
27630   return __builtin_aarch64_usri_nv4hi_uuus (__a, __b, __c);
27631 }
27632 
27633 __extension__ extern __inline uint32x2_t
27634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27635 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27636 {
27637   return __builtin_aarch64_usri_nv2si_uuus (__a, __b, __c);
27638 }
27639 
27640 __extension__ extern __inline uint64x1_t
27641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27642 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27643 {
27644   return (uint64x1_t) {__builtin_aarch64_usri_ndi_uuus (__a[0], __b[0], __c)};
27645 }
27646 
27647 __extension__ extern __inline int8x16_t
27648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27649 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27650 {
27651   return (int8x16_t) __builtin_aarch64_ssri_nv16qi (__a, __b, __c);
27652 }
27653 
27654 __extension__ extern __inline int16x8_t
27655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27656 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27657 {
27658   return (int16x8_t) __builtin_aarch64_ssri_nv8hi (__a, __b, __c);
27659 }
27660 
27661 __extension__ extern __inline int32x4_t
27662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27663 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27664 {
27665   return (int32x4_t) __builtin_aarch64_ssri_nv4si (__a, __b, __c);
27666 }
27667 
27668 __extension__ extern __inline int64x2_t
27669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27670 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27671 {
27672   return (int64x2_t) __builtin_aarch64_ssri_nv2di (__a, __b, __c);
27673 }
27674 
27675 __extension__ extern __inline uint8x16_t
27676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27677 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27678 {
27679   return __builtin_aarch64_usri_nv16qi_uuus (__a, __b, __c);
27680 }
27681 
27682 __extension__ extern __inline uint16x8_t
27683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27684 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27685 {
27686   return __builtin_aarch64_usri_nv8hi_uuus (__a, __b, __c);
27687 }
27688 
27689 __extension__ extern __inline uint32x4_t
27690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27691 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27692 {
27693   return __builtin_aarch64_usri_nv4si_uuus (__a, __b, __c);
27694 }
27695 
27696 __extension__ extern __inline uint64x2_t
27697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27698 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27699 {
27700   return __builtin_aarch64_usri_nv2di_uuus (__a, __b, __c);
27701 }
27702 
27703 __extension__ extern __inline int64_t
27704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_s64(int64_t __a,int64_t __b,const int __c)27705 vsrid_n_s64 (int64_t __a, int64_t __b, const int __c)
27706 {
27707   return __builtin_aarch64_ssri_ndi (__a, __b, __c);
27708 }
27709 
27710 __extension__ extern __inline uint64_t
27711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_u64(uint64_t __a,uint64_t __b,const int __c)27712 vsrid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27713 {
27714   return __builtin_aarch64_usri_ndi_uuus (__a, __b, __c);
27715 }
27716 
27717 /* vst1 */
27718 
27719 __extension__ extern __inline void
27720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16(float16_t * __a,float16x4_t __b)27721 vst1_f16 (float16_t *__a, float16x4_t __b)
27722 {
27723   __builtin_aarch64_st1v4hf (__a, __b);
27724 }
27725 
27726 __extension__ extern __inline void
27727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32(float32_t * __a,float32x2_t __b)27728 vst1_f32 (float32_t *__a, float32x2_t __b)
27729 {
27730   __builtin_aarch64_st1v2sf ((__builtin_aarch64_simd_sf *) __a, __b);
27731 }
27732 
27733 __extension__ extern __inline void
27734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64(float64_t * __a,float64x1_t __b)27735 vst1_f64 (float64_t *__a, float64x1_t __b)
27736 {
27737   *__a = __b[0];
27738 }
27739 
27740 __extension__ extern __inline void
27741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8(poly8_t * __a,poly8x8_t __b)27742 vst1_p8 (poly8_t *__a, poly8x8_t __b)
27743 {
27744   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
27745 			     (int8x8_t) __b);
27746 }
27747 
27748 __extension__ extern __inline void
27749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16(poly16_t * __a,poly16x4_t __b)27750 vst1_p16 (poly16_t *__a, poly16x4_t __b)
27751 {
27752   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
27753 			     (int16x4_t) __b);
27754 }
27755 
27756 __extension__ extern __inline void
27757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64(poly64_t * __a,poly64x1_t __b)27758 vst1_p64 (poly64_t *__a, poly64x1_t __b)
27759 {
27760   *__a = __b[0];
27761 }
27762 
27763 __extension__ extern __inline void
27764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8(int8_t * __a,int8x8_t __b)27765 vst1_s8 (int8_t *__a, int8x8_t __b)
27766 {
27767   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a, __b);
27768 }
27769 
27770 __extension__ extern __inline void
27771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16(int16_t * __a,int16x4_t __b)27772 vst1_s16 (int16_t *__a, int16x4_t __b)
27773 {
27774   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a, __b);
27775 }
27776 
27777 __extension__ extern __inline void
27778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32(int32_t * __a,int32x2_t __b)27779 vst1_s32 (int32_t *__a, int32x2_t __b)
27780 {
27781   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a, __b);
27782 }
27783 
27784 __extension__ extern __inline void
27785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64(int64_t * __a,int64x1_t __b)27786 vst1_s64 (int64_t *__a, int64x1_t __b)
27787 {
27788   *__a = __b[0];
27789 }
27790 
27791 __extension__ extern __inline void
27792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8(uint8_t * __a,uint8x8_t __b)27793 vst1_u8 (uint8_t *__a, uint8x8_t __b)
27794 {
27795   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
27796 			     (int8x8_t) __b);
27797 }
27798 
27799 __extension__ extern __inline void
27800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16(uint16_t * __a,uint16x4_t __b)27801 vst1_u16 (uint16_t *__a, uint16x4_t __b)
27802 {
27803   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
27804 			     (int16x4_t) __b);
27805 }
27806 
27807 __extension__ extern __inline void
27808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32(uint32_t * __a,uint32x2_t __b)27809 vst1_u32 (uint32_t *__a, uint32x2_t __b)
27810 {
27811   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a,
27812 			     (int32x2_t) __b);
27813 }
27814 
27815 __extension__ extern __inline void
27816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64(uint64_t * __a,uint64x1_t __b)27817 vst1_u64 (uint64_t *__a, uint64x1_t __b)
27818 {
27819   *__a = __b[0];
27820 }
27821 
27822 /* vst1q */
27823 
27824 __extension__ extern __inline void
27825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16(float16_t * __a,float16x8_t __b)27826 vst1q_f16 (float16_t *__a, float16x8_t __b)
27827 {
27828   __builtin_aarch64_st1v8hf (__a, __b);
27829 }
27830 
27831 __extension__ extern __inline void
27832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32(float32_t * __a,float32x4_t __b)27833 vst1q_f32 (float32_t *__a, float32x4_t __b)
27834 {
27835   __builtin_aarch64_st1v4sf ((__builtin_aarch64_simd_sf *) __a, __b);
27836 }
27837 
27838 __extension__ extern __inline void
27839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64(float64_t * __a,float64x2_t __b)27840 vst1q_f64 (float64_t *__a, float64x2_t __b)
27841 {
27842   __builtin_aarch64_st1v2df ((__builtin_aarch64_simd_df *) __a, __b);
27843 }
27844 
27845 __extension__ extern __inline void
27846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)27847 vst1q_p8 (poly8_t *__a, poly8x16_t __b)
27848 {
27849   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
27850 			      (int8x16_t) __b);
27851 }
27852 
27853 __extension__ extern __inline void
27854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)27855 vst1q_p16 (poly16_t *__a, poly16x8_t __b)
27856 {
27857   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
27858 			     (int16x8_t) __b);
27859 }
27860 
27861 __extension__ extern __inline void
27862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)27863 vst1q_p64 (poly64_t *__a, poly64x2_t __b)
27864 {
27865   __builtin_aarch64_st1v2di_sp ((__builtin_aarch64_simd_di *) __a,
27866 				(poly64x2_t) __b);
27867 }
27868 
27869 __extension__ extern __inline void
27870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8(int8_t * __a,int8x16_t __b)27871 vst1q_s8 (int8_t *__a, int8x16_t __b)
27872 {
27873   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a, __b);
27874 }
27875 
27876 __extension__ extern __inline void
27877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16(int16_t * __a,int16x8_t __b)27878 vst1q_s16 (int16_t *__a, int16x8_t __b)
27879 {
27880   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a, __b);
27881 }
27882 
27883 __extension__ extern __inline void
27884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32(int32_t * __a,int32x4_t __b)27885 vst1q_s32 (int32_t *__a, int32x4_t __b)
27886 {
27887   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a, __b);
27888 }
27889 
27890 __extension__ extern __inline void
27891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64(int64_t * __a,int64x2_t __b)27892 vst1q_s64 (int64_t *__a, int64x2_t __b)
27893 {
27894   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a, __b);
27895 }
27896 
27897 __extension__ extern __inline void
27898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)27899 vst1q_u8 (uint8_t *__a, uint8x16_t __b)
27900 {
27901   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
27902 			      (int8x16_t) __b);
27903 }
27904 
27905 __extension__ extern __inline void
27906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)27907 vst1q_u16 (uint16_t *__a, uint16x8_t __b)
27908 {
27909   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
27910 			     (int16x8_t) __b);
27911 }
27912 
27913 __extension__ extern __inline void
27914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)27915 vst1q_u32 (uint32_t *__a, uint32x4_t __b)
27916 {
27917   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a,
27918 			     (int32x4_t) __b);
27919 }
27920 
27921 __extension__ extern __inline void
27922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)27923 vst1q_u64 (uint64_t *__a, uint64x2_t __b)
27924 {
27925   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a,
27926 			     (int64x2_t) __b);
27927 }
27928 
27929 /* vst1_lane */
27930 
27931 __extension__ extern __inline void
27932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f16(float16_t * __a,float16x4_t __b,const int __lane)27933 vst1_lane_f16 (float16_t *__a, float16x4_t __b, const int __lane)
27934 {
27935   *__a = __aarch64_vget_lane_any (__b, __lane);
27936 }
27937 
27938 __extension__ extern __inline void
27939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __lane)27940 vst1_lane_f32 (float32_t *__a, float32x2_t __b, const int __lane)
27941 {
27942   *__a = __aarch64_vget_lane_any (__b, __lane);
27943 }
27944 
27945 __extension__ extern __inline void
27946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f64(float64_t * __a,float64x1_t __b,const int __lane)27947 vst1_lane_f64 (float64_t *__a, float64x1_t __b, const int __lane)
27948 {
27949   *__a = __aarch64_vget_lane_any (__b, __lane);
27950 }
27951 
27952 __extension__ extern __inline void
27953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __lane)27954 vst1_lane_p8 (poly8_t *__a, poly8x8_t __b, const int __lane)
27955 {
27956   *__a = __aarch64_vget_lane_any (__b, __lane);
27957 }
27958 
27959 __extension__ extern __inline void
27960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __lane)27961 vst1_lane_p16 (poly16_t *__a, poly16x4_t __b, const int __lane)
27962 {
27963   *__a = __aarch64_vget_lane_any (__b, __lane);
27964 }
27965 
27966 __extension__ extern __inline void
27967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __lane)27968 vst1_lane_p64 (poly64_t *__a, poly64x1_t __b, const int __lane)
27969 {
27970   *__a = __aarch64_vget_lane_any (__b, __lane);
27971 }
27972 
27973 __extension__ extern __inline void
27974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __lane)27975 vst1_lane_s8 (int8_t *__a, int8x8_t __b, const int __lane)
27976 {
27977   *__a = __aarch64_vget_lane_any (__b, __lane);
27978 }
27979 
27980 __extension__ extern __inline void
27981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __lane)27982 vst1_lane_s16 (int16_t *__a, int16x4_t __b, const int __lane)
27983 {
27984   *__a = __aarch64_vget_lane_any (__b, __lane);
27985 }
27986 
27987 __extension__ extern __inline void
27988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __lane)27989 vst1_lane_s32 (int32_t *__a, int32x2_t __b, const int __lane)
27990 {
27991   *__a = __aarch64_vget_lane_any (__b, __lane);
27992 }
27993 
27994 __extension__ extern __inline void
27995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __lane)27996 vst1_lane_s64 (int64_t *__a, int64x1_t __b, const int __lane)
27997 {
27998   *__a = __aarch64_vget_lane_any (__b, __lane);
27999 }
28000 
28001 __extension__ extern __inline void
28002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __lane)28003 vst1_lane_u8 (uint8_t *__a, uint8x8_t __b, const int __lane)
28004 {
28005   *__a = __aarch64_vget_lane_any (__b, __lane);
28006 }
28007 
28008 __extension__ extern __inline void
28009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __lane)28010 vst1_lane_u16 (uint16_t *__a, uint16x4_t __b, const int __lane)
28011 {
28012   *__a = __aarch64_vget_lane_any (__b, __lane);
28013 }
28014 
28015 __extension__ extern __inline void
28016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __lane)28017 vst1_lane_u32 (uint32_t *__a, uint32x2_t __b, const int __lane)
28018 {
28019   *__a = __aarch64_vget_lane_any (__b, __lane);
28020 }
28021 
28022 __extension__ extern __inline void
28023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __lane)28024 vst1_lane_u64 (uint64_t *__a, uint64x1_t __b, const int __lane)
28025 {
28026   *__a = __aarch64_vget_lane_any (__b, __lane);
28027 }
28028 
28029 /* vst1q_lane */
28030 
28031 __extension__ extern __inline void
28032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f16(float16_t * __a,float16x8_t __b,const int __lane)28033 vst1q_lane_f16 (float16_t *__a, float16x8_t __b, const int __lane)
28034 {
28035   *__a = __aarch64_vget_lane_any (__b, __lane);
28036 }
28037 
28038 __extension__ extern __inline void
28039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __lane)28040 vst1q_lane_f32 (float32_t *__a, float32x4_t __b, const int __lane)
28041 {
28042   *__a = __aarch64_vget_lane_any (__b, __lane);
28043 }
28044 
28045 __extension__ extern __inline void
28046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f64(float64_t * __a,float64x2_t __b,const int __lane)28047 vst1q_lane_f64 (float64_t *__a, float64x2_t __b, const int __lane)
28048 {
28049   *__a = __aarch64_vget_lane_any (__b, __lane);
28050 }
28051 
28052 __extension__ extern __inline void
28053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __lane)28054 vst1q_lane_p8 (poly8_t *__a, poly8x16_t __b, const int __lane)
28055 {
28056   *__a = __aarch64_vget_lane_any (__b, __lane);
28057 }
28058 
28059 __extension__ extern __inline void
28060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __lane)28061 vst1q_lane_p16 (poly16_t *__a, poly16x8_t __b, const int __lane)
28062 {
28063   *__a = __aarch64_vget_lane_any (__b, __lane);
28064 }
28065 
28066 __extension__ extern __inline void
28067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __lane)28068 vst1q_lane_p64 (poly64_t *__a, poly64x2_t __b, const int __lane)
28069 {
28070   *__a = __aarch64_vget_lane_any (__b, __lane);
28071 }
28072 
28073 __extension__ extern __inline void
28074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __lane)28075 vst1q_lane_s8 (int8_t *__a, int8x16_t __b, const int __lane)
28076 {
28077   *__a = __aarch64_vget_lane_any (__b, __lane);
28078 }
28079 
28080 __extension__ extern __inline void
28081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __lane)28082 vst1q_lane_s16 (int16_t *__a, int16x8_t __b, const int __lane)
28083 {
28084   *__a = __aarch64_vget_lane_any (__b, __lane);
28085 }
28086 
28087 __extension__ extern __inline void
28088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __lane)28089 vst1q_lane_s32 (int32_t *__a, int32x4_t __b, const int __lane)
28090 {
28091   *__a = __aarch64_vget_lane_any (__b, __lane);
28092 }
28093 
28094 __extension__ extern __inline void
28095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __lane)28096 vst1q_lane_s64 (int64_t *__a, int64x2_t __b, const int __lane)
28097 {
28098   *__a = __aarch64_vget_lane_any (__b, __lane);
28099 }
28100 
28101 __extension__ extern __inline void
28102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __lane)28103 vst1q_lane_u8 (uint8_t *__a, uint8x16_t __b, const int __lane)
28104 {
28105   *__a = __aarch64_vget_lane_any (__b, __lane);
28106 }
28107 
28108 __extension__ extern __inline void
28109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __lane)28110 vst1q_lane_u16 (uint16_t *__a, uint16x8_t __b, const int __lane)
28111 {
28112   *__a = __aarch64_vget_lane_any (__b, __lane);
28113 }
28114 
28115 __extension__ extern __inline void
28116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __lane)28117 vst1q_lane_u32 (uint32_t *__a, uint32x4_t __b, const int __lane)
28118 {
28119   *__a = __aarch64_vget_lane_any (__b, __lane);
28120 }
28121 
28122 __extension__ extern __inline void
28123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __lane)28124 vst1q_lane_u64 (uint64_t *__a, uint64x2_t __b, const int __lane)
28125 {
28126   *__a = __aarch64_vget_lane_any (__b, __lane);
28127 }
28128 
28129 /* vst1x2 */
28130 
28131 __extension__ extern __inline void
28132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x2(int64_t * __a,int64x1x2_t __val)28133 vst1_s64_x2 (int64_t * __a, int64x1x2_t __val)
28134 {
28135   __builtin_aarch64_simd_oi __o;
28136   int64x2x2_t __temp;
28137   __temp.val[0]
28138     = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28139   __temp.val[1]
28140     = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28141   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
28142   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
28143   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28144 }
28145 
28146 __extension__ extern __inline void
28147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x2(uint64_t * __a,uint64x1x2_t __val)28148 vst1_u64_x2 (uint64_t * __a, uint64x1x2_t __val)
28149 {
28150   __builtin_aarch64_simd_oi __o;
28151   uint64x2x2_t __temp;
28152   __temp.val[0]
28153     = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28154   __temp.val[1]
28155     = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28156   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
28157   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
28158   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28159 }
28160 
28161 __extension__ extern __inline void
28162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x2(float64_t * __a,float64x1x2_t __val)28163 vst1_f64_x2 (float64_t * __a, float64x1x2_t __val)
28164 {
28165   __builtin_aarch64_simd_oi __o;
28166   float64x2x2_t __temp;
28167   __temp.val[0]
28168     = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28169   __temp.val[1]
28170     = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28171   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
28172   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
28173   __builtin_aarch64_st1x2df ((__builtin_aarch64_simd_df *) __a, __o);
28174 }
28175 
28176 __extension__ extern __inline void
28177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x2(int8_t * __a,int8x8x2_t __val)28178 vst1_s8_x2 (int8_t * __a, int8x8x2_t __val)
28179 {
28180   __builtin_aarch64_simd_oi __o;
28181   int8x16x2_t __temp;
28182   __temp.val[0]
28183     = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28184   __temp.val[1]
28185     = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28186   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28187   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28188   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28189 }
28190 
28191 __extension__ extern __inline void
28192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x2(poly8_t * __a,poly8x8x2_t __val)28193 vst1_p8_x2 (poly8_t * __a, poly8x8x2_t __val)
28194 {
28195   __builtin_aarch64_simd_oi __o;
28196   poly8x16x2_t __temp;
28197   __temp.val[0]
28198     = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28199   __temp.val[1]
28200     = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28201   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28202   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28203   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28204 }
28205 
28206 __extension__ extern __inline void
28207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x2(int16_t * __a,int16x4x2_t __val)28208 vst1_s16_x2 (int16_t * __a, int16x4x2_t __val)
28209 {
28210   __builtin_aarch64_simd_oi __o;
28211   int16x8x2_t __temp;
28212   __temp.val[0]
28213     = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28214   __temp.val[1]
28215     = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28216   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28217   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28218   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28219 }
28220 
28221 __extension__ extern __inline void
28222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x2(poly16_t * __a,poly16x4x2_t __val)28223 vst1_p16_x2 (poly16_t * __a, poly16x4x2_t __val)
28224 {
28225   __builtin_aarch64_simd_oi __o;
28226   poly16x8x2_t __temp;
28227   __temp.val[0]
28228     = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28229   __temp.val[1]
28230     = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28231   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28232   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28233   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28234 }
28235 
28236 __extension__ extern __inline void
28237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x2(int32_t * __a,int32x2x2_t __val)28238 vst1_s32_x2 (int32_t * __a, int32x2x2_t __val)
28239 {
28240   __builtin_aarch64_simd_oi __o;
28241   int32x4x2_t __temp;
28242   __temp.val[0]
28243     = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28244   __temp.val[1]
28245     = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28246   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
28247   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
28248   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
28249 }
28250 
28251 __extension__ extern __inline void
28252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x2(uint8_t * __a,uint8x8x2_t __val)28253 vst1_u8_x2 (uint8_t * __a, uint8x8x2_t __val)
28254 {
28255   __builtin_aarch64_simd_oi __o;
28256   uint8x16x2_t __temp;
28257   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28258   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28259   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28260   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28261   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28262 }
28263 
28264 __extension__ extern __inline void
28265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x2(uint16_t * __a,uint16x4x2_t __val)28266 vst1_u16_x2 (uint16_t * __a, uint16x4x2_t __val)
28267 {
28268   __builtin_aarch64_simd_oi __o;
28269   uint16x8x2_t __temp;
28270   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28271   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28272   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28273   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28274   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28275 }
28276 
28277 __extension__ extern __inline void
28278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x2(uint32_t * __a,uint32x2x2_t __val)28279 vst1_u32_x2 (uint32_t * __a, uint32x2x2_t __val)
28280 {
28281   __builtin_aarch64_simd_oi __o;
28282   uint32x4x2_t __temp;
28283   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28284   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28285   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
28286   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
28287   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
28288 }
28289 
28290 __extension__ extern __inline void
28291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x2(float16_t * __a,float16x4x2_t __val)28292 vst1_f16_x2 (float16_t * __a, float16x4x2_t __val)
28293 {
28294   __builtin_aarch64_simd_oi __o;
28295   float16x8x2_t __temp;
28296   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28297   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28298   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
28299   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
28300   __builtin_aarch64_st1x2v4hf (__a, __o);
28301 }
28302 
28303 __extension__ extern __inline void
28304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x2(float32_t * __a,float32x2x2_t __val)28305 vst1_f32_x2 (float32_t * __a, float32x2x2_t __val)
28306 {
28307   __builtin_aarch64_simd_oi __o;
28308   float32x4x2_t __temp;
28309   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28310   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28311   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
28312   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
28313   __builtin_aarch64_st1x2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28314 }
28315 
28316 __extension__ extern __inline void
28317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x2(poly64_t * __a,poly64x1x2_t __val)28318 vst1_p64_x2 (poly64_t * __a, poly64x1x2_t __val)
28319 {
28320   __builtin_aarch64_simd_oi __o;
28321   poly64x2x2_t __temp;
28322   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28323   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28324   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28325 					       (poly64x2_t) __temp.val[0], 0);
28326   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28327 					       (poly64x2_t) __temp.val[1], 1);
28328   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28329 }
28330 
28331 __extension__ extern __inline void
28332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x2(int8_t * __a,int8x16x2_t __val)28333 vst1q_s8_x2 (int8_t * __a, int8x16x2_t __val)
28334 {
28335   __builtin_aarch64_simd_oi __o;
28336   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28337   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28338   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28339 }
28340 
28341 __extension__ extern __inline void
28342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x2(poly8_t * __a,poly8x16x2_t __val)28343 vst1q_p8_x2 (poly8_t * __a, poly8x16x2_t __val)
28344 {
28345   __builtin_aarch64_simd_oi __o;
28346   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28347   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28348   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28349 }
28350 
28351 __extension__ extern __inline void
28352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x2(int16_t * __a,int16x8x2_t __val)28353 vst1q_s16_x2 (int16_t * __a, int16x8x2_t __val)
28354 {
28355   __builtin_aarch64_simd_oi __o;
28356   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28357   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28358   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28359 }
28360 
28361 __extension__ extern __inline void
28362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x2(poly16_t * __a,poly16x8x2_t __val)28363 vst1q_p16_x2 (poly16_t * __a, poly16x8x2_t __val)
28364 {
28365   __builtin_aarch64_simd_oi __o;
28366   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28367   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28368   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28369 }
28370 
28371 __extension__ extern __inline void
28372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x2(int32_t * __a,int32x4x2_t __val)28373 vst1q_s32_x2 (int32_t * __a, int32x4x2_t __val)
28374 {
28375   __builtin_aarch64_simd_oi __o;
28376   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
28377   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
28378   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
28379 }
28380 
28381 __extension__ extern __inline void
28382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x2(int64_t * __a,int64x2x2_t __val)28383 vst1q_s64_x2 (int64_t * __a, int64x2x2_t __val)
28384 {
28385   __builtin_aarch64_simd_oi __o;
28386   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
28387   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
28388   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28389 }
28390 
28391 __extension__ extern __inline void
28392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x2(uint8_t * __a,uint8x16x2_t __val)28393 vst1q_u8_x2 (uint8_t * __a, uint8x16x2_t __val)
28394 {
28395   __builtin_aarch64_simd_oi __o;
28396   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28397   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28398   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28399 }
28400 
28401 __extension__ extern __inline void
28402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x2(uint16_t * __a,uint16x8x2_t __val)28403 vst1q_u16_x2 (uint16_t * __a, uint16x8x2_t __val)
28404 {
28405   __builtin_aarch64_simd_oi __o;
28406   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28407   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28408   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28409 }
28410 
28411 __extension__ extern __inline void
28412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x2(uint32_t * __a,uint32x4x2_t __val)28413 vst1q_u32_x2 (uint32_t * __a, uint32x4x2_t __val)
28414 {
28415   __builtin_aarch64_simd_oi __o;
28416   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
28417   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
28418   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
28419 }
28420 
28421 __extension__ extern __inline void
28422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x2(uint64_t * __a,uint64x2x2_t __val)28423 vst1q_u64_x2 (uint64_t * __a, uint64x2x2_t __val)
28424 {
28425   __builtin_aarch64_simd_oi __o;
28426   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
28427   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
28428   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28429 }
28430 
28431 __extension__ extern __inline void
28432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x2(float16_t * __a,float16x8x2_t __val)28433 vst1q_f16_x2 (float16_t * __a, float16x8x2_t __val)
28434 {
28435   __builtin_aarch64_simd_oi __o;
28436   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
28437   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
28438   __builtin_aarch64_st1x2v8hf (__a, __o);
28439 }
28440 
28441 __extension__ extern __inline void
28442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x2(float32_t * __a,float32x4x2_t __val)28443 vst1q_f32_x2 (float32_t * __a, float32x4x2_t __val)
28444 {
28445   __builtin_aarch64_simd_oi __o;
28446   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
28447   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
28448   __builtin_aarch64_st1x2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28449 }
28450 
28451 __extension__ extern __inline void
28452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x2(float64_t * __a,float64x2x2_t __val)28453 vst1q_f64_x2 (float64_t * __a, float64x2x2_t __val)
28454 {
28455   __builtin_aarch64_simd_oi __o;
28456   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
28457   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
28458   __builtin_aarch64_st1x2v2df ((__builtin_aarch64_simd_df *) __a, __o);
28459 }
28460 
28461 __extension__ extern __inline void
28462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x2(poly64_t * __a,poly64x2x2_t __val)28463 vst1q_p64_x2 (poly64_t * __a, poly64x2x2_t __val)
28464 {
28465   __builtin_aarch64_simd_oi __o;
28466   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28467 					       (poly64x2_t) __val.val[0], 0);
28468   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28469 					       (poly64x2_t) __val.val[1], 1);
28470   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28471 }
28472 
28473 /* vst1x3 */
28474 
28475 __extension__ extern __inline void
28476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x3(int64_t * __a,int64x1x3_t __val)28477 vst1_s64_x3 (int64_t * __a, int64x1x3_t __val)
28478 {
28479   __builtin_aarch64_simd_ci __o;
28480   int64x2x3_t __temp;
28481   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28482   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28483   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
28484   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
28485   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
28486   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
28487   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28488 }
28489 
28490 __extension__ extern __inline void
28491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x3(uint64_t * __a,uint64x1x3_t __val)28492 vst1_u64_x3 (uint64_t * __a, uint64x1x3_t __val)
28493 {
28494   __builtin_aarch64_simd_ci __o;
28495   uint64x2x3_t __temp;
28496   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28497   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28498   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
28499   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
28500   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
28501   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
28502   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28503 }
28504 
28505 __extension__ extern __inline void
28506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x3(float64_t * __a,float64x1x3_t __val)28507 vst1_f64_x3 (float64_t * __a, float64x1x3_t __val)
28508 {
28509   __builtin_aarch64_simd_ci __o;
28510   float64x2x3_t __temp;
28511   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28512   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28513   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
28514   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
28515   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
28516   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
28517   __builtin_aarch64_st1x3df ((__builtin_aarch64_simd_df *) __a, __o);
28518 }
28519 
28520 __extension__ extern __inline void
28521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x3(int8_t * __a,int8x8x3_t __val)28522 vst1_s8_x3 (int8_t * __a, int8x8x3_t __val)
28523 {
28524   __builtin_aarch64_simd_ci __o;
28525   int8x16x3_t __temp;
28526   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28527   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28528   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
28529   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28530   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28531   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28532   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28533 }
28534 
28535 __extension__ extern __inline void
28536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x3(poly8_t * __a,poly8x8x3_t __val)28537 vst1_p8_x3 (poly8_t * __a, poly8x8x3_t __val)
28538 {
28539   __builtin_aarch64_simd_ci __o;
28540   poly8x16x3_t __temp;
28541   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28542   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28543   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28544   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28545   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28546   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28547   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28548 }
28549 
28550 __extension__ extern __inline void
28551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x3(int16_t * __a,int16x4x3_t __val)28552 vst1_s16_x3 (int16_t * __a, int16x4x3_t __val)
28553 {
28554   __builtin_aarch64_simd_ci __o;
28555   int16x8x3_t __temp;
28556   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28557   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28558   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28559   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28560   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28561   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28562   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28563 }
28564 
28565 __extension__ extern __inline void
28566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x3(poly16_t * __a,poly16x4x3_t __val)28567 vst1_p16_x3 (poly16_t * __a, poly16x4x3_t __val)
28568 {
28569   __builtin_aarch64_simd_ci __o;
28570   poly16x8x3_t __temp;
28571   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28572   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28573   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28574   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28575   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28576   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28577   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28578 }
28579 
28580 __extension__ extern __inline void
28581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x3(int32_t * __a,int32x2x3_t __val)28582 vst1_s32_x3 (int32_t * __a, int32x2x3_t __val)
28583 {
28584   __builtin_aarch64_simd_ci __o;
28585   int32x4x3_t __temp;
28586   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28587   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28588   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28589   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28590   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28591   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28592   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28593 }
28594 
28595 __extension__ extern __inline void
28596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x3(uint8_t * __a,uint8x8x3_t __val)28597 vst1_u8_x3 (uint8_t * __a, uint8x8x3_t __val)
28598 {
28599   __builtin_aarch64_simd_ci __o;
28600   uint8x16x3_t __temp;
28601   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28602   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28603   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28604   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28605   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28606   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28607   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28608 }
28609 
28610 __extension__ extern __inline void
28611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x3(uint16_t * __a,uint16x4x3_t __val)28612 vst1_u16_x3 (uint16_t * __a, uint16x4x3_t __val)
28613 {
28614   __builtin_aarch64_simd_ci __o;
28615   uint16x8x3_t __temp;
28616   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28617   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28618   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
28619   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28620   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28621   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28622   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28623 }
28624 
28625 __extension__ extern __inline void
28626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x3(uint32_t * __a,uint32x2x3_t __val)28627 vst1_u32_x3 (uint32_t * __a, uint32x2x3_t __val)
28628 {
28629   __builtin_aarch64_simd_ci __o;
28630   uint32x4x3_t __temp;
28631   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28632   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28633   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
28634   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28635   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28636   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28637   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28638 }
28639 
28640 __extension__ extern __inline void
28641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x3(float16_t * __a,float16x4x3_t __val)28642 vst1_f16_x3 (float16_t * __a, float16x4x3_t __val)
28643 {
28644   __builtin_aarch64_simd_ci __o;
28645   float16x8x3_t __temp;
28646   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28647   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28648   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
28649   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
28650   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
28651   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
28652   __builtin_aarch64_st1x3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
28653 }
28654 
28655 __extension__ extern __inline void
28656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x3(float32_t * __a,float32x2x3_t __val)28657 vst1_f32_x3 (float32_t * __a, float32x2x3_t __val)
28658 {
28659   __builtin_aarch64_simd_ci __o;
28660   float32x4x3_t __temp;
28661   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28662   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28663   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
28664   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
28665   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
28666   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
28667   __builtin_aarch64_st1x3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28668 }
28669 
28670 __extension__ extern __inline void
28671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x3(poly64_t * __a,poly64x1x3_t __val)28672 vst1_p64_x3 (poly64_t * __a, poly64x1x3_t __val)
28673 {
28674   __builtin_aarch64_simd_ci __o;
28675   poly64x2x3_t __temp;
28676   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28677   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28678   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
28679   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28680 					       (poly64x2_t) __temp.val[0], 0);
28681   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28682 					       (poly64x2_t) __temp.val[1], 1);
28683   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28684 					       (poly64x2_t) __temp.val[2], 2);
28685   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28686 }
28687 
28688 __extension__ extern __inline void
28689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x3(int8_t * __a,int8x16x3_t __val)28690 vst1q_s8_x3 (int8_t * __a, int8x16x3_t __val)
28691 {
28692   __builtin_aarch64_simd_ci __o;
28693   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28694   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28695   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28696   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28697 }
28698 
28699 __extension__ extern __inline void
28700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x3(poly8_t * __a,poly8x16x3_t __val)28701 vst1q_p8_x3 (poly8_t * __a, poly8x16x3_t __val)
28702 {
28703   __builtin_aarch64_simd_ci __o;
28704   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28705   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28706   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28707   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28708 }
28709 
28710 __extension__ extern __inline void
28711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x3(int16_t * __a,int16x8x3_t __val)28712 vst1q_s16_x3 (int16_t * __a, int16x8x3_t __val)
28713 {
28714   __builtin_aarch64_simd_ci __o;
28715   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28716   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28717   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28718   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28719 }
28720 
28721 __extension__ extern __inline void
28722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x3(poly16_t * __a,poly16x8x3_t __val)28723 vst1q_p16_x3 (poly16_t * __a, poly16x8x3_t __val)
28724 {
28725   __builtin_aarch64_simd_ci __o;
28726   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28727   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28728   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28729   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28730 }
28731 
28732 __extension__ extern __inline void
28733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x3(int32_t * __a,int32x4x3_t __val)28734 vst1q_s32_x3 (int32_t * __a, int32x4x3_t __val)
28735 {
28736   __builtin_aarch64_simd_ci __o;
28737   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28738   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28739   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28740   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28741 }
28742 
28743 __extension__ extern __inline void
28744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x3(int64_t * __a,int64x2x3_t __val)28745 vst1q_s64_x3 (int64_t * __a, int64x2x3_t __val)
28746 {
28747   __builtin_aarch64_simd_ci __o;
28748   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28749   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28750   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28751   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28752 }
28753 
28754 __extension__ extern __inline void
28755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x3(uint8_t * __a,uint8x16x3_t __val)28756 vst1q_u8_x3 (uint8_t * __a, uint8x16x3_t __val)
28757 {
28758   __builtin_aarch64_simd_ci __o;
28759   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28760   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28761   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28762   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28763 }
28764 
28765 __extension__ extern __inline void
28766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x3(uint16_t * __a,uint16x8x3_t __val)28767 vst1q_u16_x3 (uint16_t * __a, uint16x8x3_t __val)
28768 {
28769   __builtin_aarch64_simd_ci __o;
28770   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28771   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28772   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28773   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28774 }
28775 
28776 __extension__ extern __inline void
28777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x3(uint32_t * __a,uint32x4x3_t __val)28778 vst1q_u32_x3 (uint32_t * __a, uint32x4x3_t __val)
28779 {
28780   __builtin_aarch64_simd_ci __o;
28781   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28782   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28783   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28784   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28785 }
28786 
28787 __extension__ extern __inline void
28788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x3(uint64_t * __a,uint64x2x3_t __val)28789 vst1q_u64_x3 (uint64_t * __a, uint64x2x3_t __val)
28790 {
28791   __builtin_aarch64_simd_ci __o;
28792   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28793   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28794   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28795   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28796 }
28797 
28798 __extension__ extern __inline void
28799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x3(float16_t * __a,float16x8x3_t __val)28800 vst1q_f16_x3 (float16_t * __a, float16x8x3_t __val)
28801 {
28802   __builtin_aarch64_simd_ci __o;
28803   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
28804   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
28805   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
28806   __builtin_aarch64_st1x3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
28807 }
28808 
28809 __extension__ extern __inline void
28810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x3(float32_t * __a,float32x4x3_t __val)28811 vst1q_f32_x3 (float32_t * __a, float32x4x3_t __val)
28812 {
28813   __builtin_aarch64_simd_ci __o;
28814   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
28815   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
28816   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
28817   __builtin_aarch64_st1x3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28818 }
28819 
28820 __extension__ extern __inline void
28821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x3(float64_t * __a,float64x2x3_t __val)28822 vst1q_f64_x3 (float64_t * __a, float64x2x3_t __val)
28823 {
28824   __builtin_aarch64_simd_ci __o;
28825   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
28826   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
28827   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
28828   __builtin_aarch64_st1x3v2df ((__builtin_aarch64_simd_df *) __a, __o);
28829 }
28830 
28831 __extension__ extern __inline void
28832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x3(poly64_t * __a,poly64x2x3_t __val)28833 vst1q_p64_x3 (poly64_t * __a, poly64x2x3_t __val)
28834 {
28835   __builtin_aarch64_simd_ci __o;
28836   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28837 					       (poly64x2_t) __val.val[0], 0);
28838   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28839 					       (poly64x2_t) __val.val[1], 1);
28840   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28841 					       (poly64x2_t) __val.val[2], 2);
28842   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28843 }
28844 
28845 /* vst1(q)_x4.  */
28846 
28847 __extension__ extern __inline void
28848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x4(int8_t * __a,int8x8x4_t val)28849 vst1_s8_x4 (int8_t * __a, int8x8x4_t val)
28850 {
28851   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28852   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28853 }
28854 
28855 __extension__ extern __inline void
28856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x4(int8_t * __a,int8x16x4_t val)28857 vst1q_s8_x4 (int8_t * __a, int8x16x4_t val)
28858 {
28859   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28860   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28861 }
28862 
28863 __extension__ extern __inline void
28864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x4(int16_t * __a,int16x4x4_t val)28865 vst1_s16_x4 (int16_t * __a, int16x4x4_t val)
28866 {
28867   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28868   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28869 }
28870 
28871 __extension__ extern __inline void
28872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x4(int16_t * __a,int16x8x4_t val)28873 vst1q_s16_x4 (int16_t * __a, int16x8x4_t val)
28874 {
28875   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28876   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28877 }
28878 
28879 __extension__ extern __inline void
28880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x4(int32_t * __a,int32x2x4_t val)28881 vst1_s32_x4 (int32_t * __a, int32x2x4_t val)
28882 {
28883   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28884   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28885 }
28886 
28887 __extension__ extern __inline void
28888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x4(int32_t * __a,int32x4x4_t val)28889 vst1q_s32_x4 (int32_t * __a, int32x4x4_t val)
28890 {
28891   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28892   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28893 }
28894 
28895 __extension__ extern __inline void
28896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x4(uint8_t * __a,uint8x8x4_t val)28897 vst1_u8_x4 (uint8_t * __a, uint8x8x4_t val)
28898 {
28899   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28900   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28901 }
28902 
28903 __extension__ extern __inline void
28904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x4(uint8_t * __a,uint8x16x4_t val)28905 vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t val)
28906 {
28907   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28908   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28909 }
28910 
28911 __extension__ extern __inline void
28912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x4(uint16_t * __a,uint16x4x4_t val)28913 vst1_u16_x4 (uint16_t * __a, uint16x4x4_t val)
28914 {
28915   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28916   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28917 }
28918 
28919 __extension__ extern __inline void
28920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x4(uint16_t * __a,uint16x8x4_t val)28921 vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t val)
28922 {
28923   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28924   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28925 }
28926 
28927 __extension__ extern __inline void
28928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x4(uint32_t * __a,uint32x2x4_t val)28929 vst1_u32_x4 (uint32_t * __a, uint32x2x4_t val)
28930 {
28931   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28932   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28933 }
28934 
28935 __extension__ extern __inline void
28936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x4(uint32_t * __a,uint32x4x4_t val)28937 vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t val)
28938 {
28939   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28940   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28941 }
28942 
28943 __extension__ extern __inline void
28944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x4(float16_t * __a,float16x4x4_t val)28945 vst1_f16_x4 (float16_t * __a, float16x4x4_t val)
28946 {
28947   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28948   __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
28949 }
28950 
28951 __extension__ extern __inline void
28952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x4(float16_t * __a,float16x8x4_t val)28953 vst1q_f16_x4 (float16_t * __a, float16x8x4_t val)
28954 {
28955   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28956   __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
28957 }
28958 
28959 __extension__ extern __inline void
28960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x4(float32_t * __a,float32x2x4_t val)28961 vst1_f32_x4 (float32_t * __a, float32x2x4_t val)
28962 {
28963   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28964   __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
28965 }
28966 
28967 __extension__ extern __inline void
28968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x4(float32_t * __a,float32x4x4_t val)28969 vst1q_f32_x4 (float32_t * __a, float32x4x4_t val)
28970 {
28971   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28972   __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
28973 }
28974 
28975 __extension__ extern __inline void
28976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x4(poly8_t * __a,poly8x8x4_t val)28977 vst1_p8_x4 (poly8_t * __a, poly8x8x4_t val)
28978 {
28979   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28980   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28981 }
28982 
28983 __extension__ extern __inline void
28984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x4(poly8_t * __a,poly8x16x4_t val)28985 vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t val)
28986 {
28987   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28988   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28989 }
28990 
28991 __extension__ extern __inline void
28992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x4(poly16_t * __a,poly16x4x4_t val)28993 vst1_p16_x4 (poly16_t * __a, poly16x4x4_t val)
28994 {
28995   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28996   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28997 }
28998 
28999 __extension__ extern __inline void
29000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x4(poly16_t * __a,poly16x8x4_t val)29001 vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t val)
29002 {
29003   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29004   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
29005 }
29006 
29007 __extension__ extern __inline void
29008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x4(int64_t * __a,int64x1x4_t val)29009 vst1_s64_x4 (int64_t * __a, int64x1x4_t val)
29010 {
29011   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29012   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29013 }
29014 
29015 __extension__ extern __inline void
29016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x4(uint64_t * __a,uint64x1x4_t val)29017 vst1_u64_x4 (uint64_t * __a, uint64x1x4_t val)
29018 {
29019   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29020   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29021 }
29022 
29023 __extension__ extern __inline void
29024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x4(poly64_t * __a,poly64x1x4_t val)29025 vst1_p64_x4 (poly64_t * __a, poly64x1x4_t val)
29026 {
29027   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29028   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29029 }
29030 
29031 __extension__ extern __inline void
29032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x4(int64_t * __a,int64x2x4_t val)29033 vst1q_s64_x4 (int64_t * __a, int64x2x4_t val)
29034 {
29035   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29036   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29037 }
29038 
29039 __extension__ extern __inline void
29040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x4(uint64_t * __a,uint64x2x4_t val)29041 vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t val)
29042 {
29043   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29044   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29045 }
29046 
29047 __extension__ extern __inline void
29048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x4(poly64_t * __a,poly64x2x4_t val)29049 vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t val)
29050 {
29051   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29052   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
29053 }
29054 
29055 __extension__ extern __inline void
29056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x4(float64_t * __a,float64x1x4_t val)29057 vst1_f64_x4 (float64_t * __a, float64x1x4_t val)
29058 {
29059   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29060   __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __u.__o);
29061 }
29062 
29063 __extension__ extern __inline void
29064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x4(float64_t * __a,float64x2x4_t val)29065 vst1q_f64_x4 (float64_t * __a, float64x2x4_t val)
29066 {
29067   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
29068   __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __u.__o);
29069 }
29070 
29071 /* vstn */
29072 
29073 __extension__ extern __inline void
29074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s64(int64_t * __a,int64x1x2_t __val)29075 vst2_s64 (int64_t * __a, int64x1x2_t __val)
29076 {
29077   __builtin_aarch64_simd_oi __o;
29078   int64x2x2_t __temp;
29079   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29080   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29081   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
29082   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
29083   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29084 }
29085 
29086 __extension__ extern __inline void
29087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u64(uint64_t * __a,uint64x1x2_t __val)29088 vst2_u64 (uint64_t * __a, uint64x1x2_t __val)
29089 {
29090   __builtin_aarch64_simd_oi __o;
29091   uint64x2x2_t __temp;
29092   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29093   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29094   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
29095   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
29096   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29097 }
29098 
29099 __extension__ extern __inline void
29100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f64(float64_t * __a,float64x1x2_t __val)29101 vst2_f64 (float64_t * __a, float64x1x2_t __val)
29102 {
29103   __builtin_aarch64_simd_oi __o;
29104   float64x2x2_t __temp;
29105   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29106   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29107   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
29108   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
29109   __builtin_aarch64_st2df ((__builtin_aarch64_simd_df *) __a, __o);
29110 }
29111 
29112 __extension__ extern __inline void
29113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s8(int8_t * __a,int8x8x2_t __val)29114 vst2_s8 (int8_t * __a, int8x8x2_t __val)
29115 {
29116   __builtin_aarch64_simd_oi __o;
29117   int8x16x2_t __temp;
29118   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29119   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29120   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29121   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29122   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29123 }
29124 
29125 __extension__ extern __inline void
29126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p8(poly8_t * __a,poly8x8x2_t __val)29127 vst2_p8 (poly8_t * __a, poly8x8x2_t __val)
29128 {
29129   __builtin_aarch64_simd_oi __o;
29130   poly8x16x2_t __temp;
29131   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29132   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29133   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29134   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29135   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29136 }
29137 
29138 __extension__ extern __inline void
29139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s16(int16_t * __a,int16x4x2_t __val)29140 vst2_s16 (int16_t * __a, int16x4x2_t __val)
29141 {
29142   __builtin_aarch64_simd_oi __o;
29143   int16x8x2_t __temp;
29144   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29145   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29146   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29147   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29148   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29149 }
29150 
29151 __extension__ extern __inline void
29152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p16(poly16_t * __a,poly16x4x2_t __val)29153 vst2_p16 (poly16_t * __a, poly16x4x2_t __val)
29154 {
29155   __builtin_aarch64_simd_oi __o;
29156   poly16x8x2_t __temp;
29157   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29158   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29159   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29160   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29161   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29162 }
29163 
29164 __extension__ extern __inline void
29165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s32(int32_t * __a,int32x2x2_t __val)29166 vst2_s32 (int32_t * __a, int32x2x2_t __val)
29167 {
29168   __builtin_aarch64_simd_oi __o;
29169   int32x4x2_t __temp;
29170   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29171   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29172   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
29173   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
29174   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
29175 }
29176 
29177 __extension__ extern __inline void
29178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u8(uint8_t * __a,uint8x8x2_t __val)29179 vst2_u8 (uint8_t * __a, uint8x8x2_t __val)
29180 {
29181   __builtin_aarch64_simd_oi __o;
29182   uint8x16x2_t __temp;
29183   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29184   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29185   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29186   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29187   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29188 }
29189 
29190 __extension__ extern __inline void
29191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u16(uint16_t * __a,uint16x4x2_t __val)29192 vst2_u16 (uint16_t * __a, uint16x4x2_t __val)
29193 {
29194   __builtin_aarch64_simd_oi __o;
29195   uint16x8x2_t __temp;
29196   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29197   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29198   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29199   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29200   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29201 }
29202 
29203 __extension__ extern __inline void
29204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u32(uint32_t * __a,uint32x2x2_t __val)29205 vst2_u32 (uint32_t * __a, uint32x2x2_t __val)
29206 {
29207   __builtin_aarch64_simd_oi __o;
29208   uint32x4x2_t __temp;
29209   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29210   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29211   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
29212   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
29213   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
29214 }
29215 
29216 __extension__ extern __inline void
29217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f16(float16_t * __a,float16x4x2_t __val)29218 vst2_f16 (float16_t * __a, float16x4x2_t __val)
29219 {
29220   __builtin_aarch64_simd_oi __o;
29221   float16x8x2_t __temp;
29222   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29223   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29224   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
29225   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
29226   __builtin_aarch64_st2v4hf (__a, __o);
29227 }
29228 
29229 __extension__ extern __inline void
29230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f32(float32_t * __a,float32x2x2_t __val)29231 vst2_f32 (float32_t * __a, float32x2x2_t __val)
29232 {
29233   __builtin_aarch64_simd_oi __o;
29234   float32x4x2_t __temp;
29235   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29236   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29237   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
29238   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
29239   __builtin_aarch64_st2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29240 }
29241 
29242 __extension__ extern __inline void
29243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p64(poly64_t * __a,poly64x1x2_t __val)29244 vst2_p64 (poly64_t * __a, poly64x1x2_t __val)
29245 {
29246   __builtin_aarch64_simd_oi __o;
29247   poly64x2x2_t __temp;
29248   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29249   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29250   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29251 					       (poly64x2_t) __temp.val[0], 0);
29252   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29253 					       (poly64x2_t) __temp.val[1], 1);
29254   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29255 }
29256 
29257 __extension__ extern __inline void
29258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s8(int8_t * __a,int8x16x2_t __val)29259 vst2q_s8 (int8_t * __a, int8x16x2_t __val)
29260 {
29261   __builtin_aarch64_simd_oi __o;
29262   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29263   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29264   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29265 }
29266 
29267 __extension__ extern __inline void
29268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __val)29269 vst2q_p8 (poly8_t * __a, poly8x16x2_t __val)
29270 {
29271   __builtin_aarch64_simd_oi __o;
29272   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29273   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29274   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29275 }
29276 
29277 __extension__ extern __inline void
29278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s16(int16_t * __a,int16x8x2_t __val)29279 vst2q_s16 (int16_t * __a, int16x8x2_t __val)
29280 {
29281   __builtin_aarch64_simd_oi __o;
29282   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29283   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29284   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29285 }
29286 
29287 __extension__ extern __inline void
29288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __val)29289 vst2q_p16 (poly16_t * __a, poly16x8x2_t __val)
29290 {
29291   __builtin_aarch64_simd_oi __o;
29292   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29293   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29294   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29295 }
29296 
29297 __extension__ extern __inline void
29298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s32(int32_t * __a,int32x4x2_t __val)29299 vst2q_s32 (int32_t * __a, int32x4x2_t __val)
29300 {
29301   __builtin_aarch64_simd_oi __o;
29302   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
29303   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
29304   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
29305 }
29306 
29307 __extension__ extern __inline void
29308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s64(int64_t * __a,int64x2x2_t __val)29309 vst2q_s64 (int64_t * __a, int64x2x2_t __val)
29310 {
29311   __builtin_aarch64_simd_oi __o;
29312   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
29313   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
29314   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29315 }
29316 
29317 __extension__ extern __inline void
29318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __val)29319 vst2q_u8 (uint8_t * __a, uint8x16x2_t __val)
29320 {
29321   __builtin_aarch64_simd_oi __o;
29322   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29323   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29324   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29325 }
29326 
29327 __extension__ extern __inline void
29328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __val)29329 vst2q_u16 (uint16_t * __a, uint16x8x2_t __val)
29330 {
29331   __builtin_aarch64_simd_oi __o;
29332   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29333   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29334   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29335 }
29336 
29337 __extension__ extern __inline void
29338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __val)29339 vst2q_u32 (uint32_t * __a, uint32x4x2_t __val)
29340 {
29341   __builtin_aarch64_simd_oi __o;
29342   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
29343   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
29344   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
29345 }
29346 
29347 __extension__ extern __inline void
29348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u64(uint64_t * __a,uint64x2x2_t __val)29349 vst2q_u64 (uint64_t * __a, uint64x2x2_t __val)
29350 {
29351   __builtin_aarch64_simd_oi __o;
29352   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
29353   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
29354   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29355 }
29356 
29357 __extension__ extern __inline void
29358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f16(float16_t * __a,float16x8x2_t __val)29359 vst2q_f16 (float16_t * __a, float16x8x2_t __val)
29360 {
29361   __builtin_aarch64_simd_oi __o;
29362   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
29363   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
29364   __builtin_aarch64_st2v8hf (__a, __o);
29365 }
29366 
29367 __extension__ extern __inline void
29368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f32(float32_t * __a,float32x4x2_t __val)29369 vst2q_f32 (float32_t * __a, float32x4x2_t __val)
29370 {
29371   __builtin_aarch64_simd_oi __o;
29372   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
29373   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
29374   __builtin_aarch64_st2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
29375 }
29376 
29377 __extension__ extern __inline void
29378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f64(float64_t * __a,float64x2x2_t __val)29379 vst2q_f64 (float64_t * __a, float64x2x2_t __val)
29380 {
29381   __builtin_aarch64_simd_oi __o;
29382   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
29383   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
29384   __builtin_aarch64_st2v2df ((__builtin_aarch64_simd_df *) __a, __o);
29385 }
29386 
29387 __extension__ extern __inline void
29388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p64(poly64_t * __a,poly64x2x2_t __val)29389 vst2q_p64 (poly64_t * __a, poly64x2x2_t __val)
29390 {
29391   __builtin_aarch64_simd_oi __o;
29392   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29393 					       (poly64x2_t) __val.val[0], 0);
29394   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29395 					       (poly64x2_t) __val.val[1], 1);
29396   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29397 }
29398 
29399 __extension__ extern __inline void
29400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s64(int64_t * __a,int64x1x3_t __val)29401 vst3_s64 (int64_t * __a, int64x1x3_t __val)
29402 {
29403   __builtin_aarch64_simd_ci __o;
29404   int64x2x3_t __temp;
29405   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29406   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29407   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
29408   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
29409   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
29410   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
29411   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29412 }
29413 
29414 __extension__ extern __inline void
29415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u64(uint64_t * __a,uint64x1x3_t __val)29416 vst3_u64 (uint64_t * __a, uint64x1x3_t __val)
29417 {
29418   __builtin_aarch64_simd_ci __o;
29419   uint64x2x3_t __temp;
29420   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29421   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29422   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
29423   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
29424   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
29425   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
29426   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29427 }
29428 
29429 __extension__ extern __inline void
29430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f64(float64_t * __a,float64x1x3_t __val)29431 vst3_f64 (float64_t * __a, float64x1x3_t __val)
29432 {
29433   __builtin_aarch64_simd_ci __o;
29434   float64x2x3_t __temp;
29435   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29436   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29437   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
29438   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
29439   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
29440   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
29441   __builtin_aarch64_st3df ((__builtin_aarch64_simd_df *) __a, __o);
29442 }
29443 
29444 __extension__ extern __inline void
29445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s8(int8_t * __a,int8x8x3_t __val)29446 vst3_s8 (int8_t * __a, int8x8x3_t __val)
29447 {
29448   __builtin_aarch64_simd_ci __o;
29449   int8x16x3_t __temp;
29450   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29451   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29452   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
29453   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29454   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29455   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29456   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29457 }
29458 
29459 __extension__ extern __inline void
29460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p8(poly8_t * __a,poly8x8x3_t __val)29461 vst3_p8 (poly8_t * __a, poly8x8x3_t __val)
29462 {
29463   __builtin_aarch64_simd_ci __o;
29464   poly8x16x3_t __temp;
29465   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29466   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29467   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
29468   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29469   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29470   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29471   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29472 }
29473 
29474 __extension__ extern __inline void
29475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s16(int16_t * __a,int16x4x3_t __val)29476 vst3_s16 (int16_t * __a, int16x4x3_t __val)
29477 {
29478   __builtin_aarch64_simd_ci __o;
29479   int16x8x3_t __temp;
29480   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29481   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29482   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
29483   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29484   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29485   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29486   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29487 }
29488 
29489 __extension__ extern __inline void
29490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p16(poly16_t * __a,poly16x4x3_t __val)29491 vst3_p16 (poly16_t * __a, poly16x4x3_t __val)
29492 {
29493   __builtin_aarch64_simd_ci __o;
29494   poly16x8x3_t __temp;
29495   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29496   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29497   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
29498   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29499   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29500   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29501   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29502 }
29503 
29504 __extension__ extern __inline void
29505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s32(int32_t * __a,int32x2x3_t __val)29506 vst3_s32 (int32_t * __a, int32x2x3_t __val)
29507 {
29508   __builtin_aarch64_simd_ci __o;
29509   int32x4x3_t __temp;
29510   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29511   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29512   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
29513   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
29514   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
29515   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
29516   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
29517 }
29518 
29519 __extension__ extern __inline void
29520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u8(uint8_t * __a,uint8x8x3_t __val)29521 vst3_u8 (uint8_t * __a, uint8x8x3_t __val)
29522 {
29523   __builtin_aarch64_simd_ci __o;
29524   uint8x16x3_t __temp;
29525   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29526   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29527   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
29528   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29529   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29530   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29531   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29532 }
29533 
29534 __extension__ extern __inline void
29535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u16(uint16_t * __a,uint16x4x3_t __val)29536 vst3_u16 (uint16_t * __a, uint16x4x3_t __val)
29537 {
29538   __builtin_aarch64_simd_ci __o;
29539   uint16x8x3_t __temp;
29540   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29541   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29542   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29543   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29544   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29545   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29546   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29547 }
29548 
29549 __extension__ extern __inline void
29550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u32(uint32_t * __a,uint32x2x3_t __val)29551 vst3_u32 (uint32_t * __a, uint32x2x3_t __val)
29552 {
29553   __builtin_aarch64_simd_ci __o;
29554   uint32x4x3_t __temp;
29555   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29556   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29557   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29558   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
29559   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
29560   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
29561   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
29562 }
29563 
29564 __extension__ extern __inline void
29565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f16(float16_t * __a,float16x4x3_t __val)29566 vst3_f16 (float16_t * __a, float16x4x3_t __val)
29567 {
29568   __builtin_aarch64_simd_ci __o;
29569   float16x8x3_t __temp;
29570   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29571   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29572   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29573   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
29574   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
29575   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
29576   __builtin_aarch64_st3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
29577 }
29578 
29579 __extension__ extern __inline void
29580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f32(float32_t * __a,float32x2x3_t __val)29581 vst3_f32 (float32_t * __a, float32x2x3_t __val)
29582 {
29583   __builtin_aarch64_simd_ci __o;
29584   float32x4x3_t __temp;
29585   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29586   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29587   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29588   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
29589   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
29590   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
29591   __builtin_aarch64_st3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29592 }
29593 
29594 __extension__ extern __inline void
29595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p64(poly64_t * __a,poly64x1x3_t __val)29596 vst3_p64 (poly64_t * __a, poly64x1x3_t __val)
29597 {
29598   __builtin_aarch64_simd_ci __o;
29599   poly64x2x3_t __temp;
29600   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29601   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29602   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29603   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29604 					       (poly64x2_t) __temp.val[0], 0);
29605   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29606 					       (poly64x2_t) __temp.val[1], 1);
29607   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29608 					       (poly64x2_t) __temp.val[2], 2);
29609   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29610 }
29611 
29612 __extension__ extern __inline void
29613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s8(int8_t * __a,int8x16x3_t __val)29614 vst3q_s8 (int8_t * __a, int8x16x3_t __val)
29615 {
29616   __builtin_aarch64_simd_ci __o;
29617   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29618   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29619   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29620   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29621 }
29622 
29623 __extension__ extern __inline void
29624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __val)29625 vst3q_p8 (poly8_t * __a, poly8x16x3_t __val)
29626 {
29627   __builtin_aarch64_simd_ci __o;
29628   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29629   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29630   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29631   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29632 }
29633 
29634 __extension__ extern __inline void
29635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s16(int16_t * __a,int16x8x3_t __val)29636 vst3q_s16 (int16_t * __a, int16x8x3_t __val)
29637 {
29638   __builtin_aarch64_simd_ci __o;
29639   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29640   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29641   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29642   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29643 }
29644 
29645 __extension__ extern __inline void
29646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __val)29647 vst3q_p16 (poly16_t * __a, poly16x8x3_t __val)
29648 {
29649   __builtin_aarch64_simd_ci __o;
29650   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29651   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29652   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29653   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29654 }
29655 
29656 __extension__ extern __inline void
29657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s32(int32_t * __a,int32x4x3_t __val)29658 vst3q_s32 (int32_t * __a, int32x4x3_t __val)
29659 {
29660   __builtin_aarch64_simd_ci __o;
29661   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
29662   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
29663   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
29664   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
29665 }
29666 
29667 __extension__ extern __inline void
29668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s64(int64_t * __a,int64x2x3_t __val)29669 vst3q_s64 (int64_t * __a, int64x2x3_t __val)
29670 {
29671   __builtin_aarch64_simd_ci __o;
29672   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
29673   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
29674   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
29675   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29676 }
29677 
29678 __extension__ extern __inline void
29679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __val)29680 vst3q_u8 (uint8_t * __a, uint8x16x3_t __val)
29681 {
29682   __builtin_aarch64_simd_ci __o;
29683   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29684   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29685   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29686   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29687 }
29688 
29689 __extension__ extern __inline void
29690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __val)29691 vst3q_u16 (uint16_t * __a, uint16x8x3_t __val)
29692 {
29693   __builtin_aarch64_simd_ci __o;
29694   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29695   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29696   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29697   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29698 }
29699 
29700 __extension__ extern __inline void
29701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __val)29702 vst3q_u32 (uint32_t * __a, uint32x4x3_t __val)
29703 {
29704   __builtin_aarch64_simd_ci __o;
29705   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
29706   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
29707   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
29708   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
29709 }
29710 
29711 __extension__ extern __inline void
29712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u64(uint64_t * __a,uint64x2x3_t __val)29713 vst3q_u64 (uint64_t * __a, uint64x2x3_t __val)
29714 {
29715   __builtin_aarch64_simd_ci __o;
29716   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
29717   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
29718   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
29719   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29720 }
29721 
29722 __extension__ extern __inline void
29723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f16(float16_t * __a,float16x8x3_t __val)29724 vst3q_f16 (float16_t * __a, float16x8x3_t __val)
29725 {
29726   __builtin_aarch64_simd_ci __o;
29727   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
29728   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
29729   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
29730   __builtin_aarch64_st3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
29731 }
29732 
29733 __extension__ extern __inline void
29734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f32(float32_t * __a,float32x4x3_t __val)29735 vst3q_f32 (float32_t * __a, float32x4x3_t __val)
29736 {
29737   __builtin_aarch64_simd_ci __o;
29738   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
29739   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
29740   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
29741   __builtin_aarch64_st3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
29742 }
29743 
29744 __extension__ extern __inline void
29745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f64(float64_t * __a,float64x2x3_t __val)29746 vst3q_f64 (float64_t * __a, float64x2x3_t __val)
29747 {
29748   __builtin_aarch64_simd_ci __o;
29749   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
29750   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
29751   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
29752   __builtin_aarch64_st3v2df ((__builtin_aarch64_simd_df *) __a, __o);
29753 }
29754 
29755 __extension__ extern __inline void
29756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p64(poly64_t * __a,poly64x2x3_t __val)29757 vst3q_p64 (poly64_t * __a, poly64x2x3_t __val)
29758 {
29759   __builtin_aarch64_simd_ci __o;
29760   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29761 					       (poly64x2_t) __val.val[0], 0);
29762   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29763 					       (poly64x2_t) __val.val[1], 1);
29764   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29765 					       (poly64x2_t) __val.val[2], 2);
29766   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29767 }
29768 
29769 __extension__ extern __inline void
29770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s64(int64_t * __a,int64x1x4_t __val)29771 vst4_s64 (int64_t * __a, int64x1x4_t __val)
29772 {
29773   __builtin_aarch64_simd_xi __o;
29774   int64x2x4_t __temp;
29775   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29776   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29777   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
29778   __temp.val[3] = vcombine_s64 (__val.val[3], vcreate_s64 (__AARCH64_INT64_C (0)));
29779   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
29780   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
29781   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
29782   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
29783   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
29784 }
29785 
29786 __extension__ extern __inline void
29787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u64(uint64_t * __a,uint64x1x4_t __val)29788 vst4_u64 (uint64_t * __a, uint64x1x4_t __val)
29789 {
29790   __builtin_aarch64_simd_xi __o;
29791   uint64x2x4_t __temp;
29792   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29793   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29794   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
29795   __temp.val[3] = vcombine_u64 (__val.val[3], vcreate_u64 (__AARCH64_UINT64_C (0)));
29796   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
29797   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
29798   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
29799   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
29800   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
29801 }
29802 
29803 __extension__ extern __inline void
29804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f64(float64_t * __a,float64x1x4_t __val)29805 vst4_f64 (float64_t * __a, float64x1x4_t __val)
29806 {
29807   __builtin_aarch64_simd_xi __o;
29808   float64x2x4_t __temp;
29809   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29810   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29811   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
29812   __temp.val[3] = vcombine_f64 (__val.val[3], vcreate_f64 (__AARCH64_UINT64_C (0)));
29813   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[0], 0);
29814   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[1], 1);
29815   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[2], 2);
29816   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[3], 3);
29817   __builtin_aarch64_st4df ((__builtin_aarch64_simd_df *) __a, __o);
29818 }
29819 
29820 __extension__ extern __inline void
29821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s8(int8_t * __a,int8x8x4_t __val)29822 vst4_s8 (int8_t * __a, int8x8x4_t __val)
29823 {
29824   __builtin_aarch64_simd_xi __o;
29825   int8x16x4_t __temp;
29826   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29827   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29828   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
29829   __temp.val[3] = vcombine_s8 (__val.val[3], vcreate_s8 (__AARCH64_INT64_C (0)));
29830   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29831   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29832   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29833   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29834   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29835 }
29836 
29837 __extension__ extern __inline void
29838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p8(poly8_t * __a,poly8x8x4_t __val)29839 vst4_p8 (poly8_t * __a, poly8x8x4_t __val)
29840 {
29841   __builtin_aarch64_simd_xi __o;
29842   poly8x16x4_t __temp;
29843   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29844   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29845   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
29846   __temp.val[3] = vcombine_p8 (__val.val[3], vcreate_p8 (__AARCH64_UINT64_C (0)));
29847   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29848   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29849   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29850   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29851   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29852 }
29853 
29854 __extension__ extern __inline void
29855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s16(int16_t * __a,int16x4x4_t __val)29856 vst4_s16 (int16_t * __a, int16x4x4_t __val)
29857 {
29858   __builtin_aarch64_simd_xi __o;
29859   int16x8x4_t __temp;
29860   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29861   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29862   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
29863   __temp.val[3] = vcombine_s16 (__val.val[3], vcreate_s16 (__AARCH64_INT64_C (0)));
29864   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29865   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29866   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29867   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29868   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29869 }
29870 
29871 __extension__ extern __inline void
29872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p16(poly16_t * __a,poly16x4x4_t __val)29873 vst4_p16 (poly16_t * __a, poly16x4x4_t __val)
29874 {
29875   __builtin_aarch64_simd_xi __o;
29876   poly16x8x4_t __temp;
29877   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29878   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29879   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
29880   __temp.val[3] = vcombine_p16 (__val.val[3], vcreate_p16 (__AARCH64_UINT64_C (0)));
29881   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29882   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29883   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29884   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29885   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29886 }
29887 
29888 __extension__ extern __inline void
29889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s32(int32_t * __a,int32x2x4_t __val)29890 vst4_s32 (int32_t * __a, int32x2x4_t __val)
29891 {
29892   __builtin_aarch64_simd_xi __o;
29893   int32x4x4_t __temp;
29894   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29895   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29896   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
29897   __temp.val[3] = vcombine_s32 (__val.val[3], vcreate_s32 (__AARCH64_INT64_C (0)));
29898   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
29899   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
29900   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
29901   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
29902   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
29903 }
29904 
29905 __extension__ extern __inline void
29906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u8(uint8_t * __a,uint8x8x4_t __val)29907 vst4_u8 (uint8_t * __a, uint8x8x4_t __val)
29908 {
29909   __builtin_aarch64_simd_xi __o;
29910   uint8x16x4_t __temp;
29911   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29912   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29913   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
29914   __temp.val[3] = vcombine_u8 (__val.val[3], vcreate_u8 (__AARCH64_UINT64_C (0)));
29915   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29916   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29917   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29918   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29919   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29920 }
29921 
29922 __extension__ extern __inline void
29923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u16(uint16_t * __a,uint16x4x4_t __val)29924 vst4_u16 (uint16_t * __a, uint16x4x4_t __val)
29925 {
29926   __builtin_aarch64_simd_xi __o;
29927   uint16x8x4_t __temp;
29928   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29929   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29930   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29931   __temp.val[3] = vcombine_u16 (__val.val[3], vcreate_u16 (__AARCH64_UINT64_C (0)));
29932   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29933   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29934   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29935   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29936   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29937 }
29938 
29939 __extension__ extern __inline void
29940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u32(uint32_t * __a,uint32x2x4_t __val)29941 vst4_u32 (uint32_t * __a, uint32x2x4_t __val)
29942 {
29943   __builtin_aarch64_simd_xi __o;
29944   uint32x4x4_t __temp;
29945   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29946   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29947   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29948   __temp.val[3] = vcombine_u32 (__val.val[3], vcreate_u32 (__AARCH64_UINT64_C (0)));
29949   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
29950   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
29951   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
29952   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
29953   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
29954 }
29955 
29956 __extension__ extern __inline void
29957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f16(float16_t * __a,float16x4x4_t __val)29958 vst4_f16 (float16_t * __a, float16x4x4_t __val)
29959 {
29960   __builtin_aarch64_simd_xi __o;
29961   float16x8x4_t __temp;
29962   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29963   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29964   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29965   __temp.val[3] = vcombine_f16 (__val.val[3], vcreate_f16 (__AARCH64_UINT64_C (0)));
29966   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[0], 0);
29967   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[1], 1);
29968   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[2], 2);
29969   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[3], 3);
29970   __builtin_aarch64_st4v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
29971 }
29972 
29973 __extension__ extern __inline void
29974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f32(float32_t * __a,float32x2x4_t __val)29975 vst4_f32 (float32_t * __a, float32x2x4_t __val)
29976 {
29977   __builtin_aarch64_simd_xi __o;
29978   float32x4x4_t __temp;
29979   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29980   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29981   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29982   __temp.val[3] = vcombine_f32 (__val.val[3], vcreate_f32 (__AARCH64_UINT64_C (0)));
29983   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[0], 0);
29984   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[1], 1);
29985   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[2], 2);
29986   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[3], 3);
29987   __builtin_aarch64_st4v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29988 }
29989 
29990 __extension__ extern __inline void
29991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p64(poly64_t * __a,poly64x1x4_t __val)29992 vst4_p64 (poly64_t * __a, poly64x1x4_t __val)
29993 {
29994   __builtin_aarch64_simd_xi __o;
29995   poly64x2x4_t __temp;
29996   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29997   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29998   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29999   __temp.val[3] = vcombine_p64 (__val.val[3], vcreate_p64 (__AARCH64_UINT64_C (0)));
30000   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30001 					       (poly64x2_t) __temp.val[0], 0);
30002   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30003 					       (poly64x2_t) __temp.val[1], 1);
30004   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30005 					       (poly64x2_t) __temp.val[2], 2);
30006   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30007 					       (poly64x2_t) __temp.val[3], 3);
30008   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
30009 }
30010 
30011 __extension__ extern __inline void
30012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s8(int8_t * __a,int8x16x4_t __val)30013 vst4q_s8 (int8_t * __a, int8x16x4_t __val)
30014 {
30015   __builtin_aarch64_simd_xi __o;
30016   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
30017   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
30018   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
30019   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
30020   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
30021 }
30022 
30023 __extension__ extern __inline void
30024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __val)30025 vst4q_p8 (poly8_t * __a, poly8x16x4_t __val)
30026 {
30027   __builtin_aarch64_simd_xi __o;
30028   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
30029   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
30030   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
30031   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
30032   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
30033 }
30034 
30035 __extension__ extern __inline void
30036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s16(int16_t * __a,int16x8x4_t __val)30037 vst4q_s16 (int16_t * __a, int16x8x4_t __val)
30038 {
30039   __builtin_aarch64_simd_xi __o;
30040   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
30041   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
30042   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
30043   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
30044   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
30045 }
30046 
30047 __extension__ extern __inline void
30048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __val)30049 vst4q_p16 (poly16_t * __a, poly16x8x4_t __val)
30050 {
30051   __builtin_aarch64_simd_xi __o;
30052   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
30053   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
30054   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
30055   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
30056   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
30057 }
30058 
30059 __extension__ extern __inline void
30060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s32(int32_t * __a,int32x4x4_t __val)30061 vst4q_s32 (int32_t * __a, int32x4x4_t __val)
30062 {
30063   __builtin_aarch64_simd_xi __o;
30064   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
30065   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
30066   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
30067   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
30068   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
30069 }
30070 
30071 __extension__ extern __inline void
30072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s64(int64_t * __a,int64x2x4_t __val)30073 vst4q_s64 (int64_t * __a, int64x2x4_t __val)
30074 {
30075   __builtin_aarch64_simd_xi __o;
30076   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
30077   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
30078   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
30079   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
30080   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30081 }
30082 
30083 __extension__ extern __inline void
30084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __val)30085 vst4q_u8 (uint8_t * __a, uint8x16x4_t __val)
30086 {
30087   __builtin_aarch64_simd_xi __o;
30088   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
30089   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
30090   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
30091   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
30092   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
30093 }
30094 
30095 __extension__ extern __inline void
30096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __val)30097 vst4q_u16 (uint16_t * __a, uint16x8x4_t __val)
30098 {
30099   __builtin_aarch64_simd_xi __o;
30100   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
30101   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
30102   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
30103   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
30104   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
30105 }
30106 
30107 __extension__ extern __inline void
30108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __val)30109 vst4q_u32 (uint32_t * __a, uint32x4x4_t __val)
30110 {
30111   __builtin_aarch64_simd_xi __o;
30112   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
30113   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
30114   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
30115   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
30116   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
30117 }
30118 
30119 __extension__ extern __inline void
30120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u64(uint64_t * __a,uint64x2x4_t __val)30121 vst4q_u64 (uint64_t * __a, uint64x2x4_t __val)
30122 {
30123   __builtin_aarch64_simd_xi __o;
30124   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
30125   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
30126   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
30127   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
30128   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30129 }
30130 
30131 __extension__ extern __inline void
30132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f16(float16_t * __a,float16x8x4_t __val)30133 vst4q_f16 (float16_t * __a, float16x8x4_t __val)
30134 {
30135   __builtin_aarch64_simd_xi __o;
30136   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[0], 0);
30137   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[1], 1);
30138   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[2], 2);
30139   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[3], 3);
30140   __builtin_aarch64_st4v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
30141 }
30142 
30143 __extension__ extern __inline void
30144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f32(float32_t * __a,float32x4x4_t __val)30145 vst4q_f32 (float32_t * __a, float32x4x4_t __val)
30146 {
30147   __builtin_aarch64_simd_xi __o;
30148   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[0], 0);
30149   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[1], 1);
30150   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[2], 2);
30151   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[3], 3);
30152   __builtin_aarch64_st4v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
30153 }
30154 
30155 __extension__ extern __inline void
30156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f64(float64_t * __a,float64x2x4_t __val)30157 vst4q_f64 (float64_t * __a, float64x2x4_t __val)
30158 {
30159   __builtin_aarch64_simd_xi __o;
30160   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[0], 0);
30161   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[1], 1);
30162   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[2], 2);
30163   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[3], 3);
30164   __builtin_aarch64_st4v2df ((__builtin_aarch64_simd_df *) __a, __o);
30165 }
30166 
30167 __extension__ extern __inline void
30168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p64(poly64_t * __a,poly64x2x4_t __val)30169 vst4q_p64 (poly64_t * __a, poly64x2x4_t __val)
30170 {
30171   __builtin_aarch64_simd_xi __o;
30172   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30173 					       (poly64x2_t) __val.val[0], 0);
30174   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30175 					       (poly64x2_t) __val.val[1], 1);
30176   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30177 					       (poly64x2_t) __val.val[2], 2);
30178   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30179 					       (poly64x2_t) __val.val[3], 3);
30180   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30181 }
30182 
30183 __extension__ extern __inline void
30184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vstrq_p128(poly128_t * __ptr,poly128_t __val)30185 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
30186 {
30187   *__ptr = __val;
30188 }
30189 
30190 /* vsub */
30191 
30192 __extension__ extern __inline int64_t
30193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_s64(int64_t __a,int64_t __b)30194 vsubd_s64 (int64_t __a, int64_t __b)
30195 {
30196   return __a - __b;
30197 }
30198 
30199 __extension__ extern __inline uint64_t
30200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_u64(uint64_t __a,uint64_t __b)30201 vsubd_u64 (uint64_t __a, uint64_t __b)
30202 {
30203   return __a - __b;
30204 }
30205 
30206 /* vtbx1  */
30207 
30208 __extension__ extern __inline int8x8_t
30209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_s8(int8x8_t __r,int8x8_t __tab,int8x8_t __idx)30210 vtbx1_s8 (int8x8_t __r, int8x8_t __tab, int8x8_t __idx)
30211 {
30212   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
30213 			      vmov_n_u8 (8));
30214   int8x8_t __tbl = vtbl1_s8 (__tab, __idx);
30215 
30216   return vbsl_s8 (__mask, __tbl, __r);
30217 }
30218 
30219 __extension__ extern __inline uint8x8_t
30220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_u8(uint8x8_t __r,uint8x8_t __tab,uint8x8_t __idx)30221 vtbx1_u8 (uint8x8_t __r, uint8x8_t __tab, uint8x8_t __idx)
30222 {
30223   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
30224   uint8x8_t __tbl = vtbl1_u8 (__tab, __idx);
30225 
30226   return vbsl_u8 (__mask, __tbl, __r);
30227 }
30228 
30229 __extension__ extern __inline poly8x8_t
30230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_p8(poly8x8_t __r,poly8x8_t __tab,uint8x8_t __idx)30231 vtbx1_p8 (poly8x8_t __r, poly8x8_t __tab, uint8x8_t __idx)
30232 {
30233   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
30234   poly8x8_t __tbl = vtbl1_p8 (__tab, __idx);
30235 
30236   return vbsl_p8 (__mask, __tbl, __r);
30237 }
30238 
30239 /* vtbx3  */
30240 
30241 __extension__ extern __inline int8x8_t
30242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_s8(int8x8_t __r,int8x8x3_t __tab,int8x8_t __idx)30243 vtbx3_s8 (int8x8_t __r, int8x8x3_t __tab, int8x8_t __idx)
30244 {
30245   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
30246 			      vmov_n_u8 (24));
30247   int8x8_t __tbl = vtbl3_s8 (__tab, __idx);
30248 
30249   return vbsl_s8 (__mask, __tbl, __r);
30250 }
30251 
30252 __extension__ extern __inline uint8x8_t
30253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_u8(uint8x8_t __r,uint8x8x3_t __tab,uint8x8_t __idx)30254 vtbx3_u8 (uint8x8_t __r, uint8x8x3_t __tab, uint8x8_t __idx)
30255 {
30256   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
30257   uint8x8_t __tbl = vtbl3_u8 (__tab, __idx);
30258 
30259   return vbsl_u8 (__mask, __tbl, __r);
30260 }
30261 
30262 __extension__ extern __inline poly8x8_t
30263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_p8(poly8x8_t __r,poly8x8x3_t __tab,uint8x8_t __idx)30264 vtbx3_p8 (poly8x8_t __r, poly8x8x3_t __tab, uint8x8_t __idx)
30265 {
30266   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
30267   poly8x8_t __tbl = vtbl3_p8 (__tab, __idx);
30268 
30269   return vbsl_p8 (__mask, __tbl, __r);
30270 }
30271 
30272 /* vtbx4  */
30273 
30274 __extension__ extern __inline int8x8_t
30275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_s8(int8x8_t __r,int8x8x4_t __tab,int8x8_t __idx)30276 vtbx4_s8 (int8x8_t __r, int8x8x4_t __tab, int8x8_t __idx)
30277 {
30278   int8x8_t __result;
30279   int8x16x2_t __temp;
30280   __builtin_aarch64_simd_oi __o;
30281   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
30282   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
30283   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30284 					   (int8x16_t) __temp.val[0], 0);
30285   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30286 					   (int8x16_t) __temp.val[1], 1);
30287   __result = __builtin_aarch64_tbx4v8qi (__r, __o, __idx);
30288   return __result;
30289 }
30290 
30291 __extension__ extern __inline uint8x8_t
30292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_u8(uint8x8_t __r,uint8x8x4_t __tab,uint8x8_t __idx)30293 vtbx4_u8 (uint8x8_t __r, uint8x8x4_t __tab, uint8x8_t __idx)
30294 {
30295   uint8x8_t __result;
30296   uint8x16x2_t __temp;
30297   __builtin_aarch64_simd_oi __o;
30298   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
30299   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
30300   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30301 					   (int8x16_t) __temp.val[0], 0);
30302   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30303 					   (int8x16_t) __temp.val[1], 1);
30304   __result = (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
30305 						  (int8x8_t)__idx);
30306   return __result;
30307 }
30308 
30309 __extension__ extern __inline poly8x8_t
30310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_p8(poly8x8_t __r,poly8x8x4_t __tab,uint8x8_t __idx)30311 vtbx4_p8 (poly8x8_t __r, poly8x8x4_t __tab, uint8x8_t __idx)
30312 {
30313   poly8x8_t __result;
30314   poly8x16x2_t __temp;
30315   __builtin_aarch64_simd_oi __o;
30316   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
30317   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
30318   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30319 					   (int8x16_t) __temp.val[0], 0);
30320   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30321 					   (int8x16_t) __temp.val[1], 1);
30322   __result = (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
30323 						  (int8x8_t)__idx);
30324   return __result;
30325 }
30326 
30327 /* vtrn */
30328 
30329 __extension__ extern __inline float16x4_t
30330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f16(float16x4_t __a,float16x4_t __b)30331 vtrn1_f16 (float16x4_t __a, float16x4_t __b)
30332 {
30333 #ifdef __AARCH64EB__
30334   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30335 #else
30336   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30337 #endif
30338 }
30339 
30340 __extension__ extern __inline float32x2_t
30341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f32(float32x2_t __a,float32x2_t __b)30342 vtrn1_f32 (float32x2_t __a, float32x2_t __b)
30343 {
30344 #ifdef __AARCH64EB__
30345   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30346 #else
30347   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30348 #endif
30349 }
30350 
30351 __extension__ extern __inline poly8x8_t
30352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p8(poly8x8_t __a,poly8x8_t __b)30353 vtrn1_p8 (poly8x8_t __a, poly8x8_t __b)
30354 {
30355 #ifdef __AARCH64EB__
30356   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30357 #else
30358   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30359 #endif
30360 }
30361 
30362 __extension__ extern __inline poly16x4_t
30363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p16(poly16x4_t __a,poly16x4_t __b)30364 vtrn1_p16 (poly16x4_t __a, poly16x4_t __b)
30365 {
30366 #ifdef __AARCH64EB__
30367   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30368 #else
30369   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30370 #endif
30371 }
30372 
30373 __extension__ extern __inline int8x8_t
30374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s8(int8x8_t __a,int8x8_t __b)30375 vtrn1_s8 (int8x8_t __a, int8x8_t __b)
30376 {
30377 #ifdef __AARCH64EB__
30378   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30379 #else
30380   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30381 #endif
30382 }
30383 
30384 __extension__ extern __inline int16x4_t
30385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s16(int16x4_t __a,int16x4_t __b)30386 vtrn1_s16 (int16x4_t __a, int16x4_t __b)
30387 {
30388 #ifdef __AARCH64EB__
30389   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30390 #else
30391   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30392 #endif
30393 }
30394 
30395 __extension__ extern __inline int32x2_t
30396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s32(int32x2_t __a,int32x2_t __b)30397 vtrn1_s32 (int32x2_t __a, int32x2_t __b)
30398 {
30399 #ifdef __AARCH64EB__
30400   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30401 #else
30402   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30403 #endif
30404 }
30405 
30406 __extension__ extern __inline uint8x8_t
30407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u8(uint8x8_t __a,uint8x8_t __b)30408 vtrn1_u8 (uint8x8_t __a, uint8x8_t __b)
30409 {
30410 #ifdef __AARCH64EB__
30411   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30412 #else
30413   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30414 #endif
30415 }
30416 
30417 __extension__ extern __inline uint16x4_t
30418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u16(uint16x4_t __a,uint16x4_t __b)30419 vtrn1_u16 (uint16x4_t __a, uint16x4_t __b)
30420 {
30421 #ifdef __AARCH64EB__
30422   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30423 #else
30424   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30425 #endif
30426 }
30427 
30428 __extension__ extern __inline uint32x2_t
30429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u32(uint32x2_t __a,uint32x2_t __b)30430 vtrn1_u32 (uint32x2_t __a, uint32x2_t __b)
30431 {
30432 #ifdef __AARCH64EB__
30433   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30434 #else
30435   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30436 #endif
30437 }
30438 
30439 __extension__ extern __inline float16x8_t
30440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f16(float16x8_t __a,float16x8_t __b)30441 vtrn1q_f16 (float16x8_t __a, float16x8_t __b)
30442 {
30443 #ifdef __AARCH64EB__
30444   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30445 #else
30446   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30447 #endif
30448 }
30449 
30450 __extension__ extern __inline float32x4_t
30451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f32(float32x4_t __a,float32x4_t __b)30452 vtrn1q_f32 (float32x4_t __a, float32x4_t __b)
30453 {
30454 #ifdef __AARCH64EB__
30455   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30456 #else
30457   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30458 #endif
30459 }
30460 
30461 __extension__ extern __inline float64x2_t
30462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f64(float64x2_t __a,float64x2_t __b)30463 vtrn1q_f64 (float64x2_t __a, float64x2_t __b)
30464 {
30465 #ifdef __AARCH64EB__
30466   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30467 #else
30468   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30469 #endif
30470 }
30471 
30472 __extension__ extern __inline poly8x16_t
30473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p8(poly8x16_t __a,poly8x16_t __b)30474 vtrn1q_p8 (poly8x16_t __a, poly8x16_t __b)
30475 {
30476 #ifdef __AARCH64EB__
30477   return __builtin_shuffle (__a, __b,
30478       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30479 #else
30480   return __builtin_shuffle (__a, __b,
30481       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30482 #endif
30483 }
30484 
30485 __extension__ extern __inline poly16x8_t
30486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p16(poly16x8_t __a,poly16x8_t __b)30487 vtrn1q_p16 (poly16x8_t __a, poly16x8_t __b)
30488 {
30489 #ifdef __AARCH64EB__
30490   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30491 #else
30492   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30493 #endif
30494 }
30495 
30496 __extension__ extern __inline int8x16_t
30497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s8(int8x16_t __a,int8x16_t __b)30498 vtrn1q_s8 (int8x16_t __a, int8x16_t __b)
30499 {
30500 #ifdef __AARCH64EB__
30501   return __builtin_shuffle (__a, __b,
30502       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30503 #else
30504   return __builtin_shuffle (__a, __b,
30505       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30506 #endif
30507 }
30508 
30509 __extension__ extern __inline int16x8_t
30510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s16(int16x8_t __a,int16x8_t __b)30511 vtrn1q_s16 (int16x8_t __a, int16x8_t __b)
30512 {
30513 #ifdef __AARCH64EB__
30514   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30515 #else
30516   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30517 #endif
30518 }
30519 
30520 __extension__ extern __inline int32x4_t
30521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s32(int32x4_t __a,int32x4_t __b)30522 vtrn1q_s32 (int32x4_t __a, int32x4_t __b)
30523 {
30524 #ifdef __AARCH64EB__
30525   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30526 #else
30527   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30528 #endif
30529 }
30530 
30531 __extension__ extern __inline int64x2_t
30532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s64(int64x2_t __a,int64x2_t __b)30533 vtrn1q_s64 (int64x2_t __a, int64x2_t __b)
30534 {
30535 #ifdef __AARCH64EB__
30536   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30537 #else
30538   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30539 #endif
30540 }
30541 
30542 __extension__ extern __inline uint8x16_t
30543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u8(uint8x16_t __a,uint8x16_t __b)30544 vtrn1q_u8 (uint8x16_t __a, uint8x16_t __b)
30545 {
30546 #ifdef __AARCH64EB__
30547   return __builtin_shuffle (__a, __b,
30548       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30549 #else
30550   return __builtin_shuffle (__a, __b,
30551       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30552 #endif
30553 }
30554 
30555 __extension__ extern __inline uint16x8_t
30556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u16(uint16x8_t __a,uint16x8_t __b)30557 vtrn1q_u16 (uint16x8_t __a, uint16x8_t __b)
30558 {
30559 #ifdef __AARCH64EB__
30560   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30561 #else
30562   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30563 #endif
30564 }
30565 
30566 __extension__ extern __inline uint32x4_t
30567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u32(uint32x4_t __a,uint32x4_t __b)30568 vtrn1q_u32 (uint32x4_t __a, uint32x4_t __b)
30569 {
30570 #ifdef __AARCH64EB__
30571   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30572 #else
30573   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30574 #endif
30575 }
30576 
30577 __extension__ extern __inline poly64x2_t
30578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p64(poly64x2_t __a,poly64x2_t __b)30579 vtrn1q_p64 (poly64x2_t __a, poly64x2_t __b)
30580 {
30581 #ifdef __AARCH64EB__
30582   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
30583 #else
30584   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
30585 #endif
30586 }
30587 
30588 __extension__ extern __inline uint64x2_t
30589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u64(uint64x2_t __a,uint64x2_t __b)30590 vtrn1q_u64 (uint64x2_t __a, uint64x2_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 float16x4_t
30600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f16(float16x4_t __a,float16x4_t __b)30601 vtrn2_f16 (float16x4_t __a, float16x4_t __b)
30602 {
30603 #ifdef __AARCH64EB__
30604   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30605 #else
30606   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30607 #endif
30608 }
30609 
30610 __extension__ extern __inline float32x2_t
30611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f32(float32x2_t __a,float32x2_t __b)30612 vtrn2_f32 (float32x2_t __a, float32x2_t __b)
30613 {
30614 #ifdef __AARCH64EB__
30615   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30616 #else
30617   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30618 #endif
30619 }
30620 
30621 __extension__ extern __inline poly8x8_t
30622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p8(poly8x8_t __a,poly8x8_t __b)30623 vtrn2_p8 (poly8x8_t __a, poly8x8_t __b)
30624 {
30625 #ifdef __AARCH64EB__
30626   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30627 #else
30628   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30629 #endif
30630 }
30631 
30632 __extension__ extern __inline poly16x4_t
30633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p16(poly16x4_t __a,poly16x4_t __b)30634 vtrn2_p16 (poly16x4_t __a, poly16x4_t __b)
30635 {
30636 #ifdef __AARCH64EB__
30637   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30638 #else
30639   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30640 #endif
30641 }
30642 
30643 __extension__ extern __inline int8x8_t
30644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s8(int8x8_t __a,int8x8_t __b)30645 vtrn2_s8 (int8x8_t __a, int8x8_t __b)
30646 {
30647 #ifdef __AARCH64EB__
30648   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30649 #else
30650   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30651 #endif
30652 }
30653 
30654 __extension__ extern __inline int16x4_t
30655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s16(int16x4_t __a,int16x4_t __b)30656 vtrn2_s16 (int16x4_t __a, int16x4_t __b)
30657 {
30658 #ifdef __AARCH64EB__
30659   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30660 #else
30661   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30662 #endif
30663 }
30664 
30665 __extension__ extern __inline int32x2_t
30666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s32(int32x2_t __a,int32x2_t __b)30667 vtrn2_s32 (int32x2_t __a, int32x2_t __b)
30668 {
30669 #ifdef __AARCH64EB__
30670   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30671 #else
30672   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30673 #endif
30674 }
30675 
30676 __extension__ extern __inline uint8x8_t
30677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u8(uint8x8_t __a,uint8x8_t __b)30678 vtrn2_u8 (uint8x8_t __a, uint8x8_t __b)
30679 {
30680 #ifdef __AARCH64EB__
30681   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30682 #else
30683   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30684 #endif
30685 }
30686 
30687 __extension__ extern __inline uint16x4_t
30688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u16(uint16x4_t __a,uint16x4_t __b)30689 vtrn2_u16 (uint16x4_t __a, uint16x4_t __b)
30690 {
30691 #ifdef __AARCH64EB__
30692   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30693 #else
30694   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30695 #endif
30696 }
30697 
30698 __extension__ extern __inline uint32x2_t
30699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u32(uint32x2_t __a,uint32x2_t __b)30700 vtrn2_u32 (uint32x2_t __a, uint32x2_t __b)
30701 {
30702 #ifdef __AARCH64EB__
30703   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30704 #else
30705   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30706 #endif
30707 }
30708 
30709 __extension__ extern __inline float16x8_t
30710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f16(float16x8_t __a,float16x8_t __b)30711 vtrn2q_f16 (float16x8_t __a, float16x8_t __b)
30712 {
30713 #ifdef __AARCH64EB__
30714   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30715 #else
30716   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30717 #endif
30718 }
30719 
30720 __extension__ extern __inline float32x4_t
30721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f32(float32x4_t __a,float32x4_t __b)30722 vtrn2q_f32 (float32x4_t __a, float32x4_t __b)
30723 {
30724 #ifdef __AARCH64EB__
30725   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30726 #else
30727   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30728 #endif
30729 }
30730 
30731 __extension__ extern __inline float64x2_t
30732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f64(float64x2_t __a,float64x2_t __b)30733 vtrn2q_f64 (float64x2_t __a, float64x2_t __b)
30734 {
30735 #ifdef __AARCH64EB__
30736   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30737 #else
30738   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30739 #endif
30740 }
30741 
30742 __extension__ extern __inline poly8x16_t
30743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p8(poly8x16_t __a,poly8x16_t __b)30744 vtrn2q_p8 (poly8x16_t __a, poly8x16_t __b)
30745 {
30746 #ifdef __AARCH64EB__
30747   return __builtin_shuffle (__a, __b,
30748       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30749 #else
30750   return __builtin_shuffle (__a, __b,
30751       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30752 #endif
30753 }
30754 
30755 __extension__ extern __inline poly16x8_t
30756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p16(poly16x8_t __a,poly16x8_t __b)30757 vtrn2q_p16 (poly16x8_t __a, poly16x8_t __b)
30758 {
30759 #ifdef __AARCH64EB__
30760   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30761 #else
30762   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30763 #endif
30764 }
30765 
30766 __extension__ extern __inline int8x16_t
30767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s8(int8x16_t __a,int8x16_t __b)30768 vtrn2q_s8 (int8x16_t __a, int8x16_t __b)
30769 {
30770 #ifdef __AARCH64EB__
30771   return __builtin_shuffle (__a, __b,
30772       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30773 #else
30774   return __builtin_shuffle (__a, __b,
30775       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30776 #endif
30777 }
30778 
30779 __extension__ extern __inline int16x8_t
30780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s16(int16x8_t __a,int16x8_t __b)30781 vtrn2q_s16 (int16x8_t __a, int16x8_t __b)
30782 {
30783 #ifdef __AARCH64EB__
30784   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30785 #else
30786   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30787 #endif
30788 }
30789 
30790 __extension__ extern __inline int32x4_t
30791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s32(int32x4_t __a,int32x4_t __b)30792 vtrn2q_s32 (int32x4_t __a, int32x4_t __b)
30793 {
30794 #ifdef __AARCH64EB__
30795   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30796 #else
30797   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30798 #endif
30799 }
30800 
30801 __extension__ extern __inline int64x2_t
30802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s64(int64x2_t __a,int64x2_t __b)30803 vtrn2q_s64 (int64x2_t __a, int64x2_t __b)
30804 {
30805 #ifdef __AARCH64EB__
30806   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30807 #else
30808   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30809 #endif
30810 }
30811 
30812 __extension__ extern __inline uint8x16_t
30813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u8(uint8x16_t __a,uint8x16_t __b)30814 vtrn2q_u8 (uint8x16_t __a, uint8x16_t __b)
30815 {
30816 #ifdef __AARCH64EB__
30817   return __builtin_shuffle (__a, __b,
30818       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30819 #else
30820   return __builtin_shuffle (__a, __b,
30821       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30822 #endif
30823 }
30824 
30825 __extension__ extern __inline uint16x8_t
30826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u16(uint16x8_t __a,uint16x8_t __b)30827 vtrn2q_u16 (uint16x8_t __a, uint16x8_t __b)
30828 {
30829 #ifdef __AARCH64EB__
30830   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30831 #else
30832   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30833 #endif
30834 }
30835 
30836 __extension__ extern __inline uint32x4_t
30837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u32(uint32x4_t __a,uint32x4_t __b)30838 vtrn2q_u32 (uint32x4_t __a, uint32x4_t __b)
30839 {
30840 #ifdef __AARCH64EB__
30841   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30842 #else
30843   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30844 #endif
30845 }
30846 
30847 __extension__ extern __inline uint64x2_t
30848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u64(uint64x2_t __a,uint64x2_t __b)30849 vtrn2q_u64 (uint64x2_t __a, uint64x2_t __b)
30850 {
30851 #ifdef __AARCH64EB__
30852   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30853 #else
30854   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30855 #endif
30856 }
30857 
30858 
30859 __extension__ extern __inline poly64x2_t
30860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p64(poly64x2_t __a,poly64x2_t __b)30861 vtrn2q_p64 (poly64x2_t __a, poly64x2_t __b)
30862 {
30863 #ifdef __AARCH64EB__
30864   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
30865 #else
30866   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
30867 #endif
30868 }
30869 
30870 __extension__ extern __inline float16x4x2_t
30871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f16(float16x4_t __a,float16x4_t __b)30872 vtrn_f16 (float16x4_t __a, float16x4_t __b)
30873 {
30874   return (float16x4x2_t) {vtrn1_f16 (__a, __b), vtrn2_f16 (__a, __b)};
30875 }
30876 
30877 __extension__ extern __inline float32x2x2_t
30878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f32(float32x2_t __a,float32x2_t __b)30879 vtrn_f32 (float32x2_t __a, float32x2_t __b)
30880 {
30881   return (float32x2x2_t) {vtrn1_f32 (__a, __b), vtrn2_f32 (__a, __b)};
30882 }
30883 
30884 __extension__ extern __inline poly8x8x2_t
30885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)30886 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
30887 {
30888   return (poly8x8x2_t) {vtrn1_p8 (__a, __b), vtrn2_p8 (__a, __b)};
30889 }
30890 
30891 __extension__ extern __inline poly16x4x2_t
30892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)30893 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
30894 {
30895   return (poly16x4x2_t) {vtrn1_p16 (__a, __b), vtrn2_p16 (__a, __b)};
30896 }
30897 
30898 __extension__ extern __inline int8x8x2_t
30899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s8(int8x8_t __a,int8x8_t __b)30900 vtrn_s8 (int8x8_t __a, int8x8_t __b)
30901 {
30902   return (int8x8x2_t) {vtrn1_s8 (__a, __b), vtrn2_s8 (__a, __b)};
30903 }
30904 
30905 __extension__ extern __inline int16x4x2_t
30906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s16(int16x4_t __a,int16x4_t __b)30907 vtrn_s16 (int16x4_t __a, int16x4_t __b)
30908 {
30909   return (int16x4x2_t) {vtrn1_s16 (__a, __b), vtrn2_s16 (__a, __b)};
30910 }
30911 
30912 __extension__ extern __inline int32x2x2_t
30913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s32(int32x2_t __a,int32x2_t __b)30914 vtrn_s32 (int32x2_t __a, int32x2_t __b)
30915 {
30916   return (int32x2x2_t) {vtrn1_s32 (__a, __b), vtrn2_s32 (__a, __b)};
30917 }
30918 
30919 __extension__ extern __inline uint8x8x2_t
30920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)30921 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
30922 {
30923   return (uint8x8x2_t) {vtrn1_u8 (__a, __b), vtrn2_u8 (__a, __b)};
30924 }
30925 
30926 __extension__ extern __inline uint16x4x2_t
30927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)30928 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
30929 {
30930   return (uint16x4x2_t) {vtrn1_u16 (__a, __b), vtrn2_u16 (__a, __b)};
30931 }
30932 
30933 __extension__ extern __inline uint32x2x2_t
30934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)30935 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
30936 {
30937   return (uint32x2x2_t) {vtrn1_u32 (__a, __b), vtrn2_u32 (__a, __b)};
30938 }
30939 
30940 __extension__ extern __inline float16x8x2_t
30941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f16(float16x8_t __a,float16x8_t __b)30942 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
30943 {
30944   return (float16x8x2_t) {vtrn1q_f16 (__a, __b), vtrn2q_f16 (__a, __b)};
30945 }
30946 
30947 __extension__ extern __inline float32x4x2_t
30948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)30949 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
30950 {
30951   return (float32x4x2_t) {vtrn1q_f32 (__a, __b), vtrn2q_f32 (__a, __b)};
30952 }
30953 
30954 __extension__ extern __inline poly8x16x2_t
30955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)30956 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
30957 {
30958   return (poly8x16x2_t) {vtrn1q_p8 (__a, __b), vtrn2q_p8 (__a, __b)};
30959 }
30960 
30961 __extension__ extern __inline poly16x8x2_t
30962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)30963 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
30964 {
30965   return (poly16x8x2_t) {vtrn1q_p16 (__a, __b), vtrn2q_p16 (__a, __b)};
30966 }
30967 
30968 __extension__ extern __inline int8x16x2_t
30969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)30970 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
30971 {
30972   return (int8x16x2_t) {vtrn1q_s8 (__a, __b), vtrn2q_s8 (__a, __b)};
30973 }
30974 
30975 __extension__ extern __inline int16x8x2_t
30976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)30977 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
30978 {
30979   return (int16x8x2_t) {vtrn1q_s16 (__a, __b), vtrn2q_s16 (__a, __b)};
30980 }
30981 
30982 __extension__ extern __inline int32x4x2_t
30983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)30984 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
30985 {
30986   return (int32x4x2_t) {vtrn1q_s32 (__a, __b), vtrn2q_s32 (__a, __b)};
30987 }
30988 
30989 __extension__ extern __inline uint8x16x2_t
30990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)30991 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
30992 {
30993   return (uint8x16x2_t) {vtrn1q_u8 (__a, __b), vtrn2q_u8 (__a, __b)};
30994 }
30995 
30996 __extension__ extern __inline uint16x8x2_t
30997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)30998 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
30999 {
31000   return (uint16x8x2_t) {vtrn1q_u16 (__a, __b), vtrn2q_u16 (__a, __b)};
31001 }
31002 
31003 __extension__ extern __inline uint32x4x2_t
31004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)31005 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
31006 {
31007   return (uint32x4x2_t) {vtrn1q_u32 (__a, __b), vtrn2q_u32 (__a, __b)};
31008 }
31009 
31010 /* vtst */
31011 
31012 __extension__ extern __inline uint8x8_t
31013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s8(int8x8_t __a,int8x8_t __b)31014 vtst_s8 (int8x8_t __a, int8x8_t __b)
31015 {
31016   return (uint8x8_t) ((__a & __b) != 0);
31017 }
31018 
31019 __extension__ extern __inline uint16x4_t
31020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s16(int16x4_t __a,int16x4_t __b)31021 vtst_s16 (int16x4_t __a, int16x4_t __b)
31022 {
31023   return (uint16x4_t) ((__a & __b) != 0);
31024 }
31025 
31026 __extension__ extern __inline uint32x2_t
31027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s32(int32x2_t __a,int32x2_t __b)31028 vtst_s32 (int32x2_t __a, int32x2_t __b)
31029 {
31030   return (uint32x2_t) ((__a & __b) != 0);
31031 }
31032 
31033 __extension__ extern __inline uint64x1_t
31034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s64(int64x1_t __a,int64x1_t __b)31035 vtst_s64 (int64x1_t __a, int64x1_t __b)
31036 {
31037   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
31038 }
31039 
31040 __extension__ extern __inline uint8x8_t
31041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)31042 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
31043 {
31044   return ((__a & __b) != 0);
31045 }
31046 
31047 __extension__ extern __inline uint16x4_t
31048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)31049 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
31050 {
31051   return ((__a & __b) != 0);
31052 }
31053 
31054 __extension__ extern __inline uint32x2_t
31055 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)31056 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
31057 {
31058   return ((__a & __b) != 0);
31059 }
31060 
31061 __extension__ extern __inline uint64x1_t
31062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u64(uint64x1_t __a,uint64x1_t __b)31063 vtst_u64 (uint64x1_t __a, uint64x1_t __b)
31064 {
31065   return ((__a & __b) != __AARCH64_UINT64_C (0));
31066 }
31067 
31068 __extension__ extern __inline uint8x16_t
31069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s8(int8x16_t __a,int8x16_t __b)31070 vtstq_s8 (int8x16_t __a, int8x16_t __b)
31071 {
31072   return (uint8x16_t) ((__a & __b) != 0);
31073 }
31074 
31075 __extension__ extern __inline uint16x8_t
31076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s16(int16x8_t __a,int16x8_t __b)31077 vtstq_s16 (int16x8_t __a, int16x8_t __b)
31078 {
31079   return (uint16x8_t) ((__a & __b) != 0);
31080 }
31081 
31082 __extension__ extern __inline uint32x4_t
31083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s32(int32x4_t __a,int32x4_t __b)31084 vtstq_s32 (int32x4_t __a, int32x4_t __b)
31085 {
31086   return (uint32x4_t) ((__a & __b) != 0);
31087 }
31088 
31089 __extension__ extern __inline uint64x2_t
31090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s64(int64x2_t __a,int64x2_t __b)31091 vtstq_s64 (int64x2_t __a, int64x2_t __b)
31092 {
31093   return (uint64x2_t) ((__a & __b) != __AARCH64_INT64_C (0));
31094 }
31095 
31096 __extension__ extern __inline uint8x16_t
31097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)31098 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
31099 {
31100   return ((__a & __b) != 0);
31101 }
31102 
31103 __extension__ extern __inline uint16x8_t
31104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)31105 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
31106 {
31107   return ((__a & __b) != 0);
31108 }
31109 
31110 __extension__ extern __inline uint32x4_t
31111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)31112 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
31113 {
31114   return ((__a & __b) != 0);
31115 }
31116 
31117 __extension__ extern __inline uint64x2_t
31118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u64(uint64x2_t __a,uint64x2_t __b)31119 vtstq_u64 (uint64x2_t __a, uint64x2_t __b)
31120 {
31121   return ((__a & __b) != __AARCH64_UINT64_C (0));
31122 }
31123 
31124 __extension__ extern __inline uint64_t
31125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_s64(int64_t __a,int64_t __b)31126 vtstd_s64 (int64_t __a, int64_t __b)
31127 {
31128   return (__a & __b) ? -1ll : 0ll;
31129 }
31130 
31131 __extension__ extern __inline uint64_t
31132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_u64(uint64_t __a,uint64_t __b)31133 vtstd_u64 (uint64_t __a, uint64_t __b)
31134 {
31135   return (__a & __b) ? -1ll : 0ll;
31136 }
31137 
31138 /* vuqadd */
31139 
31140 __extension__ extern __inline int8x8_t
31141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s8(int8x8_t __a,uint8x8_t __b)31142 vuqadd_s8 (int8x8_t __a, uint8x8_t __b)
31143 {
31144   return __builtin_aarch64_suqaddv8qi_ssu (__a,  __b);
31145 }
31146 
31147 __extension__ extern __inline int16x4_t
31148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s16(int16x4_t __a,uint16x4_t __b)31149 vuqadd_s16 (int16x4_t __a, uint16x4_t __b)
31150 {
31151   return __builtin_aarch64_suqaddv4hi_ssu (__a,  __b);
31152 }
31153 
31154 __extension__ extern __inline int32x2_t
31155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s32(int32x2_t __a,uint32x2_t __b)31156 vuqadd_s32 (int32x2_t __a, uint32x2_t __b)
31157 {
31158   return __builtin_aarch64_suqaddv2si_ssu (__a,  __b);
31159 }
31160 
31161 __extension__ extern __inline int64x1_t
31162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s64(int64x1_t __a,uint64x1_t __b)31163 vuqadd_s64 (int64x1_t __a, uint64x1_t __b)
31164 {
31165   return (int64x1_t) {__builtin_aarch64_suqadddi_ssu (__a[0], __b[0])};
31166 }
31167 
31168 __extension__ extern __inline int8x16_t
31169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s8(int8x16_t __a,uint8x16_t __b)31170 vuqaddq_s8 (int8x16_t __a, uint8x16_t __b)
31171 {
31172   return __builtin_aarch64_suqaddv16qi_ssu (__a,  __b);
31173 }
31174 
31175 __extension__ extern __inline int16x8_t
31176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s16(int16x8_t __a,uint16x8_t __b)31177 vuqaddq_s16 (int16x8_t __a, uint16x8_t __b)
31178 {
31179   return __builtin_aarch64_suqaddv8hi_ssu (__a,  __b);
31180 }
31181 
31182 __extension__ extern __inline int32x4_t
31183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s32(int32x4_t __a,uint32x4_t __b)31184 vuqaddq_s32 (int32x4_t __a, uint32x4_t __b)
31185 {
31186   return __builtin_aarch64_suqaddv4si_ssu (__a,  __b);
31187 }
31188 
31189 __extension__ extern __inline int64x2_t
31190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s64(int64x2_t __a,uint64x2_t __b)31191 vuqaddq_s64 (int64x2_t __a, uint64x2_t __b)
31192 {
31193   return __builtin_aarch64_suqaddv2di_ssu (__a,  __b);
31194 }
31195 
31196 __extension__ extern __inline int8_t
31197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddb_s8(int8_t __a,uint8_t __b)31198 vuqaddb_s8 (int8_t __a, uint8_t __b)
31199 {
31200   return __builtin_aarch64_suqaddqi_ssu (__a,  __b);
31201 }
31202 
31203 __extension__ extern __inline int16_t
31204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddh_s16(int16_t __a,uint16_t __b)31205 vuqaddh_s16 (int16_t __a, uint16_t __b)
31206 {
31207   return __builtin_aarch64_suqaddhi_ssu (__a,  __b);
31208 }
31209 
31210 __extension__ extern __inline int32_t
31211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadds_s32(int32_t __a,uint32_t __b)31212 vuqadds_s32 (int32_t __a, uint32_t __b)
31213 {
31214   return __builtin_aarch64_suqaddsi_ssu (__a,  __b);
31215 }
31216 
31217 __extension__ extern __inline int64_t
31218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddd_s64(int64_t __a,uint64_t __b)31219 vuqaddd_s64 (int64_t __a, uint64_t __b)
31220 {
31221   return __builtin_aarch64_suqadddi_ssu (__a,  __b);
31222 }
31223 
31224 #define __DEFINTERLEAVE(op, rettype, intype, funcsuffix, Q) 		\
31225   __extension__ extern __inline rettype					\
31226   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
31227   v ## op ## Q ## _ ## funcsuffix (intype a, intype b)			\
31228   {									\
31229     return (rettype) {v ## op ## 1 ## Q ## _ ## funcsuffix (a, b),	\
31230 		      v ## op ## 2 ## Q ## _ ## funcsuffix (a, b)};	\
31231   }
31232 
31233 #define __INTERLEAVE_LIST(op)					\
31234   __DEFINTERLEAVE (op, float16x4x2_t, float16x4_t, f16,)	\
31235   __DEFINTERLEAVE (op, float32x2x2_t, float32x2_t, f32,)	\
31236   __DEFINTERLEAVE (op, poly8x8x2_t, poly8x8_t, p8,)		\
31237   __DEFINTERLEAVE (op, poly16x4x2_t, poly16x4_t, p16,)		\
31238   __DEFINTERLEAVE (op, int8x8x2_t, int8x8_t, s8,)		\
31239   __DEFINTERLEAVE (op, int16x4x2_t, int16x4_t, s16,)		\
31240   __DEFINTERLEAVE (op, int32x2x2_t, int32x2_t, s32,)		\
31241   __DEFINTERLEAVE (op, uint8x8x2_t, uint8x8_t, u8,)		\
31242   __DEFINTERLEAVE (op, uint16x4x2_t, uint16x4_t, u16,)		\
31243   __DEFINTERLEAVE (op, uint32x2x2_t, uint32x2_t, u32,)		\
31244   __DEFINTERLEAVE (op, float16x8x2_t, float16x8_t, f16, q)	\
31245   __DEFINTERLEAVE (op, float32x4x2_t, float32x4_t, f32, q)	\
31246   __DEFINTERLEAVE (op, poly8x16x2_t, poly8x16_t, p8, q)		\
31247   __DEFINTERLEAVE (op, poly16x8x2_t, poly16x8_t, p16, q)	\
31248   __DEFINTERLEAVE (op, int8x16x2_t, int8x16_t, s8, q)		\
31249   __DEFINTERLEAVE (op, int16x8x2_t, int16x8_t, s16, q)		\
31250   __DEFINTERLEAVE (op, int32x4x2_t, int32x4_t, s32, q)		\
31251   __DEFINTERLEAVE (op, uint8x16x2_t, uint8x16_t, u8, q)		\
31252   __DEFINTERLEAVE (op, uint16x8x2_t, uint16x8_t, u16, q)	\
31253   __DEFINTERLEAVE (op, uint32x4x2_t, uint32x4_t, u32, q)
31254 
31255 /* vuzp */
31256 
31257 __extension__ extern __inline float16x4_t
31258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f16(float16x4_t __a,float16x4_t __b)31259 vuzp1_f16 (float16x4_t __a, float16x4_t __b)
31260 {
31261 #ifdef __AARCH64EB__
31262   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31263 #else
31264   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31265 #endif
31266 }
31267 
31268 __extension__ extern __inline float32x2_t
31269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f32(float32x2_t __a,float32x2_t __b)31270 vuzp1_f32 (float32x2_t __a, float32x2_t __b)
31271 {
31272 #ifdef __AARCH64EB__
31273   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31274 #else
31275   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31276 #endif
31277 }
31278 
31279 __extension__ extern __inline poly8x8_t
31280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p8(poly8x8_t __a,poly8x8_t __b)31281 vuzp1_p8 (poly8x8_t __a, poly8x8_t __b)
31282 {
31283 #ifdef __AARCH64EB__
31284   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31285 #else
31286   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31287 #endif
31288 }
31289 
31290 __extension__ extern __inline poly16x4_t
31291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p16(poly16x4_t __a,poly16x4_t __b)31292 vuzp1_p16 (poly16x4_t __a, poly16x4_t __b)
31293 {
31294 #ifdef __AARCH64EB__
31295   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31296 #else
31297   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31298 #endif
31299 }
31300 
31301 __extension__ extern __inline int8x8_t
31302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s8(int8x8_t __a,int8x8_t __b)31303 vuzp1_s8 (int8x8_t __a, int8x8_t __b)
31304 {
31305 #ifdef __AARCH64EB__
31306   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31307 #else
31308   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31309 #endif
31310 }
31311 
31312 __extension__ extern __inline int16x4_t
31313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s16(int16x4_t __a,int16x4_t __b)31314 vuzp1_s16 (int16x4_t __a, int16x4_t __b)
31315 {
31316 #ifdef __AARCH64EB__
31317   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31318 #else
31319   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31320 #endif
31321 }
31322 
31323 __extension__ extern __inline int32x2_t
31324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s32(int32x2_t __a,int32x2_t __b)31325 vuzp1_s32 (int32x2_t __a, int32x2_t __b)
31326 {
31327 #ifdef __AARCH64EB__
31328   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31329 #else
31330   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31331 #endif
31332 }
31333 
31334 __extension__ extern __inline uint8x8_t
31335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u8(uint8x8_t __a,uint8x8_t __b)31336 vuzp1_u8 (uint8x8_t __a, uint8x8_t __b)
31337 {
31338 #ifdef __AARCH64EB__
31339   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31340 #else
31341   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31342 #endif
31343 }
31344 
31345 __extension__ extern __inline uint16x4_t
31346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u16(uint16x4_t __a,uint16x4_t __b)31347 vuzp1_u16 (uint16x4_t __a, uint16x4_t __b)
31348 {
31349 #ifdef __AARCH64EB__
31350   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31351 #else
31352   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31353 #endif
31354 }
31355 
31356 __extension__ extern __inline uint32x2_t
31357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u32(uint32x2_t __a,uint32x2_t __b)31358 vuzp1_u32 (uint32x2_t __a, uint32x2_t __b)
31359 {
31360 #ifdef __AARCH64EB__
31361   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31362 #else
31363   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31364 #endif
31365 }
31366 
31367 __extension__ extern __inline float16x8_t
31368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f16(float16x8_t __a,float16x8_t __b)31369 vuzp1q_f16 (float16x8_t __a, float16x8_t __b)
31370 {
31371 #ifdef __AARCH64EB__
31372   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31373 #else
31374   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31375 #endif
31376 }
31377 
31378 __extension__ extern __inline float32x4_t
31379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f32(float32x4_t __a,float32x4_t __b)31380 vuzp1q_f32 (float32x4_t __a, float32x4_t __b)
31381 {
31382 #ifdef __AARCH64EB__
31383   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31384 #else
31385   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31386 #endif
31387 }
31388 
31389 __extension__ extern __inline float64x2_t
31390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f64(float64x2_t __a,float64x2_t __b)31391 vuzp1q_f64 (float64x2_t __a, float64x2_t __b)
31392 {
31393 #ifdef __AARCH64EB__
31394   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31395 #else
31396   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31397 #endif
31398 }
31399 
31400 __extension__ extern __inline poly8x16_t
31401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p8(poly8x16_t __a,poly8x16_t __b)31402 vuzp1q_p8 (poly8x16_t __a, poly8x16_t __b)
31403 {
31404 #ifdef __AARCH64EB__
31405   return __builtin_shuffle (__a, __b, (uint8x16_t)
31406       {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31407 #else
31408   return __builtin_shuffle (__a, __b, (uint8x16_t)
31409       {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31410 #endif
31411 }
31412 
31413 __extension__ extern __inline poly16x8_t
31414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p16(poly16x8_t __a,poly16x8_t __b)31415 vuzp1q_p16 (poly16x8_t __a, poly16x8_t __b)
31416 {
31417 #ifdef __AARCH64EB__
31418   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31419 #else
31420   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31421 #endif
31422 }
31423 
31424 __extension__ extern __inline int8x16_t
31425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s8(int8x16_t __a,int8x16_t __b)31426 vuzp1q_s8 (int8x16_t __a, int8x16_t __b)
31427 {
31428 #ifdef __AARCH64EB__
31429   return __builtin_shuffle (__a, __b,
31430       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31431 #else
31432   return __builtin_shuffle (__a, __b,
31433       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31434 #endif
31435 }
31436 
31437 __extension__ extern __inline int16x8_t
31438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s16(int16x8_t __a,int16x8_t __b)31439 vuzp1q_s16 (int16x8_t __a, int16x8_t __b)
31440 {
31441 #ifdef __AARCH64EB__
31442   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31443 #else
31444   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31445 #endif
31446 }
31447 
31448 __extension__ extern __inline int32x4_t
31449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s32(int32x4_t __a,int32x4_t __b)31450 vuzp1q_s32 (int32x4_t __a, int32x4_t __b)
31451 {
31452 #ifdef __AARCH64EB__
31453   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31454 #else
31455   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31456 #endif
31457 }
31458 
31459 __extension__ extern __inline int64x2_t
31460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s64(int64x2_t __a,int64x2_t __b)31461 vuzp1q_s64 (int64x2_t __a, int64x2_t __b)
31462 {
31463 #ifdef __AARCH64EB__
31464   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31465 #else
31466   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31467 #endif
31468 }
31469 
31470 __extension__ extern __inline uint8x16_t
31471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u8(uint8x16_t __a,uint8x16_t __b)31472 vuzp1q_u8 (uint8x16_t __a, uint8x16_t __b)
31473 {
31474 #ifdef __AARCH64EB__
31475   return __builtin_shuffle (__a, __b,
31476       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31477 #else
31478   return __builtin_shuffle (__a, __b,
31479       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31480 #endif
31481 }
31482 
31483 __extension__ extern __inline uint16x8_t
31484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u16(uint16x8_t __a,uint16x8_t __b)31485 vuzp1q_u16 (uint16x8_t __a, uint16x8_t __b)
31486 {
31487 #ifdef __AARCH64EB__
31488   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31489 #else
31490   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31491 #endif
31492 }
31493 
31494 __extension__ extern __inline uint32x4_t
31495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u32(uint32x4_t __a,uint32x4_t __b)31496 vuzp1q_u32 (uint32x4_t __a, uint32x4_t __b)
31497 {
31498 #ifdef __AARCH64EB__
31499   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31500 #else
31501   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31502 #endif
31503 }
31504 
31505 __extension__ extern __inline uint64x2_t
31506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u64(uint64x2_t __a,uint64x2_t __b)31507 vuzp1q_u64 (uint64x2_t __a, uint64x2_t __b)
31508 {
31509 #ifdef __AARCH64EB__
31510   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31511 #else
31512   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31513 #endif
31514 }
31515 
31516 __extension__ extern __inline poly64x2_t
31517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p64(poly64x2_t __a,poly64x2_t __b)31518 vuzp1q_p64 (poly64x2_t __a, poly64x2_t __b)
31519 {
31520 #ifdef __AARCH64EB__
31521   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
31522 #else
31523   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
31524 #endif
31525 }
31526 
31527 __extension__ extern __inline float16x4_t
31528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f16(float16x4_t __a,float16x4_t __b)31529 vuzp2_f16 (float16x4_t __a, float16x4_t __b)
31530 {
31531 #ifdef __AARCH64EB__
31532   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31533 #else
31534   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31535 #endif
31536 }
31537 
31538 __extension__ extern __inline float32x2_t
31539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f32(float32x2_t __a,float32x2_t __b)31540 vuzp2_f32 (float32x2_t __a, float32x2_t __b)
31541 {
31542 #ifdef __AARCH64EB__
31543   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31544 #else
31545   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31546 #endif
31547 }
31548 
31549 __extension__ extern __inline poly8x8_t
31550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p8(poly8x8_t __a,poly8x8_t __b)31551 vuzp2_p8 (poly8x8_t __a, poly8x8_t __b)
31552 {
31553 #ifdef __AARCH64EB__
31554   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31555 #else
31556   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31557 #endif
31558 }
31559 
31560 __extension__ extern __inline poly16x4_t
31561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p16(poly16x4_t __a,poly16x4_t __b)31562 vuzp2_p16 (poly16x4_t __a, poly16x4_t __b)
31563 {
31564 #ifdef __AARCH64EB__
31565   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31566 #else
31567   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31568 #endif
31569 }
31570 
31571 __extension__ extern __inline int8x8_t
31572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s8(int8x8_t __a,int8x8_t __b)31573 vuzp2_s8 (int8x8_t __a, int8x8_t __b)
31574 {
31575 #ifdef __AARCH64EB__
31576   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31577 #else
31578   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31579 #endif
31580 }
31581 
31582 __extension__ extern __inline int16x4_t
31583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s16(int16x4_t __a,int16x4_t __b)31584 vuzp2_s16 (int16x4_t __a, int16x4_t __b)
31585 {
31586 #ifdef __AARCH64EB__
31587   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31588 #else
31589   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31590 #endif
31591 }
31592 
31593 __extension__ extern __inline int32x2_t
31594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s32(int32x2_t __a,int32x2_t __b)31595 vuzp2_s32 (int32x2_t __a, int32x2_t __b)
31596 {
31597 #ifdef __AARCH64EB__
31598   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31599 #else
31600   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31601 #endif
31602 }
31603 
31604 __extension__ extern __inline uint8x8_t
31605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u8(uint8x8_t __a,uint8x8_t __b)31606 vuzp2_u8 (uint8x8_t __a, uint8x8_t __b)
31607 {
31608 #ifdef __AARCH64EB__
31609   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31610 #else
31611   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31612 #endif
31613 }
31614 
31615 __extension__ extern __inline uint16x4_t
31616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u16(uint16x4_t __a,uint16x4_t __b)31617 vuzp2_u16 (uint16x4_t __a, uint16x4_t __b)
31618 {
31619 #ifdef __AARCH64EB__
31620   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31621 #else
31622   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31623 #endif
31624 }
31625 
31626 __extension__ extern __inline uint32x2_t
31627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u32(uint32x2_t __a,uint32x2_t __b)31628 vuzp2_u32 (uint32x2_t __a, uint32x2_t __b)
31629 {
31630 #ifdef __AARCH64EB__
31631   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31632 #else
31633   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31634 #endif
31635 }
31636 
31637 __extension__ extern __inline float16x8_t
31638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f16(float16x8_t __a,float16x8_t __b)31639 vuzp2q_f16 (float16x8_t __a, float16x8_t __b)
31640 {
31641 #ifdef __AARCH64EB__
31642   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31643 #else
31644   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31645 #endif
31646 }
31647 
31648 __extension__ extern __inline float32x4_t
31649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f32(float32x4_t __a,float32x4_t __b)31650 vuzp2q_f32 (float32x4_t __a, float32x4_t __b)
31651 {
31652 #ifdef __AARCH64EB__
31653   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31654 #else
31655   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31656 #endif
31657 }
31658 
31659 __extension__ extern __inline float64x2_t
31660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f64(float64x2_t __a,float64x2_t __b)31661 vuzp2q_f64 (float64x2_t __a, float64x2_t __b)
31662 {
31663 #ifdef __AARCH64EB__
31664   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31665 #else
31666   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31667 #endif
31668 }
31669 
31670 __extension__ extern __inline poly8x16_t
31671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p8(poly8x16_t __a,poly8x16_t __b)31672 vuzp2q_p8 (poly8x16_t __a, poly8x16_t __b)
31673 {
31674 #ifdef __AARCH64EB__
31675   return __builtin_shuffle (__a, __b,
31676       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31677 #else
31678   return __builtin_shuffle (__a, __b,
31679       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31680 #endif
31681 }
31682 
31683 __extension__ extern __inline poly16x8_t
31684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p16(poly16x8_t __a,poly16x8_t __b)31685 vuzp2q_p16 (poly16x8_t __a, poly16x8_t __b)
31686 {
31687 #ifdef __AARCH64EB__
31688   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31689 #else
31690   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31691 #endif
31692 }
31693 
31694 __extension__ extern __inline int8x16_t
31695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s8(int8x16_t __a,int8x16_t __b)31696 vuzp2q_s8 (int8x16_t __a, int8x16_t __b)
31697 {
31698 #ifdef __AARCH64EB__
31699   return __builtin_shuffle (__a, __b,
31700       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31701 #else
31702   return __builtin_shuffle (__a, __b,
31703       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31704 #endif
31705 }
31706 
31707 __extension__ extern __inline int16x8_t
31708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s16(int16x8_t __a,int16x8_t __b)31709 vuzp2q_s16 (int16x8_t __a, int16x8_t __b)
31710 {
31711 #ifdef __AARCH64EB__
31712   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31713 #else
31714   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31715 #endif
31716 }
31717 
31718 __extension__ extern __inline int32x4_t
31719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s32(int32x4_t __a,int32x4_t __b)31720 vuzp2q_s32 (int32x4_t __a, int32x4_t __b)
31721 {
31722 #ifdef __AARCH64EB__
31723   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31724 #else
31725   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31726 #endif
31727 }
31728 
31729 __extension__ extern __inline int64x2_t
31730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s64(int64x2_t __a,int64x2_t __b)31731 vuzp2q_s64 (int64x2_t __a, int64x2_t __b)
31732 {
31733 #ifdef __AARCH64EB__
31734   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31735 #else
31736   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31737 #endif
31738 }
31739 
31740 __extension__ extern __inline uint8x16_t
31741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u8(uint8x16_t __a,uint8x16_t __b)31742 vuzp2q_u8 (uint8x16_t __a, uint8x16_t __b)
31743 {
31744 #ifdef __AARCH64EB__
31745   return __builtin_shuffle (__a, __b, (uint8x16_t)
31746       {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31747 #else
31748   return __builtin_shuffle (__a, __b, (uint8x16_t)
31749       {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31750 #endif
31751 }
31752 
31753 __extension__ extern __inline uint16x8_t
31754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u16(uint16x8_t __a,uint16x8_t __b)31755 vuzp2q_u16 (uint16x8_t __a, uint16x8_t __b)
31756 {
31757 #ifdef __AARCH64EB__
31758   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31759 #else
31760   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31761 #endif
31762 }
31763 
31764 __extension__ extern __inline uint32x4_t
31765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u32(uint32x4_t __a,uint32x4_t __b)31766 vuzp2q_u32 (uint32x4_t __a, uint32x4_t __b)
31767 {
31768 #ifdef __AARCH64EB__
31769   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31770 #else
31771   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31772 #endif
31773 }
31774 
31775 __extension__ extern __inline uint64x2_t
31776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u64(uint64x2_t __a,uint64x2_t __b)31777 vuzp2q_u64 (uint64x2_t __a, uint64x2_t __b)
31778 {
31779 #ifdef __AARCH64EB__
31780   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31781 #else
31782   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31783 #endif
31784 }
31785 
31786 __extension__ extern __inline poly64x2_t
31787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p64(poly64x2_t __a,poly64x2_t __b)31788 vuzp2q_p64 (poly64x2_t __a, poly64x2_t __b)
31789 {
31790 #ifdef __AARCH64EB__
31791   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
31792 #else
31793   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
31794 #endif
31795 }
31796 
__INTERLEAVE_LIST(uzp)31797 __INTERLEAVE_LIST (uzp)
31798 
31799 /* vzip */
31800 
31801 __extension__ extern __inline float16x4_t
31802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
31803 vzip1_f16 (float16x4_t __a, float16x4_t __b)
31804 {
31805 #ifdef __AARCH64EB__
31806   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31807 #else
31808   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31809 #endif
31810 }
31811 
31812 __extension__ extern __inline float32x2_t
31813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_f32(float32x2_t __a,float32x2_t __b)31814 vzip1_f32 (float32x2_t __a, float32x2_t __b)
31815 {
31816 #ifdef __AARCH64EB__
31817   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31818 #else
31819   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31820 #endif
31821 }
31822 
31823 __extension__ extern __inline poly8x8_t
31824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p8(poly8x8_t __a,poly8x8_t __b)31825 vzip1_p8 (poly8x8_t __a, poly8x8_t __b)
31826 {
31827 #ifdef __AARCH64EB__
31828   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31829 #else
31830   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31831 #endif
31832 }
31833 
31834 __extension__ extern __inline poly16x4_t
31835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p16(poly16x4_t __a,poly16x4_t __b)31836 vzip1_p16 (poly16x4_t __a, poly16x4_t __b)
31837 {
31838 #ifdef __AARCH64EB__
31839   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31840 #else
31841   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31842 #endif
31843 }
31844 
31845 __extension__ extern __inline int8x8_t
31846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s8(int8x8_t __a,int8x8_t __b)31847 vzip1_s8 (int8x8_t __a, int8x8_t __b)
31848 {
31849 #ifdef __AARCH64EB__
31850   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31851 #else
31852   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31853 #endif
31854 }
31855 
31856 __extension__ extern __inline int16x4_t
31857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s16(int16x4_t __a,int16x4_t __b)31858 vzip1_s16 (int16x4_t __a, int16x4_t __b)
31859 {
31860 #ifdef __AARCH64EB__
31861   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31862 #else
31863   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31864 #endif
31865 }
31866 
31867 __extension__ extern __inline int32x2_t
31868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s32(int32x2_t __a,int32x2_t __b)31869 vzip1_s32 (int32x2_t __a, int32x2_t __b)
31870 {
31871 #ifdef __AARCH64EB__
31872   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31873 #else
31874   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31875 #endif
31876 }
31877 
31878 __extension__ extern __inline uint8x8_t
31879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u8(uint8x8_t __a,uint8x8_t __b)31880 vzip1_u8 (uint8x8_t __a, uint8x8_t __b)
31881 {
31882 #ifdef __AARCH64EB__
31883   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31884 #else
31885   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31886 #endif
31887 }
31888 
31889 __extension__ extern __inline uint16x4_t
31890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u16(uint16x4_t __a,uint16x4_t __b)31891 vzip1_u16 (uint16x4_t __a, uint16x4_t __b)
31892 {
31893 #ifdef __AARCH64EB__
31894   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31895 #else
31896   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31897 #endif
31898 }
31899 
31900 __extension__ extern __inline uint32x2_t
31901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u32(uint32x2_t __a,uint32x2_t __b)31902 vzip1_u32 (uint32x2_t __a, uint32x2_t __b)
31903 {
31904 #ifdef __AARCH64EB__
31905   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31906 #else
31907   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31908 #endif
31909 }
31910 
31911 __extension__ extern __inline float16x8_t
31912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f16(float16x8_t __a,float16x8_t __b)31913 vzip1q_f16 (float16x8_t __a, float16x8_t __b)
31914 {
31915 #ifdef __AARCH64EB__
31916   return __builtin_shuffle (__a, __b,
31917 			    (uint16x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31918 #else
31919   return __builtin_shuffle (__a, __b,
31920 			    (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31921 #endif
31922 }
31923 
31924 __extension__ extern __inline float32x4_t
31925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f32(float32x4_t __a,float32x4_t __b)31926 vzip1q_f32 (float32x4_t __a, float32x4_t __b)
31927 {
31928 #ifdef __AARCH64EB__
31929   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
31930 #else
31931   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
31932 #endif
31933 }
31934 
31935 __extension__ extern __inline float64x2_t
31936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f64(float64x2_t __a,float64x2_t __b)31937 vzip1q_f64 (float64x2_t __a, float64x2_t __b)
31938 {
31939 #ifdef __AARCH64EB__
31940   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31941 #else
31942   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31943 #endif
31944 }
31945 
31946 __extension__ extern __inline poly8x16_t
31947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p8(poly8x16_t __a,poly8x16_t __b)31948 vzip1q_p8 (poly8x16_t __a, poly8x16_t __b)
31949 {
31950 #ifdef __AARCH64EB__
31951   return __builtin_shuffle (__a, __b, (uint8x16_t)
31952       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31953 #else
31954   return __builtin_shuffle (__a, __b, (uint8x16_t)
31955       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31956 #endif
31957 }
31958 
31959 __extension__ extern __inline poly16x8_t
31960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p16(poly16x8_t __a,poly16x8_t __b)31961 vzip1q_p16 (poly16x8_t __a, poly16x8_t __b)
31962 {
31963 #ifdef __AARCH64EB__
31964   return __builtin_shuffle (__a, __b, (uint16x8_t)
31965       {12, 4, 13, 5, 14, 6, 15, 7});
31966 #else
31967   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31968 #endif
31969 }
31970 
31971 __extension__ extern __inline int8x16_t
31972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s8(int8x16_t __a,int8x16_t __b)31973 vzip1q_s8 (int8x16_t __a, int8x16_t __b)
31974 {
31975 #ifdef __AARCH64EB__
31976   return __builtin_shuffle (__a, __b, (uint8x16_t)
31977       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31978 #else
31979   return __builtin_shuffle (__a, __b, (uint8x16_t)
31980       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31981 #endif
31982 }
31983 
31984 __extension__ extern __inline int16x8_t
31985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s16(int16x8_t __a,int16x8_t __b)31986 vzip1q_s16 (int16x8_t __a, int16x8_t __b)
31987 {
31988 #ifdef __AARCH64EB__
31989   return __builtin_shuffle (__a, __b, (uint16x8_t)
31990       {12, 4, 13, 5, 14, 6, 15, 7});
31991 #else
31992   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31993 #endif
31994 }
31995 
31996 __extension__ extern __inline int32x4_t
31997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s32(int32x4_t __a,int32x4_t __b)31998 vzip1q_s32 (int32x4_t __a, int32x4_t __b)
31999 {
32000 #ifdef __AARCH64EB__
32001   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
32002 #else
32003   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
32004 #endif
32005 }
32006 
32007 __extension__ extern __inline int64x2_t
32008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s64(int64x2_t __a,int64x2_t __b)32009 vzip1q_s64 (int64x2_t __a, int64x2_t __b)
32010 {
32011 #ifdef __AARCH64EB__
32012   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
32013 #else
32014   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
32015 #endif
32016 }
32017 
32018 __extension__ extern __inline uint8x16_t
32019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u8(uint8x16_t __a,uint8x16_t __b)32020 vzip1q_u8 (uint8x16_t __a, uint8x16_t __b)
32021 {
32022 #ifdef __AARCH64EB__
32023   return __builtin_shuffle (__a, __b, (uint8x16_t)
32024       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
32025 #else
32026   return __builtin_shuffle (__a, __b, (uint8x16_t)
32027       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
32028 #endif
32029 }
32030 
32031 __extension__ extern __inline uint16x8_t
32032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u16(uint16x8_t __a,uint16x8_t __b)32033 vzip1q_u16 (uint16x8_t __a, uint16x8_t __b)
32034 {
32035 #ifdef __AARCH64EB__
32036   return __builtin_shuffle (__a, __b, (uint16x8_t)
32037       {12, 4, 13, 5, 14, 6, 15, 7});
32038 #else
32039   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
32040 #endif
32041 }
32042 
32043 __extension__ extern __inline uint32x4_t
32044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u32(uint32x4_t __a,uint32x4_t __b)32045 vzip1q_u32 (uint32x4_t __a, uint32x4_t __b)
32046 {
32047 #ifdef __AARCH64EB__
32048   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
32049 #else
32050   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
32051 #endif
32052 }
32053 
32054 __extension__ extern __inline uint64x2_t
32055 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u64(uint64x2_t __a,uint64x2_t __b)32056 vzip1q_u64 (uint64x2_t __a, uint64x2_t __b)
32057 {
32058 #ifdef __AARCH64EB__
32059   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
32060 #else
32061   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
32062 #endif
32063 }
32064 
32065 __extension__ extern __inline poly64x2_t
32066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p64(poly64x2_t __a,poly64x2_t __b)32067 vzip1q_p64 (poly64x2_t __a, poly64x2_t __b)
32068 {
32069 #ifdef __AARCH64EB__
32070   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
32071 #else
32072   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
32073 #endif
32074 }
32075 
32076 __extension__ extern __inline float16x4_t
32077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f16(float16x4_t __a,float16x4_t __b)32078 vzip2_f16 (float16x4_t __a, float16x4_t __b)
32079 {
32080 #ifdef __AARCH64EB__
32081   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
32082 #else
32083   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32084 #endif
32085 }
32086 
32087 __extension__ extern __inline float32x2_t
32088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f32(float32x2_t __a,float32x2_t __b)32089 vzip2_f32 (float32x2_t __a, float32x2_t __b)
32090 {
32091 #ifdef __AARCH64EB__
32092   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
32093 #else
32094   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
32095 #endif
32096 }
32097 
32098 __extension__ extern __inline poly8x8_t
32099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p8(poly8x8_t __a,poly8x8_t __b)32100 vzip2_p8 (poly8x8_t __a, poly8x8_t __b)
32101 {
32102 #ifdef __AARCH64EB__
32103   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32104 #else
32105   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32106 #endif
32107 }
32108 
32109 __extension__ extern __inline poly16x4_t
32110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p16(poly16x4_t __a,poly16x4_t __b)32111 vzip2_p16 (poly16x4_t __a, poly16x4_t __b)
32112 {
32113 #ifdef __AARCH64EB__
32114   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
32115 #else
32116   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32117 #endif
32118 }
32119 
32120 __extension__ extern __inline int8x8_t
32121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s8(int8x8_t __a,int8x8_t __b)32122 vzip2_s8 (int8x8_t __a, int8x8_t __b)
32123 {
32124 #ifdef __AARCH64EB__
32125   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32126 #else
32127   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32128 #endif
32129 }
32130 
32131 __extension__ extern __inline int16x4_t
32132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s16(int16x4_t __a,int16x4_t __b)32133 vzip2_s16 (int16x4_t __a, int16x4_t __b)
32134 {
32135 #ifdef __AARCH64EB__
32136   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
32137 #else
32138   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32139 #endif
32140 }
32141 
32142 __extension__ extern __inline int32x2_t
32143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s32(int32x2_t __a,int32x2_t __b)32144 vzip2_s32 (int32x2_t __a, int32x2_t __b)
32145 {
32146 #ifdef __AARCH64EB__
32147   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
32148 #else
32149   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
32150 #endif
32151 }
32152 
32153 __extension__ extern __inline uint8x8_t
32154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u8(uint8x8_t __a,uint8x8_t __b)32155 vzip2_u8 (uint8x8_t __a, uint8x8_t __b)
32156 {
32157 #ifdef __AARCH64EB__
32158   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32159 #else
32160   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32161 #endif
32162 }
32163 
32164 __extension__ extern __inline uint16x4_t
32165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u16(uint16x4_t __a,uint16x4_t __b)32166 vzip2_u16 (uint16x4_t __a, uint16x4_t __b)
32167 {
32168 #ifdef __AARCH64EB__
32169   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
32170 #else
32171   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32172 #endif
32173 }
32174 
32175 __extension__ extern __inline uint32x2_t
32176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u32(uint32x2_t __a,uint32x2_t __b)32177 vzip2_u32 (uint32x2_t __a, uint32x2_t __b)
32178 {
32179 #ifdef __AARCH64EB__
32180   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
32181 #else
32182   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
32183 #endif
32184 }
32185 
32186 __extension__ extern __inline float16x8_t
32187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f16(float16x8_t __a,float16x8_t __b)32188 vzip2q_f16 (float16x8_t __a, float16x8_t __b)
32189 {
32190 #ifdef __AARCH64EB__
32191   return __builtin_shuffle (__a, __b,
32192 			    (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32193 #else
32194   return __builtin_shuffle (__a, __b,
32195 			    (uint16x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32196 #endif
32197 }
32198 
32199 __extension__ extern __inline float32x4_t
32200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f32(float32x4_t __a,float32x4_t __b)32201 vzip2q_f32 (float32x4_t __a, float32x4_t __b)
32202 {
32203 #ifdef __AARCH64EB__
32204   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32205 #else
32206   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32207 #endif
32208 }
32209 
32210 __extension__ extern __inline float64x2_t
32211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f64(float64x2_t __a,float64x2_t __b)32212 vzip2q_f64 (float64x2_t __a, float64x2_t __b)
32213 {
32214 #ifdef __AARCH64EB__
32215   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32216 #else
32217   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32218 #endif
32219 }
32220 
32221 __extension__ extern __inline poly8x16_t
32222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p8(poly8x16_t __a,poly8x16_t __b)32223 vzip2q_p8 (poly8x16_t __a, poly8x16_t __b)
32224 {
32225 #ifdef __AARCH64EB__
32226   return __builtin_shuffle (__a, __b, (uint8x16_t)
32227       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32228 #else
32229   return __builtin_shuffle (__a, __b, (uint8x16_t)
32230       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32231 #endif
32232 }
32233 
32234 __extension__ extern __inline poly16x8_t
32235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p16(poly16x8_t __a,poly16x8_t __b)32236 vzip2q_p16 (poly16x8_t __a, poly16x8_t __b)
32237 {
32238 #ifdef __AARCH64EB__
32239   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32240 #else
32241   return __builtin_shuffle (__a, __b, (uint16x8_t)
32242       {4, 12, 5, 13, 6, 14, 7, 15});
32243 #endif
32244 }
32245 
32246 __extension__ extern __inline int8x16_t
32247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s8(int8x16_t __a,int8x16_t __b)32248 vzip2q_s8 (int8x16_t __a, int8x16_t __b)
32249 {
32250 #ifdef __AARCH64EB__
32251   return __builtin_shuffle (__a, __b, (uint8x16_t)
32252       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32253 #else
32254   return __builtin_shuffle (__a, __b, (uint8x16_t)
32255       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32256 #endif
32257 }
32258 
32259 __extension__ extern __inline int16x8_t
32260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s16(int16x8_t __a,int16x8_t __b)32261 vzip2q_s16 (int16x8_t __a, int16x8_t __b)
32262 {
32263 #ifdef __AARCH64EB__
32264   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32265 #else
32266   return __builtin_shuffle (__a, __b, (uint16x8_t)
32267       {4, 12, 5, 13, 6, 14, 7, 15});
32268 #endif
32269 }
32270 
32271 __extension__ extern __inline int32x4_t
32272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s32(int32x4_t __a,int32x4_t __b)32273 vzip2q_s32 (int32x4_t __a, int32x4_t __b)
32274 {
32275 #ifdef __AARCH64EB__
32276   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32277 #else
32278   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32279 #endif
32280 }
32281 
32282 __extension__ extern __inline int64x2_t
32283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s64(int64x2_t __a,int64x2_t __b)32284 vzip2q_s64 (int64x2_t __a, int64x2_t __b)
32285 {
32286 #ifdef __AARCH64EB__
32287   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32288 #else
32289   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32290 #endif
32291 }
32292 
32293 __extension__ extern __inline uint8x16_t
32294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u8(uint8x16_t __a,uint8x16_t __b)32295 vzip2q_u8 (uint8x16_t __a, uint8x16_t __b)
32296 {
32297 #ifdef __AARCH64EB__
32298   return __builtin_shuffle (__a, __b, (uint8x16_t)
32299       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32300 #else
32301   return __builtin_shuffle (__a, __b, (uint8x16_t)
32302       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32303 #endif
32304 }
32305 
32306 __extension__ extern __inline uint16x8_t
32307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u16(uint16x8_t __a,uint16x8_t __b)32308 vzip2q_u16 (uint16x8_t __a, uint16x8_t __b)
32309 {
32310 #ifdef __AARCH64EB__
32311   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32312 #else
32313   return __builtin_shuffle (__a, __b, (uint16x8_t)
32314       {4, 12, 5, 13, 6, 14, 7, 15});
32315 #endif
32316 }
32317 
32318 __extension__ extern __inline uint32x4_t
32319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u32(uint32x4_t __a,uint32x4_t __b)32320 vzip2q_u32 (uint32x4_t __a, uint32x4_t __b)
32321 {
32322 #ifdef __AARCH64EB__
32323   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32324 #else
32325   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32326 #endif
32327 }
32328 
32329 __extension__ extern __inline uint64x2_t
32330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u64(uint64x2_t __a,uint64x2_t __b)32331 vzip2q_u64 (uint64x2_t __a, uint64x2_t __b)
32332 {
32333 #ifdef __AARCH64EB__
32334   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32335 #else
32336   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32337 #endif
32338 }
32339 
32340 __extension__ extern __inline poly64x2_t
32341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p64(poly64x2_t __a,poly64x2_t __b)32342 vzip2q_p64 (poly64x2_t __a, poly64x2_t __b)
32343 {
32344 #ifdef __AARCH64EB__
32345   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
32346 #else
32347   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
32348 #endif
32349 }
32350 
__INTERLEAVE_LIST(zip)32351 __INTERLEAVE_LIST (zip)
32352 
32353 #undef __INTERLEAVE_LIST
32354 #undef __DEFINTERLEAVE
32355 
32356 /* End of optimal implementations in approved order.  */
32357 
32358 #pragma GCC pop_options
32359 
32360 /* ARMv8.2-A FP16 intrinsics.  */
32361 
32362 #include "arm_fp16.h"
32363 
32364 #pragma GCC push_options
32365 #pragma GCC target ("arch=armv8.2-a+fp16")
32366 
32367 /* ARMv8.2-A FP16 one operand vector intrinsics.  */
32368 
32369 __extension__ extern __inline float16x4_t
32370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
32371 vabs_f16 (float16x4_t __a)
32372 {
32373   return __builtin_aarch64_absv4hf (__a);
32374 }
32375 
32376 __extension__ extern __inline float16x8_t
32377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f16(float16x8_t __a)32378 vabsq_f16 (float16x8_t __a)
32379 {
32380   return __builtin_aarch64_absv8hf (__a);
32381 }
32382 
32383 __extension__ extern __inline uint16x4_t
32384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f16(float16x4_t __a)32385 vceqz_f16 (float16x4_t __a)
32386 {
32387   return __builtin_aarch64_cmeqv4hf_uss (__a, vdup_n_f16 (0.0f));
32388 }
32389 
32390 __extension__ extern __inline uint16x8_t
32391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f16(float16x8_t __a)32392 vceqzq_f16 (float16x8_t __a)
32393 {
32394   return __builtin_aarch64_cmeqv8hf_uss (__a, vdupq_n_f16 (0.0f));
32395 }
32396 
32397 __extension__ extern __inline uint16x4_t
32398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f16(float16x4_t __a)32399 vcgez_f16 (float16x4_t __a)
32400 {
32401   return __builtin_aarch64_cmgev4hf_uss (__a, vdup_n_f16 (0.0f));
32402 }
32403 
32404 __extension__ extern __inline uint16x8_t
32405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f16(float16x8_t __a)32406 vcgezq_f16 (float16x8_t __a)
32407 {
32408   return __builtin_aarch64_cmgev8hf_uss (__a, vdupq_n_f16 (0.0f));
32409 }
32410 
32411 __extension__ extern __inline uint16x4_t
32412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f16(float16x4_t __a)32413 vcgtz_f16 (float16x4_t __a)
32414 {
32415   return __builtin_aarch64_cmgtv4hf_uss (__a, vdup_n_f16 (0.0f));
32416 }
32417 
32418 __extension__ extern __inline uint16x8_t
32419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f16(float16x8_t __a)32420 vcgtzq_f16 (float16x8_t __a)
32421 {
32422   return __builtin_aarch64_cmgtv8hf_uss (__a, vdupq_n_f16 (0.0f));
32423 }
32424 
32425 __extension__ extern __inline uint16x4_t
32426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f16(float16x4_t __a)32427 vclez_f16 (float16x4_t __a)
32428 {
32429   return __builtin_aarch64_cmlev4hf_uss (__a, vdup_n_f16 (0.0f));
32430 }
32431 
32432 __extension__ extern __inline uint16x8_t
32433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f16(float16x8_t __a)32434 vclezq_f16 (float16x8_t __a)
32435 {
32436   return __builtin_aarch64_cmlev8hf_uss (__a, vdupq_n_f16 (0.0f));
32437 }
32438 
32439 __extension__ extern __inline uint16x4_t
32440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f16(float16x4_t __a)32441 vcltz_f16 (float16x4_t __a)
32442 {
32443   return __builtin_aarch64_cmltv4hf_uss (__a, vdup_n_f16 (0.0f));
32444 }
32445 
32446 __extension__ extern __inline uint16x8_t
32447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f16(float16x8_t __a)32448 vcltzq_f16 (float16x8_t __a)
32449 {
32450   return __builtin_aarch64_cmltv8hf_uss (__a, vdupq_n_f16 (0.0f));
32451 }
32452 
32453 __extension__ extern __inline float16x4_t
32454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_s16(int16x4_t __a)32455 vcvt_f16_s16 (int16x4_t __a)
32456 {
32457   return __builtin_aarch64_floatv4hiv4hf (__a);
32458 }
32459 
32460 __extension__ extern __inline float16x8_t
32461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_s16(int16x8_t __a)32462 vcvtq_f16_s16 (int16x8_t __a)
32463 {
32464   return __builtin_aarch64_floatv8hiv8hf (__a);
32465 }
32466 
32467 __extension__ extern __inline float16x4_t
32468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_u16(uint16x4_t __a)32469 vcvt_f16_u16 (uint16x4_t __a)
32470 {
32471   return __builtin_aarch64_floatunsv4hiv4hf ((int16x4_t) __a);
32472 }
32473 
32474 __extension__ extern __inline float16x8_t
32475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_u16(uint16x8_t __a)32476 vcvtq_f16_u16 (uint16x8_t __a)
32477 {
32478   return __builtin_aarch64_floatunsv8hiv8hf ((int16x8_t) __a);
32479 }
32480 
32481 __extension__ extern __inline int16x4_t
32482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s16_f16(float16x4_t __a)32483 vcvt_s16_f16 (float16x4_t __a)
32484 {
32485   return __builtin_aarch64_lbtruncv4hfv4hi (__a);
32486 }
32487 
32488 __extension__ extern __inline int16x8_t
32489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s16_f16(float16x8_t __a)32490 vcvtq_s16_f16 (float16x8_t __a)
32491 {
32492   return __builtin_aarch64_lbtruncv8hfv8hi (__a);
32493 }
32494 
32495 __extension__ extern __inline uint16x4_t
32496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u16_f16(float16x4_t __a)32497 vcvt_u16_f16 (float16x4_t __a)
32498 {
32499   return __builtin_aarch64_lbtruncuv4hfv4hi_us (__a);
32500 }
32501 
32502 __extension__ extern __inline uint16x8_t
32503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u16_f16(float16x8_t __a)32504 vcvtq_u16_f16 (float16x8_t __a)
32505 {
32506   return __builtin_aarch64_lbtruncuv8hfv8hi_us (__a);
32507 }
32508 
32509 __extension__ extern __inline int16x4_t
32510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s16_f16(float16x4_t __a)32511 vcvta_s16_f16 (float16x4_t __a)
32512 {
32513   return __builtin_aarch64_lroundv4hfv4hi (__a);
32514 }
32515 
32516 __extension__ extern __inline int16x8_t
32517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s16_f16(float16x8_t __a)32518 vcvtaq_s16_f16 (float16x8_t __a)
32519 {
32520   return __builtin_aarch64_lroundv8hfv8hi (__a);
32521 }
32522 
32523 __extension__ extern __inline uint16x4_t
32524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u16_f16(float16x4_t __a)32525 vcvta_u16_f16 (float16x4_t __a)
32526 {
32527   return __builtin_aarch64_lrounduv4hfv4hi_us (__a);
32528 }
32529 
32530 __extension__ extern __inline uint16x8_t
32531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u16_f16(float16x8_t __a)32532 vcvtaq_u16_f16 (float16x8_t __a)
32533 {
32534   return __builtin_aarch64_lrounduv8hfv8hi_us (__a);
32535 }
32536 
32537 __extension__ extern __inline int16x4_t
32538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s16_f16(float16x4_t __a)32539 vcvtm_s16_f16 (float16x4_t __a)
32540 {
32541   return __builtin_aarch64_lfloorv4hfv4hi (__a);
32542 }
32543 
32544 __extension__ extern __inline int16x8_t
32545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s16_f16(float16x8_t __a)32546 vcvtmq_s16_f16 (float16x8_t __a)
32547 {
32548   return __builtin_aarch64_lfloorv8hfv8hi (__a);
32549 }
32550 
32551 __extension__ extern __inline uint16x4_t
32552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u16_f16(float16x4_t __a)32553 vcvtm_u16_f16 (float16x4_t __a)
32554 {
32555   return __builtin_aarch64_lflooruv4hfv4hi_us (__a);
32556 }
32557 
32558 __extension__ extern __inline uint16x8_t
32559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u16_f16(float16x8_t __a)32560 vcvtmq_u16_f16 (float16x8_t __a)
32561 {
32562   return __builtin_aarch64_lflooruv8hfv8hi_us (__a);
32563 }
32564 
32565 __extension__ extern __inline int16x4_t
32566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s16_f16(float16x4_t __a)32567 vcvtn_s16_f16 (float16x4_t __a)
32568 {
32569   return __builtin_aarch64_lfrintnv4hfv4hi (__a);
32570 }
32571 
32572 __extension__ extern __inline int16x8_t
32573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s16_f16(float16x8_t __a)32574 vcvtnq_s16_f16 (float16x8_t __a)
32575 {
32576   return __builtin_aarch64_lfrintnv8hfv8hi (__a);
32577 }
32578 
32579 __extension__ extern __inline uint16x4_t
32580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u16_f16(float16x4_t __a)32581 vcvtn_u16_f16 (float16x4_t __a)
32582 {
32583   return __builtin_aarch64_lfrintnuv4hfv4hi_us (__a);
32584 }
32585 
32586 __extension__ extern __inline uint16x8_t
32587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u16_f16(float16x8_t __a)32588 vcvtnq_u16_f16 (float16x8_t __a)
32589 {
32590   return __builtin_aarch64_lfrintnuv8hfv8hi_us (__a);
32591 }
32592 
32593 __extension__ extern __inline int16x4_t
32594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s16_f16(float16x4_t __a)32595 vcvtp_s16_f16 (float16x4_t __a)
32596 {
32597   return __builtin_aarch64_lceilv4hfv4hi (__a);
32598 }
32599 
32600 __extension__ extern __inline int16x8_t
32601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s16_f16(float16x8_t __a)32602 vcvtpq_s16_f16 (float16x8_t __a)
32603 {
32604   return __builtin_aarch64_lceilv8hfv8hi (__a);
32605 }
32606 
32607 __extension__ extern __inline uint16x4_t
32608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u16_f16(float16x4_t __a)32609 vcvtp_u16_f16 (float16x4_t __a)
32610 {
32611   return __builtin_aarch64_lceiluv4hfv4hi_us (__a);
32612 }
32613 
32614 __extension__ extern __inline uint16x8_t
32615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u16_f16(float16x8_t __a)32616 vcvtpq_u16_f16 (float16x8_t __a)
32617 {
32618   return __builtin_aarch64_lceiluv8hfv8hi_us (__a);
32619 }
32620 
32621 __extension__ extern __inline float16x4_t
32622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f16(float16x4_t __a)32623 vneg_f16 (float16x4_t __a)
32624 {
32625   return -__a;
32626 }
32627 
32628 __extension__ extern __inline float16x8_t
32629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f16(float16x8_t __a)32630 vnegq_f16 (float16x8_t __a)
32631 {
32632   return -__a;
32633 }
32634 
32635 __extension__ extern __inline float16x4_t
32636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f16(float16x4_t __a)32637 vrecpe_f16 (float16x4_t __a)
32638 {
32639   return __builtin_aarch64_frecpev4hf (__a);
32640 }
32641 
32642 __extension__ extern __inline float16x8_t
32643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f16(float16x8_t __a)32644 vrecpeq_f16 (float16x8_t __a)
32645 {
32646   return __builtin_aarch64_frecpev8hf (__a);
32647 }
32648 
32649 __extension__ extern __inline float16x4_t
32650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f16(float16x4_t __a)32651 vrnd_f16 (float16x4_t __a)
32652 {
32653   return __builtin_aarch64_btruncv4hf (__a);
32654 }
32655 
32656 __extension__ extern __inline float16x8_t
32657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f16(float16x8_t __a)32658 vrndq_f16 (float16x8_t __a)
32659 {
32660   return __builtin_aarch64_btruncv8hf (__a);
32661 }
32662 
32663 __extension__ extern __inline float16x4_t
32664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f16(float16x4_t __a)32665 vrnda_f16 (float16x4_t __a)
32666 {
32667   return __builtin_aarch64_roundv4hf (__a);
32668 }
32669 
32670 __extension__ extern __inline float16x8_t
32671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f16(float16x8_t __a)32672 vrndaq_f16 (float16x8_t __a)
32673 {
32674   return __builtin_aarch64_roundv8hf (__a);
32675 }
32676 
32677 __extension__ extern __inline float16x4_t
32678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f16(float16x4_t __a)32679 vrndi_f16 (float16x4_t __a)
32680 {
32681   return __builtin_aarch64_nearbyintv4hf (__a);
32682 }
32683 
32684 __extension__ extern __inline float16x8_t
32685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f16(float16x8_t __a)32686 vrndiq_f16 (float16x8_t __a)
32687 {
32688   return __builtin_aarch64_nearbyintv8hf (__a);
32689 }
32690 
32691 __extension__ extern __inline float16x4_t
32692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f16(float16x4_t __a)32693 vrndm_f16 (float16x4_t __a)
32694 {
32695   return __builtin_aarch64_floorv4hf (__a);
32696 }
32697 
32698 __extension__ extern __inline float16x8_t
32699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f16(float16x8_t __a)32700 vrndmq_f16 (float16x8_t __a)
32701 {
32702   return __builtin_aarch64_floorv8hf (__a);
32703 }
32704 
32705 __extension__ extern __inline float16x4_t
32706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f16(float16x4_t __a)32707 vrndn_f16 (float16x4_t __a)
32708 {
32709   return __builtin_aarch64_frintnv4hf (__a);
32710 }
32711 
32712 __extension__ extern __inline float16x8_t
32713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f16(float16x8_t __a)32714 vrndnq_f16 (float16x8_t __a)
32715 {
32716   return __builtin_aarch64_frintnv8hf (__a);
32717 }
32718 
32719 __extension__ extern __inline float16x4_t
32720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f16(float16x4_t __a)32721 vrndp_f16 (float16x4_t __a)
32722 {
32723   return __builtin_aarch64_ceilv4hf (__a);
32724 }
32725 
32726 __extension__ extern __inline float16x8_t
32727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f16(float16x8_t __a)32728 vrndpq_f16 (float16x8_t __a)
32729 {
32730   return __builtin_aarch64_ceilv8hf (__a);
32731 }
32732 
32733 __extension__ extern __inline float16x4_t
32734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f16(float16x4_t __a)32735 vrndx_f16 (float16x4_t __a)
32736 {
32737   return __builtin_aarch64_rintv4hf (__a);
32738 }
32739 
32740 __extension__ extern __inline float16x8_t
32741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f16(float16x8_t __a)32742 vrndxq_f16 (float16x8_t __a)
32743 {
32744   return __builtin_aarch64_rintv8hf (__a);
32745 }
32746 
32747 __extension__ extern __inline float16x4_t
32748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f16(float16x4_t __a)32749 vrsqrte_f16 (float16x4_t __a)
32750 {
32751   return __builtin_aarch64_rsqrtev4hf (__a);
32752 }
32753 
32754 __extension__ extern __inline float16x8_t
32755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f16(float16x8_t __a)32756 vrsqrteq_f16 (float16x8_t __a)
32757 {
32758   return __builtin_aarch64_rsqrtev8hf (__a);
32759 }
32760 
32761 __extension__ extern __inline float16x4_t
32762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f16(float16x4_t __a)32763 vsqrt_f16 (float16x4_t __a)
32764 {
32765   return __builtin_aarch64_sqrtv4hf (__a);
32766 }
32767 
32768 __extension__ extern __inline float16x8_t
32769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f16(float16x8_t __a)32770 vsqrtq_f16 (float16x8_t __a)
32771 {
32772   return __builtin_aarch64_sqrtv8hf (__a);
32773 }
32774 
32775 /* ARMv8.2-A FP16 two operands vector intrinsics.  */
32776 
32777 __extension__ extern __inline float16x4_t
32778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f16(float16x4_t __a,float16x4_t __b)32779 vadd_f16 (float16x4_t __a, float16x4_t __b)
32780 {
32781   return __a + __b;
32782 }
32783 
32784 __extension__ extern __inline float16x8_t
32785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f16(float16x8_t __a,float16x8_t __b)32786 vaddq_f16 (float16x8_t __a, float16x8_t __b)
32787 {
32788   return __a + __b;
32789 }
32790 
32791 __extension__ extern __inline float16x4_t
32792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f16(float16x4_t __a,float16x4_t __b)32793 vabd_f16 (float16x4_t __a, float16x4_t __b)
32794 {
32795   return __builtin_aarch64_fabdv4hf (__a, __b);
32796 }
32797 
32798 __extension__ extern __inline float16x8_t
32799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f16(float16x8_t __a,float16x8_t __b)32800 vabdq_f16 (float16x8_t __a, float16x8_t __b)
32801 {
32802   return __builtin_aarch64_fabdv8hf (__a, __b);
32803 }
32804 
32805 __extension__ extern __inline uint16x4_t
32806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f16(float16x4_t __a,float16x4_t __b)32807 vcage_f16 (float16x4_t __a, float16x4_t __b)
32808 {
32809   return __builtin_aarch64_facgev4hf_uss (__a, __b);
32810 }
32811 
32812 __extension__ extern __inline uint16x8_t
32813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f16(float16x8_t __a,float16x8_t __b)32814 vcageq_f16 (float16x8_t __a, float16x8_t __b)
32815 {
32816   return __builtin_aarch64_facgev8hf_uss (__a, __b);
32817 }
32818 
32819 __extension__ extern __inline uint16x4_t
32820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f16(float16x4_t __a,float16x4_t __b)32821 vcagt_f16 (float16x4_t __a, float16x4_t __b)
32822 {
32823   return __builtin_aarch64_facgtv4hf_uss (__a, __b);
32824 }
32825 
32826 __extension__ extern __inline uint16x8_t
32827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f16(float16x8_t __a,float16x8_t __b)32828 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
32829 {
32830   return __builtin_aarch64_facgtv8hf_uss (__a, __b);
32831 }
32832 
32833 __extension__ extern __inline uint16x4_t
32834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f16(float16x4_t __a,float16x4_t __b)32835 vcale_f16 (float16x4_t __a, float16x4_t __b)
32836 {
32837   return __builtin_aarch64_faclev4hf_uss (__a, __b);
32838 }
32839 
32840 __extension__ extern __inline uint16x8_t
32841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f16(float16x8_t __a,float16x8_t __b)32842 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
32843 {
32844   return __builtin_aarch64_faclev8hf_uss (__a, __b);
32845 }
32846 
32847 __extension__ extern __inline uint16x4_t
32848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f16(float16x4_t __a,float16x4_t __b)32849 vcalt_f16 (float16x4_t __a, float16x4_t __b)
32850 {
32851   return __builtin_aarch64_facltv4hf_uss (__a, __b);
32852 }
32853 
32854 __extension__ extern __inline uint16x8_t
32855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f16(float16x8_t __a,float16x8_t __b)32856 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
32857 {
32858   return __builtin_aarch64_facltv8hf_uss (__a, __b);
32859 }
32860 
32861 __extension__ extern __inline uint16x4_t
32862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f16(float16x4_t __a,float16x4_t __b)32863 vceq_f16 (float16x4_t __a, float16x4_t __b)
32864 {
32865   return __builtin_aarch64_cmeqv4hf_uss (__a, __b);
32866 }
32867 
32868 __extension__ extern __inline uint16x8_t
32869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f16(float16x8_t __a,float16x8_t __b)32870 vceqq_f16 (float16x8_t __a, float16x8_t __b)
32871 {
32872   return __builtin_aarch64_cmeqv8hf_uss (__a, __b);
32873 }
32874 
32875 __extension__ extern __inline uint16x4_t
32876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f16(float16x4_t __a,float16x4_t __b)32877 vcge_f16 (float16x4_t __a, float16x4_t __b)
32878 {
32879   return __builtin_aarch64_cmgev4hf_uss (__a, __b);
32880 }
32881 
32882 __extension__ extern __inline uint16x8_t
32883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f16(float16x8_t __a,float16x8_t __b)32884 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
32885 {
32886   return __builtin_aarch64_cmgev8hf_uss (__a, __b);
32887 }
32888 
32889 __extension__ extern __inline uint16x4_t
32890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f16(float16x4_t __a,float16x4_t __b)32891 vcgt_f16 (float16x4_t __a, float16x4_t __b)
32892 {
32893   return __builtin_aarch64_cmgtv4hf_uss (__a, __b);
32894 }
32895 
32896 __extension__ extern __inline uint16x8_t
32897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f16(float16x8_t __a,float16x8_t __b)32898 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
32899 {
32900   return __builtin_aarch64_cmgtv8hf_uss (__a, __b);
32901 }
32902 
32903 __extension__ extern __inline uint16x4_t
32904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f16(float16x4_t __a,float16x4_t __b)32905 vcle_f16 (float16x4_t __a, float16x4_t __b)
32906 {
32907   return __builtin_aarch64_cmlev4hf_uss (__a, __b);
32908 }
32909 
32910 __extension__ extern __inline uint16x8_t
32911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f16(float16x8_t __a,float16x8_t __b)32912 vcleq_f16 (float16x8_t __a, float16x8_t __b)
32913 {
32914   return __builtin_aarch64_cmlev8hf_uss (__a, __b);
32915 }
32916 
32917 __extension__ extern __inline uint16x4_t
32918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f16(float16x4_t __a,float16x4_t __b)32919 vclt_f16 (float16x4_t __a, float16x4_t __b)
32920 {
32921   return __builtin_aarch64_cmltv4hf_uss (__a, __b);
32922 }
32923 
32924 __extension__ extern __inline uint16x8_t
32925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f16(float16x8_t __a,float16x8_t __b)32926 vcltq_f16 (float16x8_t __a, float16x8_t __b)
32927 {
32928   return __builtin_aarch64_cmltv8hf_uss (__a, __b);
32929 }
32930 
32931 __extension__ extern __inline float16x4_t
32932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_s16(int16x4_t __a,const int __b)32933 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
32934 {
32935   return __builtin_aarch64_scvtfv4hi (__a, __b);
32936 }
32937 
32938 __extension__ extern __inline float16x8_t
32939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_s16(int16x8_t __a,const int __b)32940 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
32941 {
32942   return __builtin_aarch64_scvtfv8hi (__a, __b);
32943 }
32944 
32945 __extension__ extern __inline float16x4_t
32946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_u16(uint16x4_t __a,const int __b)32947 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
32948 {
32949   return __builtin_aarch64_ucvtfv4hi_sus (__a, __b);
32950 }
32951 
32952 __extension__ extern __inline float16x8_t
32953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_u16(uint16x8_t __a,const int __b)32954 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
32955 {
32956   return __builtin_aarch64_ucvtfv8hi_sus (__a, __b);
32957 }
32958 
32959 __extension__ extern __inline int16x4_t
32960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s16_f16(float16x4_t __a,const int __b)32961 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
32962 {
32963   return __builtin_aarch64_fcvtzsv4hf (__a, __b);
32964 }
32965 
32966 __extension__ extern __inline int16x8_t
32967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s16_f16(float16x8_t __a,const int __b)32968 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
32969 {
32970   return __builtin_aarch64_fcvtzsv8hf (__a, __b);
32971 }
32972 
32973 __extension__ extern __inline uint16x4_t
32974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u16_f16(float16x4_t __a,const int __b)32975 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
32976 {
32977   return __builtin_aarch64_fcvtzuv4hf_uss (__a, __b);
32978 }
32979 
32980 __extension__ extern __inline uint16x8_t
32981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u16_f16(float16x8_t __a,const int __b)32982 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
32983 {
32984   return __builtin_aarch64_fcvtzuv8hf_uss (__a, __b);
32985 }
32986 
32987 __extension__ extern __inline float16x4_t
32988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f16(float16x4_t __a,float16x4_t __b)32989 vdiv_f16 (float16x4_t __a, float16x4_t __b)
32990 {
32991   return __a / __b;
32992 }
32993 
32994 __extension__ extern __inline float16x8_t
32995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f16(float16x8_t __a,float16x8_t __b)32996 vdivq_f16 (float16x8_t __a, float16x8_t __b)
32997 {
32998   return __a / __b;
32999 }
33000 
33001 __extension__ extern __inline float16x4_t
33002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f16(float16x4_t __a,float16x4_t __b)33003 vmax_f16 (float16x4_t __a, float16x4_t __b)
33004 {
33005   return __builtin_aarch64_smax_nanv4hf (__a, __b);
33006 }
33007 
33008 __extension__ extern __inline float16x8_t
33009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f16(float16x8_t __a,float16x8_t __b)33010 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
33011 {
33012   return __builtin_aarch64_smax_nanv8hf (__a, __b);
33013 }
33014 
33015 __extension__ extern __inline float16x4_t
33016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f16(float16x4_t __a,float16x4_t __b)33017 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
33018 {
33019   return __builtin_aarch64_fmaxv4hf (__a, __b);
33020 }
33021 
33022 __extension__ extern __inline float16x8_t
33023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f16(float16x8_t __a,float16x8_t __b)33024 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
33025 {
33026   return __builtin_aarch64_fmaxv8hf (__a, __b);
33027 }
33028 
33029 __extension__ extern __inline float16x4_t
33030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f16(float16x4_t __a,float16x4_t __b)33031 vmin_f16 (float16x4_t __a, float16x4_t __b)
33032 {
33033   return __builtin_aarch64_smin_nanv4hf (__a, __b);
33034 }
33035 
33036 __extension__ extern __inline float16x8_t
33037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f16(float16x8_t __a,float16x8_t __b)33038 vminq_f16 (float16x8_t __a, float16x8_t __b)
33039 {
33040   return __builtin_aarch64_smin_nanv8hf (__a, __b);
33041 }
33042 
33043 __extension__ extern __inline float16x4_t
33044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f16(float16x4_t __a,float16x4_t __b)33045 vminnm_f16 (float16x4_t __a, float16x4_t __b)
33046 {
33047   return __builtin_aarch64_fminv4hf (__a, __b);
33048 }
33049 
33050 __extension__ extern __inline float16x8_t
33051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f16(float16x8_t __a,float16x8_t __b)33052 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
33053 {
33054   return __builtin_aarch64_fminv8hf (__a, __b);
33055 }
33056 
33057 __extension__ extern __inline float16x4_t
33058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f16(float16x4_t __a,float16x4_t __b)33059 vmul_f16 (float16x4_t __a, float16x4_t __b)
33060 {
33061   return __a * __b;
33062 }
33063 
33064 __extension__ extern __inline float16x8_t
33065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f16(float16x8_t __a,float16x8_t __b)33066 vmulq_f16 (float16x8_t __a, float16x8_t __b)
33067 {
33068   return __a * __b;
33069 }
33070 
33071 __extension__ extern __inline float16x4_t
33072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f16(float16x4_t __a,float16x4_t __b)33073 vmulx_f16 (float16x4_t __a, float16x4_t __b)
33074 {
33075   return __builtin_aarch64_fmulxv4hf (__a, __b);
33076 }
33077 
33078 __extension__ extern __inline float16x8_t
33079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f16(float16x8_t __a,float16x8_t __b)33080 vmulxq_f16 (float16x8_t __a, float16x8_t __b)
33081 {
33082   return __builtin_aarch64_fmulxv8hf (__a, __b);
33083 }
33084 
33085 __extension__ extern __inline float16x4_t
33086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f16(float16x4_t __a,float16x4_t __b)33087 vpadd_f16 (float16x4_t __a, float16x4_t __b)
33088 {
33089   return __builtin_aarch64_faddpv4hf (__a, __b);
33090 }
33091 
33092 __extension__ extern __inline float16x8_t
33093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f16(float16x8_t __a,float16x8_t __b)33094 vpaddq_f16 (float16x8_t __a, float16x8_t __b)
33095 {
33096   return __builtin_aarch64_faddpv8hf (__a, __b);
33097 }
33098 
33099 __extension__ extern __inline float16x4_t
33100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f16(float16x4_t __a,float16x4_t __b)33101 vpmax_f16 (float16x4_t __a, float16x4_t __b)
33102 {
33103   return __builtin_aarch64_smax_nanpv4hf (__a, __b);
33104 }
33105 
33106 __extension__ extern __inline float16x8_t
33107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f16(float16x8_t __a,float16x8_t __b)33108 vpmaxq_f16 (float16x8_t __a, float16x8_t __b)
33109 {
33110   return __builtin_aarch64_smax_nanpv8hf (__a, __b);
33111 }
33112 
33113 __extension__ extern __inline float16x4_t
33114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f16(float16x4_t __a,float16x4_t __b)33115 vpmaxnm_f16 (float16x4_t __a, float16x4_t __b)
33116 {
33117   return __builtin_aarch64_smaxpv4hf (__a, __b);
33118 }
33119 
33120 __extension__ extern __inline float16x8_t
33121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f16(float16x8_t __a,float16x8_t __b)33122 vpmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
33123 {
33124   return __builtin_aarch64_smaxpv8hf (__a, __b);
33125 }
33126 
33127 __extension__ extern __inline float16x4_t
33128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f16(float16x4_t __a,float16x4_t __b)33129 vpmin_f16 (float16x4_t __a, float16x4_t __b)
33130 {
33131   return __builtin_aarch64_smin_nanpv4hf (__a, __b);
33132 }
33133 
33134 __extension__ extern __inline float16x8_t
33135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f16(float16x8_t __a,float16x8_t __b)33136 vpminq_f16 (float16x8_t __a, float16x8_t __b)
33137 {
33138   return __builtin_aarch64_smin_nanpv8hf (__a, __b);
33139 }
33140 
33141 __extension__ extern __inline float16x4_t
33142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f16(float16x4_t __a,float16x4_t __b)33143 vpminnm_f16 (float16x4_t __a, float16x4_t __b)
33144 {
33145   return __builtin_aarch64_sminpv4hf (__a, __b);
33146 }
33147 
33148 __extension__ extern __inline float16x8_t
33149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f16(float16x8_t __a,float16x8_t __b)33150 vpminnmq_f16 (float16x8_t __a, float16x8_t __b)
33151 {
33152   return __builtin_aarch64_sminpv8hf (__a, __b);
33153 }
33154 
33155 __extension__ extern __inline float16x4_t
33156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f16(float16x4_t __a,float16x4_t __b)33157 vrecps_f16 (float16x4_t __a, float16x4_t __b)
33158 {
33159   return __builtin_aarch64_frecpsv4hf (__a, __b);
33160 }
33161 
33162 __extension__ extern __inline float16x8_t
33163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f16(float16x8_t __a,float16x8_t __b)33164 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
33165 {
33166   return __builtin_aarch64_frecpsv8hf (__a, __b);
33167 }
33168 
33169 __extension__ extern __inline float16x4_t
33170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f16(float16x4_t __a,float16x4_t __b)33171 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
33172 {
33173   return __builtin_aarch64_rsqrtsv4hf (__a, __b);
33174 }
33175 
33176 __extension__ extern __inline float16x8_t
33177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f16(float16x8_t __a,float16x8_t __b)33178 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
33179 {
33180   return __builtin_aarch64_rsqrtsv8hf (__a, __b);
33181 }
33182 
33183 __extension__ extern __inline float16x4_t
33184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f16(float16x4_t __a,float16x4_t __b)33185 vsub_f16 (float16x4_t __a, float16x4_t __b)
33186 {
33187   return __a - __b;
33188 }
33189 
33190 __extension__ extern __inline float16x8_t
33191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f16(float16x8_t __a,float16x8_t __b)33192 vsubq_f16 (float16x8_t __a, float16x8_t __b)
33193 {
33194   return __a - __b;
33195 }
33196 
33197 /* ARMv8.2-A FP16 three operands vector intrinsics.  */
33198 
33199 __extension__ extern __inline float16x4_t
33200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)33201 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
33202 {
33203   return __builtin_aarch64_fmav4hf (__b, __c, __a);
33204 }
33205 
33206 __extension__ extern __inline float16x8_t
33207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)33208 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
33209 {
33210   return __builtin_aarch64_fmav8hf (__b, __c, __a);
33211 }
33212 
33213 __extension__ extern __inline float16x4_t
33214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)33215 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
33216 {
33217   return __builtin_aarch64_fnmav4hf (__b, __c, __a);
33218 }
33219 
33220 __extension__ extern __inline float16x8_t
33221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)33222 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
33223 {
33224   return __builtin_aarch64_fnmav8hf (__b, __c, __a);
33225 }
33226 
33227 /* ARMv8.2-A FP16 lane vector intrinsics.  */
33228 
33229 __extension__ extern __inline float16_t
33230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)33231 vfmah_lane_f16 (float16_t __a, float16_t __b,
33232 		float16x4_t __c, const int __lane)
33233 {
33234   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33235 }
33236 
33237 __extension__ extern __inline float16_t
33238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)33239 vfmah_laneq_f16 (float16_t __a, float16_t __b,
33240 		 float16x8_t __c, const int __lane)
33241 {
33242   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33243 }
33244 
33245 __extension__ extern __inline float16x4_t
33246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)33247 vfma_lane_f16 (float16x4_t __a, float16x4_t __b,
33248 	       float16x4_t __c, const int __lane)
33249 {
33250   return vfma_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
33251 }
33252 
33253 __extension__ extern __inline float16x8_t
33254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)33255 vfmaq_lane_f16 (float16x8_t __a, float16x8_t __b,
33256 		float16x4_t __c, const int __lane)
33257 {
33258   return vfmaq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
33259 }
33260 
33261 __extension__ extern __inline float16x4_t
33262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)33263 vfma_laneq_f16 (float16x4_t __a, float16x4_t __b,
33264 		float16x8_t __c, const int __lane)
33265 {
33266   return vfma_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
33267 }
33268 
33269 __extension__ extern __inline float16x8_t
33270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)33271 vfmaq_laneq_f16 (float16x8_t __a, float16x8_t __b,
33272 		 float16x8_t __c, const int __lane)
33273 {
33274   return vfmaq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
33275 }
33276 
33277 __extension__ extern __inline float16x4_t
33278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)33279 vfma_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
33280 {
33281   return vfma_f16 (__a, __b, vdup_n_f16 (__c));
33282 }
33283 
33284 __extension__ extern __inline float16x8_t
33285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)33286 vfmaq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
33287 {
33288   return vfmaq_f16 (__a, __b, vdupq_n_f16 (__c));
33289 }
33290 
33291 __extension__ extern __inline float16_t
33292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)33293 vfmsh_lane_f16 (float16_t __a, float16_t __b,
33294 		float16x4_t __c, const int __lane)
33295 {
33296   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33297 }
33298 
33299 __extension__ extern __inline float16_t
33300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)33301 vfmsh_laneq_f16 (float16_t __a, float16_t __b,
33302 		 float16x8_t __c, const int __lane)
33303 {
33304   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33305 }
33306 
33307 __extension__ extern __inline float16x4_t
33308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)33309 vfms_lane_f16 (float16x4_t __a, float16x4_t __b,
33310 	       float16x4_t __c, const int __lane)
33311 {
33312   return vfms_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
33313 }
33314 
33315 __extension__ extern __inline float16x8_t
33316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)33317 vfmsq_lane_f16 (float16x8_t __a, float16x8_t __b,
33318 		float16x4_t __c, const int __lane)
33319 {
33320   return vfmsq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
33321 }
33322 
33323 __extension__ extern __inline float16x4_t
33324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)33325 vfms_laneq_f16 (float16x4_t __a, float16x4_t __b,
33326 		float16x8_t __c, const int __lane)
33327 {
33328   return vfms_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
33329 }
33330 
33331 __extension__ extern __inline float16x8_t
33332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)33333 vfmsq_laneq_f16 (float16x8_t __a, float16x8_t __b,
33334 		 float16x8_t __c, const int __lane)
33335 {
33336   return vfmsq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
33337 }
33338 
33339 __extension__ extern __inline float16x4_t
33340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)33341 vfms_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
33342 {
33343   return vfms_f16 (__a, __b, vdup_n_f16 (__c));
33344 }
33345 
33346 __extension__ extern __inline float16x8_t
33347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)33348 vfmsq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
33349 {
33350   return vfmsq_f16 (__a, __b, vdupq_n_f16 (__c));
33351 }
33352 
33353 __extension__ extern __inline float16_t
33354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)33355 vmulh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
33356 {
33357   return __a * __aarch64_vget_lane_any (__b, __lane);
33358 }
33359 
33360 __extension__ extern __inline float16x4_t
33361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)33362 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
33363 {
33364   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33365 }
33366 
33367 __extension__ extern __inline float16x8_t
33368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)33369 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
33370 {
33371   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33372 }
33373 
33374 __extension__ extern __inline float16_t
33375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)33376 vmulh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
33377 {
33378   return __a * __aarch64_vget_lane_any (__b, __lane);
33379 }
33380 
33381 __extension__ extern __inline float16x4_t
33382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)33383 vmul_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
33384 {
33385   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33386 }
33387 
33388 __extension__ extern __inline float16x8_t
33389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)33390 vmulq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
33391 {
33392   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33393 }
33394 
33395 __extension__ extern __inline float16x4_t
33396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f16(float16x4_t __a,float16_t __b)33397 vmul_n_f16 (float16x4_t __a, float16_t __b)
33398 {
33399   return vmul_lane_f16 (__a, vdup_n_f16 (__b), 0);
33400 }
33401 
33402 __extension__ extern __inline float16x8_t
33403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f16(float16x8_t __a,float16_t __b)33404 vmulq_n_f16 (float16x8_t __a, float16_t __b)
33405 {
33406   return vmulq_laneq_f16 (__a, vdupq_n_f16 (__b), 0);
33407 }
33408 
33409 __extension__ extern __inline float16_t
33410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)33411 vmulxh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
33412 {
33413   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
33414 }
33415 
33416 __extension__ extern __inline float16x4_t
33417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)33418 vmulx_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
33419 {
33420   return vmulx_f16 (__a, __aarch64_vdup_lane_f16 (__b, __lane));
33421 }
33422 
33423 __extension__ extern __inline float16x8_t
33424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)33425 vmulxq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
33426 {
33427   return vmulxq_f16 (__a, __aarch64_vdupq_lane_f16 (__b, __lane));
33428 }
33429 
33430 __extension__ extern __inline float16_t
33431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)33432 vmulxh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
33433 {
33434   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
33435 }
33436 
33437 __extension__ extern __inline float16x4_t
33438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)33439 vmulx_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
33440 {
33441   return vmulx_f16 (__a, __aarch64_vdup_laneq_f16 (__b, __lane));
33442 }
33443 
33444 __extension__ extern __inline float16x8_t
33445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)33446 vmulxq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
33447 {
33448   return vmulxq_f16 (__a, __aarch64_vdupq_laneq_f16 (__b, __lane));
33449 }
33450 
33451 __extension__ extern __inline float16x4_t
33452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_n_f16(float16x4_t __a,float16_t __b)33453 vmulx_n_f16 (float16x4_t __a, float16_t __b)
33454 {
33455   return vmulx_f16 (__a, vdup_n_f16 (__b));
33456 }
33457 
33458 __extension__ extern __inline float16x8_t
33459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_n_f16(float16x8_t __a,float16_t __b)33460 vmulxq_n_f16 (float16x8_t __a, float16_t __b)
33461 {
33462   return vmulxq_f16 (__a, vdupq_n_f16 (__b));
33463 }
33464 
33465 /* ARMv8.2-A FP16 reduction vector intrinsics.  */
33466 
33467 __extension__ extern __inline float16_t
33468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f16(float16x4_t __a)33469 vmaxv_f16 (float16x4_t __a)
33470 {
33471   return __builtin_aarch64_reduc_smax_nan_scal_v4hf (__a);
33472 }
33473 
33474 __extension__ extern __inline float16_t
33475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f16(float16x8_t __a)33476 vmaxvq_f16 (float16x8_t __a)
33477 {
33478   return __builtin_aarch64_reduc_smax_nan_scal_v8hf (__a);
33479 }
33480 
33481 __extension__ extern __inline float16_t
33482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f16(float16x4_t __a)33483 vminv_f16 (float16x4_t __a)
33484 {
33485   return __builtin_aarch64_reduc_smin_nan_scal_v4hf (__a);
33486 }
33487 
33488 __extension__ extern __inline float16_t
33489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f16(float16x8_t __a)33490 vminvq_f16 (float16x8_t __a)
33491 {
33492   return __builtin_aarch64_reduc_smin_nan_scal_v8hf (__a);
33493 }
33494 
33495 __extension__ extern __inline float16_t
33496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f16(float16x4_t __a)33497 vmaxnmv_f16 (float16x4_t __a)
33498 {
33499   return __builtin_aarch64_reduc_smax_scal_v4hf (__a);
33500 }
33501 
33502 __extension__ extern __inline float16_t
33503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f16(float16x8_t __a)33504 vmaxnmvq_f16 (float16x8_t __a)
33505 {
33506   return __builtin_aarch64_reduc_smax_scal_v8hf (__a);
33507 }
33508 
33509 __extension__ extern __inline float16_t
33510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f16(float16x4_t __a)33511 vminnmv_f16 (float16x4_t __a)
33512 {
33513   return __builtin_aarch64_reduc_smin_scal_v4hf (__a);
33514 }
33515 
33516 __extension__ extern __inline float16_t
33517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f16(float16x8_t __a)33518 vminnmvq_f16 (float16x8_t __a)
33519 {
33520   return __builtin_aarch64_reduc_smin_scal_v8hf (__a);
33521 }
33522 
33523 #pragma GCC pop_options
33524 
33525 /* AdvSIMD Dot Product intrinsics.  */
33526 
33527 #pragma GCC push_options
33528 #pragma GCC target ("arch=armv8.2-a+dotprod")
33529 
33530 __extension__ extern __inline uint32x2_t
33531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b)33532 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
33533 {
33534   return __builtin_aarch64_udotv8qi_uuuu (__r, __a, __b);
33535 }
33536 
33537 __extension__ extern __inline uint32x4_t
33538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)33539 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
33540 {
33541   return __builtin_aarch64_udotv16qi_uuuu (__r, __a, __b);
33542 }
33543 
33544 __extension__ extern __inline int32x2_t
33545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b)33546 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
33547 {
33548   return __builtin_aarch64_sdotv8qi (__r, __a, __b);
33549 }
33550 
33551 __extension__ extern __inline int32x4_t
33552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)33553 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
33554 {
33555   return __builtin_aarch64_sdotv16qi (__r, __a, __b);
33556 }
33557 
33558 __extension__ extern __inline uint32x2_t
33559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b,const int __index)33560 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
33561 {
33562   return __builtin_aarch64_udot_lanev8qi_uuuus (__r, __a, __b, __index);
33563 }
33564 
33565 __extension__ extern __inline uint32x2_t
33566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_u32(uint32x2_t __r,uint8x8_t __a,uint8x16_t __b,const int __index)33567 vdot_laneq_u32 (uint32x2_t __r, uint8x8_t __a, uint8x16_t __b,
33568 		const int __index)
33569 {
33570   return __builtin_aarch64_udot_laneqv8qi_uuuus (__r, __a, __b, __index);
33571 }
33572 
33573 __extension__ extern __inline uint32x4_t
33574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_u32(uint32x4_t __r,uint8x16_t __a,uint8x8_t __b,const int __index)33575 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
33576 		const int __index)
33577 {
33578   return __builtin_aarch64_udot_lanev16qi_uuuus (__r, __a, __b, __index);
33579 }
33580 
33581 __extension__ extern __inline uint32x4_t
33582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b,const int __index)33583 vdotq_laneq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b,
33584 		 const int __index)
33585 {
33586   return __builtin_aarch64_udot_laneqv16qi_uuuus (__r, __a, __b, __index);
33587 }
33588 
33589 __extension__ extern __inline int32x2_t
33590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b,const int __index)33591 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
33592 {
33593   return __builtin_aarch64_sdot_lanev8qi (__r, __a, __b, __index);
33594 }
33595 
33596 __extension__ extern __inline int32x2_t
33597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_s32(int32x2_t __r,int8x8_t __a,int8x16_t __b,const int __index)33598 vdot_laneq_s32 (int32x2_t __r, int8x8_t __a, int8x16_t __b, const int __index)
33599 {
33600   return __builtin_aarch64_sdot_laneqv8qi (__r, __a, __b, __index);
33601 }
33602 
33603 __extension__ extern __inline int32x4_t
33604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_s32(int32x4_t __r,int8x16_t __a,int8x8_t __b,const int __index)33605 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
33606 {
33607   return __builtin_aarch64_sdot_lanev16qi (__r, __a, __b, __index);
33608 }
33609 
33610 __extension__ extern __inline int32x4_t
33611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b,const int __index)33612 vdotq_laneq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b, const int __index)
33613 {
33614   return __builtin_aarch64_sdot_laneqv16qi (__r, __a, __b, __index);
33615 }
33616 #pragma GCC pop_options
33617 
33618 #pragma GCC push_options
33619 #pragma GCC target ("arch=armv8.2-a+sm4")
33620 
33621 __extension__ extern __inline uint32x4_t
33622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3ss1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33623 vsm3ss1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33624 {
33625   return __builtin_aarch64_sm3ss1qv4si_uuuu (__a, __b, __c);
33626 }
33627 
33628 __extension__ extern __inline uint32x4_t
33629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33630 vsm3tt1aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33631 {
33632   return __builtin_aarch64_sm3tt1aqv4si_uuuus (__a, __b, __c, __imm2);
33633 }
33634 
33635 __extension__ extern __inline uint32x4_t
33636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33637 vsm3tt1bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33638 {
33639   return __builtin_aarch64_sm3tt1bqv4si_uuuus (__a, __b, __c, __imm2);
33640 }
33641 
33642 __extension__ extern __inline uint32x4_t
33643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33644 vsm3tt2aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33645 {
33646   return __builtin_aarch64_sm3tt2aqv4si_uuuus (__a, __b, __c, __imm2);
33647 }
33648 
33649 __extension__ extern __inline uint32x4_t
33650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33651 vsm3tt2bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33652 {
33653   return __builtin_aarch64_sm3tt2bqv4si_uuuus (__a, __b, __c, __imm2);
33654 }
33655 
33656 __extension__ extern __inline uint32x4_t
33657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33658 vsm3partw1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33659 {
33660   return __builtin_aarch64_sm3partw1qv4si_uuuu (__a, __b, __c);
33661 }
33662 __extension__ extern __inline uint32x4_t
33663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw2q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33664 vsm3partw2q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33665 {
33666   return __builtin_aarch64_sm3partw2qv4si_uuuu (__a, __b, __c);
33667 }
33668 
33669 __extension__ extern __inline uint32x4_t
33670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4eq_u32(uint32x4_t __a,uint32x4_t __b)33671 vsm4eq_u32 (uint32x4_t __a, uint32x4_t __b)
33672 {
33673   return __builtin_aarch64_sm4eqv4si_uuu (__a, __b);
33674 }
33675 
33676 __extension__ extern __inline uint32x4_t
33677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4ekeyq_u32(uint32x4_t __a,uint32x4_t __b)33678 vsm4ekeyq_u32 (uint32x4_t __a, uint32x4_t __b)
33679 {
33680   return __builtin_aarch64_sm4ekeyqv4si_uuu (__a, __b);
33681 }
33682 
33683 #pragma GCC pop_options
33684 
33685 #pragma GCC push_options
33686 #pragma GCC target ("arch=armv8.2-a+sha3")
33687 
33688 __extension__ extern __inline uint64x2_t
33689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512hq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33690 vsha512hq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33691 {
33692   return __builtin_aarch64_crypto_sha512hqv2di_uuuu (__a, __b, __c);
33693 }
33694 
33695 __extension__ extern __inline uint64x2_t
33696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512h2q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33697 vsha512h2q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33698 {
33699   return __builtin_aarch64_crypto_sha512h2qv2di_uuuu (__a, __b, __c);
33700 }
33701 
33702 __extension__ extern __inline uint64x2_t
33703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su0q_u64(uint64x2_t __a,uint64x2_t __b)33704 vsha512su0q_u64 (uint64x2_t __a, uint64x2_t __b)
33705 {
33706   return __builtin_aarch64_crypto_sha512su0qv2di_uuu (__a, __b);
33707 }
33708 
33709 __extension__ extern __inline uint64x2_t
33710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su1q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33711 vsha512su1q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33712 {
33713   return __builtin_aarch64_crypto_sha512su1qv2di_uuuu (__a, __b, __c);
33714 }
33715 
33716 __extension__ extern __inline uint8x16_t
33717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)33718 veor3q_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
33719 {
33720   return __builtin_aarch64_eor3qv16qi_uuuu (__a, __b, __c);
33721 }
33722 
33723 __extension__ extern __inline uint16x8_t
33724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)33725 veor3q_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
33726 {
33727   return __builtin_aarch64_eor3qv8hi_uuuu (__a, __b, __c);
33728 }
33729 
33730 __extension__ extern __inline uint32x4_t
33731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33732 veor3q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33733 {
33734   return __builtin_aarch64_eor3qv4si_uuuu (__a, __b, __c);
33735 }
33736 
33737 __extension__ extern __inline uint64x2_t
33738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33739 veor3q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33740 {
33741   return __builtin_aarch64_eor3qv2di_uuuu (__a, __b, __c);
33742 }
33743 
33744 
33745 __extension__ extern __inline int8x16_t
33746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)33747 veor3q_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
33748 {
33749   return __builtin_aarch64_eor3qv16qi (__a, __b, __c);
33750 }
33751 
33752 __extension__ extern __inline int16x8_t
33753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)33754 veor3q_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
33755 {
33756   return __builtin_aarch64_eor3qv8hi (__a, __b, __c);
33757 }
33758 
33759 __extension__ extern __inline int32x4_t
33760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)33761 veor3q_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
33762 {
33763   return __builtin_aarch64_eor3qv4si (__a, __b, __c);
33764 }
33765 
33766 __extension__ extern __inline int64x2_t
33767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)33768 veor3q_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
33769 {
33770   return __builtin_aarch64_eor3qv2di (__a, __b, __c);
33771 }
33772 
33773 __extension__ extern __inline uint64x2_t
33774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrax1q_u64(uint64x2_t __a,uint64x2_t __b)33775 vrax1q_u64 (uint64x2_t __a, uint64x2_t __b)
33776 {
33777   return __builtin_aarch64_rax1qv2di_uuu (__a, __b);
33778 }
33779 
33780 __extension__ extern __inline uint64x2_t
33781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vxarq_u64(uint64x2_t __a,uint64x2_t __b,const int imm6)33782 vxarq_u64 (uint64x2_t __a, uint64x2_t __b, const int imm6)
33783 {
33784   return __builtin_aarch64_xarqv2di_uuus (__a, __b,imm6);
33785 }
33786 
33787 __extension__ extern __inline uint8x16_t
33788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)33789 vbcaxq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
33790 {
33791   return __builtin_aarch64_bcaxqv16qi_uuuu (__a, __b, __c);
33792 }
33793 
33794 __extension__ extern __inline uint16x8_t
33795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)33796 vbcaxq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
33797 {
33798   return __builtin_aarch64_bcaxqv8hi_uuuu (__a, __b, __c);
33799 }
33800 
33801 __extension__ extern __inline uint32x4_t
33802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33803 vbcaxq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33804 {
33805   return __builtin_aarch64_bcaxqv4si_uuuu (__a, __b, __c);
33806 }
33807 
33808 __extension__ extern __inline uint64x2_t
33809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33810 vbcaxq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33811 {
33812   return __builtin_aarch64_bcaxqv2di_uuuu (__a, __b, __c);
33813 }
33814 
33815 __extension__ extern __inline int8x16_t
33816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)33817 vbcaxq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
33818 {
33819   return __builtin_aarch64_bcaxqv16qi (__a, __b, __c);
33820 }
33821 
33822 __extension__ extern __inline int16x8_t
33823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)33824 vbcaxq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
33825 {
33826   return __builtin_aarch64_bcaxqv8hi (__a, __b, __c);
33827 }
33828 
33829 __extension__ extern __inline int32x4_t
33830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)33831 vbcaxq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
33832 {
33833   return __builtin_aarch64_bcaxqv4si (__a, __b, __c);
33834 }
33835 
33836 __extension__ extern __inline int64x2_t
33837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)33838 vbcaxq_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
33839 {
33840   return __builtin_aarch64_bcaxqv2di (__a, __b, __c);
33841 }
33842 
33843 #pragma GCC pop_options
33844 
33845 /* AdvSIMD Complex numbers intrinsics.  */
33846 
33847 #pragma GCC push_options
33848 #pragma GCC target ("arch=armv8.3-a")
33849 
33850 #pragma GCC push_options
33851 #pragma GCC target ("+fp16")
33852 __extension__ extern __inline float16x4_t
33853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f16(float16x4_t __a,float16x4_t __b)33854 vcadd_rot90_f16 (float16x4_t __a, float16x4_t __b)
33855 {
33856   return __builtin_aarch64_fcadd90v4hf (__a, __b);
33857 }
33858 
33859 __extension__ extern __inline float16x8_t
33860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f16(float16x8_t __a,float16x8_t __b)33861 vcaddq_rot90_f16 (float16x8_t __a, float16x8_t __b)
33862 {
33863   return __builtin_aarch64_fcadd90v8hf (__a, __b);
33864 }
33865 
33866 __extension__ extern __inline float16x4_t
33867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f16(float16x4_t __a,float16x4_t __b)33868 vcadd_rot270_f16 (float16x4_t __a, float16x4_t __b)
33869 {
33870   return __builtin_aarch64_fcadd270v4hf (__a, __b);
33871 }
33872 
33873 __extension__ extern __inline float16x8_t
33874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f16(float16x8_t __a,float16x8_t __b)33875 vcaddq_rot270_f16 (float16x8_t __a, float16x8_t __b)
33876 {
33877   return __builtin_aarch64_fcadd270v8hf (__a, __b);
33878 }
33879 
33880 __extension__ extern __inline float16x4_t
33881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33882 vcmla_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33883 {
33884   return __builtin_aarch64_fcmla0v4hf (__r, __a, __b);
33885 }
33886 
33887 __extension__ extern __inline float16x8_t
33888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33889 vcmlaq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33890 {
33891   return __builtin_aarch64_fcmla0v8hf (__r, __a, __b);
33892 }
33893 
33894 __extension__ extern __inline float16x4_t
33895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33896 vcmla_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33897 		const int __index)
33898 {
33899   return __builtin_aarch64_fcmla_lane0v4hf (__r, __a, __b, __index);
33900 }
33901 
33902 __extension__ extern __inline float16x4_t
33903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33904 vcmla_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33905 		 const int __index)
33906 {
33907   return __builtin_aarch64_fcmla_laneq0v4hf (__r, __a, __b, __index);
33908 }
33909 
33910 __extension__ extern __inline float16x8_t
33911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33912 vcmlaq_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33913 		 const int __index)
33914 {
33915   return __builtin_aarch64_fcmlaq_lane0v8hf (__r, __a, __b, __index);
33916 }
33917 
33918 __extension__ extern __inline float16x8_t
33919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33920 vcmlaq_rot90_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33921 		       const int __index)
33922 {
33923   return __builtin_aarch64_fcmlaq_lane90v8hf (__r, __a, __b, __index);
33924 }
33925 
33926 __extension__ extern __inline float16x4_t
33927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33928 vcmla_rot90_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33929 		       const int __index)
33930 {
33931   return __builtin_aarch64_fcmla_laneq90v4hf (__r, __a, __b, __index);
33932 }
33933 
33934 __extension__ extern __inline float16x4_t
33935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33936 vcmla_rot90_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33937 		      const int __index)
33938 {
33939   return __builtin_aarch64_fcmla_lane90v4hf (__r, __a, __b, __index);
33940 }
33941 
33942 __extension__ extern __inline float16x8_t
33943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33944 vcmlaq_rot90_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33945 {
33946   return __builtin_aarch64_fcmla90v8hf (__r, __a, __b);
33947 }
33948 
33949 __extension__ extern __inline float16x4_t
33950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33951 vcmla_rot90_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33952 {
33953   return __builtin_aarch64_fcmla90v4hf (__r, __a, __b);
33954 }
33955 
33956 __extension__ extern __inline float16x8_t
33957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33958 vcmlaq_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33959 		  const int __index)
33960 {
33961   return __builtin_aarch64_fcmla_lane0v8hf (__r, __a, __b, __index);
33962 }
33963 
33964 __extension__ extern __inline float16x4_t
33965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33966 vcmla_rot180_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33967 			const int __index)
33968 {
33969   return __builtin_aarch64_fcmla_laneq180v4hf (__r, __a, __b, __index);
33970 }
33971 
33972 __extension__ extern __inline float16x4_t
33973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33974 vcmla_rot180_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33975 		       const int __index)
33976 {
33977   return __builtin_aarch64_fcmla_lane180v4hf (__r, __a, __b, __index);
33978 }
33979 
33980 __extension__ extern __inline float16x8_t
33981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33982 vcmlaq_rot180_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33983 {
33984   return __builtin_aarch64_fcmla180v8hf (__r, __a, __b);
33985 }
33986 
33987 __extension__ extern __inline float16x4_t
33988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33989 vcmla_rot180_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33990 {
33991   return __builtin_aarch64_fcmla180v4hf (__r, __a, __b);
33992 }
33993 
33994 __extension__ extern __inline float16x8_t
33995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33996 vcmlaq_rot90_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33997 			const int __index)
33998 {
33999   return __builtin_aarch64_fcmla_lane90v8hf (__r, __a, __b, __index);
34000 }
34001 
34002 __extension__ extern __inline float16x8_t
34003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)34004 vcmlaq_rot270_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
34005 			 const int __index)
34006 {
34007   return __builtin_aarch64_fcmla_lane270v8hf (__r, __a, __b, __index);
34008 }
34009 
34010 __extension__ extern __inline float16x8_t
34011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)34012 vcmlaq_rot270_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
34013 			const int __index)
34014 {
34015   return __builtin_aarch64_fcmlaq_lane270v8hf (__r, __a, __b, __index);
34016 }
34017 
34018 __extension__ extern __inline float16x4_t
34019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)34020 vcmla_rot270_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
34021 			const int __index)
34022 {
34023   return __builtin_aarch64_fcmla_laneq270v4hf (__r, __a, __b, __index);
34024 }
34025 
34026 __extension__ extern __inline float16x8_t
34027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)34028 vcmlaq_rot270_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
34029 {
34030   return __builtin_aarch64_fcmla270v8hf (__r, __a, __b);
34031 }
34032 
34033 __extension__ extern __inline float16x4_t
34034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)34035 vcmla_rot270_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
34036 {
34037   return __builtin_aarch64_fcmla270v4hf (__r, __a, __b);
34038 }
34039 
34040 __extension__ extern __inline float16x8_t
34041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)34042 vcmlaq_rot180_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
34043 			 const int __index)
34044 {
34045   return __builtin_aarch64_fcmla_lane180v8hf (__r, __a, __b, __index);
34046 }
34047 
34048 __extension__ extern __inline float16x8_t
34049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)34050 vcmlaq_rot180_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
34051 			const int __index)
34052 {
34053   return __builtin_aarch64_fcmlaq_lane180v8hf (__r, __a, __b, __index);
34054 }
34055 
34056 __extension__ extern __inline float16x4_t
34057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)34058 vcmla_rot270_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
34059 		       const int __index)
34060 {
34061   return __builtin_aarch64_fcmla_lane270v4hf (__r, __a, __b, __index);
34062 }
34063 #pragma GCC pop_options
34064 
34065 __extension__ extern __inline float32x2_t
34066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f32(float32x2_t __a,float32x2_t __b)34067 vcadd_rot90_f32 (float32x2_t __a, float32x2_t __b)
34068 {
34069   return __builtin_aarch64_fcadd90v2sf (__a, __b);
34070 }
34071 
34072 __extension__ extern __inline float32x4_t
34073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f32(float32x4_t __a,float32x4_t __b)34074 vcaddq_rot90_f32 (float32x4_t __a, float32x4_t __b)
34075 {
34076   return __builtin_aarch64_fcadd90v4sf (__a, __b);
34077 }
34078 
34079 __extension__ extern __inline float64x2_t
34080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f64(float64x2_t __a,float64x2_t __b)34081 vcaddq_rot90_f64 (float64x2_t __a, float64x2_t __b)
34082 {
34083   return __builtin_aarch64_fcadd90v2df (__a, __b);
34084 }
34085 
34086 __extension__ extern __inline float32x2_t
34087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f32(float32x2_t __a,float32x2_t __b)34088 vcadd_rot270_f32 (float32x2_t __a, float32x2_t __b)
34089 {
34090   return __builtin_aarch64_fcadd270v2sf (__a, __b);
34091 }
34092 
34093 __extension__ extern __inline float32x4_t
34094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f32(float32x4_t __a,float32x4_t __b)34095 vcaddq_rot270_f32 (float32x4_t __a, float32x4_t __b)
34096 {
34097   return __builtin_aarch64_fcadd270v4sf (__a, __b);
34098 }
34099 
34100 __extension__ extern __inline float64x2_t
34101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f64(float64x2_t __a,float64x2_t __b)34102 vcaddq_rot270_f64 (float64x2_t __a, float64x2_t __b)
34103 {
34104   return __builtin_aarch64_fcadd270v2df (__a, __b);
34105 }
34106 
34107 __extension__ extern __inline float32x2_t
34108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34109 vcmla_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34110 {
34111   return __builtin_aarch64_fcmla0v2sf (__r, __a, __b);
34112 }
34113 
34114 __extension__ extern __inline float32x4_t
34115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34116 vcmlaq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34117 {
34118   return __builtin_aarch64_fcmla0v4sf (__r, __a, __b);
34119 }
34120 
34121 __extension__ extern __inline float64x2_t
34122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34123 vcmlaq_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34124 {
34125   return __builtin_aarch64_fcmla0v2df (__r, __a, __b);
34126 }
34127 
34128 __extension__ extern __inline float32x2_t
34129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34130 vcmla_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34131 		const int __index)
34132 {
34133   return __builtin_aarch64_fcmla_lane0v2sf (__r, __a, __b, __index);
34134 }
34135 
34136 __extension__ extern __inline float32x2_t
34137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34138 vcmla_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34139 		 const int __index)
34140 {
34141   return __builtin_aarch64_fcmla_laneq0v2sf (__r, __a, __b, __index);
34142 }
34143 
34144 __extension__ extern __inline float32x4_t
34145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34146 vcmlaq_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34147 		 const int __index)
34148 {
34149   return __builtin_aarch64_fcmlaq_lane0v4sf (__r, __a, __b, __index);
34150 }
34151 
34152 __extension__ extern __inline float32x4_t
34153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34154 vcmlaq_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34155 		  const int __index)
34156 {
34157   return __builtin_aarch64_fcmla_lane0v4sf (__r, __a, __b, __index);
34158 }
34159 
34160 __extension__ extern __inline float32x2_t
34161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34162 vcmla_rot90_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34163 {
34164   return __builtin_aarch64_fcmla90v2sf (__r, __a, __b);
34165 }
34166 
34167 __extension__ extern __inline float32x4_t
34168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34169 vcmlaq_rot90_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34170 {
34171   return __builtin_aarch64_fcmla90v4sf (__r, __a, __b);
34172 }
34173 
34174 __extension__ extern __inline float64x2_t
34175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34176 vcmlaq_rot90_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34177 {
34178   return __builtin_aarch64_fcmla90v2df (__r, __a, __b);
34179 }
34180 
34181 __extension__ extern __inline float32x2_t
34182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34183 vcmla_rot90_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34184 		      const int __index)
34185 {
34186   return __builtin_aarch64_fcmla_lane90v2sf (__r, __a, __b, __index);
34187 }
34188 
34189 __extension__ extern __inline float32x2_t
34190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34191 vcmla_rot90_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34192 		       const int __index)
34193 {
34194   return __builtin_aarch64_fcmla_laneq90v2sf (__r, __a, __b, __index);
34195 }
34196 
34197 __extension__ extern __inline float32x4_t
34198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34199 vcmlaq_rot90_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34200 		       const int __index)
34201 {
34202   return __builtin_aarch64_fcmlaq_lane90v4sf (__r, __a, __b, __index);
34203 }
34204 
34205 __extension__ extern __inline float32x4_t
34206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34207 vcmlaq_rot90_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34208 			const int __index)
34209 {
34210   return __builtin_aarch64_fcmla_lane90v4sf (__r, __a, __b, __index);
34211 }
34212 
34213 __extension__ extern __inline float32x2_t
34214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34215 vcmla_rot180_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34216 {
34217   return __builtin_aarch64_fcmla180v2sf (__r, __a, __b);
34218 }
34219 
34220 __extension__ extern __inline float32x4_t
34221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34222 vcmlaq_rot180_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34223 {
34224   return __builtin_aarch64_fcmla180v4sf (__r, __a, __b);
34225 }
34226 
34227 __extension__ extern __inline float64x2_t
34228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34229 vcmlaq_rot180_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34230 {
34231   return __builtin_aarch64_fcmla180v2df (__r, __a, __b);
34232 }
34233 
34234 __extension__ extern __inline float32x2_t
34235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34236 vcmla_rot180_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34237 		       const int __index)
34238 {
34239   return __builtin_aarch64_fcmla_lane180v2sf (__r, __a, __b, __index);
34240 }
34241 
34242 __extension__ extern __inline float32x2_t
34243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34244 vcmla_rot180_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34245 			const int __index)
34246 {
34247   return __builtin_aarch64_fcmla_laneq180v2sf (__r, __a, __b, __index);
34248 }
34249 
34250 __extension__ extern __inline float32x4_t
34251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34252 vcmlaq_rot180_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34253 			const int __index)
34254 {
34255   return __builtin_aarch64_fcmlaq_lane180v4sf (__r, __a, __b, __index);
34256 }
34257 
34258 __extension__ extern __inline float32x4_t
34259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34260 vcmlaq_rot180_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34261 			 const int __index)
34262 {
34263   return __builtin_aarch64_fcmla_lane180v4sf (__r, __a, __b, __index);
34264 }
34265 
34266 __extension__ extern __inline float32x2_t
34267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34268 vcmla_rot270_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34269 {
34270   return __builtin_aarch64_fcmla270v2sf (__r, __a, __b);
34271 }
34272 
34273 __extension__ extern __inline float32x4_t
34274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34275 vcmlaq_rot270_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34276 {
34277   return __builtin_aarch64_fcmla270v4sf (__r, __a, __b);
34278 }
34279 
34280 __extension__ extern __inline float64x2_t
34281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34282 vcmlaq_rot270_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34283 {
34284   return __builtin_aarch64_fcmla270v2df (__r, __a, __b);
34285 }
34286 
34287 __extension__ extern __inline float32x2_t
34288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34289 vcmla_rot270_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34290 		       const int __index)
34291 {
34292   return __builtin_aarch64_fcmla_lane270v2sf (__r, __a, __b, __index);
34293 }
34294 
34295 __extension__ extern __inline float32x2_t
34296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34297 vcmla_rot270_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34298 			const int __index)
34299 {
34300   return __builtin_aarch64_fcmla_laneq270v2sf (__r, __a, __b, __index);
34301 }
34302 
34303 __extension__ extern __inline float32x4_t
34304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34305 vcmlaq_rot270_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34306 			const int __index)
34307 {
34308   return __builtin_aarch64_fcmlaq_lane270v4sf (__r, __a, __b, __index);
34309 }
34310 
34311 __extension__ extern __inline float32x4_t
34312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34313 vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34314 			 const int __index)
34315 {
34316   return __builtin_aarch64_fcmla_lane270v4sf (__r, __a, __b, __index);
34317 }
34318 
34319 #pragma GCC pop_options
34320 
34321 #pragma GCC push_options
34322 #pragma GCC target ("arch=armv8.2-a+fp16fml")
34323 
34324 __extension__ extern __inline float32x2_t
34325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34326 vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34327 {
34328   return __builtin_aarch64_fmlal_lowv2sf (__r, __a, __b);
34329 }
34330 
34331 __extension__ extern __inline float32x2_t
34332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34333 vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34334 {
34335   return __builtin_aarch64_fmlsl_lowv2sf (__r, __a, __b);
34336 }
34337 
34338 __extension__ extern __inline float32x4_t
34339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34340 vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34341 {
34342   return __builtin_aarch64_fmlalq_lowv4sf (__r, __a, __b);
34343 }
34344 
34345 __extension__ extern __inline float32x4_t
34346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34347 vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34348 {
34349   return __builtin_aarch64_fmlslq_lowv4sf (__r, __a, __b);
34350 }
34351 
34352 __extension__ extern __inline float32x2_t
34353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34354 vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34355 {
34356   return __builtin_aarch64_fmlal_highv2sf (__r, __a, __b);
34357 }
34358 
34359 __extension__ extern __inline float32x2_t
34360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34361 vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34362 {
34363   return __builtin_aarch64_fmlsl_highv2sf (__r, __a, __b);
34364 }
34365 
34366 __extension__ extern __inline float32x4_t
34367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34368 vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34369 {
34370   return __builtin_aarch64_fmlalq_highv4sf (__r, __a, __b);
34371 }
34372 
34373 __extension__ extern __inline float32x4_t
34374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34375 vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34376 {
34377   return __builtin_aarch64_fmlslq_highv4sf (__r, __a, __b);
34378 }
34379 
34380 __extension__ extern __inline float32x2_t
34381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34382 vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34383 		     const int __lane)
34384 {
34385   return __builtin_aarch64_fmlal_lane_lowv2sf (__r, __a, __b, __lane);
34386 }
34387 
34388 __extension__ extern __inline float32x2_t
34389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34390 vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34391 		     const int __lane)
34392 {
34393   return __builtin_aarch64_fmlsl_lane_lowv2sf (__r, __a, __b, __lane);
34394 }
34395 
34396 __extension__ extern __inline float32x2_t
34397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34398 vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34399 		      const int __lane)
34400 {
34401   return __builtin_aarch64_fmlal_laneq_lowv2sf (__r, __a, __b, __lane);
34402 }
34403 
34404 __extension__ extern __inline float32x2_t
34405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34406 vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34407 		      const int __lane)
34408 {
34409   return __builtin_aarch64_fmlsl_laneq_lowv2sf (__r, __a, __b, __lane);
34410 }
34411 
34412 __extension__ extern __inline float32x4_t
34413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34414 vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34415 		      const int __lane)
34416 {
34417   return __builtin_aarch64_fmlalq_lane_lowv4sf (__r, __a, __b, __lane);
34418 }
34419 
34420 __extension__ extern __inline float32x4_t
34421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34422 vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34423 		      const int __lane)
34424 {
34425   return __builtin_aarch64_fmlslq_lane_lowv4sf (__r, __a, __b, __lane);
34426 }
34427 
34428 __extension__ extern __inline float32x4_t
34429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34430 vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34431 		       const int __lane)
34432 {
34433   return __builtin_aarch64_fmlalq_laneq_lowv4sf (__r, __a, __b, __lane);
34434 }
34435 
34436 __extension__ extern __inline float32x4_t
34437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34438 vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34439 		      const int __lane)
34440 {
34441   return __builtin_aarch64_fmlslq_laneq_lowv4sf (__r, __a, __b, __lane);
34442 }
34443 
34444 __extension__ extern __inline float32x2_t
34445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34446 vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34447 		     const int __lane)
34448 {
34449   return __builtin_aarch64_fmlal_lane_highv2sf (__r, __a, __b, __lane);
34450 }
34451 
34452 __extension__ extern __inline float32x2_t
34453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34454 vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34455 		     const int __lane)
34456 {
34457   return __builtin_aarch64_fmlsl_lane_highv2sf (__r, __a, __b, __lane);
34458 }
34459 
34460 __extension__ extern __inline float32x2_t
34461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34462 vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34463 		      const int __lane)
34464 {
34465   return __builtin_aarch64_fmlal_laneq_highv2sf (__r, __a, __b, __lane);
34466 }
34467 
34468 __extension__ extern __inline float32x2_t
34469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34470 vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34471 		      const int __lane)
34472 {
34473   return __builtin_aarch64_fmlsl_laneq_highv2sf (__r, __a, __b, __lane);
34474 }
34475 
34476 __extension__ extern __inline float32x4_t
34477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34478 vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34479 		      const int __lane)
34480 {
34481   return __builtin_aarch64_fmlalq_lane_highv4sf (__r, __a, __b, __lane);
34482 }
34483 
34484 __extension__ extern __inline float32x4_t
34485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34486 vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34487 		      const int __lane)
34488 {
34489   return __builtin_aarch64_fmlslq_lane_highv4sf (__r, __a, __b, __lane);
34490 }
34491 
34492 __extension__ extern __inline float32x4_t
34493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34494 vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34495 		       const int __lane)
34496 {
34497   return __builtin_aarch64_fmlalq_laneq_highv4sf (__r, __a, __b, __lane);
34498 }
34499 
34500 __extension__ extern __inline float32x4_t
34501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34502 vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34503 		      const int __lane)
34504 {
34505   return __builtin_aarch64_fmlslq_laneq_highv4sf (__r, __a, __b, __lane);
34506 }
34507 
34508 #pragma GCC pop_options
34509 
34510 #pragma GCC push_options
34511 #pragma GCC target ("arch=armv8.5-a")
34512 
34513 __extension__ extern __inline float32x2_t
34514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f32(float32x2_t __a)34515 vrnd32z_f32 (float32x2_t __a)
34516 {
34517   return __builtin_aarch64_frint32zv2sf (__a);
34518 }
34519 
34520 __extension__ extern __inline float32x4_t
34521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f32(float32x4_t __a)34522 vrnd32zq_f32 (float32x4_t __a)
34523 {
34524   return __builtin_aarch64_frint32zv4sf (__a);
34525 }
34526 
34527 __extension__ extern __inline float64x1_t
34528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f64(float64x1_t __a)34529 vrnd32z_f64 (float64x1_t __a)
34530 {
34531   return (float64x1_t)
34532 	   {__builtin_aarch64_frint32zdf (vget_lane_f64 (__a, 0))};
34533 }
34534 
34535 __extension__ extern __inline float64x2_t
34536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f64(float64x2_t __a)34537 vrnd32zq_f64 (float64x2_t __a)
34538 {
34539   return __builtin_aarch64_frint32zv2df (__a);
34540 }
34541 
34542 __extension__ extern __inline float32x2_t
34543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f32(float32x2_t __a)34544 vrnd32x_f32 (float32x2_t __a)
34545 {
34546   return __builtin_aarch64_frint32xv2sf (__a);
34547 }
34548 
34549 __extension__ extern __inline float32x4_t
34550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f32(float32x4_t __a)34551 vrnd32xq_f32 (float32x4_t __a)
34552 {
34553   return __builtin_aarch64_frint32xv4sf (__a);
34554 }
34555 
34556 __extension__ extern __inline float64x1_t
34557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f64(float64x1_t __a)34558 vrnd32x_f64 (float64x1_t __a)
34559 {
34560   return (float64x1_t) {__builtin_aarch64_frint32xdf (vget_lane_f64 (__a, 0))};
34561 }
34562 
34563 __extension__ extern __inline float64x2_t
34564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f64(float64x2_t __a)34565 vrnd32xq_f64 (float64x2_t __a)
34566 {
34567   return __builtin_aarch64_frint32xv2df (__a);
34568 }
34569 
34570 __extension__ extern __inline float32x2_t
34571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f32(float32x2_t __a)34572 vrnd64z_f32 (float32x2_t __a)
34573 {
34574   return __builtin_aarch64_frint64zv2sf (__a);
34575 }
34576 
34577 __extension__ extern __inline float32x4_t
34578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f32(float32x4_t __a)34579 vrnd64zq_f32 (float32x4_t __a)
34580 {
34581   return __builtin_aarch64_frint64zv4sf (__a);
34582 }
34583 
34584 __extension__ extern __inline float64x1_t
34585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f64(float64x1_t __a)34586 vrnd64z_f64 (float64x1_t __a)
34587 {
34588   return (float64x1_t) {__builtin_aarch64_frint64zdf (vget_lane_f64 (__a, 0))};
34589 }
34590 
34591 __extension__ extern __inline float64x2_t
34592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f64(float64x2_t __a)34593 vrnd64zq_f64 (float64x2_t __a)
34594 {
34595   return __builtin_aarch64_frint64zv2df (__a);
34596 }
34597 
34598 __extension__ extern __inline float32x2_t
34599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f32(float32x2_t __a)34600 vrnd64x_f32 (float32x2_t __a)
34601 {
34602   return __builtin_aarch64_frint64xv2sf (__a);
34603 }
34604 
34605 __extension__ extern __inline float32x4_t
34606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f32(float32x4_t __a)34607 vrnd64xq_f32 (float32x4_t __a)
34608 {
34609   return __builtin_aarch64_frint64xv4sf (__a);
34610 }
34611 
34612 __extension__ extern __inline float64x1_t
34613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f64(float64x1_t __a)34614 vrnd64x_f64 (float64x1_t __a)
34615 {
34616   return (float64x1_t) {__builtin_aarch64_frint64xdf (vget_lane_f64 (__a, 0))};
34617 }
34618 
34619 __extension__ extern __inline float64x2_t
34620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f64(float64x2_t __a)34621 vrnd64xq_f64 (float64x2_t __a)
34622 {
34623   return __builtin_aarch64_frint64xv2df (__a);
34624 }
34625 
34626 #pragma GCC pop_options
34627 
34628 #include "arm_bf16.h"
34629 
34630 #pragma GCC push_options
34631 #pragma GCC target ("arch=armv8.2-a+bf16")
34632 
34633 __extension__ extern __inline bfloat16x4_t
34634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_bf16(bfloat16_t __elem,bfloat16x4_t __vec,const int __index)34635 vset_lane_bf16 (bfloat16_t __elem, bfloat16x4_t __vec, const int __index)
34636 {
34637   return __aarch64_vset_lane_any (__elem, __vec, __index);
34638 }
34639 
34640 __extension__ extern __inline bfloat16x8_t
34641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_bf16(bfloat16_t __elem,bfloat16x8_t __vec,const int __index)34642 vsetq_lane_bf16 (bfloat16_t __elem, bfloat16x8_t __vec, const int __index)
34643 {
34644   return __aarch64_vset_lane_any (__elem, __vec, __index);
34645 }
34646 
34647 __extension__ extern __inline bfloat16_t
34648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_bf16(bfloat16x4_t __a,const int __b)34649 vget_lane_bf16 (bfloat16x4_t __a, const int __b)
34650 {
34651   return __aarch64_vget_lane_any (__a, __b);
34652 }
34653 
34654 __extension__ extern __inline bfloat16_t
34655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_bf16(bfloat16x8_t __a,const int __b)34656 vgetq_lane_bf16 (bfloat16x8_t __a, const int __b)
34657 {
34658   return __aarch64_vget_lane_any (__a, __b);
34659 }
34660 
34661 __extension__ extern __inline bfloat16x4_t
34662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_bf16(uint64_t __a)34663 vcreate_bf16 (uint64_t __a)
34664 {
34665   return (bfloat16x4_t) __a;
34666 }
34667 
34668 __extension__ extern __inline bfloat16x8_t
34669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_bf16(bfloat16x4_t __a,bfloat16x4_t __b)34670 vcombine_bf16 (bfloat16x4_t __a, bfloat16x4_t __b)
34671 {
34672   return (bfloat16x8_t)__builtin_aarch64_combinev4bf (__a, __b);
34673 }
34674 
34675 /* vdup */
34676 
34677 __extension__ extern __inline bfloat16x4_t
34678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_bf16(bfloat16_t __a)34679 vdup_n_bf16 (bfloat16_t __a)
34680 {
34681   return (bfloat16x4_t) {__a, __a, __a, __a};
34682 }
34683 
34684 __extension__ extern __inline bfloat16x8_t
34685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_bf16(bfloat16_t __a)34686 vdupq_n_bf16 (bfloat16_t __a)
34687 {
34688   return (bfloat16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
34689 }
34690 
34691 __extension__ extern __inline bfloat16x4_t
34692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_bf16(bfloat16x4_t __a,const int __b)34693 vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
34694 {
34695   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34696 }
34697 
34698 __extension__ extern __inline bfloat16x4_t
34699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_bf16(bfloat16x8_t __a,const int __b)34700 vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
34701 {
34702   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34703 }
34704 
34705 __extension__ extern __inline bfloat16x8_t
34706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_bf16(bfloat16x4_t __a,const int __b)34707 vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
34708 {
34709   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34710 }
34711 
34712 __extension__ extern __inline bfloat16x8_t
34713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_bf16(bfloat16x8_t __a,const int __b)34714 vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
34715 {
34716   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34717 }
34718 
34719 __extension__ extern __inline bfloat16_t
34720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_bf16(bfloat16x4_t __a,const int __b)34721 vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
34722 {
34723   return __aarch64_vget_lane_any (__a, __b);
34724 }
34725 
34726 __extension__ extern __inline bfloat16_t
34727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_bf16(bfloat16x8_t __a,const int __b)34728 vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
34729 {
34730   return __aarch64_vget_lane_any (__a, __b);
34731 }
34732 
34733 /* vld */
34734 
34735 __extension__ extern __inline bfloat16x4_t
34736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16(const bfloat16_t * __a)34737 vld1_bf16 (const bfloat16_t *__a)
34738 {
34739   return (bfloat16x4_t) __builtin_aarch64_ld1v4bf (__a);
34740 }
34741 
34742 __extension__ extern __inline bfloat16x8_t
34743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16(const bfloat16_t * __a)34744 vld1q_bf16 (const bfloat16_t *__a)
34745 {
34746   return __builtin_aarch64_ld1v8bf (__a);
34747 }
34748 
34749 __extension__ extern __inline bfloat16x4x2_t
34750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x2(const bfloat16_t * __a)34751 vld1_bf16_x2 (const bfloat16_t *__a)
34752 {
34753   bfloat16x4x2_t ret;
34754   __builtin_aarch64_simd_oi __o;
34755   __o = __builtin_aarch64_ld1x2v4bf ((const __builtin_aarch64_simd_bf *) __a);
34756   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34757   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34758   return ret;
34759 }
34760 
34761 __extension__ extern __inline bfloat16x8x2_t
34762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x2(const bfloat16_t * __a)34763 vld1q_bf16_x2 (const bfloat16_t *__a)
34764 {
34765   bfloat16x8x2_t ret;
34766   __builtin_aarch64_simd_oi __o;
34767   __o = __builtin_aarch64_ld1x2v8bf ((const __builtin_aarch64_simd_bf *) __a);
34768   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34769   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34770   return ret;
34771 }
34772 
34773 __extension__ extern __inline bfloat16x4x3_t
34774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x3(const bfloat16_t * __a)34775 vld1_bf16_x3 (const bfloat16_t *__a)
34776 {
34777   bfloat16x4x3_t __i;
34778   __builtin_aarch64_simd_ci __o;
34779   __o = __builtin_aarch64_ld1x3v4bf ((const __builtin_aarch64_simd_bf *) __a);
34780   __i.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 0);
34781   __i.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 1);
34782   __i.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 2);
34783   return __i;
34784 }
34785 
34786 __extension__ extern __inline bfloat16x8x3_t
34787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x3(const bfloat16_t * __a)34788 vld1q_bf16_x3 (const bfloat16_t *__a)
34789 {
34790   bfloat16x8x3_t __i;
34791   __builtin_aarch64_simd_ci __o;
34792   __o = __builtin_aarch64_ld1x3v8bf ((const __builtin_aarch64_simd_bf *) __a);
34793   __i.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 0);
34794   __i.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 1);
34795   __i.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 2);
34796   return __i;
34797 }
34798 __extension__ extern __inline bfloat16x4x4_t
34799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x4(const bfloat16_t * __a)34800 vld1_bf16_x4 (const bfloat16_t *__a)
34801 {
34802   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
34803   __au.__o
34804     = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
34805   return __au.__i;
34806 }
34807 
34808 __extension__ extern __inline bfloat16x8x4_t
34809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x4(const bfloat16_t * __a)34810 vld1q_bf16_x4 (const bfloat16_t *__a)
34811 {
34812   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
34813   __au.__o
34814     = __builtin_aarch64_ld1x4v8bf ((const __builtin_aarch64_simd_bf *) __a);
34815   return __au.__i;
34816 }
34817 
34818 __extension__ extern __inline bfloat16x4_t
34819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_bf16(const bfloat16_t * __src,bfloat16x4_t __vec,const int __lane)34820 vld1_lane_bf16 (const bfloat16_t *__src, bfloat16x4_t __vec, const int __lane)
34821 {
34822   return __aarch64_vset_lane_any (*__src, __vec, __lane);
34823 }
34824 
34825 __extension__ extern __inline bfloat16x8_t
34826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_bf16(const bfloat16_t * __src,bfloat16x8_t __vec,const int __lane)34827 vld1q_lane_bf16 (const bfloat16_t *__src, bfloat16x8_t __vec, const int __lane)
34828 {
34829   return __aarch64_vset_lane_any (*__src, __vec, __lane);
34830 }
34831 
34832 __extension__ extern __inline bfloat16x4_t
34833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_bf16(const bfloat16_t * __a)34834 vld1_dup_bf16 (const bfloat16_t* __a)
34835 {
34836   return vdup_n_bf16 (*__a);
34837 }
34838 
34839 __extension__ extern __inline bfloat16x8_t
34840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_bf16(const bfloat16_t * __a)34841 vld1q_dup_bf16 (const bfloat16_t* __a)
34842 {
34843   return vdupq_n_bf16 (*__a);
34844 }
34845 
34846 __extension__ extern __inline bfloat16x4x2_t
34847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_bf16(const bfloat16_t * __a)34848 vld2_bf16 (const bfloat16_t * __a)
34849 {
34850   bfloat16x4x2_t ret;
34851   __builtin_aarch64_simd_oi __o;
34852   __o = __builtin_aarch64_ld2v4bf (__a);
34853   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34854   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34855   return ret;
34856 }
34857 
34858 __extension__ extern __inline bfloat16x8x2_t
34859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_bf16(const bfloat16_t * __a)34860 vld2q_bf16 (const bfloat16_t * __a)
34861 {
34862   bfloat16x8x2_t ret;
34863   __builtin_aarch64_simd_oi __o;
34864   __o = __builtin_aarch64_ld2v8bf ((const __builtin_aarch64_simd_bf *) __a);
34865   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34866   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34867   return ret;
34868 }
34869 
34870 __extension__ extern __inline bfloat16x4x2_t
34871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_bf16(const bfloat16_t * __a)34872 vld2_dup_bf16 (const bfloat16_t * __a)
34873 {
34874   bfloat16x4x2_t ret;
34875   __builtin_aarch64_simd_oi __o;
34876   __o = __builtin_aarch64_ld2rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34877   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34878   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34879   return ret;
34880 }
34881 
34882 __extension__ extern __inline bfloat16x8x2_t
34883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_bf16(const bfloat16_t * __a)34884 vld2q_dup_bf16 (const bfloat16_t * __a)
34885 {
34886   bfloat16x8x2_t ret;
34887   __builtin_aarch64_simd_oi __o;
34888   __o = __builtin_aarch64_ld2rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34889   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34890   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34891   return ret;
34892 }
34893 
34894 __extension__ extern __inline bfloat16x4x3_t
34895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_bf16(const bfloat16_t * __a)34896 vld3_bf16 (const bfloat16_t * __a)
34897 {
34898   bfloat16x4x3_t ret;
34899   __builtin_aarch64_simd_ci __o;
34900   __o = __builtin_aarch64_ld3v4bf ((const __builtin_aarch64_simd_bf *) __a);
34901   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
34902   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
34903   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
34904   return ret;
34905 }
34906 
34907 __extension__ extern __inline bfloat16x8x3_t
34908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_bf16(const bfloat16_t * __a)34909 vld3q_bf16 (const bfloat16_t * __a)
34910 {
34911   bfloat16x8x3_t ret;
34912   __builtin_aarch64_simd_ci __o;
34913   __o = __builtin_aarch64_ld3v8bf ((const __builtin_aarch64_simd_bf *) __a);
34914   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
34915   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
34916   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
34917   return ret;
34918 }
34919 
34920 __extension__ extern __inline bfloat16x4x3_t
34921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_bf16(const bfloat16_t * __a)34922 vld3_dup_bf16 (const bfloat16_t * __a)
34923 {
34924   bfloat16x4x3_t ret;
34925   __builtin_aarch64_simd_ci __o;
34926   __o = __builtin_aarch64_ld3rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34927   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
34928   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
34929   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
34930   return ret;
34931 }
34932 
34933 __extension__ extern __inline bfloat16x8x3_t
34934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_bf16(const bfloat16_t * __a)34935 vld3q_dup_bf16 (const bfloat16_t * __a)
34936 {
34937   bfloat16x8x3_t ret;
34938   __builtin_aarch64_simd_ci __o;
34939   __o = __builtin_aarch64_ld3rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34940   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
34941   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
34942   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
34943   return ret;
34944 }
34945 
34946 __extension__ extern __inline bfloat16x4x4_t
34947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_bf16(const bfloat16_t * __a)34948 vld4_bf16 (const bfloat16_t * __a)
34949 {
34950   bfloat16x4x4_t ret;
34951   __builtin_aarch64_simd_xi __o;
34952   __o = __builtin_aarch64_ld4v4bf ((const __builtin_aarch64_simd_bf *) __a);
34953   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
34954   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
34955   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
34956   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
34957   return ret;
34958 }
34959 
34960 __extension__ extern __inline bfloat16x8x4_t
34961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_bf16(const bfloat16_t * __a)34962 vld4q_bf16 (const bfloat16_t * __a)
34963 {
34964   bfloat16x8x4_t ret;
34965   __builtin_aarch64_simd_xi __o;
34966   __o = __builtin_aarch64_ld4v8bf ((const __builtin_aarch64_simd_bf *) __a);
34967   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
34968   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
34969   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
34970   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
34971   return ret;
34972 }
34973 
34974 __extension__ extern __inline bfloat16x4x4_t
34975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_bf16(const bfloat16_t * __a)34976 vld4_dup_bf16 (const bfloat16_t * __a)
34977 {
34978   bfloat16x4x4_t ret;
34979   __builtin_aarch64_simd_xi __o;
34980   __o = __builtin_aarch64_ld4rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34981   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
34982   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
34983   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
34984   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
34985   return ret;
34986 }
34987 
34988 __extension__ extern __inline bfloat16x8x4_t
34989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_bf16(const bfloat16_t * __a)34990 vld4q_dup_bf16 (const bfloat16_t * __a)
34991 {
34992   bfloat16x8x4_t ret;
34993   __builtin_aarch64_simd_xi __o;
34994   __o = __builtin_aarch64_ld4rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34995   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
34996   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
34997   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
34998   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
34999   return ret;
35000 }
35001 
35002 /* vst */
35003 
35004 __extension__ extern __inline void
35005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16(bfloat16_t * __a,bfloat16x4_t __b)35006 vst1_bf16 (bfloat16_t *__a, bfloat16x4_t __b)
35007 {
35008   __builtin_aarch64_st1v4bf (__a, __b);
35009 }
35010 
35011 __extension__ extern __inline void
35012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x2(bfloat16_t * __a,bfloat16x4x2_t __val)35013 vst1_bf16_x2 (bfloat16_t * __a, bfloat16x4x2_t __val)
35014 {
35015   __builtin_aarch64_simd_oi __o;
35016   bfloat16x8x2_t __temp;
35017   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35018   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35019   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
35020   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
35021   __builtin_aarch64_st1x2v4bf (__a, __o);
35022 }
35023 
35024 __extension__ extern __inline void
35025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x2(bfloat16_t * __a,bfloat16x8x2_t __val)35026 vst1q_bf16_x2 (bfloat16_t * __a, bfloat16x8x2_t __val)
35027 {
35028   __builtin_aarch64_simd_oi __o;
35029   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
35030   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
35031   __builtin_aarch64_st1x2v8bf (__a, __o);
35032 }
35033 
35034 __extension__ extern __inline void
35035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x3(bfloat16_t * __a,bfloat16x4x3_t __val)35036 vst1_bf16_x3 (bfloat16_t * __a, bfloat16x4x3_t __val)
35037 {
35038   __builtin_aarch64_simd_ci __o;
35039   bfloat16x8x3_t __temp;
35040   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35041   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35042   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35043   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
35044   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
35045   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
35046   __builtin_aarch64_st1x3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
35047 }
35048 
35049 __extension__ extern __inline void
35050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x3(bfloat16_t * __a,bfloat16x8x3_t __val)35051 vst1q_bf16_x3 (bfloat16_t * __a, bfloat16x8x3_t __val)
35052 {
35053   __builtin_aarch64_simd_ci __o;
35054   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
35055   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
35056   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
35057   __builtin_aarch64_st1x3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
35058 }
35059 
35060 __extension__ extern __inline void
35061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x4(bfloat16_t * __a,bfloat16x4x4_t val)35062 vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t val)
35063 {
35064   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
35065   __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
35066 }
35067 
35068 __extension__ extern __inline void
35069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x4(bfloat16_t * __a,bfloat16x8x4_t val)35070 vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t val)
35071 {
35072   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
35073   __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
35074 }
35075 
35076 __extension__ extern __inline void
35077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16(bfloat16_t * __a,bfloat16x8_t __b)35078 vst1q_bf16 (bfloat16_t *__a, bfloat16x8_t __b)
35079 {
35080   __builtin_aarch64_st1v8bf (__a, __b);
35081 }
35082 
35083 __extension__ extern __inline void
35084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_bf16(bfloat16_t * __a,bfloat16x4_t __b,const int __lane)35085 vst1_lane_bf16 (bfloat16_t *__a, bfloat16x4_t __b, const int __lane)
35086 {
35087   *__a = __aarch64_vget_lane_any (__b, __lane);
35088 }
35089 
35090 __extension__ extern __inline void
35091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_bf16(bfloat16_t * __a,bfloat16x8_t __b,const int __lane)35092 vst1q_lane_bf16 (bfloat16_t *__a, bfloat16x8_t __b, const int __lane)
35093 {
35094   *__a = __aarch64_vget_lane_any (__b, __lane);
35095 }
35096 
35097 __extension__ extern __inline void
35098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_bf16(bfloat16_t * __a,bfloat16x4x2_t __val)35099 vst2_bf16 (bfloat16_t * __a, bfloat16x4x2_t __val)
35100 {
35101   __builtin_aarch64_simd_oi __o;
35102   bfloat16x8x2_t __temp;
35103   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35104   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35105   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
35106   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
35107   __builtin_aarch64_st2v4bf (__a, __o);
35108 }
35109 
35110 __extension__ extern __inline void
35111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_bf16(bfloat16_t * __a,bfloat16x8x2_t __val)35112 vst2q_bf16 (bfloat16_t * __a, bfloat16x8x2_t __val)
35113 {
35114   __builtin_aarch64_simd_oi __o;
35115   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
35116   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
35117   __builtin_aarch64_st2v8bf (__a, __o);
35118 }
35119 
35120 __extension__ extern __inline void
35121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_bf16(bfloat16_t * __a,bfloat16x4x3_t __val)35122 vst3_bf16 (bfloat16_t * __a, bfloat16x4x3_t __val)
35123 {
35124   __builtin_aarch64_simd_ci __o;
35125   bfloat16x8x3_t __temp;
35126   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35127   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35128   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35129   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
35130   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
35131   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
35132   __builtin_aarch64_st3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
35133 }
35134 
35135 __extension__ extern __inline void
35136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_bf16(bfloat16_t * __a,bfloat16x8x3_t __val)35137 vst3q_bf16 (bfloat16_t * __a, bfloat16x8x3_t __val)
35138 {
35139   __builtin_aarch64_simd_ci __o;
35140   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
35141   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
35142   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
35143   __builtin_aarch64_st3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
35144 }
35145 
35146 __extension__ extern __inline void
35147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_bf16(bfloat16_t * __a,bfloat16x4x4_t __val)35148 vst4_bf16 (bfloat16_t * __a, bfloat16x4x4_t __val)
35149 {
35150   __builtin_aarch64_simd_xi __o;
35151   bfloat16x8x4_t __temp;
35152   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35153   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35154   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35155   __temp.val[3] = vcombine_bf16 (__val.val[3], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35156   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
35157   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
35158   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
35159   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[3], 3);
35160   __builtin_aarch64_st4v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
35161 }
35162 
35163 __extension__ extern __inline void
35164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_bf16(bfloat16_t * __a,bfloat16x8x4_t __val)35165 vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val)
35166 {
35167   __builtin_aarch64_simd_xi __o;
35168   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
35169   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
35170   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
35171   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[3], 3);
35172   __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
35173 }
35174 
35175 /* vreinterpret */
35176 
35177 __extension__ extern __inline bfloat16x4_t
35178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u8(uint8x8_t __a)35179 vreinterpret_bf16_u8 (uint8x8_t __a)
35180 {
35181   return (bfloat16x4_t)__a;
35182 }
35183 
35184 __extension__ extern __inline bfloat16x4_t
35185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u16(uint16x4_t __a)35186 vreinterpret_bf16_u16 (uint16x4_t __a)
35187 {
35188   return (bfloat16x4_t)__a;
35189 }
35190 
35191 __extension__ extern __inline bfloat16x4_t
35192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u32(uint32x2_t __a)35193 vreinterpret_bf16_u32 (uint32x2_t __a)
35194 {
35195   return (bfloat16x4_t)__a;
35196 }
35197 
35198 __extension__ extern __inline bfloat16x4_t
35199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u64(uint64x1_t __a)35200 vreinterpret_bf16_u64 (uint64x1_t __a)
35201 {
35202   return (bfloat16x4_t)__a;
35203 }
35204 
35205 __extension__ extern __inline bfloat16x4_t
35206 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s8(int8x8_t __a)35207 vreinterpret_bf16_s8 (int8x8_t __a)
35208 {
35209   return (bfloat16x4_t)__a;
35210 }
35211 
35212 __extension__ extern __inline bfloat16x4_t
35213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s16(int16x4_t __a)35214 vreinterpret_bf16_s16 (int16x4_t __a)
35215 {
35216   return (bfloat16x4_t)__a;
35217 }
35218 
35219 __extension__ extern __inline bfloat16x4_t
35220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s32(int32x2_t __a)35221 vreinterpret_bf16_s32 (int32x2_t __a)
35222 {
35223   return (bfloat16x4_t)__a;
35224 }
35225 
35226 __extension__ extern __inline bfloat16x4_t
35227 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s64(int64x1_t __a)35228 vreinterpret_bf16_s64 (int64x1_t __a)
35229 {
35230   return (bfloat16x4_t)__a;
35231 }
35232 
35233 __extension__ extern __inline bfloat16x4_t
35234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p8(poly8x8_t __a)35235 vreinterpret_bf16_p8 (poly8x8_t __a)
35236 {
35237   return (bfloat16x4_t)__a;
35238 }
35239 
35240 __extension__ extern __inline bfloat16x4_t
35241 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p16(poly16x4_t __a)35242 vreinterpret_bf16_p16 (poly16x4_t __a)
35243 {
35244   return (bfloat16x4_t)__a;
35245 }
35246 
35247 __extension__ extern __inline bfloat16x4_t
35248 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p64(poly64x1_t __a)35249 vreinterpret_bf16_p64 (poly64x1_t __a)
35250 {
35251   return (bfloat16x4_t)__a;
35252 }
35253 
35254 __extension__ extern __inline bfloat16x4_t
35255 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f16(float16x4_t __a)35256 vreinterpret_bf16_f16 (float16x4_t __a)
35257 {
35258   return (bfloat16x4_t)__a;
35259 }
35260 
35261 __extension__ extern __inline bfloat16x4_t
35262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f32(float32x2_t __a)35263 vreinterpret_bf16_f32 (float32x2_t __a)
35264 {
35265   return (bfloat16x4_t)__a;
35266 }
35267 
35268 __extension__ extern __inline bfloat16x4_t
35269 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f64(float64x1_t __a)35270 vreinterpret_bf16_f64 (float64x1_t __a)
35271 {
35272   return (bfloat16x4_t)__a;
35273 }
35274 
35275 __extension__ extern __inline bfloat16x8_t
35276 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u8(uint8x16_t __a)35277 vreinterpretq_bf16_u8 (uint8x16_t __a)
35278 {
35279   return (bfloat16x8_t)__a;
35280 }
35281 
35282 __extension__ extern __inline bfloat16x8_t
35283 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u16(uint16x8_t __a)35284 vreinterpretq_bf16_u16 (uint16x8_t __a)
35285 {
35286   return (bfloat16x8_t)__a;
35287 }
35288 
35289 __extension__ extern __inline bfloat16x8_t
35290 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u32(uint32x4_t __a)35291 vreinterpretq_bf16_u32 (uint32x4_t __a)
35292 {
35293   return (bfloat16x8_t)__a;
35294 }
35295 
35296 __extension__ extern __inline bfloat16x8_t
35297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u64(uint64x2_t __a)35298 vreinterpretq_bf16_u64 (uint64x2_t __a)
35299 {
35300   return (bfloat16x8_t)__a;
35301 }
35302 
35303 __extension__ extern __inline bfloat16x8_t
35304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s8(int8x16_t __a)35305 vreinterpretq_bf16_s8 (int8x16_t __a)
35306 {
35307   return (bfloat16x8_t)__a;
35308 }
35309 
35310 __extension__ extern __inline bfloat16x8_t
35311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s16(int16x8_t __a)35312 vreinterpretq_bf16_s16 (int16x8_t __a)
35313 {
35314   return (bfloat16x8_t)__a;
35315 }
35316 
35317 __extension__ extern __inline bfloat16x8_t
35318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s32(int32x4_t __a)35319 vreinterpretq_bf16_s32 (int32x4_t __a)
35320 {
35321   return (bfloat16x8_t)__a;
35322 }
35323 
35324 __extension__ extern __inline bfloat16x8_t
35325 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s64(int64x2_t __a)35326 vreinterpretq_bf16_s64 (int64x2_t __a)
35327 {
35328   return (bfloat16x8_t)__a;
35329 }
35330 
35331 __extension__ extern __inline bfloat16x8_t
35332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p8(poly8x16_t __a)35333 vreinterpretq_bf16_p8 (poly8x16_t __a)
35334 {
35335   return (bfloat16x8_t)__a;
35336 }
35337 
35338 __extension__ extern __inline bfloat16x8_t
35339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p16(poly16x8_t __a)35340 vreinterpretq_bf16_p16 (poly16x8_t __a)
35341 {
35342   return (bfloat16x8_t)__a;
35343 }
35344 
35345 __extension__ extern __inline bfloat16x8_t
35346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p64(poly64x2_t __a)35347 vreinterpretq_bf16_p64 (poly64x2_t __a)
35348 {
35349   return (bfloat16x8_t)__a;
35350 }
35351 
35352 __extension__ extern __inline bfloat16x8_t
35353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p128(poly128_t __a)35354 vreinterpretq_bf16_p128 (poly128_t __a)
35355 {
35356   return (bfloat16x8_t)__a;
35357 }
35358 
35359 __extension__ extern __inline bfloat16x8_t
35360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f16(float16x8_t __a)35361 vreinterpretq_bf16_f16 (float16x8_t __a)
35362 {
35363   return (bfloat16x8_t)__a;
35364 }
35365 
35366 __extension__ extern __inline bfloat16x8_t
35367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f32(float32x4_t __a)35368 vreinterpretq_bf16_f32 (float32x4_t __a)
35369 {
35370   return (bfloat16x8_t)__a;
35371 }
35372 
35373 __extension__ extern __inline bfloat16x8_t
35374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f64(float64x2_t __a)35375 vreinterpretq_bf16_f64 (float64x2_t __a)
35376 {
35377   return (bfloat16x8_t)__a;
35378 }
35379 
35380 __extension__ extern __inline int8x8_t
35381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_bf16(bfloat16x4_t __a)35382 vreinterpret_s8_bf16 (bfloat16x4_t __a)
35383 {
35384   return (int8x8_t)__a;
35385 }
35386 
35387 __extension__ extern __inline int16x4_t
35388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_bf16(bfloat16x4_t __a)35389 vreinterpret_s16_bf16 (bfloat16x4_t __a)
35390 {
35391   return (int16x4_t)__a;
35392 }
35393 
35394 __extension__ extern __inline int32x2_t
35395 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_bf16(bfloat16x4_t __a)35396 vreinterpret_s32_bf16 (bfloat16x4_t __a)
35397 {
35398   return (int32x2_t)__a;
35399 }
35400 
35401 __extension__ extern __inline int64x1_t
35402 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_bf16(bfloat16x4_t __a)35403 vreinterpret_s64_bf16 (bfloat16x4_t __a)
35404 {
35405   return (int64x1_t)__a;
35406 }
35407 
35408 __extension__ extern __inline uint8x8_t
35409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_bf16(bfloat16x4_t __a)35410 vreinterpret_u8_bf16 (bfloat16x4_t __a)
35411 {
35412   return (uint8x8_t)__a;
35413 }
35414 
35415 __extension__ extern __inline uint16x4_t
35416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_bf16(bfloat16x4_t __a)35417 vreinterpret_u16_bf16 (bfloat16x4_t __a)
35418 {
35419   return (uint16x4_t)__a;
35420 }
35421 
35422 __extension__ extern __inline uint32x2_t
35423 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_bf16(bfloat16x4_t __a)35424 vreinterpret_u32_bf16 (bfloat16x4_t __a)
35425 {
35426   return (uint32x2_t)__a;
35427 }
35428 
35429 __extension__ extern __inline uint64x1_t
35430 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_bf16(bfloat16x4_t __a)35431 vreinterpret_u64_bf16 (bfloat16x4_t __a)
35432 {
35433   return (uint64x1_t)__a;
35434 }
35435 
35436 __extension__ extern __inline float16x4_t
35437 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_bf16(bfloat16x4_t __a)35438 vreinterpret_f16_bf16 (bfloat16x4_t __a)
35439 {
35440   return (float16x4_t)__a;
35441 }
35442 
35443 __extension__ extern __inline float32x2_t
35444 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_bf16(bfloat16x4_t __a)35445 vreinterpret_f32_bf16 (bfloat16x4_t __a)
35446 {
35447   return (float32x2_t)__a;
35448 }
35449 
35450 __extension__ extern __inline float64x1_t
35451 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_bf16(bfloat16x4_t __a)35452 vreinterpret_f64_bf16 (bfloat16x4_t __a)
35453 {
35454   return (float64x1_t)__a;
35455 }
35456 
35457 __extension__ extern __inline poly8x8_t
35458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_bf16(bfloat16x4_t __a)35459 vreinterpret_p8_bf16 (bfloat16x4_t __a)
35460 {
35461   return (poly8x8_t)__a;
35462 }
35463 
35464 __extension__ extern __inline poly16x4_t
35465 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_bf16(bfloat16x4_t __a)35466 vreinterpret_p16_bf16 (bfloat16x4_t __a)
35467 {
35468   return (poly16x4_t)__a;
35469 }
35470 
35471 __extension__ extern __inline poly64x1_t
35472 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_bf16(bfloat16x4_t __a)35473 vreinterpret_p64_bf16 (bfloat16x4_t __a)
35474 {
35475   return (poly64x1_t)__a;
35476 }
35477 
35478 __extension__ extern __inline int8x16_t
35479 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_bf16(bfloat16x8_t __a)35480 vreinterpretq_s8_bf16 (bfloat16x8_t __a)
35481 {
35482   return (int8x16_t)__a;
35483 }
35484 
35485 __extension__ extern __inline int16x8_t
35486 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_bf16(bfloat16x8_t __a)35487 vreinterpretq_s16_bf16 (bfloat16x8_t __a)
35488 {
35489   return (int16x8_t)__a;
35490 }
35491 
35492 __extension__ extern __inline int32x4_t
35493 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_bf16(bfloat16x8_t __a)35494 vreinterpretq_s32_bf16 (bfloat16x8_t __a)
35495 {
35496   return (int32x4_t)__a;
35497 }
35498 
35499 __extension__ extern __inline int64x2_t
35500 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_bf16(bfloat16x8_t __a)35501 vreinterpretq_s64_bf16 (bfloat16x8_t __a)
35502 {
35503   return (int64x2_t)__a;
35504 }
35505 
35506 __extension__ extern __inline uint8x16_t
35507 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_bf16(bfloat16x8_t __a)35508 vreinterpretq_u8_bf16 (bfloat16x8_t __a)
35509 {
35510   return (uint8x16_t)__a;
35511 }
35512 
35513 __extension__ extern __inline uint16x8_t
35514 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_bf16(bfloat16x8_t __a)35515 vreinterpretq_u16_bf16 (bfloat16x8_t __a)
35516 {
35517   return (uint16x8_t)__a;
35518 }
35519 
35520 __extension__ extern __inline uint32x4_t
35521 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_bf16(bfloat16x8_t __a)35522 vreinterpretq_u32_bf16 (bfloat16x8_t __a)
35523 {
35524   return (uint32x4_t)__a;
35525 }
35526 
35527 __extension__ extern __inline uint64x2_t
35528 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_bf16(bfloat16x8_t __a)35529 vreinterpretq_u64_bf16 (bfloat16x8_t __a)
35530 {
35531   return (uint64x2_t)__a;
35532 }
35533 
35534 __extension__ extern __inline float16x8_t
35535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_bf16(bfloat16x8_t __a)35536 vreinterpretq_f16_bf16 (bfloat16x8_t __a)
35537 {
35538   return (float16x8_t)__a;
35539 }
35540 
35541 __extension__ extern __inline float32x4_t
35542 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_bf16(bfloat16x8_t __a)35543 vreinterpretq_f32_bf16 (bfloat16x8_t __a)
35544 {
35545   return (float32x4_t)__a;
35546 }
35547 
35548 __extension__ extern __inline float64x2_t
35549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_bf16(bfloat16x8_t __a)35550 vreinterpretq_f64_bf16 (bfloat16x8_t __a)
35551 {
35552   return (float64x2_t)__a;
35553 }
35554 
35555 __extension__ extern __inline poly8x16_t
35556 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_bf16(bfloat16x8_t __a)35557 vreinterpretq_p8_bf16 (bfloat16x8_t __a)
35558 {
35559   return (poly8x16_t)__a;
35560 }
35561 
35562 __extension__ extern __inline poly16x8_t
35563 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_bf16(bfloat16x8_t __a)35564 vreinterpretq_p16_bf16 (bfloat16x8_t __a)
35565 {
35566   return (poly16x8_t)__a;
35567 }
35568 
35569 __extension__ extern __inline poly64x2_t
35570 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_bf16(bfloat16x8_t __a)35571 vreinterpretq_p64_bf16 (bfloat16x8_t __a)
35572 {
35573   return (poly64x2_t)__a;
35574 }
35575 
35576 __extension__ extern __inline poly128_t
35577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_bf16(bfloat16x8_t __a)35578 vreinterpretq_p128_bf16 (bfloat16x8_t __a)
35579 {
35580   return (poly128_t)__a;
35581 }
35582 
35583 __extension__ extern __inline float32x2_t
35584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b)35585 vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
35586 {
35587   return __builtin_aarch64_bfdotv2sf (__r, __a, __b);
35588 }
35589 
35590 __extension__ extern __inline float32x4_t
35591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35592 vbfdotq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35593 {
35594   return __builtin_aarch64_bfdotv4sf (__r, __a, __b);
35595 }
35596 
35597 __extension__ extern __inline float32x2_t
35598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_lane_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b,const int __index)35599 vbfdot_lane_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b,
35600 		 const int __index)
35601 {
35602   return __builtin_aarch64_bfdot_lanev2sf (__r, __a, __b, __index);
35603 }
35604 
35605 __extension__ extern __inline float32x4_t
35606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35607 vbfdotq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35608 		  const int __index)
35609 {
35610   return __builtin_aarch64_bfdot_lanev4sf (__r, __a, __b, __index);
35611 }
35612 
35613 __extension__ extern __inline float32x2_t
35614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_laneq_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x8_t __b,const int __index)35615 vbfdot_laneq_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x8_t __b,
35616 		  const int __index)
35617 {
35618   return __builtin_aarch64_bfdot_laneqv2sf (__r, __a, __b, __index);
35619 }
35620 
35621 __extension__ extern __inline float32x4_t
35622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35623 vbfdotq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35624 		   const int __index)
35625 {
35626   return __builtin_aarch64_bfdot_laneqv4sf (__r, __a, __b, __index);
35627 }
35628 
35629 __extension__ extern __inline float32x4_t
35630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmmlaq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35631 vbfmmlaq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35632 
35633 {
35634   return __builtin_aarch64_bfmmlaqv4sf (__r, __a, __b);
35635 }
35636 
35637 __extension__ extern __inline float32x4_t
35638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35639 vbfmlalbq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35640 {
35641   return __builtin_aarch64_bfmlalbv4sf (__r, __a, __b);
35642 }
35643 
35644 __extension__ extern __inline float32x4_t
35645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35646 vbfmlaltq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35647 {
35648   return __builtin_aarch64_bfmlaltv4sf (__r, __a, __b);
35649 }
35650 
35651 __extension__ extern __inline float32x4_t
35652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35653 vbfmlalbq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35654 		    const int __index)
35655 {
35656   return __builtin_aarch64_bfmlalb_lanev4sf (__r, __a, __b, __index);
35657 }
35658 
35659 __extension__ extern __inline float32x4_t
35660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35661 vbfmlaltq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35662 		    const int __index)
35663 {
35664   return __builtin_aarch64_bfmlalt_lanev4sf (__r, __a, __b, __index);
35665 }
35666 
35667 __extension__ extern __inline float32x4_t
35668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35669 vbfmlalbq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35670 		     const int __index)
35671 {
35672   return __builtin_aarch64_bfmlalb_lane_qv4sf (__r, __a, __b, __index);
35673 }
35674 
35675 __extension__ extern __inline float32x4_t
35676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35677 vbfmlaltq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35678 		     const int __index)
35679 {
35680   return __builtin_aarch64_bfmlalt_lane_qv4sf (__r, __a, __b, __index);
35681 }
35682 
35683 __extension__ extern __inline bfloat16x4_t
35684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_bf16(bfloat16x8_t __a)35685 vget_low_bf16 (bfloat16x8_t __a)
35686 {
35687   return __builtin_aarch64_vget_lo_halfv8bf (__a);
35688 }
35689 
35690 __extension__ extern __inline bfloat16x4_t
35691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_bf16(bfloat16x8_t __a)35692 vget_high_bf16 (bfloat16x8_t __a)
35693 {
35694   return __builtin_aarch64_vget_hi_halfv8bf (__a);
35695 }
35696 
35697 __extension__ extern __inline float32x4_t
35698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_bf16(bfloat16x4_t __a)35699 vcvt_f32_bf16 (bfloat16x4_t __a)
35700 {
35701   return __builtin_aarch64_vbfcvtv4bf (__a);
35702 }
35703 
35704 __extension__ extern __inline float32x4_t
35705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_f32_bf16(bfloat16x8_t __a)35706 vcvtq_low_f32_bf16 (bfloat16x8_t __a)
35707 {
35708   return __builtin_aarch64_vbfcvtv8bf (__a);
35709 }
35710 
35711 __extension__ extern __inline float32x4_t
35712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_f32_bf16(bfloat16x8_t __a)35713 vcvtq_high_f32_bf16 (bfloat16x8_t __a)
35714 {
35715   return __builtin_aarch64_vbfcvt_highv8bf (__a);
35716 }
35717 
35718 __extension__ extern __inline bfloat16x4_t
35719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_bf16_f32(float32x4_t __a)35720 vcvt_bf16_f32 (float32x4_t __a)
35721 {
35722   return __builtin_aarch64_bfcvtnv4bf (__a);
35723 }
35724 
35725 __extension__ extern __inline bfloat16x8_t
35726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_bf16_f32(float32x4_t __a)35727 vcvtq_low_bf16_f32 (float32x4_t __a)
35728 {
35729   return __builtin_aarch64_bfcvtn_qv8bf (__a);
35730 }
35731 
35732 __extension__ extern __inline bfloat16x8_t
35733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_bf16_f32(bfloat16x8_t __inactive,float32x4_t __a)35734 vcvtq_high_bf16_f32 (bfloat16x8_t __inactive, float32x4_t __a)
35735 {
35736   return __builtin_aarch64_bfcvtn2v8bf (__inactive, __a);
35737 }
35738 
35739 __extension__ extern __inline bfloat16x4_t
35740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_bf16(bfloat16x4_t __a,const int __lane1,bfloat16x4_t __b,const int __lane2)35741 vcopy_lane_bf16 (bfloat16x4_t __a, const int __lane1,
35742 		 bfloat16x4_t __b, const int __lane2)
35743 {
35744   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
35745 				  __a, __lane1);
35746 }
35747 
35748 __extension__ extern __inline bfloat16x8_t
35749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_bf16(bfloat16x8_t __a,const int __lane1,bfloat16x4_t __b,const int __lane2)35750 vcopyq_lane_bf16 (bfloat16x8_t __a, const int __lane1,
35751 		  bfloat16x4_t __b, const int __lane2)
35752 {
35753   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
35754 				  __a, __lane1);
35755 }
35756 
35757 __extension__ extern __inline bfloat16x4_t
35758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_bf16(bfloat16x4_t __a,const int __lane1,bfloat16x8_t __b,const int __lane2)35759 vcopy_laneq_bf16 (bfloat16x4_t __a, const int __lane1,
35760 		  bfloat16x8_t __b, const int __lane2)
35761 {
35762   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
35763 				  __a, __lane1);
35764 }
35765 
35766 __extension__ extern __inline bfloat16x8_t
35767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_bf16(bfloat16x8_t __a,const int __lane1,bfloat16x8_t __b,const int __lane2)35768 vcopyq_laneq_bf16 (bfloat16x8_t __a, const int __lane1,
35769 		   bfloat16x8_t __b, const int __lane2)
35770 {
35771   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
35772 				  __a, __lane1);
35773 }
35774 
__LD2_LANE_FUNC(bfloat16x4x2_t,bfloat16x4_t,bfloat16x8x2_t,bfloat16_t,v4bf,v8bf,bf,bf16,bfloat16x8_t)35775 __LD2_LANE_FUNC (bfloat16x4x2_t, bfloat16x4_t, bfloat16x8x2_t, bfloat16_t, v4bf,
35776 		 v8bf, bf, bf16, bfloat16x8_t)
35777 __LD2Q_LANE_FUNC (bfloat16x8x2_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
35778 __LD3_LANE_FUNC (bfloat16x4x3_t, bfloat16x4_t, bfloat16x8x3_t, bfloat16_t, v4bf,
35779 		 v8bf, bf, bf16, bfloat16x8_t)
35780 __LD3Q_LANE_FUNC (bfloat16x8x3_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
35781 __LD4_LANE_FUNC (bfloat16x4x4_t, bfloat16x4_t, bfloat16x8x4_t, bfloat16_t, v4bf,
35782 		 v8bf, bf, bf16, bfloat16x8_t)
35783 __LD4Q_LANE_FUNC (bfloat16x8x4_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
35784 
35785 __ST2_LANE_FUNC (bfloat16x4x2_t, bfloat16x8x2_t, bfloat16_t, v4bf, v8bf, bf,
35786 		 bf16, bfloat16x8_t)
35787 __ST2Q_LANE_FUNC (bfloat16x8x2_t, bfloat16_t, v8bf, bf, bf16)
35788 __ST3_LANE_FUNC (bfloat16x4x3_t, bfloat16x8x3_t, bfloat16_t, v4bf, v8bf, bf,
35789 		 bf16, bfloat16x8_t)
35790 __ST3Q_LANE_FUNC (bfloat16x8x3_t, bfloat16_t, v8bf, bf, bf16)
35791 __ST4_LANE_FUNC (bfloat16x4x4_t, bfloat16x8x4_t, bfloat16_t, v4bf, v8bf, bf,
35792 		 bf16, bfloat16x8_t)
35793 __ST4Q_LANE_FUNC (bfloat16x8x4_t, bfloat16_t, v8bf, bf, bf16)
35794 
35795 #pragma GCC pop_options
35796 
35797 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics.  */
35798 
35799 #pragma GCC push_options
35800 #pragma GCC target ("arch=armv8.2-a+i8mm")
35801 
35802 __extension__ extern __inline int32x2_t
35803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
35804 vusdot_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b)
35805 {
35806   return __builtin_aarch64_usdotv8qi_ssus (__r, __a, __b);
35807 }
35808 
35809 __extension__ extern __inline int32x4_t
35810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)35811 vusdotq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
35812 {
35813   return __builtin_aarch64_usdotv16qi_ssus (__r, __a, __b);
35814 }
35815 
35816 __extension__ extern __inline int32x2_t
35817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_lane_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b,const int __index)35818 vusdot_lane_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b, const int __index)
35819 {
35820   return __builtin_aarch64_usdot_lanev8qi_ssuss (__r, __a, __b, __index);
35821 }
35822 
35823 __extension__ extern __inline int32x2_t
35824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_laneq_s32(int32x2_t __r,uint8x8_t __a,int8x16_t __b,const int __index)35825 vusdot_laneq_s32 (int32x2_t __r, uint8x8_t __a, int8x16_t __b,
35826 		  const int __index)
35827 {
35828   return __builtin_aarch64_usdot_laneqv8qi_ssuss (__r, __a, __b, __index);
35829 }
35830 
35831 __extension__ extern __inline int32x4_t
35832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_lane_s32(int32x4_t __r,uint8x16_t __a,int8x8_t __b,const int __index)35833 vusdotq_lane_s32 (int32x4_t __r, uint8x16_t __a, int8x8_t __b,
35834 		  const int __index)
35835 {
35836   return __builtin_aarch64_usdot_lanev16qi_ssuss (__r, __a, __b, __index);
35837 }
35838 
35839 __extension__ extern __inline int32x4_t
35840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_laneq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b,const int __index)35841 vusdotq_laneq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b,
35842 		   const int __index)
35843 {
35844   return __builtin_aarch64_usdot_laneqv16qi_ssuss (__r, __a, __b, __index);
35845 }
35846 
35847 __extension__ extern __inline int32x2_t
35848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_lane_s32(int32x2_t __r,int8x8_t __a,uint8x8_t __b,const int __index)35849 vsudot_lane_s32 (int32x2_t __r, int8x8_t __a, uint8x8_t __b, const int __index)
35850 {
35851   return __builtin_aarch64_sudot_lanev8qi_sssus (__r, __a, __b, __index);
35852 }
35853 
35854 __extension__ extern __inline int32x2_t
35855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_laneq_s32(int32x2_t __r,int8x8_t __a,uint8x16_t __b,const int __index)35856 vsudot_laneq_s32 (int32x2_t __r, int8x8_t __a, uint8x16_t __b,
35857 		  const int __index)
35858 {
35859   return __builtin_aarch64_sudot_laneqv8qi_sssus (__r, __a, __b, __index);
35860 }
35861 
35862 __extension__ extern __inline int32x4_t
35863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_lane_s32(int32x4_t __r,int8x16_t __a,uint8x8_t __b,const int __index)35864 vsudotq_lane_s32 (int32x4_t __r, int8x16_t __a, uint8x8_t __b,
35865 		  const int __index)
35866 {
35867   return __builtin_aarch64_sudot_lanev16qi_sssus (__r, __a, __b, __index);
35868 }
35869 
35870 __extension__ extern __inline int32x4_t
35871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_laneq_s32(int32x4_t __r,int8x16_t __a,uint8x16_t __b,const int __index)35872 vsudotq_laneq_s32 (int32x4_t __r, int8x16_t __a, uint8x16_t __b,
35873 		   const int __index)
35874 {
35875   return __builtin_aarch64_sudot_laneqv16qi_sssus (__r, __a, __b, __index);
35876 }
35877 
35878 /* Matrix Multiply-Accumulate.  */
35879 
35880 __extension__ extern __inline int32x4_t
35881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)35882 vmmlaq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
35883 {
35884   return __builtin_aarch64_simd_smmlav16qi (__r, __a, __b);
35885 }
35886 
35887 __extension__ extern __inline uint32x4_t
35888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)35889 vmmlaq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
35890 {
35891   return __builtin_aarch64_simd_ummlav16qi_uuuu (__r, __a, __b);
35892 }
35893 
35894 __extension__ extern __inline int32x4_t
35895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusmmlaq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)35896 vusmmlaq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
35897 {
35898   return __builtin_aarch64_simd_usmmlav16qi_ssus (__r, __a, __b);
35899 }
35900 
35901 #pragma GCC pop_options
35902 
poly8x8_t(__always_inline__,__gnu_inline__,__artificial__)35903 __extension__ extern __inline poly8x8_t
35904 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35905 vadd_p8 (poly8x8_t __a, poly8x8_t __b)
35906 {
35907   return __a ^ __b;
35908 }
35909 
poly16x4_t(__always_inline__,__gnu_inline__,__artificial__)35910 __extension__ extern __inline poly16x4_t
35911 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35912 vadd_p16 (poly16x4_t __a, poly16x4_t __b)
35913 {
35914   return __a ^ __b;
35915 }
35916 
poly64x1_t(__always_inline__,__gnu_inline__,__artificial__)35917 __extension__ extern __inline poly64x1_t
35918 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35919 vadd_p64 (poly64x1_t __a, poly64x1_t __b)
35920 {
35921   return __a ^ __b;
35922 }
35923 
poly8x16_t(__always_inline__,__gnu_inline__,__artificial__)35924 __extension__ extern __inline poly8x16_t
35925 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35926 vaddq_p8 (poly8x16_t __a, poly8x16_t __b)
35927 {
35928   return __a ^ __b;
35929 }
35930 
poly16x8_t(__always_inline__,__gnu_inline__,__artificial__)35931 __extension__ extern __inline poly16x8_t
35932 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35933 vaddq_p16 (poly16x8_t __a, poly16x8_t __b)
35934 {
35935   return __a ^__b;
35936 }
35937 
poly64x2_t(__always_inline__,__gnu_inline__,__artificial__)35938 __extension__ extern __inline poly64x2_t
35939 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35940 vaddq_p64 (poly64x2_t __a, poly64x2_t __b)
35941 {
35942   return __a ^ __b;
35943 }
35944 
poly128_t(__always_inline__,__gnu_inline__,__artificial__)35945 __extension__ extern __inline poly128_t
35946 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
35947 vaddq_p128 (poly128_t __a, poly128_t __b)
35948 {
35949   return __a ^ __b;
35950 }
35951 
35952 #undef __aarch64_vget_lane_any
35953 
35954 #undef __aarch64_vdup_lane_any
35955 #undef __aarch64_vdup_lane_f16
35956 #undef __aarch64_vdup_lane_f32
35957 #undef __aarch64_vdup_lane_f64
35958 #undef __aarch64_vdup_lane_p8
35959 #undef __aarch64_vdup_lane_p16
35960 #undef __aarch64_vdup_lane_s8
35961 #undef __aarch64_vdup_lane_s16
35962 #undef __aarch64_vdup_lane_s32
35963 #undef __aarch64_vdup_lane_s64
35964 #undef __aarch64_vdup_lane_u8
35965 #undef __aarch64_vdup_lane_u16
35966 #undef __aarch64_vdup_lane_u32
35967 #undef __aarch64_vdup_lane_u64
35968 #undef __aarch64_vdup_laneq_f16
35969 #undef __aarch64_vdup_laneq_f32
35970 #undef __aarch64_vdup_laneq_f64
35971 #undef __aarch64_vdup_laneq_p8
35972 #undef __aarch64_vdup_laneq_p16
35973 #undef __aarch64_vdup_laneq_s8
35974 #undef __aarch64_vdup_laneq_s16
35975 #undef __aarch64_vdup_laneq_s32
35976 #undef __aarch64_vdup_laneq_s64
35977 #undef __aarch64_vdup_laneq_u8
35978 #undef __aarch64_vdup_laneq_u16
35979 #undef __aarch64_vdup_laneq_u32
35980 #undef __aarch64_vdup_laneq_u64
35981 #undef __aarch64_vdupq_lane_f16
35982 #undef __aarch64_vdupq_lane_f32
35983 #undef __aarch64_vdupq_lane_f64
35984 #undef __aarch64_vdupq_lane_p8
35985 #undef __aarch64_vdupq_lane_p16
35986 #undef __aarch64_vdupq_lane_s8
35987 #undef __aarch64_vdupq_lane_s16
35988 #undef __aarch64_vdupq_lane_s32
35989 #undef __aarch64_vdupq_lane_s64
35990 #undef __aarch64_vdupq_lane_u8
35991 #undef __aarch64_vdupq_lane_u16
35992 #undef __aarch64_vdupq_lane_u32
35993 #undef __aarch64_vdupq_lane_u64
35994 #undef __aarch64_vdupq_laneq_f16
35995 #undef __aarch64_vdupq_laneq_f32
35996 #undef __aarch64_vdupq_laneq_f64
35997 #undef __aarch64_vdupq_laneq_p8
35998 #undef __aarch64_vdupq_laneq_p16
35999 #undef __aarch64_vdupq_laneq_s8
36000 #undef __aarch64_vdupq_laneq_s16
36001 #undef __aarch64_vdupq_laneq_s32
36002 #undef __aarch64_vdupq_laneq_s64
36003 #undef __aarch64_vdupq_laneq_u8
36004 #undef __aarch64_vdupq_laneq_u16
36005 #undef __aarch64_vdupq_laneq_u32
36006 #undef __aarch64_vdupq_laneq_u64
36007 
36008 #undef __LD2_LANE_FUNC
36009 #undef __LD2Q_LANE_FUNC
36010 #undef __LD3_LANE_FUNC
36011 #undef __LD3Q_LANE_FUNC
36012 #undef __LD4_LANE_FUNC
36013 #undef __LD4Q_LANE_FUNC
36014 #undef __ST2_LANE_FUNC
36015 #undef __ST2Q_LANE_FUNC
36016 #undef __ST3_LANE_FUNC
36017 #undef __ST3Q_LANE_FUNC
36018 #undef __ST4_LANE_FUNC
36019 #undef __ST4Q_LANE_FUNC
36020 
36021 #endif
36022