RISC-V: Add testcases for unsigned .SAT_SUB vector form 10
[official-gcc.git] / gcc / config / aarch64 / arm_neon.h
blobc4a09528ffd8b551bb37e9218a85dc37499cc362
1 /* ARM NEON intrinsics include file.
3 Copyright (C) 2011-2024 Free Software Foundation, Inc.
4 Contributed by ARM Ltd.
6 This file is part of GCC.
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.
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.
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.
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/>. */
27 #ifndef _AARCH64_NEON_H_
28 #define _AARCH64_NEON_H_
30 #pragma GCC push_options
31 #pragma GCC target ("+nothing+simd")
33 #pragma GCC aarch64 "arm_neon.h"
35 #include <stdint.h>
37 #define __AARCH64_UINT64_C(__C) ((uint64_t) __C)
38 #define __AARCH64_INT64_C(__C) ((int64_t) __C)
40 typedef __Int8x8_t int8x8_t;
41 typedef __Int16x4_t int16x4_t;
42 typedef __Int32x2_t int32x2_t;
43 typedef __Int64x1_t int64x1_t;
44 typedef __Float16x4_t float16x4_t;
45 typedef __Float32x2_t float32x2_t;
46 typedef __Poly8x8_t poly8x8_t;
47 typedef __Poly16x4_t poly16x4_t;
48 typedef __Uint8x8_t uint8x8_t;
49 typedef __Uint16x4_t uint16x4_t;
50 typedef __Uint32x2_t uint32x2_t;
51 typedef __Float64x1_t float64x1_t;
52 typedef __Uint64x1_t uint64x1_t;
53 typedef __Int8x16_t int8x16_t;
54 typedef __Int16x8_t int16x8_t;
55 typedef __Int32x4_t int32x4_t;
56 typedef __Int64x2_t int64x2_t;
57 typedef __Float16x8_t float16x8_t;
58 typedef __Float32x4_t float32x4_t;
59 typedef __Float64x2_t float64x2_t;
60 typedef __Poly8x16_t poly8x16_t;
61 typedef __Poly16x8_t poly16x8_t;
62 typedef __Poly64x2_t poly64x2_t;
63 typedef __Poly64x1_t poly64x1_t;
64 typedef __Uint8x16_t uint8x16_t;
65 typedef __Uint16x8_t uint16x8_t;
66 typedef __Uint32x4_t uint32x4_t;
67 typedef __Uint64x2_t uint64x2_t;
69 typedef __Poly8_t poly8_t;
70 typedef __Poly16_t poly16_t;
71 typedef __Poly64_t poly64_t;
72 typedef __Poly128_t poly128_t;
74 typedef __fp16 float16_t;
75 typedef float float32_t;
76 typedef double float64_t;
78 typedef __Bfloat16x4_t bfloat16x4_t;
79 typedef __Bfloat16x8_t bfloat16x8_t;
81 /* __aarch64_vdup_lane internal macros. */
82 #define __aarch64_vdup_lane_any(__size, __q, __a, __b) \
83 vdup##__q##_n_##__size (__aarch64_vget_lane_any (__a, __b))
85 #define __aarch64_vdup_lane_f16(__a, __b) \
86 __aarch64_vdup_lane_any (f16, , __a, __b)
87 #define __aarch64_vdup_lane_f32(__a, __b) \
88 __aarch64_vdup_lane_any (f32, , __a, __b)
89 #define __aarch64_vdup_lane_f64(__a, __b) \
90 __aarch64_vdup_lane_any (f64, , __a, __b)
91 #define __aarch64_vdup_lane_p8(__a, __b) \
92 __aarch64_vdup_lane_any (p8, , __a, __b)
93 #define __aarch64_vdup_lane_p16(__a, __b) \
94 __aarch64_vdup_lane_any (p16, , __a, __b)
95 #define __aarch64_vdup_lane_p64(__a, __b) \
96 __aarch64_vdup_lane_any (p64, , __a, __b)
97 #define __aarch64_vdup_lane_s8(__a, __b) \
98 __aarch64_vdup_lane_any (s8, , __a, __b)
99 #define __aarch64_vdup_lane_s16(__a, __b) \
100 __aarch64_vdup_lane_any (s16, , __a, __b)
101 #define __aarch64_vdup_lane_s32(__a, __b) \
102 __aarch64_vdup_lane_any (s32, , __a, __b)
103 #define __aarch64_vdup_lane_s64(__a, __b) \
104 __aarch64_vdup_lane_any (s64, , __a, __b)
105 #define __aarch64_vdup_lane_u8(__a, __b) \
106 __aarch64_vdup_lane_any (u8, , __a, __b)
107 #define __aarch64_vdup_lane_u16(__a, __b) \
108 __aarch64_vdup_lane_any (u16, , __a, __b)
109 #define __aarch64_vdup_lane_u32(__a, __b) \
110 __aarch64_vdup_lane_any (u32, , __a, __b)
111 #define __aarch64_vdup_lane_u64(__a, __b) \
112 __aarch64_vdup_lane_any (u64, , __a, __b)
114 /* __aarch64_vdup_laneq internal macros. */
115 #define __aarch64_vdup_laneq_f16(__a, __b) \
116 __aarch64_vdup_lane_any (f16, , __a, __b)
117 #define __aarch64_vdup_laneq_f32(__a, __b) \
118 __aarch64_vdup_lane_any (f32, , __a, __b)
119 #define __aarch64_vdup_laneq_f64(__a, __b) \
120 __aarch64_vdup_lane_any (f64, , __a, __b)
121 #define __aarch64_vdup_laneq_p8(__a, __b) \
122 __aarch64_vdup_lane_any (p8, , __a, __b)
123 #define __aarch64_vdup_laneq_p16(__a, __b) \
124 __aarch64_vdup_lane_any (p16, , __a, __b)
125 #define __aarch64_vdup_laneq_p64(__a, __b) \
126 __aarch64_vdup_lane_any (p64, , __a, __b)
127 #define __aarch64_vdup_laneq_s8(__a, __b) \
128 __aarch64_vdup_lane_any (s8, , __a, __b)
129 #define __aarch64_vdup_laneq_s16(__a, __b) \
130 __aarch64_vdup_lane_any (s16, , __a, __b)
131 #define __aarch64_vdup_laneq_s32(__a, __b) \
132 __aarch64_vdup_lane_any (s32, , __a, __b)
133 #define __aarch64_vdup_laneq_s64(__a, __b) \
134 __aarch64_vdup_lane_any (s64, , __a, __b)
135 #define __aarch64_vdup_laneq_u8(__a, __b) \
136 __aarch64_vdup_lane_any (u8, , __a, __b)
137 #define __aarch64_vdup_laneq_u16(__a, __b) \
138 __aarch64_vdup_lane_any (u16, , __a, __b)
139 #define __aarch64_vdup_laneq_u32(__a, __b) \
140 __aarch64_vdup_lane_any (u32, , __a, __b)
141 #define __aarch64_vdup_laneq_u64(__a, __b) \
142 __aarch64_vdup_lane_any (u64, , __a, __b)
144 /* __aarch64_vdupq_lane internal macros. */
145 #define __aarch64_vdupq_lane_f16(__a, __b) \
146 __aarch64_vdup_lane_any (f16, q, __a, __b)
147 #define __aarch64_vdupq_lane_f32(__a, __b) \
148 __aarch64_vdup_lane_any (f32, q, __a, __b)
149 #define __aarch64_vdupq_lane_f64(__a, __b) \
150 __aarch64_vdup_lane_any (f64, q, __a, __b)
151 #define __aarch64_vdupq_lane_p8(__a, __b) \
152 __aarch64_vdup_lane_any (p8, q, __a, __b)
153 #define __aarch64_vdupq_lane_p16(__a, __b) \
154 __aarch64_vdup_lane_any (p16, q, __a, __b)
155 #define __aarch64_vdupq_lane_p64(__a, __b) \
156 __aarch64_vdup_lane_any (p64, q, __a, __b)
157 #define __aarch64_vdupq_lane_s8(__a, __b) \
158 __aarch64_vdup_lane_any (s8, q, __a, __b)
159 #define __aarch64_vdupq_lane_s16(__a, __b) \
160 __aarch64_vdup_lane_any (s16, q, __a, __b)
161 #define __aarch64_vdupq_lane_s32(__a, __b) \
162 __aarch64_vdup_lane_any (s32, q, __a, __b)
163 #define __aarch64_vdupq_lane_s64(__a, __b) \
164 __aarch64_vdup_lane_any (s64, q, __a, __b)
165 #define __aarch64_vdupq_lane_u8(__a, __b) \
166 __aarch64_vdup_lane_any (u8, q, __a, __b)
167 #define __aarch64_vdupq_lane_u16(__a, __b) \
168 __aarch64_vdup_lane_any (u16, q, __a, __b)
169 #define __aarch64_vdupq_lane_u32(__a, __b) \
170 __aarch64_vdup_lane_any (u32, q, __a, __b)
171 #define __aarch64_vdupq_lane_u64(__a, __b) \
172 __aarch64_vdup_lane_any (u64, q, __a, __b)
174 /* __aarch64_vdupq_laneq internal macros. */
175 #define __aarch64_vdupq_laneq_f16(__a, __b) \
176 __aarch64_vdup_lane_any (f16, q, __a, __b)
177 #define __aarch64_vdupq_laneq_f32(__a, __b) \
178 __aarch64_vdup_lane_any (f32, q, __a, __b)
179 #define __aarch64_vdupq_laneq_f64(__a, __b) \
180 __aarch64_vdup_lane_any (f64, q, __a, __b)
181 #define __aarch64_vdupq_laneq_p8(__a, __b) \
182 __aarch64_vdup_lane_any (p8, q, __a, __b)
183 #define __aarch64_vdupq_laneq_p16(__a, __b) \
184 __aarch64_vdup_lane_any (p16, q, __a, __b)
185 #define __aarch64_vdupq_laneq_p64(__a, __b) \
186 __aarch64_vdup_lane_any (p64, q, __a, __b)
187 #define __aarch64_vdupq_laneq_s8(__a, __b) \
188 __aarch64_vdup_lane_any (s8, q, __a, __b)
189 #define __aarch64_vdupq_laneq_s16(__a, __b) \
190 __aarch64_vdup_lane_any (s16, q, __a, __b)
191 #define __aarch64_vdupq_laneq_s32(__a, __b) \
192 __aarch64_vdup_lane_any (s32, q, __a, __b)
193 #define __aarch64_vdupq_laneq_s64(__a, __b) \
194 __aarch64_vdup_lane_any (s64, q, __a, __b)
195 #define __aarch64_vdupq_laneq_u8(__a, __b) \
196 __aarch64_vdup_lane_any (u8, q, __a, __b)
197 #define __aarch64_vdupq_laneq_u16(__a, __b) \
198 __aarch64_vdup_lane_any (u16, q, __a, __b)
199 #define __aarch64_vdupq_laneq_u32(__a, __b) \
200 __aarch64_vdup_lane_any (u32, q, __a, __b)
201 #define __aarch64_vdupq_laneq_u64(__a, __b) \
202 __aarch64_vdup_lane_any (u64, q, __a, __b)
204 /* Internal macro for lane indices. */
206 #define __AARCH64_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
207 #define __AARCH64_LANE_CHECK(__vec, __idx) \
208 __builtin_aarch64_im_lane_boundsi (sizeof(__vec), sizeof(__vec[0]), __idx)
210 /* For big-endian, GCC's vector indices are the opposite way around
211 to the architectural lane indices used by Neon intrinsics. */
212 #ifdef __AARCH64EB__
213 #define __aarch64_lane(__vec, __idx) (__AARCH64_NUM_LANES (__vec) - 1 - __idx)
214 #else
215 #define __aarch64_lane(__vec, __idx) __idx
216 #endif
218 /* vget_lane internal macro. */
219 #define __aarch64_vget_lane_any(__vec, __index) \
220 __extension__ \
221 ({ \
222 __AARCH64_LANE_CHECK (__vec, __index); \
223 __vec[__aarch64_lane (__vec, __index)]; \
226 /* vset_lane and vld1_lane internal macro. */
227 #define __aarch64_vset_lane_any(__elem, __vec, __index) \
228 __extension__ \
229 ({ \
230 __AARCH64_LANE_CHECK (__vec, __index); \
231 __vec[__aarch64_lane (__vec, __index)] = __elem; \
232 __vec; \
235 /* vadd */
236 __extension__ extern __inline int8x8_t
237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
238 vadd_s8 (int8x8_t __a, int8x8_t __b)
240 return __a + __b;
243 __extension__ extern __inline int16x4_t
244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
245 vadd_s16 (int16x4_t __a, int16x4_t __b)
247 return __a + __b;
250 __extension__ extern __inline int32x2_t
251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
252 vadd_s32 (int32x2_t __a, int32x2_t __b)
254 return __a + __b;
257 __extension__ extern __inline float32x2_t
258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
259 vadd_f32 (float32x2_t __a, float32x2_t __b)
261 return __a + __b;
264 __extension__ extern __inline float64x1_t
265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
266 vadd_f64 (float64x1_t __a, float64x1_t __b)
268 return __a + __b;
271 __extension__ extern __inline uint8x8_t
272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
273 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
275 return __a + __b;
278 __extension__ extern __inline uint16x4_t
279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
280 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
282 return __a + __b;
285 __extension__ extern __inline uint32x2_t
286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
287 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
289 return __a + __b;
292 __extension__ extern __inline int64x1_t
293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
294 vadd_s64 (int64x1_t __a, int64x1_t __b)
296 return __a + __b;
299 __extension__ extern __inline uint64x1_t
300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
301 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
303 return __a + __b;
306 __extension__ extern __inline int8x16_t
307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
308 vaddq_s8 (int8x16_t __a, int8x16_t __b)
310 return __a + __b;
313 __extension__ extern __inline int16x8_t
314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
315 vaddq_s16 (int16x8_t __a, int16x8_t __b)
317 return __a + __b;
320 __extension__ extern __inline int32x4_t
321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
322 vaddq_s32 (int32x4_t __a, int32x4_t __b)
324 return __a + __b;
327 __extension__ extern __inline int64x2_t
328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
329 vaddq_s64 (int64x2_t __a, int64x2_t __b)
331 return __a + __b;
334 __extension__ extern __inline float32x4_t
335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
336 vaddq_f32 (float32x4_t __a, float32x4_t __b)
338 return __a + __b;
341 __extension__ extern __inline float64x2_t
342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
343 vaddq_f64 (float64x2_t __a, float64x2_t __b)
345 return __a + __b;
348 __extension__ extern __inline uint8x16_t
349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
350 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
352 return __a + __b;
355 __extension__ extern __inline uint16x8_t
356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
357 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
359 return __a + __b;
362 __extension__ extern __inline uint32x4_t
363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
364 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
366 return __a + __b;
369 __extension__ extern __inline uint64x2_t
370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
371 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
373 return __a + __b;
376 __extension__ extern __inline int16x8_t
377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
378 vaddl_s8 (int8x8_t __a, int8x8_t __b)
380 return __builtin_aarch64_saddlv8qi (__a, __b);
383 __extension__ extern __inline int32x4_t
384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
385 vaddl_s16 (int16x4_t __a, int16x4_t __b)
387 return __builtin_aarch64_saddlv4hi (__a, __b);
390 __extension__ extern __inline int64x2_t
391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
392 vaddl_s32 (int32x2_t __a, int32x2_t __b)
394 return __builtin_aarch64_saddlv2si (__a, __b);
397 __extension__ extern __inline uint16x8_t
398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
399 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
401 return __builtin_aarch64_uaddlv8qi_uuu (__a, __b);
404 __extension__ extern __inline uint32x4_t
405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
406 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
408 return __builtin_aarch64_uaddlv4hi_uuu (__a, __b);
411 __extension__ extern __inline uint64x2_t
412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
413 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
415 return __builtin_aarch64_uaddlv2si_uuu (__a, __b);
418 __extension__ extern __inline int16x8_t
419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
420 vaddl_high_s8 (int8x16_t __a, int8x16_t __b)
422 return __builtin_aarch64_saddl2v16qi (__a, __b);
425 __extension__ extern __inline int32x4_t
426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
427 vaddl_high_s16 (int16x8_t __a, int16x8_t __b)
429 return __builtin_aarch64_saddl2v8hi (__a, __b);
432 __extension__ extern __inline int64x2_t
433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
434 vaddl_high_s32 (int32x4_t __a, int32x4_t __b)
436 return __builtin_aarch64_saddl2v4si (__a, __b);
439 __extension__ extern __inline uint16x8_t
440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
441 vaddl_high_u8 (uint8x16_t __a, uint8x16_t __b)
443 return __builtin_aarch64_uaddl2v16qi_uuu (__a, __b);
446 __extension__ extern __inline uint32x4_t
447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
448 vaddl_high_u16 (uint16x8_t __a, uint16x8_t __b)
450 return __builtin_aarch64_uaddl2v8hi_uuu (__a, __b);
453 __extension__ extern __inline uint64x2_t
454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
455 vaddl_high_u32 (uint32x4_t __a, uint32x4_t __b)
457 return __builtin_aarch64_uaddl2v4si_uuu (__a, __b);
460 __extension__ extern __inline int16x8_t
461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
462 vaddw_s8 (int16x8_t __a, int8x8_t __b)
464 return __builtin_aarch64_saddwv8qi (__a, __b);
467 __extension__ extern __inline int32x4_t
468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
469 vaddw_s16 (int32x4_t __a, int16x4_t __b)
471 return __builtin_aarch64_saddwv4hi (__a, __b);
474 __extension__ extern __inline int64x2_t
475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
476 vaddw_s32 (int64x2_t __a, int32x2_t __b)
478 return __builtin_aarch64_saddwv2si (__a, __b);
481 __extension__ extern __inline uint16x8_t
482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
483 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
485 return __builtin_aarch64_uaddwv8qi_uuu (__a, __b);
488 __extension__ extern __inline uint32x4_t
489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
490 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
492 return __builtin_aarch64_uaddwv4hi_uuu (__a, __b);
495 __extension__ extern __inline uint64x2_t
496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
497 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
499 return __builtin_aarch64_uaddwv2si_uuu (__a, __b);
502 __extension__ extern __inline int16x8_t
503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
504 vaddw_high_s8 (int16x8_t __a, int8x16_t __b)
506 return __builtin_aarch64_saddw2v16qi (__a, __b);
509 __extension__ extern __inline int32x4_t
510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
511 vaddw_high_s16 (int32x4_t __a, int16x8_t __b)
513 return __builtin_aarch64_saddw2v8hi (__a, __b);
516 __extension__ extern __inline int64x2_t
517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
518 vaddw_high_s32 (int64x2_t __a, int32x4_t __b)
520 return __builtin_aarch64_saddw2v4si (__a, __b);
523 __extension__ extern __inline uint16x8_t
524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
525 vaddw_high_u8 (uint16x8_t __a, uint8x16_t __b)
527 return __builtin_aarch64_uaddw2v16qi_uuu (__a, __b);
530 __extension__ extern __inline uint32x4_t
531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
532 vaddw_high_u16 (uint32x4_t __a, uint16x8_t __b)
534 return __builtin_aarch64_uaddw2v8hi_uuu (__a, __b);
537 __extension__ extern __inline uint64x2_t
538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
539 vaddw_high_u32 (uint64x2_t __a, uint32x4_t __b)
541 return __builtin_aarch64_uaddw2v4si_uuu (__a, __b);
544 __extension__ extern __inline int8x8_t
545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
546 vhadd_s8 (int8x8_t __a, int8x8_t __b)
548 return __builtin_aarch64_shaddv8qi (__a, __b);
551 __extension__ extern __inline int16x4_t
552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
553 vhadd_s16 (int16x4_t __a, int16x4_t __b)
555 return __builtin_aarch64_shaddv4hi (__a, __b);
558 __extension__ extern __inline int32x2_t
559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
560 vhadd_s32 (int32x2_t __a, int32x2_t __b)
562 return __builtin_aarch64_shaddv2si (__a, __b);
565 __extension__ extern __inline uint8x8_t
566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
567 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
569 return __builtin_aarch64_uhaddv8qi_uuu (__a, __b);
572 __extension__ extern __inline uint16x4_t
573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
574 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
576 return __builtin_aarch64_uhaddv4hi_uuu (__a, __b);
579 __extension__ extern __inline uint32x2_t
580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
581 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
583 return __builtin_aarch64_uhaddv2si_uuu (__a, __b);
586 __extension__ extern __inline int8x16_t
587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
588 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
590 return __builtin_aarch64_shaddv16qi (__a, __b);
593 __extension__ extern __inline int16x8_t
594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
595 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
597 return __builtin_aarch64_shaddv8hi (__a, __b);
600 __extension__ extern __inline int32x4_t
601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
602 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
604 return __builtin_aarch64_shaddv4si (__a, __b);
607 __extension__ extern __inline uint8x16_t
608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
609 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
611 return __builtin_aarch64_uhaddv16qi_uuu (__a, __b);
614 __extension__ extern __inline uint16x8_t
615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
616 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
618 return __builtin_aarch64_uhaddv8hi_uuu (__a, __b);
621 __extension__ extern __inline uint32x4_t
622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
623 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
625 return __builtin_aarch64_uhaddv4si_uuu (__a, __b);
628 __extension__ extern __inline int8x8_t
629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
630 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
632 return __builtin_aarch64_srhaddv8qi (__a, __b);
635 __extension__ extern __inline int16x4_t
636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
637 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
639 return __builtin_aarch64_srhaddv4hi (__a, __b);
642 __extension__ extern __inline int32x2_t
643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
644 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
646 return __builtin_aarch64_srhaddv2si (__a, __b);
649 __extension__ extern __inline uint8x8_t
650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
651 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
653 return __builtin_aarch64_urhaddv8qi_uuu (__a, __b);
656 __extension__ extern __inline uint16x4_t
657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
658 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
660 return __builtin_aarch64_urhaddv4hi_uuu (__a, __b);
663 __extension__ extern __inline uint32x2_t
664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
665 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
667 return __builtin_aarch64_urhaddv2si_uuu (__a, __b);
670 __extension__ extern __inline int8x16_t
671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
672 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
674 return __builtin_aarch64_srhaddv16qi (__a, __b);
677 __extension__ extern __inline int16x8_t
678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
679 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
681 return __builtin_aarch64_srhaddv8hi (__a, __b);
684 __extension__ extern __inline int32x4_t
685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
686 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
688 return __builtin_aarch64_srhaddv4si (__a, __b);
691 __extension__ extern __inline uint8x16_t
692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
693 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
695 return __builtin_aarch64_urhaddv16qi_uuu (__a, __b);
698 __extension__ extern __inline uint16x8_t
699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
700 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
702 return __builtin_aarch64_urhaddv8hi_uuu (__a, __b);
705 __extension__ extern __inline uint32x4_t
706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
707 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
709 return __builtin_aarch64_urhaddv4si_uuu (__a, __b);
712 __extension__ extern __inline int8x8_t
713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
714 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
716 return __builtin_aarch64_addhnv8hi (__a, __b);
719 __extension__ extern __inline int16x4_t
720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
721 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
723 return __builtin_aarch64_addhnv4si (__a, __b);
726 __extension__ extern __inline int32x2_t
727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
728 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
730 return __builtin_aarch64_addhnv2di (__a, __b);
733 __extension__ extern __inline uint8x8_t
734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
735 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
737 return __builtin_aarch64_addhnv8hi_uuu (__a, __b);
740 __extension__ extern __inline uint16x4_t
741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
742 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
744 return __builtin_aarch64_addhnv4si_uuu (__a, __b);
747 __extension__ extern __inline uint32x2_t
748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
749 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
751 return __builtin_aarch64_addhnv2di_uuu (__a, __b);
754 __extension__ extern __inline int8x8_t
755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
756 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
758 return __builtin_aarch64_raddhnv8hi (__a, __b);
761 __extension__ extern __inline int16x4_t
762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
763 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
765 return __builtin_aarch64_raddhnv4si (__a, __b);
768 __extension__ extern __inline int32x2_t
769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
770 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
772 return __builtin_aarch64_raddhnv2di (__a, __b);
775 __extension__ extern __inline uint8x8_t
776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
777 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
779 return __builtin_aarch64_raddhnv8hi_uuu (__a, __b);
782 __extension__ extern __inline uint16x4_t
783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
784 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
786 return __builtin_aarch64_raddhnv4si_uuu (__a, __b);
789 __extension__ extern __inline uint32x2_t
790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
791 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
793 return __builtin_aarch64_raddhnv2di_uuu (__a, __b);
796 __extension__ extern __inline int8x16_t
797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
798 vaddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
800 return __builtin_aarch64_addhn2v8hi (__a, __b, __c);
803 __extension__ extern __inline int16x8_t
804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
805 vaddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
807 return __builtin_aarch64_addhn2v4si (__a, __b, __c);
810 __extension__ extern __inline int32x4_t
811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
812 vaddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
814 return __builtin_aarch64_addhn2v2di (__a, __b, __c);
817 __extension__ extern __inline uint8x16_t
818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
819 vaddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
821 return __builtin_aarch64_addhn2v8hi_uuuu (__a, __b, __c);
824 __extension__ extern __inline uint16x8_t
825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
826 vaddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
828 return __builtin_aarch64_addhn2v4si_uuuu (__a, __b, __c);
831 __extension__ extern __inline uint32x4_t
832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
833 vaddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
835 return __builtin_aarch64_addhn2v2di_uuuu (__a, __b, __c);
838 __extension__ extern __inline int8x16_t
839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
840 vraddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
842 return __builtin_aarch64_raddhn2v8hi (__a, __b, __c);
845 __extension__ extern __inline int16x8_t
846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
847 vraddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
849 return __builtin_aarch64_raddhn2v4si (__a, __b, __c);
852 __extension__ extern __inline int32x4_t
853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
854 vraddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
856 return __builtin_aarch64_raddhn2v2di (__a, __b, __c);
859 __extension__ extern __inline uint8x16_t
860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
861 vraddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
863 return __builtin_aarch64_raddhn2v8hi_uuuu (__a, __b, __c);
866 __extension__ extern __inline uint16x8_t
867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
868 vraddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
870 return __builtin_aarch64_raddhn2v4si_uuuu (__a, __b, __c);
873 __extension__ extern __inline uint32x4_t
874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
875 vraddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
877 return __builtin_aarch64_raddhn2v2di_uuuu (__a, __b, __c);
880 __extension__ extern __inline float32x2_t
881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
882 vdiv_f32 (float32x2_t __a, float32x2_t __b)
884 return __a / __b;
887 __extension__ extern __inline float64x1_t
888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
889 vdiv_f64 (float64x1_t __a, float64x1_t __b)
891 return __a / __b;
894 __extension__ extern __inline float32x4_t
895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
896 vdivq_f32 (float32x4_t __a, float32x4_t __b)
898 return __a / __b;
901 __extension__ extern __inline float64x2_t
902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
903 vdivq_f64 (float64x2_t __a, float64x2_t __b)
905 return __a / __b;
908 __extension__ extern __inline int8x8_t
909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
910 vmul_s8 (int8x8_t __a, int8x8_t __b)
912 return __a * __b;
915 __extension__ extern __inline int16x4_t
916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
917 vmul_s16 (int16x4_t __a, int16x4_t __b)
919 return __a * __b;
922 __extension__ extern __inline int32x2_t
923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
924 vmul_s32 (int32x2_t __a, int32x2_t __b)
926 return __a * __b;
929 __extension__ extern __inline float32x2_t
930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
931 vmul_f32 (float32x2_t __a, float32x2_t __b)
933 return __a * __b;
936 __extension__ extern __inline float64x1_t
937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
938 vmul_f64 (float64x1_t __a, float64x1_t __b)
940 return __a * __b;
943 __extension__ extern __inline uint8x8_t
944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
945 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
947 return __a * __b;
950 __extension__ extern __inline uint16x4_t
951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
952 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
954 return __a * __b;
957 __extension__ extern __inline uint32x2_t
958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
959 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
961 return __a * __b;
964 __extension__ extern __inline poly8x8_t
965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
966 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
968 return __builtin_aarch64_pmulv8qi_ppp (__a, __b);
971 __extension__ extern __inline int8x16_t
972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
973 vmulq_s8 (int8x16_t __a, int8x16_t __b)
975 return __a * __b;
978 __extension__ extern __inline int16x8_t
979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
980 vmulq_s16 (int16x8_t __a, int16x8_t __b)
982 return __a * __b;
985 __extension__ extern __inline int32x4_t
986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
987 vmulq_s32 (int32x4_t __a, int32x4_t __b)
989 return __a * __b;
992 __extension__ extern __inline float32x4_t
993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
994 vmulq_f32 (float32x4_t __a, float32x4_t __b)
996 return __a * __b;
999 __extension__ extern __inline float64x2_t
1000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1001 vmulq_f64 (float64x2_t __a, float64x2_t __b)
1003 return __a * __b;
1006 __extension__ extern __inline uint8x16_t
1007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1008 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1010 return __a * __b;
1013 __extension__ extern __inline uint16x8_t
1014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1015 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1017 return __a * __b;
1020 __extension__ extern __inline uint32x4_t
1021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1022 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1024 return __a * __b;
1027 __extension__ extern __inline poly8x16_t
1028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1029 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1031 return __builtin_aarch64_pmulv16qi_ppp (__a, __b);
1034 __extension__ extern __inline int8x8_t
1035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1036 vand_s8 (int8x8_t __a, int8x8_t __b)
1038 return __a & __b;
1041 __extension__ extern __inline int16x4_t
1042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1043 vand_s16 (int16x4_t __a, int16x4_t __b)
1045 return __a & __b;
1048 __extension__ extern __inline int32x2_t
1049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1050 vand_s32 (int32x2_t __a, int32x2_t __b)
1052 return __a & __b;
1055 __extension__ extern __inline uint8x8_t
1056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1057 vand_u8 (uint8x8_t __a, uint8x8_t __b)
1059 return __a & __b;
1062 __extension__ extern __inline uint16x4_t
1063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1064 vand_u16 (uint16x4_t __a, uint16x4_t __b)
1066 return __a & __b;
1069 __extension__ extern __inline uint32x2_t
1070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1071 vand_u32 (uint32x2_t __a, uint32x2_t __b)
1073 return __a & __b;
1076 __extension__ extern __inline int64x1_t
1077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1078 vand_s64 (int64x1_t __a, int64x1_t __b)
1080 return __a & __b;
1083 __extension__ extern __inline uint64x1_t
1084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1085 vand_u64 (uint64x1_t __a, uint64x1_t __b)
1087 return __a & __b;
1090 __extension__ extern __inline int8x16_t
1091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1092 vandq_s8 (int8x16_t __a, int8x16_t __b)
1094 return __a & __b;
1097 __extension__ extern __inline int16x8_t
1098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1099 vandq_s16 (int16x8_t __a, int16x8_t __b)
1101 return __a & __b;
1104 __extension__ extern __inline int32x4_t
1105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1106 vandq_s32 (int32x4_t __a, int32x4_t __b)
1108 return __a & __b;
1111 __extension__ extern __inline int64x2_t
1112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1113 vandq_s64 (int64x2_t __a, int64x2_t __b)
1115 return __a & __b;
1118 __extension__ extern __inline uint8x16_t
1119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1120 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
1122 return __a & __b;
1125 __extension__ extern __inline uint16x8_t
1126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1127 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
1129 return __a & __b;
1132 __extension__ extern __inline uint32x4_t
1133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1134 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
1136 return __a & __b;
1139 __extension__ extern __inline uint64x2_t
1140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1141 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
1143 return __a & __b;
1146 __extension__ extern __inline int8x8_t
1147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1148 vorr_s8 (int8x8_t __a, int8x8_t __b)
1150 return __a | __b;
1153 __extension__ extern __inline int16x4_t
1154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1155 vorr_s16 (int16x4_t __a, int16x4_t __b)
1157 return __a | __b;
1160 __extension__ extern __inline int32x2_t
1161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1162 vorr_s32 (int32x2_t __a, int32x2_t __b)
1164 return __a | __b;
1167 __extension__ extern __inline uint8x8_t
1168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1169 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
1171 return __a | __b;
1174 __extension__ extern __inline uint16x4_t
1175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1176 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
1178 return __a | __b;
1181 __extension__ extern __inline uint32x2_t
1182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1183 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
1185 return __a | __b;
1188 __extension__ extern __inline int64x1_t
1189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1190 vorr_s64 (int64x1_t __a, int64x1_t __b)
1192 return __a | __b;
1195 __extension__ extern __inline uint64x1_t
1196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1197 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
1199 return __a | __b;
1202 __extension__ extern __inline int8x16_t
1203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1204 vorrq_s8 (int8x16_t __a, int8x16_t __b)
1206 return __a | __b;
1209 __extension__ extern __inline int16x8_t
1210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1211 vorrq_s16 (int16x8_t __a, int16x8_t __b)
1213 return __a | __b;
1216 __extension__ extern __inline int32x4_t
1217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1218 vorrq_s32 (int32x4_t __a, int32x4_t __b)
1220 return __a | __b;
1223 __extension__ extern __inline int64x2_t
1224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1225 vorrq_s64 (int64x2_t __a, int64x2_t __b)
1227 return __a | __b;
1230 __extension__ extern __inline uint8x16_t
1231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1232 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
1234 return __a | __b;
1237 __extension__ extern __inline uint16x8_t
1238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1239 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
1241 return __a | __b;
1244 __extension__ extern __inline uint32x4_t
1245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1246 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
1248 return __a | __b;
1251 __extension__ extern __inline uint64x2_t
1252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1253 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
1255 return __a | __b;
1258 __extension__ extern __inline int8x8_t
1259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1260 veor_s8 (int8x8_t __a, int8x8_t __b)
1262 return __a ^ __b;
1265 __extension__ extern __inline int16x4_t
1266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1267 veor_s16 (int16x4_t __a, int16x4_t __b)
1269 return __a ^ __b;
1272 __extension__ extern __inline int32x2_t
1273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1274 veor_s32 (int32x2_t __a, int32x2_t __b)
1276 return __a ^ __b;
1279 __extension__ extern __inline uint8x8_t
1280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1281 veor_u8 (uint8x8_t __a, uint8x8_t __b)
1283 return __a ^ __b;
1286 __extension__ extern __inline uint16x4_t
1287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1288 veor_u16 (uint16x4_t __a, uint16x4_t __b)
1290 return __a ^ __b;
1293 __extension__ extern __inline uint32x2_t
1294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1295 veor_u32 (uint32x2_t __a, uint32x2_t __b)
1297 return __a ^ __b;
1300 __extension__ extern __inline int64x1_t
1301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1302 veor_s64 (int64x1_t __a, int64x1_t __b)
1304 return __a ^ __b;
1307 __extension__ extern __inline uint64x1_t
1308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1309 veor_u64 (uint64x1_t __a, uint64x1_t __b)
1311 return __a ^ __b;
1314 __extension__ extern __inline int8x16_t
1315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1316 veorq_s8 (int8x16_t __a, int8x16_t __b)
1318 return __a ^ __b;
1321 __extension__ extern __inline int16x8_t
1322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1323 veorq_s16 (int16x8_t __a, int16x8_t __b)
1325 return __a ^ __b;
1328 __extension__ extern __inline int32x4_t
1329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1330 veorq_s32 (int32x4_t __a, int32x4_t __b)
1332 return __a ^ __b;
1335 __extension__ extern __inline int64x2_t
1336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1337 veorq_s64 (int64x2_t __a, int64x2_t __b)
1339 return __a ^ __b;
1342 __extension__ extern __inline uint8x16_t
1343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1344 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
1346 return __a ^ __b;
1349 __extension__ extern __inline uint16x8_t
1350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1351 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
1353 return __a ^ __b;
1356 __extension__ extern __inline uint32x4_t
1357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1358 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
1360 return __a ^ __b;
1363 __extension__ extern __inline uint64x2_t
1364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1365 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
1367 return __a ^ __b;
1370 __extension__ extern __inline int8x8_t
1371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1372 vbic_s8 (int8x8_t __a, int8x8_t __b)
1374 return __a & ~__b;
1377 __extension__ extern __inline int16x4_t
1378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1379 vbic_s16 (int16x4_t __a, int16x4_t __b)
1381 return __a & ~__b;
1384 __extension__ extern __inline int32x2_t
1385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1386 vbic_s32 (int32x2_t __a, int32x2_t __b)
1388 return __a & ~__b;
1391 __extension__ extern __inline uint8x8_t
1392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1393 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
1395 return __a & ~__b;
1398 __extension__ extern __inline uint16x4_t
1399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1400 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
1402 return __a & ~__b;
1405 __extension__ extern __inline uint32x2_t
1406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1407 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
1409 return __a & ~__b;
1412 __extension__ extern __inline int64x1_t
1413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1414 vbic_s64 (int64x1_t __a, int64x1_t __b)
1416 return __a & ~__b;
1419 __extension__ extern __inline uint64x1_t
1420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1421 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
1423 return __a & ~__b;
1426 __extension__ extern __inline int8x16_t
1427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1428 vbicq_s8 (int8x16_t __a, int8x16_t __b)
1430 return __a & ~__b;
1433 __extension__ extern __inline int16x8_t
1434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1435 vbicq_s16 (int16x8_t __a, int16x8_t __b)
1437 return __a & ~__b;
1440 __extension__ extern __inline int32x4_t
1441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1442 vbicq_s32 (int32x4_t __a, int32x4_t __b)
1444 return __a & ~__b;
1447 __extension__ extern __inline int64x2_t
1448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1449 vbicq_s64 (int64x2_t __a, int64x2_t __b)
1451 return __a & ~__b;
1454 __extension__ extern __inline uint8x16_t
1455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1456 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
1458 return __a & ~__b;
1461 __extension__ extern __inline uint16x8_t
1462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1463 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
1465 return __a & ~__b;
1468 __extension__ extern __inline uint32x4_t
1469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1470 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
1472 return __a & ~__b;
1475 __extension__ extern __inline uint64x2_t
1476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1477 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
1479 return __a & ~__b;
1482 __extension__ extern __inline int8x8_t
1483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1484 vorn_s8 (int8x8_t __a, int8x8_t __b)
1486 return __a | ~__b;
1489 __extension__ extern __inline int16x4_t
1490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1491 vorn_s16 (int16x4_t __a, int16x4_t __b)
1493 return __a | ~__b;
1496 __extension__ extern __inline int32x2_t
1497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1498 vorn_s32 (int32x2_t __a, int32x2_t __b)
1500 return __a | ~__b;
1503 __extension__ extern __inline uint8x8_t
1504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1505 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
1507 return __a | ~__b;
1510 __extension__ extern __inline uint16x4_t
1511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1512 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
1514 return __a | ~__b;
1517 __extension__ extern __inline uint32x2_t
1518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1519 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
1521 return __a | ~__b;
1524 __extension__ extern __inline int64x1_t
1525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1526 vorn_s64 (int64x1_t __a, int64x1_t __b)
1528 return __a | ~__b;
1531 __extension__ extern __inline uint64x1_t
1532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1533 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
1535 return __a | ~__b;
1538 __extension__ extern __inline int8x16_t
1539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1540 vornq_s8 (int8x16_t __a, int8x16_t __b)
1542 return __a | ~__b;
1545 __extension__ extern __inline int16x8_t
1546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1547 vornq_s16 (int16x8_t __a, int16x8_t __b)
1549 return __a | ~__b;
1552 __extension__ extern __inline int32x4_t
1553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1554 vornq_s32 (int32x4_t __a, int32x4_t __b)
1556 return __a | ~__b;
1559 __extension__ extern __inline int64x2_t
1560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1561 vornq_s64 (int64x2_t __a, int64x2_t __b)
1563 return __a | ~__b;
1566 __extension__ extern __inline uint8x16_t
1567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1568 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
1570 return __a | ~__b;
1573 __extension__ extern __inline uint16x8_t
1574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1575 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
1577 return __a | ~__b;
1580 __extension__ extern __inline uint32x4_t
1581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1582 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
1584 return __a | ~__b;
1587 __extension__ extern __inline uint64x2_t
1588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1589 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
1591 return __a | ~__b;
1594 __extension__ extern __inline int8x8_t
1595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1596 vsub_s8 (int8x8_t __a, int8x8_t __b)
1598 return __a - __b;
1601 __extension__ extern __inline int16x4_t
1602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1603 vsub_s16 (int16x4_t __a, int16x4_t __b)
1605 return __a - __b;
1608 __extension__ extern __inline int32x2_t
1609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1610 vsub_s32 (int32x2_t __a, int32x2_t __b)
1612 return __a - __b;
1615 __extension__ extern __inline float32x2_t
1616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1617 vsub_f32 (float32x2_t __a, float32x2_t __b)
1619 return __a - __b;
1622 __extension__ extern __inline float64x1_t
1623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1624 vsub_f64 (float64x1_t __a, float64x1_t __b)
1626 return __a - __b;
1629 __extension__ extern __inline uint8x8_t
1630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1631 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1633 return __a - __b;
1636 __extension__ extern __inline uint16x4_t
1637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1638 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1640 return __a - __b;
1643 __extension__ extern __inline uint32x2_t
1644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1645 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1647 return __a - __b;
1650 __extension__ extern __inline int64x1_t
1651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1652 vsub_s64 (int64x1_t __a, int64x1_t __b)
1654 return __a - __b;
1657 __extension__ extern __inline uint64x1_t
1658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1659 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1661 return __a - __b;
1664 __extension__ extern __inline int8x16_t
1665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1666 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1668 return __a - __b;
1671 __extension__ extern __inline int16x8_t
1672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1673 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1675 return __a - __b;
1678 __extension__ extern __inline int32x4_t
1679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1680 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1682 return __a - __b;
1685 __extension__ extern __inline int64x2_t
1686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1687 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1689 return __a - __b;
1692 __extension__ extern __inline float32x4_t
1693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1694 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1696 return __a - __b;
1699 __extension__ extern __inline float64x2_t
1700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1701 vsubq_f64 (float64x2_t __a, float64x2_t __b)
1703 return __a - __b;
1706 __extension__ extern __inline uint8x16_t
1707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1708 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1710 return __a - __b;
1713 __extension__ extern __inline uint16x8_t
1714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1715 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1717 return __a - __b;
1720 __extension__ extern __inline uint32x4_t
1721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1722 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1724 return __a - __b;
1727 __extension__ extern __inline uint64x2_t
1728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1729 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1731 return __a - __b;
1734 __extension__ extern __inline int16x8_t
1735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1736 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1738 return __builtin_aarch64_ssublv8qi (__a, __b);
1741 __extension__ extern __inline int32x4_t
1742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1743 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1745 return __builtin_aarch64_ssublv4hi (__a, __b);
1748 __extension__ extern __inline int64x2_t
1749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1750 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1752 return __builtin_aarch64_ssublv2si (__a, __b);
1755 __extension__ extern __inline uint16x8_t
1756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1757 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1759 return __builtin_aarch64_usublv8qi_uuu (__a, __b);
1762 __extension__ extern __inline uint32x4_t
1763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1764 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1766 return __builtin_aarch64_usublv4hi_uuu (__a, __b);
1769 __extension__ extern __inline uint64x2_t
1770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1771 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1773 return __builtin_aarch64_usublv2si_uuu (__a, __b);
1776 __extension__ extern __inline int16x8_t
1777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1778 vsubl_high_s8 (int8x16_t __a, int8x16_t __b)
1780 return __builtin_aarch64_ssubl2v16qi (__a, __b);
1783 __extension__ extern __inline int32x4_t
1784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1785 vsubl_high_s16 (int16x8_t __a, int16x8_t __b)
1787 return __builtin_aarch64_ssubl2v8hi (__a, __b);
1790 __extension__ extern __inline int64x2_t
1791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1792 vsubl_high_s32 (int32x4_t __a, int32x4_t __b)
1794 return __builtin_aarch64_ssubl2v4si (__a, __b);
1797 __extension__ extern __inline uint16x8_t
1798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1799 vsubl_high_u8 (uint8x16_t __a, uint8x16_t __b)
1801 return __builtin_aarch64_usubl2v16qi_uuu (__a, __b);
1804 __extension__ extern __inline uint32x4_t
1805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1806 vsubl_high_u16 (uint16x8_t __a, uint16x8_t __b)
1808 return __builtin_aarch64_usubl2v8hi_uuu (__a, __b);
1811 __extension__ extern __inline uint64x2_t
1812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1813 vsubl_high_u32 (uint32x4_t __a, uint32x4_t __b)
1815 return __builtin_aarch64_usubl2v4si_uuu (__a, __b);
1818 __extension__ extern __inline int16x8_t
1819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1820 vsubw_s8 (int16x8_t __a, int8x8_t __b)
1822 return __builtin_aarch64_ssubwv8qi (__a, __b);
1825 __extension__ extern __inline int32x4_t
1826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1827 vsubw_s16 (int32x4_t __a, int16x4_t __b)
1829 return __builtin_aarch64_ssubwv4hi (__a, __b);
1832 __extension__ extern __inline int64x2_t
1833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1834 vsubw_s32 (int64x2_t __a, int32x2_t __b)
1836 return __builtin_aarch64_ssubwv2si (__a, __b);
1839 __extension__ extern __inline uint16x8_t
1840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1841 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1843 return __builtin_aarch64_usubwv8qi_uuu (__a, __b);
1846 __extension__ extern __inline uint32x4_t
1847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1848 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1850 return __builtin_aarch64_usubwv4hi_uuu (__a, __b);
1853 __extension__ extern __inline uint64x2_t
1854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1855 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1857 return __builtin_aarch64_usubwv2si_uuu (__a, __b);
1860 __extension__ extern __inline int16x8_t
1861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1862 vsubw_high_s8 (int16x8_t __a, int8x16_t __b)
1864 return __builtin_aarch64_ssubw2v16qi (__a, __b);
1867 __extension__ extern __inline int32x4_t
1868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1869 vsubw_high_s16 (int32x4_t __a, int16x8_t __b)
1871 return __builtin_aarch64_ssubw2v8hi (__a, __b);
1874 __extension__ extern __inline int64x2_t
1875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1876 vsubw_high_s32 (int64x2_t __a, int32x4_t __b)
1878 return __builtin_aarch64_ssubw2v4si (__a, __b);
1881 __extension__ extern __inline uint16x8_t
1882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1883 vsubw_high_u8 (uint16x8_t __a, uint8x16_t __b)
1885 return __builtin_aarch64_usubw2v16qi_uuu (__a, __b);
1888 __extension__ extern __inline uint32x4_t
1889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1890 vsubw_high_u16 (uint32x4_t __a, uint16x8_t __b)
1892 return __builtin_aarch64_usubw2v8hi_uuu (__a, __b);
1895 __extension__ extern __inline uint64x2_t
1896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1897 vsubw_high_u32 (uint64x2_t __a, uint32x4_t __b)
1899 return __builtin_aarch64_usubw2v4si_uuu (__a, __b);
1902 __extension__ extern __inline int8x8_t
1903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1904 vqadd_s8 (int8x8_t __a, int8x8_t __b)
1906 return (int8x8_t) __builtin_aarch64_sqaddv8qi (__a, __b);
1909 __extension__ extern __inline int16x4_t
1910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1911 vqadd_s16 (int16x4_t __a, int16x4_t __b)
1913 return (int16x4_t) __builtin_aarch64_sqaddv4hi (__a, __b);
1916 __extension__ extern __inline int32x2_t
1917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1918 vqadd_s32 (int32x2_t __a, int32x2_t __b)
1920 return (int32x2_t) __builtin_aarch64_sqaddv2si (__a, __b);
1923 __extension__ extern __inline int64x1_t
1924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1925 vqadd_s64 (int64x1_t __a, int64x1_t __b)
1927 return (int64x1_t) {__builtin_aarch64_sqadddi (__a[0], __b[0])};
1930 __extension__ extern __inline uint8x8_t
1931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1932 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
1934 return __builtin_aarch64_uqaddv8qi_uuu (__a, __b);
1937 __extension__ extern __inline int8x8_t
1938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1939 vhsub_s8 (int8x8_t __a, int8x8_t __b)
1941 return __builtin_aarch64_shsubv8qi (__a, __b);
1944 __extension__ extern __inline int16x4_t
1945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1946 vhsub_s16 (int16x4_t __a, int16x4_t __b)
1948 return __builtin_aarch64_shsubv4hi (__a, __b);
1951 __extension__ extern __inline int32x2_t
1952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1953 vhsub_s32 (int32x2_t __a, int32x2_t __b)
1955 return __builtin_aarch64_shsubv2si (__a, __b);
1958 __extension__ extern __inline uint8x8_t
1959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1960 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1962 return __builtin_aarch64_uhsubv8qi_uuu (__a, __b);
1965 __extension__ extern __inline uint16x4_t
1966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1967 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1969 return __builtin_aarch64_uhsubv4hi_uuu (__a, __b);
1972 __extension__ extern __inline uint32x2_t
1973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1974 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1976 return __builtin_aarch64_uhsubv2si_uuu (__a, __b);
1979 __extension__ extern __inline int8x16_t
1980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1981 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1983 return __builtin_aarch64_shsubv16qi (__a, __b);
1986 __extension__ extern __inline int16x8_t
1987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1988 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1990 return __builtin_aarch64_shsubv8hi (__a, __b);
1993 __extension__ extern __inline int32x4_t
1994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
1995 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1997 return __builtin_aarch64_shsubv4si (__a, __b);
2000 __extension__ extern __inline uint8x16_t
2001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2002 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2004 return __builtin_aarch64_uhsubv16qi_uuu (__a, __b);
2007 __extension__ extern __inline uint16x8_t
2008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2009 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2011 return __builtin_aarch64_uhsubv8hi_uuu (__a, __b);
2014 __extension__ extern __inline uint32x4_t
2015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2016 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2018 return __builtin_aarch64_uhsubv4si_uuu (__a, __b);
2021 __extension__ extern __inline int8x8_t
2022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2023 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
2025 return __builtin_aarch64_subhnv8hi (__a, __b);
2028 __extension__ extern __inline int16x4_t
2029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2030 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
2032 return __builtin_aarch64_subhnv4si (__a, __b);
2035 __extension__ extern __inline int32x2_t
2036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2037 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
2039 return __builtin_aarch64_subhnv2di (__a, __b);
2042 __extension__ extern __inline uint8x8_t
2043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2044 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2046 return __builtin_aarch64_subhnv8hi_uuu (__a, __b);
2049 __extension__ extern __inline uint16x4_t
2050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2051 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2053 return __builtin_aarch64_subhnv4si_uuu (__a, __b);
2056 __extension__ extern __inline uint32x2_t
2057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2058 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2060 return __builtin_aarch64_subhnv2di_uuu (__a, __b);
2063 __extension__ extern __inline int8x8_t
2064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2065 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
2067 return __builtin_aarch64_rsubhnv8hi (__a, __b);
2070 __extension__ extern __inline int16x4_t
2071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2072 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
2074 return __builtin_aarch64_rsubhnv4si (__a, __b);
2077 __extension__ extern __inline int32x2_t
2078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2079 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
2081 return __builtin_aarch64_rsubhnv2di (__a, __b);
2084 __extension__ extern __inline uint8x8_t
2085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2086 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2088 return __builtin_aarch64_rsubhnv8hi_uuu (__a, __b);
2091 __extension__ extern __inline uint16x4_t
2092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2093 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2095 return __builtin_aarch64_rsubhnv4si_uuu (__a, __b);
2098 __extension__ extern __inline uint32x2_t
2099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2100 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2102 return __builtin_aarch64_rsubhnv2di_uuu (__a, __b);
2105 __extension__ extern __inline int8x16_t
2106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2107 vrsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2109 return __builtin_aarch64_rsubhn2v8hi (__a, __b, __c);
2112 __extension__ extern __inline int16x8_t
2113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2114 vrsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2116 return __builtin_aarch64_rsubhn2v4si (__a, __b, __c);
2119 __extension__ extern __inline int32x4_t
2120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2121 vrsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2123 return __builtin_aarch64_rsubhn2v2di (__a, __b, __c);
2126 __extension__ extern __inline uint8x16_t
2127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2128 vrsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2130 return __builtin_aarch64_rsubhn2v8hi_uuuu (__a, __b, __c);
2133 __extension__ extern __inline uint16x8_t
2134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2135 vrsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2137 return __builtin_aarch64_rsubhn2v4si_uuuu (__a, __b, __c);
2140 __extension__ extern __inline uint32x4_t
2141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2142 vrsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2144 return __builtin_aarch64_rsubhn2v2di_uuuu (__a, __b, __c);
2147 __extension__ extern __inline int8x16_t
2148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2149 vsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2151 return __builtin_aarch64_subhn2v8hi (__a, __b, __c);
2154 __extension__ extern __inline int16x8_t
2155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2156 vsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2158 return __builtin_aarch64_subhn2v4si (__a, __b, __c);;
2161 __extension__ extern __inline int32x4_t
2162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2163 vsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2165 return __builtin_aarch64_subhn2v2di (__a, __b, __c);
2168 __extension__ extern __inline uint8x16_t
2169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2170 vsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2172 return __builtin_aarch64_subhn2v8hi_uuuu (__a, __b, __c);
2175 __extension__ extern __inline uint16x8_t
2176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2177 vsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2179 return __builtin_aarch64_subhn2v4si_uuuu (__a, __b, __c);
2182 __extension__ extern __inline uint32x4_t
2183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2184 vsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2186 return __builtin_aarch64_subhn2v2di_uuuu (__a, __b, __c);
2189 __extension__ extern __inline uint16x4_t
2190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2191 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
2193 return __builtin_aarch64_uqaddv4hi_uuu (__a, __b);
2196 __extension__ extern __inline uint32x2_t
2197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2198 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
2200 return __builtin_aarch64_uqaddv2si_uuu (__a, __b);
2203 __extension__ extern __inline uint64x1_t
2204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2205 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
2207 return (uint64x1_t) {__builtin_aarch64_uqadddi_uuu (__a[0], __b[0])};
2210 __extension__ extern __inline int8x16_t
2211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2212 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
2214 return (int8x16_t) __builtin_aarch64_sqaddv16qi (__a, __b);
2217 __extension__ extern __inline int16x8_t
2218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2219 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
2221 return (int16x8_t) __builtin_aarch64_sqaddv8hi (__a, __b);
2224 __extension__ extern __inline int32x4_t
2225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2226 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
2228 return (int32x4_t) __builtin_aarch64_sqaddv4si (__a, __b);
2231 __extension__ extern __inline int64x2_t
2232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2233 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
2235 return (int64x2_t) __builtin_aarch64_sqaddv2di (__a, __b);
2238 __extension__ extern __inline uint8x16_t
2239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2240 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
2242 return __builtin_aarch64_uqaddv16qi_uuu (__a, __b);
2245 __extension__ extern __inline uint16x8_t
2246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2247 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
2249 return __builtin_aarch64_uqaddv8hi_uuu (__a, __b);
2252 __extension__ extern __inline uint32x4_t
2253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2254 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
2256 return __builtin_aarch64_uqaddv4si_uuu (__a, __b);
2259 __extension__ extern __inline uint64x2_t
2260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2261 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
2263 return __builtin_aarch64_uqaddv2di_uuu (__a, __b);
2266 __extension__ extern __inline int8x8_t
2267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2268 vqsub_s8 (int8x8_t __a, int8x8_t __b)
2270 return (int8x8_t) __builtin_aarch64_sqsubv8qi (__a, __b);
2273 __extension__ extern __inline int16x4_t
2274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2275 vqsub_s16 (int16x4_t __a, int16x4_t __b)
2277 return (int16x4_t) __builtin_aarch64_sqsubv4hi (__a, __b);
2280 __extension__ extern __inline int32x2_t
2281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2282 vqsub_s32 (int32x2_t __a, int32x2_t __b)
2284 return (int32x2_t) __builtin_aarch64_sqsubv2si (__a, __b);
2287 __extension__ extern __inline int64x1_t
2288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2289 vqsub_s64 (int64x1_t __a, int64x1_t __b)
2291 return (int64x1_t) {__builtin_aarch64_sqsubdi (__a[0], __b[0])};
2294 __extension__ extern __inline uint8x8_t
2295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2296 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
2298 return __builtin_aarch64_uqsubv8qi_uuu (__a, __b);
2301 __extension__ extern __inline uint16x4_t
2302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2303 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
2305 return __builtin_aarch64_uqsubv4hi_uuu (__a, __b);
2308 __extension__ extern __inline uint32x2_t
2309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2310 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
2312 return __builtin_aarch64_uqsubv2si_uuu (__a, __b);
2315 __extension__ extern __inline uint64x1_t
2316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2317 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
2319 return (uint64x1_t) {__builtin_aarch64_uqsubdi_uuu (__a[0], __b[0])};
2322 __extension__ extern __inline int8x16_t
2323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2324 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
2326 return (int8x16_t) __builtin_aarch64_sqsubv16qi (__a, __b);
2329 __extension__ extern __inline int16x8_t
2330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2331 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
2333 return (int16x8_t) __builtin_aarch64_sqsubv8hi (__a, __b);
2336 __extension__ extern __inline int32x4_t
2337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2338 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
2340 return (int32x4_t) __builtin_aarch64_sqsubv4si (__a, __b);
2343 __extension__ extern __inline int64x2_t
2344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2345 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
2347 return (int64x2_t) __builtin_aarch64_sqsubv2di (__a, __b);
2350 __extension__ extern __inline uint8x16_t
2351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2352 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2354 return __builtin_aarch64_uqsubv16qi_uuu (__a, __b);
2357 __extension__ extern __inline uint16x8_t
2358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2359 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2361 return __builtin_aarch64_uqsubv8hi_uuu (__a, __b);
2364 __extension__ extern __inline uint32x4_t
2365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2366 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2368 return __builtin_aarch64_uqsubv4si_uuu (__a, __b);
2371 __extension__ extern __inline uint64x2_t
2372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2373 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2375 return __builtin_aarch64_uqsubv2di_uuu (__a, __b);
2378 __extension__ extern __inline int8x8_t
2379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2380 vqneg_s8 (int8x8_t __a)
2382 return (int8x8_t) __builtin_aarch64_sqnegv8qi (__a);
2385 __extension__ extern __inline int16x4_t
2386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2387 vqneg_s16 (int16x4_t __a)
2389 return (int16x4_t) __builtin_aarch64_sqnegv4hi (__a);
2392 __extension__ extern __inline int32x2_t
2393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2394 vqneg_s32 (int32x2_t __a)
2396 return (int32x2_t) __builtin_aarch64_sqnegv2si (__a);
2399 __extension__ extern __inline int64x1_t
2400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2401 vqneg_s64 (int64x1_t __a)
2403 return (int64x1_t) {__builtin_aarch64_sqnegdi (__a[0])};
2406 __extension__ extern __inline int8x16_t
2407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2408 vqnegq_s8 (int8x16_t __a)
2410 return (int8x16_t) __builtin_aarch64_sqnegv16qi (__a);
2413 __extension__ extern __inline int16x8_t
2414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2415 vqnegq_s16 (int16x8_t __a)
2417 return (int16x8_t) __builtin_aarch64_sqnegv8hi (__a);
2420 __extension__ extern __inline int32x4_t
2421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2422 vqnegq_s32 (int32x4_t __a)
2424 return (int32x4_t) __builtin_aarch64_sqnegv4si (__a);
2427 __extension__ extern __inline int8x8_t
2428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2429 vqabs_s8 (int8x8_t __a)
2431 return (int8x8_t) __builtin_aarch64_sqabsv8qi (__a);
2434 __extension__ extern __inline int16x4_t
2435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2436 vqabs_s16 (int16x4_t __a)
2438 return (int16x4_t) __builtin_aarch64_sqabsv4hi (__a);
2441 __extension__ extern __inline int32x2_t
2442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2443 vqabs_s32 (int32x2_t __a)
2445 return (int32x2_t) __builtin_aarch64_sqabsv2si (__a);
2448 __extension__ extern __inline int64x1_t
2449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2450 vqabs_s64 (int64x1_t __a)
2452 return (int64x1_t) {__builtin_aarch64_sqabsdi (__a[0])};
2455 __extension__ extern __inline int8x16_t
2456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2457 vqabsq_s8 (int8x16_t __a)
2459 return (int8x16_t) __builtin_aarch64_sqabsv16qi (__a);
2462 __extension__ extern __inline int16x8_t
2463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2464 vqabsq_s16 (int16x8_t __a)
2466 return (int16x8_t) __builtin_aarch64_sqabsv8hi (__a);
2469 __extension__ extern __inline int32x4_t
2470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2471 vqabsq_s32 (int32x4_t __a)
2473 return (int32x4_t) __builtin_aarch64_sqabsv4si (__a);
2476 __extension__ extern __inline int16x4_t
2477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2478 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
2480 return (int16x4_t) __builtin_aarch64_sqdmulhv4hi (__a, __b);
2483 __extension__ extern __inline int32x2_t
2484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2485 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
2487 return (int32x2_t) __builtin_aarch64_sqdmulhv2si (__a, __b);
2490 __extension__ extern __inline int16x8_t
2491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2492 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
2494 return (int16x8_t) __builtin_aarch64_sqdmulhv8hi (__a, __b);
2497 __extension__ extern __inline int32x4_t
2498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2499 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
2501 return (int32x4_t) __builtin_aarch64_sqdmulhv4si (__a, __b);
2504 __extension__ extern __inline int16x4_t
2505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2506 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
2508 return (int16x4_t) __builtin_aarch64_sqrdmulhv4hi (__a, __b);
2511 __extension__ extern __inline int32x2_t
2512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2513 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
2515 return (int32x2_t) __builtin_aarch64_sqrdmulhv2si (__a, __b);
2518 __extension__ extern __inline int16x8_t
2519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2520 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
2522 return (int16x8_t) __builtin_aarch64_sqrdmulhv8hi (__a, __b);
2525 __extension__ extern __inline int32x4_t
2526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2527 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
2529 return (int32x4_t) __builtin_aarch64_sqrdmulhv4si (__a, __b);
2532 __extension__ extern __inline int8x8_t
2533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2534 vcreate_s8 (uint64_t __a)
2536 return (int8x8_t) __a;
2539 __extension__ extern __inline int16x4_t
2540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2541 vcreate_s16 (uint64_t __a)
2543 return (int16x4_t) __a;
2546 __extension__ extern __inline int32x2_t
2547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2548 vcreate_s32 (uint64_t __a)
2550 return (int32x2_t) __a;
2553 __extension__ extern __inline int64x1_t
2554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2555 vcreate_s64 (uint64_t __a)
2557 return (int64x1_t) {__a};
2560 __extension__ extern __inline float16x4_t
2561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2562 vcreate_f16 (uint64_t __a)
2564 return (float16x4_t) __a;
2567 __extension__ extern __inline float32x2_t
2568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2569 vcreate_f32 (uint64_t __a)
2571 return (float32x2_t) __a;
2574 __extension__ extern __inline uint8x8_t
2575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2576 vcreate_u8 (uint64_t __a)
2578 return (uint8x8_t) __a;
2581 __extension__ extern __inline uint16x4_t
2582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2583 vcreate_u16 (uint64_t __a)
2585 return (uint16x4_t) __a;
2588 __extension__ extern __inline uint32x2_t
2589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2590 vcreate_u32 (uint64_t __a)
2592 return (uint32x2_t) __a;
2595 __extension__ extern __inline uint64x1_t
2596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2597 vcreate_u64 (uint64_t __a)
2599 return (uint64x1_t) {__a};
2602 __extension__ extern __inline float64x1_t
2603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2604 vcreate_f64 (uint64_t __a)
2606 return (float64x1_t) __a;
2609 __extension__ extern __inline poly8x8_t
2610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2611 vcreate_p8 (uint64_t __a)
2613 return (poly8x8_t) __a;
2616 __extension__ extern __inline poly16x4_t
2617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2618 vcreate_p16 (uint64_t __a)
2620 return (poly16x4_t) __a;
2623 __extension__ extern __inline poly64x1_t
2624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2625 vcreate_p64 (uint64_t __a)
2627 return (poly64x1_t) __a;
2630 /* vget_lane */
2632 __extension__ extern __inline float16_t
2633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2634 vget_lane_f16 (float16x4_t __a, const int __b)
2636 return __aarch64_vget_lane_any (__a, __b);
2639 __extension__ extern __inline float32_t
2640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2641 vget_lane_f32 (float32x2_t __a, const int __b)
2643 return __aarch64_vget_lane_any (__a, __b);
2646 __extension__ extern __inline float64_t
2647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2648 vget_lane_f64 (float64x1_t __a, const int __b)
2650 return __aarch64_vget_lane_any (__a, __b);
2653 __extension__ extern __inline poly8_t
2654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2655 vget_lane_p8 (poly8x8_t __a, const int __b)
2657 return __aarch64_vget_lane_any (__a, __b);
2660 __extension__ extern __inline poly16_t
2661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2662 vget_lane_p16 (poly16x4_t __a, const int __b)
2664 return __aarch64_vget_lane_any (__a, __b);
2667 __extension__ extern __inline poly64_t
2668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2669 vget_lane_p64 (poly64x1_t __a, const int __b)
2671 return __aarch64_vget_lane_any (__a, __b);
2674 __extension__ extern __inline int8_t
2675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2676 vget_lane_s8 (int8x8_t __a, const int __b)
2678 return __aarch64_vget_lane_any (__a, __b);
2681 __extension__ extern __inline int16_t
2682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2683 vget_lane_s16 (int16x4_t __a, const int __b)
2685 return __aarch64_vget_lane_any (__a, __b);
2688 __extension__ extern __inline int32_t
2689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2690 vget_lane_s32 (int32x2_t __a, const int __b)
2692 return __aarch64_vget_lane_any (__a, __b);
2695 __extension__ extern __inline int64_t
2696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2697 vget_lane_s64 (int64x1_t __a, const int __b)
2699 return __aarch64_vget_lane_any (__a, __b);
2702 __extension__ extern __inline uint8_t
2703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2704 vget_lane_u8 (uint8x8_t __a, const int __b)
2706 return __aarch64_vget_lane_any (__a, __b);
2709 __extension__ extern __inline uint16_t
2710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2711 vget_lane_u16 (uint16x4_t __a, const int __b)
2713 return __aarch64_vget_lane_any (__a, __b);
2716 __extension__ extern __inline uint32_t
2717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2718 vget_lane_u32 (uint32x2_t __a, const int __b)
2720 return __aarch64_vget_lane_any (__a, __b);
2723 __extension__ extern __inline uint64_t
2724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2725 vget_lane_u64 (uint64x1_t __a, const int __b)
2727 return __aarch64_vget_lane_any (__a, __b);
2730 /* vgetq_lane */
2732 __extension__ extern __inline float16_t
2733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2734 vgetq_lane_f16 (float16x8_t __a, const int __b)
2736 return __aarch64_vget_lane_any (__a, __b);
2739 __extension__ extern __inline float32_t
2740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2741 vgetq_lane_f32 (float32x4_t __a, const int __b)
2743 return __aarch64_vget_lane_any (__a, __b);
2746 __extension__ extern __inline float64_t
2747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2748 vgetq_lane_f64 (float64x2_t __a, const int __b)
2750 return __aarch64_vget_lane_any (__a, __b);
2753 __extension__ extern __inline poly8_t
2754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2755 vgetq_lane_p8 (poly8x16_t __a, const int __b)
2757 return __aarch64_vget_lane_any (__a, __b);
2760 __extension__ extern __inline poly16_t
2761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2762 vgetq_lane_p16 (poly16x8_t __a, const int __b)
2764 return __aarch64_vget_lane_any (__a, __b);
2767 __extension__ extern __inline poly64_t
2768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2769 vgetq_lane_p64 (poly64x2_t __a, const int __b)
2771 return __aarch64_vget_lane_any (__a, __b);
2774 __extension__ extern __inline int8_t
2775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2776 vgetq_lane_s8 (int8x16_t __a, const int __b)
2778 return __aarch64_vget_lane_any (__a, __b);
2781 __extension__ extern __inline int16_t
2782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2783 vgetq_lane_s16 (int16x8_t __a, const int __b)
2785 return __aarch64_vget_lane_any (__a, __b);
2788 __extension__ extern __inline int32_t
2789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2790 vgetq_lane_s32 (int32x4_t __a, const int __b)
2792 return __aarch64_vget_lane_any (__a, __b);
2795 __extension__ extern __inline int64_t
2796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2797 vgetq_lane_s64 (int64x2_t __a, const int __b)
2799 return __aarch64_vget_lane_any (__a, __b);
2802 __extension__ extern __inline uint8_t
2803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2804 vgetq_lane_u8 (uint8x16_t __a, const int __b)
2806 return __aarch64_vget_lane_any (__a, __b);
2809 __extension__ extern __inline uint16_t
2810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2811 vgetq_lane_u16 (uint16x8_t __a, const int __b)
2813 return __aarch64_vget_lane_any (__a, __b);
2816 __extension__ extern __inline uint32_t
2817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2818 vgetq_lane_u32 (uint32x4_t __a, const int __b)
2820 return __aarch64_vget_lane_any (__a, __b);
2823 __extension__ extern __inline uint64_t
2824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2825 vgetq_lane_u64 (uint64x2_t __a, const int __b)
2827 return __aarch64_vget_lane_any (__a, __b);
2830 /* vset_lane */
2832 __extension__ extern __inline float16x4_t
2833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2834 vset_lane_f16 (float16_t __elem, float16x4_t __vec, const int __index)
2836 return __aarch64_vset_lane_any (__elem, __vec, __index);
2839 __extension__ extern __inline float32x2_t
2840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2841 vset_lane_f32 (float32_t __elem, float32x2_t __vec, const int __index)
2843 return __aarch64_vset_lane_any (__elem, __vec, __index);
2846 __extension__ extern __inline float64x1_t
2847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2848 vset_lane_f64 (float64_t __elem, float64x1_t __vec, const int __index)
2850 return __aarch64_vset_lane_any (__elem, __vec, __index);
2853 __extension__ extern __inline poly8x8_t
2854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2855 vset_lane_p8 (poly8_t __elem, poly8x8_t __vec, const int __index)
2857 return __aarch64_vset_lane_any (__elem, __vec, __index);
2860 __extension__ extern __inline poly16x4_t
2861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2862 vset_lane_p16 (poly16_t __elem, poly16x4_t __vec, const int __index)
2864 return __aarch64_vset_lane_any (__elem, __vec, __index);
2867 __extension__ extern __inline poly64x1_t
2868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2869 vset_lane_p64 (poly64_t __elem, poly64x1_t __vec, const int __index)
2871 return __aarch64_vset_lane_any (__elem, __vec, __index);
2874 __extension__ extern __inline int8x8_t
2875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2876 vset_lane_s8 (int8_t __elem, int8x8_t __vec, const int __index)
2878 return __aarch64_vset_lane_any (__elem, __vec, __index);
2881 __extension__ extern __inline int16x4_t
2882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2883 vset_lane_s16 (int16_t __elem, int16x4_t __vec, const int __index)
2885 return __aarch64_vset_lane_any (__elem, __vec, __index);
2888 __extension__ extern __inline int32x2_t
2889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2890 vset_lane_s32 (int32_t __elem, int32x2_t __vec, const int __index)
2892 return __aarch64_vset_lane_any (__elem, __vec, __index);
2895 __extension__ extern __inline int64x1_t
2896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2897 vset_lane_s64 (int64_t __elem, int64x1_t __vec, const int __index)
2899 return __aarch64_vset_lane_any (__elem, __vec, __index);
2902 __extension__ extern __inline uint8x8_t
2903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2904 vset_lane_u8 (uint8_t __elem, uint8x8_t __vec, const int __index)
2906 return __aarch64_vset_lane_any (__elem, __vec, __index);
2909 __extension__ extern __inline uint16x4_t
2910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2911 vset_lane_u16 (uint16_t __elem, uint16x4_t __vec, const int __index)
2913 return __aarch64_vset_lane_any (__elem, __vec, __index);
2916 __extension__ extern __inline uint32x2_t
2917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2918 vset_lane_u32 (uint32_t __elem, uint32x2_t __vec, const int __index)
2920 return __aarch64_vset_lane_any (__elem, __vec, __index);
2923 __extension__ extern __inline uint64x1_t
2924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2925 vset_lane_u64 (uint64_t __elem, uint64x1_t __vec, const int __index)
2927 return __aarch64_vset_lane_any (__elem, __vec, __index);
2930 /* vsetq_lane */
2932 __extension__ extern __inline float16x8_t
2933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2934 vsetq_lane_f16 (float16_t __elem, float16x8_t __vec, const int __index)
2936 return __aarch64_vset_lane_any (__elem, __vec, __index);
2939 __extension__ extern __inline float32x4_t
2940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2941 vsetq_lane_f32 (float32_t __elem, float32x4_t __vec, const int __index)
2943 return __aarch64_vset_lane_any (__elem, __vec, __index);
2946 __extension__ extern __inline float64x2_t
2947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2948 vsetq_lane_f64 (float64_t __elem, float64x2_t __vec, const int __index)
2950 return __aarch64_vset_lane_any (__elem, __vec, __index);
2953 __extension__ extern __inline poly8x16_t
2954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2955 vsetq_lane_p8 (poly8_t __elem, poly8x16_t __vec, const int __index)
2957 return __aarch64_vset_lane_any (__elem, __vec, __index);
2960 __extension__ extern __inline poly16x8_t
2961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2962 vsetq_lane_p16 (poly16_t __elem, poly16x8_t __vec, const int __index)
2964 return __aarch64_vset_lane_any (__elem, __vec, __index);
2967 __extension__ extern __inline poly64x2_t
2968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2969 vsetq_lane_p64 (poly64_t __elem, poly64x2_t __vec, const int __index)
2971 return __aarch64_vset_lane_any (__elem, __vec, __index);
2974 __extension__ extern __inline int8x16_t
2975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2976 vsetq_lane_s8 (int8_t __elem, int8x16_t __vec, const int __index)
2978 return __aarch64_vset_lane_any (__elem, __vec, __index);
2981 __extension__ extern __inline int16x8_t
2982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2983 vsetq_lane_s16 (int16_t __elem, int16x8_t __vec, const int __index)
2985 return __aarch64_vset_lane_any (__elem, __vec, __index);
2988 __extension__ extern __inline int32x4_t
2989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2990 vsetq_lane_s32 (int32_t __elem, int32x4_t __vec, const int __index)
2992 return __aarch64_vset_lane_any (__elem, __vec, __index);
2995 __extension__ extern __inline int64x2_t
2996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
2997 vsetq_lane_s64 (int64_t __elem, int64x2_t __vec, const int __index)
2999 return __aarch64_vset_lane_any (__elem, __vec, __index);
3002 __extension__ extern __inline uint8x16_t
3003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3004 vsetq_lane_u8 (uint8_t __elem, uint8x16_t __vec, const int __index)
3006 return __aarch64_vset_lane_any (__elem, __vec, __index);
3009 __extension__ extern __inline uint16x8_t
3010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3011 vsetq_lane_u16 (uint16_t __elem, uint16x8_t __vec, const int __index)
3013 return __aarch64_vset_lane_any (__elem, __vec, __index);
3016 __extension__ extern __inline uint32x4_t
3017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3018 vsetq_lane_u32 (uint32_t __elem, uint32x4_t __vec, const int __index)
3020 return __aarch64_vset_lane_any (__elem, __vec, __index);
3023 __extension__ extern __inline uint64x2_t
3024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3025 vsetq_lane_u64 (uint64_t __elem, uint64x2_t __vec, const int __index)
3027 return __aarch64_vset_lane_any (__elem, __vec, __index);
3031 __extension__ extern __inline int8x16_t
3032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3033 vcombine_s8 (int8x8_t __a, int8x8_t __b)
3035 return __builtin_aarch64_combinev8qi (__a, __b);
3038 __extension__ extern __inline int16x8_t
3039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3040 vcombine_s16 (int16x4_t __a, int16x4_t __b)
3042 return __builtin_aarch64_combinev4hi (__a, __b);
3045 __extension__ extern __inline int32x4_t
3046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3047 vcombine_s32 (int32x2_t __a, int32x2_t __b)
3049 return __builtin_aarch64_combinev2si (__a, __b);
3052 __extension__ extern __inline int64x2_t
3053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3054 vcombine_s64 (int64x1_t __a, int64x1_t __b)
3056 return __builtin_aarch64_combinedi (__a[0], __b[0]);
3059 __extension__ extern __inline float16x8_t
3060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3061 vcombine_f16 (float16x4_t __a, float16x4_t __b)
3063 return __builtin_aarch64_combinev4hf (__a, __b);
3066 __extension__ extern __inline float32x4_t
3067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3068 vcombine_f32 (float32x2_t __a, float32x2_t __b)
3070 return __builtin_aarch64_combinev2sf (__a, __b);
3073 __extension__ extern __inline uint8x16_t
3074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3075 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
3077 return __builtin_aarch64_combinev8qi_uuu (__a, __b);
3080 __extension__ extern __inline uint16x8_t
3081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3082 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
3084 return __builtin_aarch64_combinev4hi_uuu (__a, __b);
3087 __extension__ extern __inline uint32x4_t
3088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3089 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
3091 return __builtin_aarch64_combinev2si_uuu (__a, __b);
3094 __extension__ extern __inline uint64x2_t
3095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3096 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
3098 return __builtin_aarch64_combinedi_uuu (__a[0], __b[0]);
3101 __extension__ extern __inline float64x2_t
3102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3103 vcombine_f64 (float64x1_t __a, float64x1_t __b)
3105 return __builtin_aarch64_combinedf (__a[0], __b[0]);
3108 __extension__ extern __inline poly8x16_t
3109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3110 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
3112 return __builtin_aarch64_combinev8qi_ppp (__a, __b);
3115 __extension__ extern __inline poly16x8_t
3116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3117 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
3119 return __builtin_aarch64_combinev4hi_ppp (__a, __b);
3122 __extension__ extern __inline poly64x2_t
3123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3124 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
3126 return __builtin_aarch64_combinedi_ppp (__a[0], __b[0]);
3129 /* Start of temporary inline asm implementations. */
3131 __extension__ extern __inline int8x8_t
3132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3133 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
3135 return __builtin_aarch64_sabav8qi (__a, __b, __c);
3138 __extension__ extern __inline int16x4_t
3139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3140 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
3142 return __builtin_aarch64_sabav4hi (__a, __b, __c);
3145 __extension__ extern __inline int32x2_t
3146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3147 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
3149 return __builtin_aarch64_sabav2si (__a, __b, __c);
3152 __extension__ extern __inline uint8x8_t
3153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3154 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
3156 return __builtin_aarch64_uabav8qi_uuuu (__a, __b, __c);
3159 __extension__ extern __inline uint16x4_t
3160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3161 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
3163 return __builtin_aarch64_uabav4hi_uuuu (__a, __b, __c);
3166 __extension__ extern __inline uint32x2_t
3167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3168 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
3170 return __builtin_aarch64_uabav2si_uuuu (__a, __b, __c);
3173 __extension__ extern __inline int16x8_t
3174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3175 vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
3177 return __builtin_aarch64_sabal2v16qi (__a, __b, __c);
3180 __extension__ extern __inline int32x4_t
3181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3182 vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
3184 return __builtin_aarch64_sabal2v8hi (__a, __b, __c);
3187 __extension__ extern __inline int64x2_t
3188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3189 vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
3191 return __builtin_aarch64_sabal2v4si (__a, __b, __c);
3194 __extension__ extern __inline uint16x8_t
3195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3196 vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
3198 return __builtin_aarch64_uabal2v16qi_uuuu (__a, __b, __c);
3201 __extension__ extern __inline uint32x4_t
3202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3203 vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
3205 return __builtin_aarch64_uabal2v8hi_uuuu (__a, __b, __c);
3208 __extension__ extern __inline uint64x2_t
3209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3210 vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
3212 return __builtin_aarch64_uabal2v4si_uuuu (__a, __b, __c);
3215 __extension__ extern __inline int16x8_t
3216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3217 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
3219 return __builtin_aarch64_sabalv8qi (__a, __b, __c);
3222 __extension__ extern __inline int32x4_t
3223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3224 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
3226 return __builtin_aarch64_sabalv4hi (__a, __b, __c);
3229 __extension__ extern __inline int64x2_t
3230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3231 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
3233 return __builtin_aarch64_sabalv2si (__a, __b, __c);
3236 __extension__ extern __inline uint16x8_t
3237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3238 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
3240 return __builtin_aarch64_uabalv8qi_uuuu (__a, __b, __c);
3243 __extension__ extern __inline uint32x4_t
3244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3245 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
3247 return __builtin_aarch64_uabalv4hi_uuuu (__a, __b, __c);
3250 __extension__ extern __inline uint64x2_t
3251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3252 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
3254 return __builtin_aarch64_uabalv2si_uuuu (__a, __b, __c);
3257 __extension__ extern __inline int8x16_t
3258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3259 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
3261 return __builtin_aarch64_sabav16qi (__a, __b, __c);
3264 __extension__ extern __inline int16x8_t
3265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3266 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
3268 return __builtin_aarch64_sabav8hi (__a, __b, __c);
3271 __extension__ extern __inline int32x4_t
3272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3273 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
3275 return __builtin_aarch64_sabav4si (__a, __b, __c);
3278 __extension__ extern __inline uint8x16_t
3279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3280 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
3282 return __builtin_aarch64_uabav16qi_uuuu (__a, __b, __c);
3285 __extension__ extern __inline uint16x8_t
3286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3287 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
3289 return __builtin_aarch64_uabav8hi_uuuu (__a, __b, __c);
3292 __extension__ extern __inline uint32x4_t
3293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3294 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
3296 return __builtin_aarch64_uabav4si_uuuu (__a, __b, __c);
3299 __extension__ extern __inline int8x8_t
3300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3301 vabd_s8 (int8x8_t __a, int8x8_t __b)
3303 return __builtin_aarch64_sabdv8qi (__a, __b);
3306 __extension__ extern __inline int16x4_t
3307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3308 vabd_s16 (int16x4_t __a, int16x4_t __b)
3310 return __builtin_aarch64_sabdv4hi (__a, __b);
3313 __extension__ extern __inline int32x2_t
3314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3315 vabd_s32 (int32x2_t __a, int32x2_t __b)
3317 return __builtin_aarch64_sabdv2si (__a, __b);
3320 __extension__ extern __inline uint8x8_t
3321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3322 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
3324 return __builtin_aarch64_uabdv8qi_uuu (__a, __b);
3327 __extension__ extern __inline uint16x4_t
3328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3329 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
3331 return __builtin_aarch64_uabdv4hi_uuu (__a, __b);
3334 __extension__ extern __inline uint32x2_t
3335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3336 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
3338 return __builtin_aarch64_uabdv2si_uuu (__a, __b);
3341 __extension__ extern __inline int16x8_t
3342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3343 vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
3345 return __builtin_aarch64_sabdl2v16qi (__a, __b);
3348 __extension__ extern __inline int32x4_t
3349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3350 vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
3352 return __builtin_aarch64_sabdl2v8hi (__a, __b);
3355 __extension__ extern __inline int64x2_t
3356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3357 vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
3359 return __builtin_aarch64_sabdl2v4si (__a, __b);
3362 __extension__ extern __inline uint16x8_t
3363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3364 vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
3366 return __builtin_aarch64_uabdl2v16qi_uuu (__a, __b);
3369 __extension__ extern __inline uint32x4_t
3370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3371 vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
3373 return __builtin_aarch64_uabdl2v8hi_uuu (__a, __b);
3376 __extension__ extern __inline uint64x2_t
3377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3378 vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
3380 return __builtin_aarch64_uabdl2v4si_uuu (__a, __b);
3383 __extension__ extern __inline int16x8_t
3384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3385 vabdl_s8 (int8x8_t __a, int8x8_t __b)
3387 return __builtin_aarch64_sabdlv8qi (__a, __b);
3390 __extension__ extern __inline int32x4_t
3391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3392 vabdl_s16 (int16x4_t __a, int16x4_t __b)
3394 return __builtin_aarch64_sabdlv4hi (__a, __b);
3397 __extension__ extern __inline int64x2_t
3398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3399 vabdl_s32 (int32x2_t __a, int32x2_t __b)
3401 return __builtin_aarch64_sabdlv2si (__a, __b);
3404 __extension__ extern __inline uint16x8_t
3405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3406 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
3408 return __builtin_aarch64_uabdlv8qi_uuu (__a, __b);
3411 __extension__ extern __inline uint32x4_t
3412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3413 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
3415 return __builtin_aarch64_uabdlv4hi_uuu (__a, __b);
3418 __extension__ extern __inline uint64x2_t
3419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3420 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
3422 return __builtin_aarch64_uabdlv2si_uuu (__a, __b);
3425 __extension__ extern __inline int8x16_t
3426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3427 vabdq_s8 (int8x16_t __a, int8x16_t __b)
3429 return __builtin_aarch64_sabdv16qi (__a, __b);
3432 __extension__ extern __inline int16x8_t
3433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3434 vabdq_s16 (int16x8_t __a, int16x8_t __b)
3436 return __builtin_aarch64_sabdv8hi (__a, __b);
3439 __extension__ extern __inline int32x4_t
3440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3441 vabdq_s32 (int32x4_t __a, int32x4_t __b)
3443 return __builtin_aarch64_sabdv4si (__a, __b);
3446 __extension__ extern __inline uint8x16_t
3447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3448 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
3450 return __builtin_aarch64_uabdv16qi_uuu (__a, __b);
3453 __extension__ extern __inline uint16x8_t
3454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3455 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
3457 return __builtin_aarch64_uabdv8hi_uuu (__a, __b);
3460 __extension__ extern __inline uint32x4_t
3461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3462 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
3464 return __builtin_aarch64_uabdv4si_uuu (__a, __b);
3467 __extension__ extern __inline int16_t
3468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3469 vaddlv_s8 (int8x8_t __a)
3471 return __builtin_aarch64_saddlvv8qi (__a);
3474 __extension__ extern __inline int32_t
3475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3476 vaddlv_s16 (int16x4_t __a)
3478 return __builtin_aarch64_saddlvv4hi (__a);
3481 __extension__ extern __inline uint16_t
3482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3483 vaddlv_u8 (uint8x8_t __a)
3485 return __builtin_aarch64_uaddlvv8qi_uu (__a);
3488 __extension__ extern __inline uint32_t
3489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3490 vaddlv_u16 (uint16x4_t __a)
3492 return __builtin_aarch64_uaddlvv4hi_uu (__a);
3495 __extension__ extern __inline int16_t
3496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3497 vaddlvq_s8 (int8x16_t __a)
3499 return __builtin_aarch64_saddlvv16qi (__a);
3502 __extension__ extern __inline int32_t
3503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3504 vaddlvq_s16 (int16x8_t __a)
3506 return __builtin_aarch64_saddlvv8hi (__a);
3509 __extension__ extern __inline int64_t
3510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3511 vaddlvq_s32 (int32x4_t __a)
3513 return __builtin_aarch64_saddlvv4si (__a);
3516 __extension__ extern __inline uint16_t
3517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3518 vaddlvq_u8 (uint8x16_t __a)
3520 return __builtin_aarch64_uaddlvv16qi_uu (__a);
3523 __extension__ extern __inline uint32_t
3524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3525 vaddlvq_u16 (uint16x8_t __a)
3527 return __builtin_aarch64_uaddlvv8hi_uu (__a);
3530 __extension__ extern __inline uint64_t
3531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3532 vaddlvq_u32 (uint32x4_t __a)
3534 return __builtin_aarch64_uaddlvv4si_uu (__a);
3537 __extension__ extern __inline float32x2_t
3538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3539 vcvtx_f32_f64 (float64x2_t __a)
3541 return __builtin_aarch64_float_trunc_rodd_lo_v2sf (__a);
3544 __extension__ extern __inline float32x4_t
3545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3546 vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
3548 return __builtin_aarch64_float_trunc_rodd_hi_v4sf (__a, __b);
3551 __extension__ extern __inline float32_t
3552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3553 vcvtxd_f32_f64 (float64_t __a)
3555 return __builtin_aarch64_float_trunc_rodd_df (__a);
3558 __extension__ extern __inline float32x2_t
3559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3560 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
3562 return __builtin_aarch64_float_mla_nv2sf (__a, __b, __c);
3565 __extension__ extern __inline int16x4_t
3566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3567 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
3569 return __builtin_aarch64_mla_nv4hi (__a, __b, __c);
3572 __extension__ extern __inline int32x2_t
3573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3574 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
3576 return __builtin_aarch64_mla_nv2si (__a, __b, __c);
3579 __extension__ extern __inline uint16x4_t
3580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3581 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
3583 return __builtin_aarch64_mla_nv4hi_uuuu (__a, __b, __c);
3586 __extension__ extern __inline uint32x2_t
3587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3588 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
3590 return __builtin_aarch64_mla_nv2si_uuuu (__a, __b, __c);
3593 __extension__ extern __inline int8x8_t
3594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3595 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
3597 return __builtin_aarch64_mlav8qi (__a, __b, __c);
3600 __extension__ extern __inline int16x4_t
3601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3602 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
3604 return __builtin_aarch64_mlav4hi (__a, __b, __c);
3607 __extension__ extern __inline int32x2_t
3608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3609 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
3611 return __builtin_aarch64_mlav2si (__a, __b, __c);
3614 __extension__ extern __inline uint8x8_t
3615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3616 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
3618 return __builtin_aarch64_mlav8qi_uuuu (__a, __b, __c);
3621 __extension__ extern __inline uint16x4_t
3622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3623 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
3625 return __builtin_aarch64_mlav4hi_uuuu (__a, __b, __c);
3628 __extension__ extern __inline uint32x2_t
3629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3630 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
3632 return __builtin_aarch64_mlav2si_uuuu (__a, __b, __c);
3635 __extension__ extern __inline int32x4_t
3636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3637 vmlal_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
3638 const int __lane)
3640 return __builtin_aarch64_smlal_hi_lanev8hi (__a, __b, __v, __lane);
3643 __extension__ extern __inline int64x2_t
3644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3645 vmlal_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
3646 const int __lane)
3648 return __builtin_aarch64_smlal_hi_lanev4si (__a, __b, __v, __lane);
3651 __extension__ extern __inline uint32x4_t
3652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3653 vmlal_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
3654 const int __lane)
3656 return __builtin_aarch64_umlal_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
3659 __extension__ extern __inline uint64x2_t
3660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3661 vmlal_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
3662 const int __lane)
3664 return __builtin_aarch64_umlal_hi_lanev4si_uuuus (__a, __b, __v, __lane);
3667 __extension__ extern __inline int32x4_t
3668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3669 vmlal_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
3670 const int __lane)
3672 return __builtin_aarch64_smlal_hi_laneqv8hi (__a, __b, __v, __lane);
3675 __extension__ extern __inline int64x2_t
3676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3677 vmlal_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
3678 const int __lane)
3680 return __builtin_aarch64_smlal_hi_laneqv4si (__a, __b, __v, __lane);
3683 __extension__ extern __inline uint32x4_t
3684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3685 vmlal_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
3686 const int __lane)
3688 return __builtin_aarch64_umlal_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
3691 __extension__ extern __inline uint64x2_t
3692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3693 vmlal_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
3694 const int __lane)
3696 return __builtin_aarch64_umlal_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
3699 __extension__ extern __inline int32x4_t
3700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3701 vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
3703 return __builtin_aarch64_smlal_hi_nv8hi (__a, __b, __c);
3706 __extension__ extern __inline int64x2_t
3707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3708 vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
3710 return __builtin_aarch64_smlal_hi_nv4si (__a, __b, __c);
3713 __extension__ extern __inline uint32x4_t
3714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3715 vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
3717 return __builtin_aarch64_umlal_hi_nv8hi_uuuu (__a, __b, __c);
3720 __extension__ extern __inline uint64x2_t
3721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3722 vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
3724 return __builtin_aarch64_umlal_hi_nv4si_uuuu (__a, __b, __c);
3727 __extension__ extern __inline int16x8_t
3728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3729 vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
3731 return __builtin_aarch64_smlal_hiv16qi (__a, __b, __c);
3734 __extension__ extern __inline int32x4_t
3735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3736 vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
3738 return __builtin_aarch64_smlal_hiv8hi (__a, __b, __c);
3741 __extension__ extern __inline int64x2_t
3742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3743 vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
3745 return __builtin_aarch64_smlal_hiv4si (__a, __b, __c);
3748 __extension__ extern __inline uint16x8_t
3749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3750 vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
3752 return __builtin_aarch64_umlal_hiv16qi_uuuu (__a, __b, __c);
3755 __extension__ extern __inline uint32x4_t
3756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3757 vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
3759 return __builtin_aarch64_umlal_hiv8hi_uuuu (__a, __b, __c);
3762 __extension__ extern __inline uint64x2_t
3763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3764 vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
3766 return __builtin_aarch64_umlal_hiv4si_uuuu (__a, __b, __c);
3769 __extension__ extern __inline int32x4_t
3770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3771 vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
3773 return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
3776 __extension__ extern __inline int64x2_t
3777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3778 vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
3780 return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
3783 __extension__ extern __inline uint32x4_t
3784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3785 vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
3787 return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
3790 __extension__ extern __inline uint64x2_t
3791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3792 vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
3794 return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
3797 __extension__ extern __inline int32x4_t
3798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3799 vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
3801 return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
3804 __extension__ extern __inline int64x2_t
3805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3806 vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
3808 return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
3811 __extension__ extern __inline uint32x4_t
3812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3813 vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
3815 return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
3818 __extension__ extern __inline uint64x2_t
3819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3820 vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
3822 return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
3825 __extension__ extern __inline int32x4_t
3826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3827 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
3829 return __builtin_aarch64_smlal_nv4hi (__a, __b, __c);
3832 __extension__ extern __inline int64x2_t
3833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3834 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
3836 return __builtin_aarch64_smlal_nv2si (__a, __b, __c);
3839 __extension__ extern __inline uint32x4_t
3840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3841 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
3843 return __builtin_aarch64_umlal_nv4hi_uuuu (__a, __b, __c);
3846 __extension__ extern __inline uint64x2_t
3847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3848 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
3850 return __builtin_aarch64_umlal_nv2si_uuuu (__a, __b, __c);
3853 __extension__ extern __inline int16x8_t
3854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3855 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
3857 return __builtin_aarch64_smlalv8qi (__a, __b, __c);
3860 __extension__ extern __inline int32x4_t
3861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3862 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
3864 return __builtin_aarch64_smlalv4hi (__a, __b, __c);
3867 __extension__ extern __inline int64x2_t
3868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3869 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
3871 return __builtin_aarch64_smlalv2si (__a, __b, __c);
3874 __extension__ extern __inline uint16x8_t
3875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3876 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
3878 return __builtin_aarch64_umlalv8qi_uuuu (__a, __b, __c);
3881 __extension__ extern __inline uint32x4_t
3882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3883 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
3885 return __builtin_aarch64_umlalv4hi_uuuu (__a, __b, __c);
3888 __extension__ extern __inline uint64x2_t
3889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3890 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
3892 return __builtin_aarch64_umlalv2si_uuuu (__a, __b, __c);
3895 __extension__ extern __inline float32x4_t
3896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3897 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
3899 return __builtin_aarch64_float_mla_nv4sf (__a, __b, __c);
3902 __extension__ extern __inline int16x8_t
3903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3904 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
3906 return __builtin_aarch64_mla_nv8hi (__a, __b, __c);
3909 __extension__ extern __inline int32x4_t
3910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3911 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
3913 return __builtin_aarch64_mla_nv4si (__a, __b, __c);
3916 __extension__ extern __inline uint16x8_t
3917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3918 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
3920 return __builtin_aarch64_mla_nv8hi_uuuu (__a, __b, __c);
3923 __extension__ extern __inline uint32x4_t
3924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3925 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
3927 return __builtin_aarch64_mla_nv4si_uuuu (__a, __b, __c);
3930 __extension__ extern __inline int8x16_t
3931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3932 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
3934 return __builtin_aarch64_mlav16qi (__a, __b, __c);
3937 __extension__ extern __inline int16x8_t
3938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3939 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
3941 return __builtin_aarch64_mlav8hi (__a, __b, __c);
3944 __extension__ extern __inline int32x4_t
3945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3946 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
3948 return __builtin_aarch64_mlav4si (__a, __b, __c);
3951 __extension__ extern __inline uint8x16_t
3952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3953 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
3955 return __builtin_aarch64_mlav16qi_uuuu (__a, __b, __c);
3958 __extension__ extern __inline uint16x8_t
3959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3960 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
3962 return __builtin_aarch64_mlav8hi_uuuu (__a, __b, __c);
3965 __extension__ extern __inline uint32x4_t
3966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3967 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
3969 return __builtin_aarch64_mlav4si_uuuu (__a, __b, __c);
3972 __extension__ extern __inline float32x2_t
3973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3974 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
3976 return __builtin_aarch64_float_mls_nv2sf (__a, __b, __c);
3979 __extension__ extern __inline int16x4_t
3980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3981 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
3983 return __builtin_aarch64_mls_nv4hi (__a, __b, __c);
3986 __extension__ extern __inline int32x2_t
3987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3988 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
3990 return __builtin_aarch64_mls_nv2si (__a, __b, __c);
3993 __extension__ extern __inline uint16x4_t
3994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
3995 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
3997 return __builtin_aarch64_mls_nv4hi_uuuu (__a, __b, __c);
4000 __extension__ extern __inline uint32x2_t
4001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4002 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
4004 return __builtin_aarch64_mls_nv2si_uuuu (__a, __b, __c);
4007 __extension__ extern __inline int8x8_t
4008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4009 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
4011 return __builtin_aarch64_mlsv8qi (__a, __b, __c);
4014 __extension__ extern __inline int16x4_t
4015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4016 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
4018 return __builtin_aarch64_mlsv4hi (__a, __b, __c);
4021 __extension__ extern __inline int32x2_t
4022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4023 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
4025 return __builtin_aarch64_mlsv2si (__a, __b, __c);
4028 __extension__ extern __inline uint8x8_t
4029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4030 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
4032 return __builtin_aarch64_mlsv8qi_uuuu (__a, __b, __c);
4035 __extension__ extern __inline uint16x4_t
4036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4037 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
4039 return __builtin_aarch64_mlsv4hi_uuuu (__a, __b, __c);
4042 __extension__ extern __inline uint32x2_t
4043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4044 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
4046 return __builtin_aarch64_mlsv2si_uuuu (__a, __b, __c);
4049 __extension__ extern __inline int32x4_t
4050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4051 vmlsl_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
4052 const int __lane)
4054 return __builtin_aarch64_smlsl_hi_lanev8hi (__a, __b, __v, __lane);
4057 __extension__ extern __inline int64x2_t
4058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4059 vmlsl_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
4060 const int __lane)
4062 return __builtin_aarch64_smlsl_hi_lanev4si (__a, __b, __v, __lane);
4065 __extension__ extern __inline uint32x4_t
4066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4067 vmlsl_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
4068 const int __lane)
4070 return __builtin_aarch64_umlsl_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
4073 __extension__ extern __inline uint64x2_t
4074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4075 vmlsl_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
4076 const int __lane)
4078 return __builtin_aarch64_umlsl_hi_lanev4si_uuuus (__a, __b, __v, __lane);
4081 __extension__ extern __inline int32x4_t
4082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4083 vmlsl_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
4084 const int __lane)
4086 return __builtin_aarch64_smlsl_hi_laneqv8hi (__a, __b, __v, __lane);
4089 __extension__ extern __inline int64x2_t
4090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4091 vmlsl_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
4092 const int __lane)
4094 return __builtin_aarch64_smlsl_hi_laneqv4si (__a, __b, __v, __lane);
4097 __extension__ extern __inline uint32x4_t
4098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4099 vmlsl_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
4100 const int __lane)
4102 return __builtin_aarch64_umlsl_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
4105 __extension__ extern __inline uint64x2_t
4106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4107 vmlsl_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
4108 const int __lane)
4110 return __builtin_aarch64_umlsl_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
4113 __extension__ extern __inline int32x4_t
4114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4115 vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
4117 return __builtin_aarch64_smlsl_hi_nv8hi (__a, __b, __c);
4120 __extension__ extern __inline int64x2_t
4121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4122 vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
4124 return __builtin_aarch64_smlsl_hi_nv4si (__a, __b, __c);
4127 __extension__ extern __inline uint32x4_t
4128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4129 vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
4131 return __builtin_aarch64_umlsl_hi_nv8hi_uuuu (__a, __b, __c);
4134 __extension__ extern __inline uint64x2_t
4135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4136 vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
4138 return __builtin_aarch64_umlsl_hi_nv4si_uuuu (__a, __b, __c);
4141 __extension__ extern __inline int16x8_t
4142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4143 vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
4145 return __builtin_aarch64_smlsl_hiv16qi (__a, __b, __c);
4148 __extension__ extern __inline int32x4_t
4149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4150 vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
4152 return __builtin_aarch64_smlsl_hiv8hi (__a, __b, __c);
4155 __extension__ extern __inline int64x2_t
4156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4157 vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
4159 return __builtin_aarch64_smlsl_hiv4si (__a, __b, __c);
4162 __extension__ extern __inline uint16x8_t
4163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4164 vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
4166 return __builtin_aarch64_umlsl_hiv16qi_uuuu (__a, __b, __c);
4169 __extension__ extern __inline uint32x4_t
4170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4171 vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
4173 return __builtin_aarch64_umlsl_hiv8hi_uuuu (__a, __b, __c);
4176 __extension__ extern __inline uint64x2_t
4177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4178 vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
4180 return __builtin_aarch64_umlsl_hiv4si_uuuu (__a, __b, __c);
4183 __extension__ extern __inline int32x4_t
4184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4185 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __v, const int __lane)
4187 return __builtin_aarch64_vec_smlsl_lane_v4hi (__a, __b, __v, __lane);
4190 __extension__ extern __inline int64x2_t
4191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4192 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __v, const int __lane)
4194 return __builtin_aarch64_vec_smlsl_lane_v2si (__a, __b, __v, __lane);
4197 __extension__ extern __inline uint32x4_t
4198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4199 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __v,
4200 const int __lane)
4202 return __builtin_aarch64_vec_umlsl_lane_v4hi_uuuus (__a, __b, __v, __lane);
4205 __extension__ extern __inline uint64x2_t
4206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4207 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __v,
4208 const int __lane)
4210 return __builtin_aarch64_vec_umlsl_lane_v2si_uuuus (__a, __b, __v, __lane);
4213 __extension__ extern __inline int32x4_t
4214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4215 vmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __v, const int __lane)
4217 return __builtin_aarch64_vec_smlsl_laneq_v4hi (__a, __b, __v, __lane);
4220 __extension__ extern __inline int64x2_t
4221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4222 vmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __v, const int __lane)
4224 return __builtin_aarch64_vec_smlsl_laneq_v2si (__a, __b, __v, __lane);
4227 __extension__ extern __inline uint32x4_t
4228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4229 vmlsl_laneq_u16 (uint32x4_t __a, uint16x4_t __b, uint16x8_t __v,
4230 const int __lane)
4232 return __builtin_aarch64_vec_umlsl_laneq_v4hi_uuuus (__a, __b, __v, __lane);
4235 __extension__ extern __inline uint64x2_t
4236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4237 vmlsl_laneq_u32 (uint64x2_t __a, uint32x2_t __b, uint32x4_t __v,
4238 const int __lane)
4240 return __builtin_aarch64_vec_umlsl_laneq_v2si_uuuus (__a, __b, __v, __lane);
4243 __extension__ extern __inline int32x4_t
4244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4245 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
4247 return __builtin_aarch64_smlsl_nv4hi (__a, __b, __c);
4250 __extension__ extern __inline int64x2_t
4251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4252 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
4254 return __builtin_aarch64_smlsl_nv2si (__a, __b, __c);
4257 __extension__ extern __inline uint32x4_t
4258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4259 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
4261 return __builtin_aarch64_umlsl_nv4hi_uuuu (__a, __b, __c);
4264 __extension__ extern __inline uint64x2_t
4265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4266 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
4268 return __builtin_aarch64_umlsl_nv2si_uuuu (__a, __b, __c);
4271 __extension__ extern __inline int16x8_t
4272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4273 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
4275 return __builtin_aarch64_smlslv8qi (__a, __b, __c);
4278 __extension__ extern __inline int32x4_t
4279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4280 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
4282 return __builtin_aarch64_smlslv4hi (__a, __b, __c);
4285 __extension__ extern __inline int64x2_t
4286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4287 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
4289 return __builtin_aarch64_smlslv2si (__a, __b, __c);
4292 __extension__ extern __inline uint16x8_t
4293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4294 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
4296 return __builtin_aarch64_umlslv8qi_uuuu (__a, __b, __c);
4299 __extension__ extern __inline uint32x4_t
4300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4301 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
4303 return __builtin_aarch64_umlslv4hi_uuuu (__a, __b, __c);
4306 __extension__ extern __inline uint64x2_t
4307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4308 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
4310 return __builtin_aarch64_umlslv2si_uuuu (__a, __b, __c);
4313 __extension__ extern __inline float32x4_t
4314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4315 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
4317 return __builtin_aarch64_float_mls_nv4sf (__a, __b, __c);
4320 __extension__ extern __inline int16x8_t
4321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4322 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
4324 return __builtin_aarch64_mls_nv8hi (__a, __b, __c);
4327 __extension__ extern __inline int32x4_t
4328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4329 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
4331 return __builtin_aarch64_mls_nv4si (__a, __b, __c);
4334 __extension__ extern __inline uint16x8_t
4335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4336 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
4338 return __builtin_aarch64_mls_nv8hi_uuuu (__a, __b, __c);
4341 __extension__ extern __inline uint32x4_t
4342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4343 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
4345 return __builtin_aarch64_mls_nv4si_uuuu (__a, __b, __c);
4348 __extension__ extern __inline int8x16_t
4349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4350 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
4352 return __builtin_aarch64_mlsv16qi (__a, __b, __c);
4355 __extension__ extern __inline int16x8_t
4356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4357 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
4359 return __builtin_aarch64_mlsv8hi (__a, __b, __c);
4362 __extension__ extern __inline int32x4_t
4363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4364 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
4366 return __builtin_aarch64_mlsv4si (__a, __b, __c);
4369 __extension__ extern __inline uint8x16_t
4370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4371 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
4373 return __builtin_aarch64_mlsv16qi_uuuu (__a, __b, __c);
4376 __extension__ extern __inline uint16x8_t
4377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4378 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
4380 return __builtin_aarch64_mlsv8hi_uuuu (__a, __b, __c);
4383 __extension__ extern __inline uint32x4_t
4384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4385 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
4387 return __builtin_aarch64_mlsv4si_uuuu (__a, __b, __c);
4390 __extension__ extern __inline int16x8_t
4391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4392 vmovl_high_s8 (int8x16_t __a)
4394 return __builtin_aarch64_vec_unpacks_hi_v16qi (__a);
4397 __extension__ extern __inline int32x4_t
4398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4399 vmovl_high_s16 (int16x8_t __a)
4401 return __builtin_aarch64_vec_unpacks_hi_v8hi (__a);
4404 __extension__ extern __inline int64x2_t
4405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4406 vmovl_high_s32 (int32x4_t __a)
4408 return __builtin_aarch64_vec_unpacks_hi_v4si (__a);
4411 __extension__ extern __inline uint16x8_t
4412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4413 vmovl_high_u8 (uint8x16_t __a)
4415 return __builtin_aarch64_vec_unpacku_hi_v16qi_uu (__a);
4418 __extension__ extern __inline uint32x4_t
4419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4420 vmovl_high_u16 (uint16x8_t __a)
4422 return __builtin_aarch64_vec_unpacku_hi_v8hi_uu (__a);
4425 __extension__ extern __inline uint64x2_t
4426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4427 vmovl_high_u32 (uint32x4_t __a)
4429 return __builtin_aarch64_vec_unpacku_hi_v4si_uu (__a);
4432 __extension__ extern __inline int16x8_t
4433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4434 vmovl_s8 (int8x8_t __a)
4436 return __builtin_aarch64_sxtlv8hi (__a);
4439 __extension__ extern __inline int32x4_t
4440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4441 vmovl_s16 (int16x4_t __a)
4443 return __builtin_aarch64_sxtlv4si (__a);
4446 __extension__ extern __inline int64x2_t
4447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4448 vmovl_s32 (int32x2_t __a)
4450 return __builtin_aarch64_sxtlv2di (__a);
4453 __extension__ extern __inline uint16x8_t
4454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4455 vmovl_u8 (uint8x8_t __a)
4457 return __builtin_aarch64_uxtlv8hi_uu (__a);
4460 __extension__ extern __inline uint32x4_t
4461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4462 vmovl_u16 (uint16x4_t __a)
4464 return __builtin_aarch64_uxtlv4si_uu (__a);
4467 __extension__ extern __inline uint64x2_t
4468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4469 vmovl_u32 (uint32x2_t __a)
4471 return __builtin_aarch64_uxtlv2di_uu (__a);
4474 __extension__ extern __inline int8x16_t
4475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4476 vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
4478 return __builtin_aarch64_xtn2v8hi (__a, __b);
4481 __extension__ extern __inline int16x8_t
4482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4483 vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
4485 return __builtin_aarch64_xtn2v4si (__a, __b);
4488 __extension__ extern __inline int32x4_t
4489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4490 vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
4492 return __builtin_aarch64_xtn2v2di (__a, __b);
4495 __extension__ extern __inline uint8x16_t
4496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4497 vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
4499 return __builtin_aarch64_xtn2v8hi_uuu (__a, __b);
4502 __extension__ extern __inline uint16x8_t
4503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4504 vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
4506 return __builtin_aarch64_xtn2v4si_uuu (__a, __b);
4509 __extension__ extern __inline uint32x4_t
4510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4511 vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
4513 return __builtin_aarch64_xtn2v2di_uuu (__a, __b);
4516 __extension__ extern __inline int8x8_t
4517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4518 vmovn_s16 (int16x8_t __a)
4520 return __builtin_aarch64_xtnv8hi (__a);
4523 __extension__ extern __inline int16x4_t
4524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4525 vmovn_s32 (int32x4_t __a)
4527 return __builtin_aarch64_xtnv4si (__a);
4530 __extension__ extern __inline int32x2_t
4531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4532 vmovn_s64 (int64x2_t __a)
4534 return __builtin_aarch64_xtnv2di (__a);
4537 __extension__ extern __inline uint8x8_t
4538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4539 vmovn_u16 (uint16x8_t __a)
4541 return __builtin_aarch64_xtnv8hi_uu (__a);
4544 __extension__ extern __inline uint16x4_t
4545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4546 vmovn_u32 (uint32x4_t __a)
4548 return __builtin_aarch64_xtnv4si_uu (__a);
4551 __extension__ extern __inline uint32x2_t
4552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4553 vmovn_u64 (uint64x2_t __a)
4555 return __builtin_aarch64_xtnv2di_uu (__a);
4558 __extension__ extern __inline int8x8_t
4559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4560 vshrn_n_s16 (int16x8_t __a, const int __b)
4562 return __builtin_aarch64_shrn_nv8hi (__a, __b);
4565 __extension__ extern __inline int16x4_t
4566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4567 vshrn_n_s32 (int32x4_t __a, const int __b)
4569 return __builtin_aarch64_shrn_nv4si (__a, __b);
4572 __extension__ extern __inline int32x2_t
4573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4574 vshrn_n_s64 (int64x2_t __a, const int __b)
4576 return __builtin_aarch64_shrn_nv2di (__a, __b);
4579 __extension__ extern __inline uint8x8_t
4580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4581 vshrn_n_u16 (uint16x8_t __a, const int __b)
4583 return __builtin_aarch64_shrn_nv8hi_uus (__a, __b);
4586 __extension__ extern __inline uint16x4_t
4587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4588 vshrn_n_u32 (uint32x4_t __a, const int __b)
4590 return __builtin_aarch64_shrn_nv4si_uus (__a, __b);
4593 __extension__ extern __inline uint32x2_t
4594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4595 vshrn_n_u64 (uint64x2_t __a, const int __b)
4597 return __builtin_aarch64_shrn_nv2di_uus (__a, __b);
4600 __extension__ extern __inline int32x4_t
4601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4602 vmull_high_lane_s16 (int16x8_t __a, int16x4_t __v, const int __lane)
4604 return __builtin_aarch64_smull_hi_lanev8hi (__a, __v, __lane);
4607 __extension__ extern __inline int64x2_t
4608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4609 vmull_high_lane_s32 (int32x4_t __a, int32x2_t __v, const int __lane)
4611 return __builtin_aarch64_smull_hi_lanev4si (__a, __v, __lane);
4614 __extension__ extern __inline uint32x4_t
4615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4616 vmull_high_lane_u16 (uint16x8_t __a, uint16x4_t __v, const int __lane)
4618 return __builtin_aarch64_umull_hi_lanev8hi_uuus (__a, __v, __lane);
4621 __extension__ extern __inline uint64x2_t
4622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4623 vmull_high_lane_u32 (uint32x4_t __a, uint32x2_t __v, const int __lane)
4625 return __builtin_aarch64_umull_hi_lanev4si_uuus (__a, __v, __lane);
4628 __extension__ extern __inline int32x4_t
4629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4630 vmull_high_laneq_s16 (int16x8_t __a, int16x8_t __v, const int __lane)
4632 return __builtin_aarch64_smull_hi_laneqv8hi (__a, __v, __lane);
4635 __extension__ extern __inline int64x2_t
4636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4637 vmull_high_laneq_s32 (int32x4_t __a, int32x4_t __v, const int __lane)
4639 return __builtin_aarch64_smull_hi_laneqv4si (__a, __v, __lane);
4642 __extension__ extern __inline uint32x4_t
4643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4644 vmull_high_laneq_u16 (uint16x8_t __a, uint16x8_t __v, const int __lane)
4646 return __builtin_aarch64_umull_hi_laneqv8hi_uuus (__a, __v, __lane);
4649 __extension__ extern __inline uint64x2_t
4650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4651 vmull_high_laneq_u32 (uint32x4_t __a, uint32x4_t __v, const int __lane)
4653 return __builtin_aarch64_umull_hi_laneqv4si_uuus (__a, __v, __lane);
4656 __extension__ extern __inline int32x4_t
4657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4658 vmull_high_n_s16 (int16x8_t __a, int16_t __b)
4660 return __builtin_aarch64_smull_hi_nv8hi (__a, __b);
4663 __extension__ extern __inline int64x2_t
4664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4665 vmull_high_n_s32 (int32x4_t __a, int32_t __b)
4667 return __builtin_aarch64_smull_hi_nv4si (__a, __b);
4670 __extension__ extern __inline uint32x4_t
4671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4672 vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
4674 return __builtin_aarch64_umull_hi_nv8hi_uuu (__a, __b);
4677 __extension__ extern __inline uint64x2_t
4678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4679 vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
4681 return __builtin_aarch64_umull_hi_nv4si_uuu (__a, __b);
4684 __extension__ extern __inline poly16x8_t
4685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4686 vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
4688 return __builtin_aarch64_pmull_hiv16qi_ppp (__a, __b);
4691 __extension__ extern __inline int16x8_t
4692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4693 vmull_high_s8 (int8x16_t __a, int8x16_t __b)
4695 return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
4698 __extension__ extern __inline int32x4_t
4699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4700 vmull_high_s16 (int16x8_t __a, int16x8_t __b)
4702 return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
4705 __extension__ extern __inline int64x2_t
4706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4707 vmull_high_s32 (int32x4_t __a, int32x4_t __b)
4709 return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
4712 __extension__ extern __inline uint16x8_t
4713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4714 vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
4716 return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
4719 __extension__ extern __inline uint32x4_t
4720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4721 vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
4723 return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
4726 __extension__ extern __inline uint64x2_t
4727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4728 vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
4730 return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
4733 __extension__ extern __inline int32x4_t
4734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4735 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4737 return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
4740 __extension__ extern __inline int64x2_t
4741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4742 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4744 return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
4747 __extension__ extern __inline uint32x4_t
4748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4749 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4751 return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
4754 __extension__ extern __inline uint64x2_t
4755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4756 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4758 return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
4761 __extension__ extern __inline int32x4_t
4762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4763 vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
4765 return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
4768 __extension__ extern __inline int64x2_t
4769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4770 vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
4772 return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
4775 __extension__ extern __inline uint32x4_t
4776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4777 vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
4779 return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
4782 __extension__ extern __inline uint64x2_t
4783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4784 vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
4786 return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
4789 __extension__ extern __inline int32x4_t
4790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4791 vmull_n_s16 (int16x4_t __a, int16_t __b)
4793 return __builtin_aarch64_smull_nv4hi (__a, __b);
4796 __extension__ extern __inline int64x2_t
4797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4798 vmull_n_s32 (int32x2_t __a, int32_t __b)
4800 return __builtin_aarch64_smull_nv2si (__a, __b);
4803 __extension__ extern __inline uint32x4_t
4804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4805 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
4807 return __builtin_aarch64_umull_nv4hi_uuu (__a, __b);
4810 __extension__ extern __inline uint64x2_t
4811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4812 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
4814 return __builtin_aarch64_umull_nv2si_uuu (__a, __b);
4817 __extension__ extern __inline poly16x8_t
4818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4819 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
4821 return __builtin_aarch64_pmullv8qi_ppp (__a, __b);
4824 __extension__ extern __inline int16x8_t
4825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4826 vmull_s8 (int8x8_t __a, int8x8_t __b)
4828 return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
4831 __extension__ extern __inline int32x4_t
4832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4833 vmull_s16 (int16x4_t __a, int16x4_t __b)
4835 return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
4838 __extension__ extern __inline int64x2_t
4839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4840 vmull_s32 (int32x2_t __a, int32x2_t __b)
4842 return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
4845 __extension__ extern __inline uint16x8_t
4846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4847 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
4849 return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
4852 __extension__ extern __inline uint32x4_t
4853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4854 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
4856 return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
4859 __extension__ extern __inline uint64x2_t
4860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4861 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
4863 return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
4866 __extension__ extern __inline int16x4_t
4867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4868 vpadal_s8 (int16x4_t __a, int8x8_t __b)
4870 return __builtin_aarch64_sadalpv8qi (__a, __b);
4873 __extension__ extern __inline int32x2_t
4874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4875 vpadal_s16 (int32x2_t __a, int16x4_t __b)
4877 return __builtin_aarch64_sadalpv4hi (__a, __b);
4880 __extension__ extern __inline int64x1_t
4881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4882 vpadal_s32 (int64x1_t __a, int32x2_t __b)
4884 return (int64x1_t) __builtin_aarch64_sadalpv2si (__a[0], __b);
4887 __extension__ extern __inline uint16x4_t
4888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4889 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
4891 return __builtin_aarch64_uadalpv8qi_uuu (__a, __b);
4894 __extension__ extern __inline uint32x2_t
4895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4896 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
4898 return __builtin_aarch64_uadalpv4hi_uuu (__a, __b);
4901 __extension__ extern __inline uint64x1_t
4902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4903 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
4905 return (uint64x1_t) __builtin_aarch64_uadalpv2si_uuu (__a[0], __b);
4908 __extension__ extern __inline int16x8_t
4909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4910 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
4912 return __builtin_aarch64_sadalpv16qi (__a, __b);
4915 __extension__ extern __inline int32x4_t
4916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4917 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
4919 return __builtin_aarch64_sadalpv8hi (__a, __b);
4922 __extension__ extern __inline int64x2_t
4923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4924 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
4926 return __builtin_aarch64_sadalpv4si (__a, __b);
4929 __extension__ extern __inline uint16x8_t
4930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4931 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
4933 return __builtin_aarch64_uadalpv16qi_uuu (__a, __b);
4936 __extension__ extern __inline uint32x4_t
4937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4938 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
4940 return __builtin_aarch64_uadalpv8hi_uuu (__a, __b);
4943 __extension__ extern __inline uint64x2_t
4944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4945 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
4947 return __builtin_aarch64_uadalpv4si_uuu (__a, __b);
4950 __extension__ extern __inline int16x4_t
4951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4952 vpaddl_s8 (int8x8_t __a)
4954 return __builtin_aarch64_saddlpv8qi (__a);
4957 __extension__ extern __inline int32x2_t
4958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4959 vpaddl_s16 (int16x4_t __a)
4961 return __builtin_aarch64_saddlpv4hi (__a);
4964 __extension__ extern __inline int64x1_t
4965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4966 vpaddl_s32 (int32x2_t __a)
4968 return (int64x1_t) __builtin_aarch64_saddlpv2si (__a);
4971 __extension__ extern __inline uint16x4_t
4972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4973 vpaddl_u8 (uint8x8_t __a)
4975 return __builtin_aarch64_uaddlpv8qi_uu (__a);
4978 __extension__ extern __inline uint32x2_t
4979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4980 vpaddl_u16 (uint16x4_t __a)
4982 return __builtin_aarch64_uaddlpv4hi_uu (__a);
4985 __extension__ extern __inline uint64x1_t
4986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4987 vpaddl_u32 (uint32x2_t __a)
4989 return (uint64x1_t) __builtin_aarch64_uaddlpv2si_uu (__a);
4992 __extension__ extern __inline int16x8_t
4993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
4994 vpaddlq_s8 (int8x16_t __a)
4996 return __builtin_aarch64_saddlpv16qi (__a);
4999 __extension__ extern __inline int32x4_t
5000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5001 vpaddlq_s16 (int16x8_t __a)
5003 return __builtin_aarch64_saddlpv8hi (__a);
5006 __extension__ extern __inline int64x2_t
5007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5008 vpaddlq_s32 (int32x4_t __a)
5010 return __builtin_aarch64_saddlpv4si (__a);
5013 __extension__ extern __inline uint16x8_t
5014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5015 vpaddlq_u8 (uint8x16_t __a)
5017 return __builtin_aarch64_uaddlpv16qi_uu (__a);
5020 __extension__ extern __inline uint32x4_t
5021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5022 vpaddlq_u16 (uint16x8_t __a)
5024 return __builtin_aarch64_uaddlpv8hi_uu (__a);
5027 __extension__ extern __inline uint64x2_t
5028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5029 vpaddlq_u32 (uint32x4_t __a)
5031 return __builtin_aarch64_uaddlpv4si_uu (__a);
5034 __extension__ extern __inline int8x16_t
5035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5036 vpaddq_s8 (int8x16_t __a, int8x16_t __b)
5038 return __builtin_aarch64_addpv16qi (__a, __b);
5041 __extension__ extern __inline int16x8_t
5042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5043 vpaddq_s16 (int16x8_t __a, int16x8_t __b)
5045 return __builtin_aarch64_addpv8hi (__a, __b);
5048 __extension__ extern __inline int32x4_t
5049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5050 vpaddq_s32 (int32x4_t __a, int32x4_t __b)
5052 return __builtin_aarch64_addpv4si (__a, __b);
5055 __extension__ extern __inline int64x2_t
5056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5057 vpaddq_s64 (int64x2_t __a, int64x2_t __b)
5059 return __builtin_aarch64_addpv2di (__a, __b);
5062 __extension__ extern __inline uint8x16_t
5063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5064 vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
5066 return __builtin_aarch64_addpv16qi_uuu (__a, __b);
5069 __extension__ extern __inline uint16x8_t
5070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5071 vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
5073 return __builtin_aarch64_addpv8hi_uuu (__a, __b);
5076 __extension__ extern __inline uint32x4_t
5077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5078 vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
5080 return __builtin_aarch64_addpv4si_uuu (__a, __b);
5083 __extension__ extern __inline uint64x2_t
5084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5085 vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
5087 return __builtin_aarch64_addpv2di_uuu (__a, __b);
5090 __extension__ extern __inline int16x4_t
5091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5092 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
5094 return __builtin_aarch64_sqdmulh_nv4hi (__a, __b);
5097 __extension__ extern __inline int32x2_t
5098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5099 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
5101 return __builtin_aarch64_sqdmulh_nv2si (__a, __b);
5104 __extension__ extern __inline int16x8_t
5105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5106 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
5108 return __builtin_aarch64_sqdmulh_nv8hi (__a, __b);
5111 __extension__ extern __inline int32x4_t
5112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5113 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
5115 return __builtin_aarch64_sqdmulh_nv4si (__a, __b);
5118 __extension__ extern __inline int8x16_t
5119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5120 vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
5122 return __builtin_aarch64_sqxtn2v8hi (__a, __b);
5125 __extension__ extern __inline int16x8_t
5126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5127 vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
5129 return __builtin_aarch64_sqxtn2v4si (__a, __b);
5132 __extension__ extern __inline int32x4_t
5133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5134 vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
5136 return __builtin_aarch64_sqxtn2v2di (__a, __b);
5139 __extension__ extern __inline uint8x16_t
5140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5141 vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
5143 return __builtin_aarch64_uqxtn2v8hi_uuu (__a, __b);
5146 __extension__ extern __inline uint16x8_t
5147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5148 vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
5150 return __builtin_aarch64_uqxtn2v4si_uuu (__a, __b);
5153 __extension__ extern __inline uint32x4_t
5154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5155 vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
5157 return __builtin_aarch64_uqxtn2v2di_uuu (__a, __b);
5160 __extension__ extern __inline uint8x16_t
5161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5162 vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
5164 return __builtin_aarch64_sqxtun2v8hi_uus (__a, __b);
5167 __extension__ extern __inline uint16x8_t
5168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5169 vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
5171 return __builtin_aarch64_sqxtun2v4si_uus (__a, __b);
5174 __extension__ extern __inline uint32x4_t
5175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5176 vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
5178 return __builtin_aarch64_sqxtun2v2di_uus (__a, __b);
5181 __extension__ extern __inline int16x4_t
5182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5183 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
5185 return __builtin_aarch64_sqrdmulh_nv4hi (__a, __b);
5188 __extension__ extern __inline int32x2_t
5189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5190 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
5192 return __builtin_aarch64_sqrdmulh_nv2si (__a, __b);
5195 __extension__ extern __inline int16x8_t
5196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5197 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
5199 return __builtin_aarch64_sqrdmulh_nv8hi (__a, __b);
5202 __extension__ extern __inline int32x4_t
5203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5204 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
5206 return __builtin_aarch64_sqrdmulh_nv4si (__a, __b);
5209 __extension__ extern __inline int8x16_t
5210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5211 vqrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
5213 return __builtin_aarch64_sqrshrn2_nv8hi (__a, __b, __c);
5216 __extension__ extern __inline int16x8_t
5217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5218 vqrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
5220 return __builtin_aarch64_sqrshrn2_nv4si (__a, __b, __c);
5223 __extension__ extern __inline int32x4_t
5224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5225 vqrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
5227 return __builtin_aarch64_sqrshrn2_nv2di (__a, __b, __c);
5230 __extension__ extern __inline uint8x16_t
5231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5232 vqrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
5234 return __builtin_aarch64_uqrshrn2_nv8hi_uuus (__a, __b, __c);
5237 __extension__ extern __inline uint16x8_t
5238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5239 vqrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
5241 return __builtin_aarch64_uqrshrn2_nv4si_uuus (__a, __b, __c);
5244 __extension__ extern __inline uint32x4_t
5245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5246 vqrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
5248 return __builtin_aarch64_uqrshrn2_nv2di_uuus (__a, __b, __c);
5251 __extension__ extern __inline uint8x16_t
5252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5253 vqrshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
5255 return __builtin_aarch64_sqrshrun2_nv8hi_uuss (__a, __b, __c);
5258 __extension__ extern __inline uint16x8_t
5259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5260 vqrshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
5262 return __builtin_aarch64_sqrshrun2_nv4si_uuss (__a, __b, __c);
5265 __extension__ extern __inline uint32x4_t
5266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5267 vqrshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
5269 return __builtin_aarch64_sqrshrun2_nv2di_uuss (__a, __b, __c);
5272 __extension__ extern __inline int8x16_t
5273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5274 vqshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
5276 return __builtin_aarch64_sqsshrn2_nv8hi (__a, __b, __c);
5279 __extension__ extern __inline int16x8_t
5280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5281 vqshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
5283 return __builtin_aarch64_sqsshrn2_nv4si (__a, __b, __c);
5286 __extension__ extern __inline int32x4_t
5287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5288 vqshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
5290 return __builtin_aarch64_sqsshrn2_nv2di (__a, __b, __c);
5293 __extension__ extern __inline uint8x16_t
5294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5295 vqshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
5297 return __builtin_aarch64_uqushrn2_nv8hi_uuus (__a, __b, __c);
5300 __extension__ extern __inline uint16x8_t
5301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5302 vqshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
5304 return __builtin_aarch64_uqushrn2_nv4si_uuus (__a, __b, __c);
5307 __extension__ extern __inline uint32x4_t
5308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5309 vqshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
5311 return __builtin_aarch64_uqushrn2_nv2di_uuus (__a, __b, __c);
5314 __extension__ extern __inline uint8x16_t
5315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5316 vqshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
5318 return __builtin_aarch64_sqshrun2_nv8hi_uuss (__a, __b, __c);
5321 __extension__ extern __inline uint16x8_t
5322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5323 vqshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
5325 return __builtin_aarch64_sqshrun2_nv4si_uuss (__a, __b, __c);
5328 __extension__ extern __inline uint32x4_t
5329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5330 vqshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
5332 return __builtin_aarch64_sqshrun2_nv2di_uuss (__a, __b, __c);
5335 __extension__ extern __inline int8x16_t
5336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5337 vrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
5339 return __builtin_aarch64_rshrn2_nv8hi (__a, __b, __c);
5342 __extension__ extern __inline int16x8_t
5343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5344 vrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
5346 return __builtin_aarch64_rshrn2_nv4si (__a, __b, __c);
5349 __extension__ extern __inline int32x4_t
5350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5351 vrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
5353 return __builtin_aarch64_rshrn2_nv2di (__a, __b, __c);
5356 __extension__ extern __inline uint8x16_t
5357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5358 vrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
5360 return __builtin_aarch64_rshrn2_nv8hi_uuus (__a, __b, __c);
5363 __extension__ extern __inline uint16x8_t
5364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5365 vrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
5367 return __builtin_aarch64_rshrn2_nv4si_uuus (__a, __b, __c);
5370 __extension__ extern __inline uint32x4_t
5371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5372 vrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
5374 return __builtin_aarch64_rshrn2_nv2di_uuus (__a, __b, __c);
5377 __extension__ extern __inline int8x8_t
5378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5379 vrshrn_n_s16 (int16x8_t __a, const int __b)
5381 return __builtin_aarch64_rshrn_nv8hi (__a, __b);
5384 __extension__ extern __inline int16x4_t
5385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5386 vrshrn_n_s32 (int32x4_t __a, const int __b)
5388 return __builtin_aarch64_rshrn_nv4si (__a, __b);
5391 __extension__ extern __inline int32x2_t
5392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5393 vrshrn_n_s64 (int64x2_t __a, const int __b)
5395 return __builtin_aarch64_rshrn_nv2di (__a, __b);
5398 __extension__ extern __inline uint8x8_t
5399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5400 vrshrn_n_u16 (uint16x8_t __a, const int __b)
5402 return __builtin_aarch64_rshrn_nv8hi_uus (__a, __b);
5405 __extension__ extern __inline uint16x4_t
5406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5407 vrshrn_n_u32 (uint32x4_t __a, const int __b)
5409 return __builtin_aarch64_rshrn_nv4si_uus (__a, __b);
5412 __extension__ extern __inline uint32x2_t
5413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5414 vrshrn_n_u64 (uint64x2_t __a, const int __b)
5416 return __builtin_aarch64_rshrn_nv2di_uus (__a, __b);
5419 __extension__ extern __inline uint32x2_t
5420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5421 vrsqrte_u32 (uint32x2_t __a)
5423 return __builtin_aarch64_ursqrtev2si_uu (__a);
5426 __extension__ extern __inline uint32x4_t
5427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5428 vrsqrteq_u32 (uint32x4_t __a)
5430 return __builtin_aarch64_ursqrtev4si_uu (__a);
5433 __extension__ extern __inline int8x16_t
5434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5435 vshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
5437 return __builtin_aarch64_ushrn2_nv8hi (__a, __b, __c);
5440 __extension__ extern __inline int16x8_t
5441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5442 vshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
5444 return __builtin_aarch64_ushrn2_nv4si (__a, __b, __c);
5447 __extension__ extern __inline int32x4_t
5448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5449 vshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
5451 return __builtin_aarch64_ushrn2_nv2di (__a, __b, __c);
5454 __extension__ extern __inline uint8x16_t
5455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5456 vshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
5458 return __builtin_aarch64_ushrn2_nv8hi_uuus (__a, __b, __c);
5461 __extension__ extern __inline uint16x8_t
5462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5463 vshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
5465 return __builtin_aarch64_ushrn2_nv4si_uuus (__a, __b, __c);
5468 __extension__ extern __inline uint32x4_t
5469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5470 vshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
5472 return __builtin_aarch64_ushrn2_nv2di_uuus (__a, __b, __c);
5475 __extension__ extern __inline poly8x8_t
5476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5477 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5479 return __builtin_aarch64_ssli_nv8qi_ppps (__a, __b, __c);
5482 __extension__ extern __inline poly16x4_t
5483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5484 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5486 return __builtin_aarch64_ssli_nv4hi_ppps (__a, __b, __c);
5489 __extension__ extern __inline poly8x16_t
5490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5491 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5493 return __builtin_aarch64_ssli_nv16qi_ppps (__a, __b, __c);
5496 __extension__ extern __inline poly16x8_t
5497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5498 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5500 return __builtin_aarch64_ssli_nv8hi_ppps (__a, __b, __c);
5503 __extension__ extern __inline poly8x8_t
5504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5505 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5507 return __builtin_aarch64_ssri_nv8qi_ppps (__a, __b, __c);
5510 __extension__ extern __inline poly16x4_t
5511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5512 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5514 return __builtin_aarch64_ssri_nv4hi_ppps (__a, __b, __c);
5517 __extension__ extern __inline poly64x1_t
5518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5519 vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
5521 return (poly64x1_t) __builtin_aarch64_ssri_ndi_ppps (__a[0], __b[0], __c);
5524 __extension__ extern __inline poly8x16_t
5525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5526 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5528 return __builtin_aarch64_ssri_nv16qi_ppps (__a, __b, __c);
5531 __extension__ extern __inline poly16x8_t
5532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5533 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5535 return __builtin_aarch64_ssri_nv8hi_ppps (__a, __b, __c);
5538 __extension__ extern __inline poly64x2_t
5539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5540 vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
5542 return __builtin_aarch64_ssri_nv2di_ppps (__a, __b, __c);
5545 __extension__ extern __inline uint8x8_t
5546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5547 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
5549 return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
5550 != 0);
5553 __extension__ extern __inline uint16x4_t
5554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5555 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
5557 return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
5558 != 0);
5561 __extension__ extern __inline uint64x1_t
5562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5563 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
5565 return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
5568 __extension__ extern __inline uint8x16_t
5569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5570 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
5572 return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
5573 != 0);
5576 __extension__ extern __inline uint16x8_t
5577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5578 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
5580 return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
5581 != 0);
5584 __extension__ extern __inline uint64x2_t
5585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5586 vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
5588 return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
5589 != __AARCH64_INT64_C (0));
5592 __extension__ extern __inline void
5593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5594 vst2_lane_f16 (float16_t *__ptr, float16x4x2_t __val, const int __lane)
5596 __builtin_aarch64_st2_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
5597 __lane);
5600 __extension__ extern __inline void
5601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5602 vst2_lane_f32 (float32_t *__ptr, float32x2x2_t __val, const int __lane)
5604 __builtin_aarch64_st2_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
5605 __lane);
5608 __extension__ extern __inline void
5609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5610 vst2_lane_f64 (float64_t *__ptr, float64x1x2_t __val, const int __lane)
5612 __builtin_aarch64_st2_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
5613 __lane);
5616 __extension__ extern __inline void
5617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5618 vst2_lane_p8 (poly8_t *__ptr, poly8x8x2_t __val, const int __lane)
5620 __builtin_aarch64_st2_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
5621 __val, __lane);
5624 __extension__ extern __inline void
5625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5626 vst2_lane_p16 (poly16_t *__ptr, poly16x4x2_t __val, const int __lane)
5628 __builtin_aarch64_st2_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
5629 __val, __lane);
5632 __extension__ extern __inline void
5633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5634 vst2_lane_p64 (poly64_t *__ptr, poly64x1x2_t __val, const int __lane)
5636 __builtin_aarch64_st2_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr,
5637 __val, __lane);
5640 __extension__ extern __inline void
5641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5642 vst2_lane_s8 (int8_t *__ptr, int8x8x2_t __val, const int __lane)
5644 __builtin_aarch64_st2_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
5645 __lane);
5648 __extension__ extern __inline void
5649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5650 vst2_lane_s16 (int16_t *__ptr, int16x4x2_t __val, const int __lane)
5652 __builtin_aarch64_st2_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
5653 __lane);
5656 __extension__ extern __inline void
5657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5658 vst2_lane_s32 (int32_t *__ptr, int32x2x2_t __val, const int __lane)
5660 __builtin_aarch64_st2_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
5661 __lane);
5664 __extension__ extern __inline void
5665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5666 vst2_lane_s64 (int64_t *__ptr, int64x1x2_t __val, const int __lane)
5668 __builtin_aarch64_st2_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
5669 __lane);
5672 __extension__ extern __inline void
5673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5674 vst2_lane_u8 (uint8_t *__ptr, uint8x8x2_t __val, const int __lane)
5676 __builtin_aarch64_st2_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
5677 __val, __lane);
5680 __extension__ extern __inline void
5681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5682 vst2_lane_u16 (uint16_t *__ptr, uint16x4x2_t __val, const int __lane)
5684 __builtin_aarch64_st2_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
5685 __val, __lane);
5688 __extension__ extern __inline void
5689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5690 vst2_lane_u32 (uint32_t *__ptr, uint32x2x2_t __val, const int __lane)
5692 __builtin_aarch64_st2_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
5693 __val, __lane);
5696 __extension__ extern __inline void
5697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5698 vst2_lane_u64 (uint64_t *__ptr, uint64x1x2_t __val, const int __lane)
5700 __builtin_aarch64_st2_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
5701 __lane);
5704 __extension__ extern __inline void
5705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5706 vst2q_lane_f16 (float16_t *__ptr, float16x8x2_t __val, const int __lane)
5708 __builtin_aarch64_st2_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
5709 __lane);
5712 __extension__ extern __inline void
5713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5714 vst2q_lane_f32 (float32_t *__ptr, float32x4x2_t __val, const int __lane)
5716 __builtin_aarch64_st2_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
5717 __lane);
5720 __extension__ extern __inline void
5721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5722 vst2q_lane_f64 (float64_t *__ptr, float64x2x2_t __val, const int __lane)
5724 __builtin_aarch64_st2_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
5725 __lane);
5728 __extension__ extern __inline void
5729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5730 vst2q_lane_p8 (poly8_t *__ptr, poly8x16x2_t __val, const int __lane)
5732 __builtin_aarch64_st2_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
5733 __val, __lane);
5736 __extension__ extern __inline void
5737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5738 vst2q_lane_p16 (poly16_t *__ptr, poly16x8x2_t __val, const int __lane)
5740 __builtin_aarch64_st2_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
5741 __val, __lane);
5744 __extension__ extern __inline void
5745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5746 vst2q_lane_p64 (poly64_t *__ptr, poly64x2x2_t __val, const int __lane)
5748 __builtin_aarch64_st2_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
5749 __val, __lane);
5752 __extension__ extern __inline void
5753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5754 vst2q_lane_s8 (int8_t *__ptr, int8x16x2_t __val, const int __lane)
5756 __builtin_aarch64_st2_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
5757 __lane);
5760 __extension__ extern __inline void
5761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5762 vst2q_lane_s16 (int16_t *__ptr, int16x8x2_t __val, const int __lane)
5764 __builtin_aarch64_st2_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
5765 __lane);
5768 __extension__ extern __inline void
5769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5770 vst2q_lane_s32 (int32_t *__ptr, int32x4x2_t __val, const int __lane)
5772 __builtin_aarch64_st2_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
5773 __lane);
5776 __extension__ extern __inline void
5777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5778 vst2q_lane_s64 (int64_t *__ptr, int64x2x2_t __val, const int __lane)
5780 __builtin_aarch64_st2_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
5781 __lane);
5784 __extension__ extern __inline void
5785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5786 vst2q_lane_u8 (uint8_t *__ptr, uint8x16x2_t __val, const int __lane)
5788 __builtin_aarch64_st2_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
5789 __val, __lane);
5792 __extension__ extern __inline void
5793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5794 vst2q_lane_u16 (uint16_t *__ptr, uint16x8x2_t __val, const int __lane)
5796 __builtin_aarch64_st2_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
5797 __val, __lane);
5800 __extension__ extern __inline void
5801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5802 vst2q_lane_u32 (uint32_t *__ptr, uint32x4x2_t __val, const int __lane)
5804 __builtin_aarch64_st2_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
5805 __val, __lane);
5808 __extension__ extern __inline void
5809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5810 vst2q_lane_u64 (uint64_t *__ptr, uint64x2x2_t __val, const int __lane)
5812 __builtin_aarch64_st2_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
5813 __val, __lane);
5816 __extension__ extern __inline void
5817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5818 vst3_lane_f16 (float16_t *__ptr, float16x4x3_t __val, const int __lane)
5820 __builtin_aarch64_st3_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
5821 __lane);
5824 __extension__ extern __inline void
5825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5826 vst3_lane_f32 (float32_t *__ptr, float32x2x3_t __val, const int __lane)
5828 __builtin_aarch64_st3_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
5829 __lane);
5832 __extension__ extern __inline void
5833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5834 vst3_lane_f64 (float64_t *__ptr, float64x1x3_t __val, const int __lane)
5836 __builtin_aarch64_st3_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
5837 __lane);
5840 __extension__ extern __inline void
5841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5842 vst3_lane_p8 (poly8_t *__ptr, poly8x8x3_t __val, const int __lane)
5844 __builtin_aarch64_st3_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
5845 __val, __lane);
5848 __extension__ extern __inline void
5849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5850 vst3_lane_p16 (poly16_t *__ptr, poly16x4x3_t __val, const int __lane)
5852 __builtin_aarch64_st3_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
5853 __val, __lane);
5856 __extension__ extern __inline void
5857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5858 vst3_lane_p64 (poly64_t *__ptr, poly64x1x3_t __val, const int __lane)
5860 __builtin_aarch64_st3_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
5861 __lane);
5864 __extension__ extern __inline void
5865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5866 vst3_lane_s8 (int8_t *__ptr, int8x8x3_t __val, const int __lane)
5868 __builtin_aarch64_st3_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
5869 __lane);
5872 __extension__ extern __inline void
5873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5874 vst3_lane_s16 (int16_t *__ptr, int16x4x3_t __val, const int __lane)
5876 __builtin_aarch64_st3_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
5877 __lane);
5880 __extension__ extern __inline void
5881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5882 vst3_lane_s32 (int32_t *__ptr, int32x2x3_t __val, const int __lane)
5884 __builtin_aarch64_st3_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
5885 __lane);
5888 __extension__ extern __inline void
5889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5890 vst3_lane_s64 (int64_t *__ptr, int64x1x3_t __val, const int __lane)
5892 __builtin_aarch64_st3_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
5893 __lane);
5896 __extension__ extern __inline void
5897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5898 vst3_lane_u8 (uint8_t *__ptr, uint8x8x3_t __val, const int __lane)
5900 __builtin_aarch64_st3_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
5901 __val, __lane);
5904 __extension__ extern __inline void
5905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5906 vst3_lane_u16 (uint16_t *__ptr, uint16x4x3_t __val, const int __lane)
5908 __builtin_aarch64_st3_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
5909 __val, __lane);
5912 __extension__ extern __inline void
5913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5914 vst3_lane_u32 (uint32_t *__ptr, uint32x2x3_t __val, const int __lane)
5916 __builtin_aarch64_st3_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
5917 __val, __lane);
5920 __extension__ extern __inline void
5921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5922 vst3_lane_u64 (uint64_t *__ptr, uint64x1x3_t __val, const int __lane)
5924 __builtin_aarch64_st3_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
5925 __lane);
5928 __extension__ extern __inline void
5929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5930 vst3q_lane_f16 (float16_t *__ptr, float16x8x3_t __val, const int __lane)
5932 __builtin_aarch64_st3_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
5933 __lane);
5936 __extension__ extern __inline void
5937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5938 vst3q_lane_f32 (float32_t *__ptr, float32x4x3_t __val, const int __lane)
5940 __builtin_aarch64_st3_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
5941 __lane);
5944 __extension__ extern __inline void
5945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5946 vst3q_lane_f64 (float64_t *__ptr, float64x2x3_t __val, const int __lane)
5948 __builtin_aarch64_st3_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
5949 __lane);
5952 __extension__ extern __inline void
5953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5954 vst3q_lane_p8 (poly8_t *__ptr, poly8x16x3_t __val, const int __lane)
5956 __builtin_aarch64_st3_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
5957 __val, __lane);
5960 __extension__ extern __inline void
5961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5962 vst3q_lane_p16 (poly16_t *__ptr, poly16x8x3_t __val, const int __lane)
5964 __builtin_aarch64_st3_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
5965 __val, __lane);
5968 __extension__ extern __inline void
5969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5970 vst3q_lane_p64 (poly64_t *__ptr, poly64x2x3_t __val, const int __lane)
5972 __builtin_aarch64_st3_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
5973 __val, __lane);
5976 __extension__ extern __inline void
5977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5978 vst3q_lane_s8 (int8_t *__ptr, int8x16x3_t __val, const int __lane)
5980 __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
5981 __lane);
5984 __extension__ extern __inline void
5985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5986 vst3q_lane_s16 (int16_t *__ptr, int16x8x3_t __val, const int __lane)
5988 __builtin_aarch64_st3_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
5989 __lane);
5992 __extension__ extern __inline void
5993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
5994 vst3q_lane_s32 (int32_t *__ptr, int32x4x3_t __val, const int __lane)
5996 __builtin_aarch64_st3_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
5997 __lane);
6000 __extension__ extern __inline void
6001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6002 vst3q_lane_s64 (int64_t *__ptr, int64x2x3_t __val, const int __lane)
6004 __builtin_aarch64_st3_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
6005 __lane);
6008 __extension__ extern __inline void
6009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6010 vst3q_lane_u8 (uint8_t *__ptr, uint8x16x3_t __val, const int __lane)
6012 __builtin_aarch64_st3_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
6013 __val, __lane);
6016 __extension__ extern __inline void
6017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6018 vst3q_lane_u16 (uint16_t *__ptr, uint16x8x3_t __val, const int __lane)
6020 __builtin_aarch64_st3_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
6021 __val, __lane);
6024 __extension__ extern __inline void
6025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6026 vst3q_lane_u32 (uint32_t *__ptr, uint32x4x3_t __val, const int __lane)
6028 __builtin_aarch64_st3_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
6029 __val, __lane);
6032 __extension__ extern __inline void
6033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6034 vst3q_lane_u64 (uint64_t *__ptr, uint64x2x3_t __val, const int __lane)
6036 __builtin_aarch64_st3_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
6037 __val, __lane);
6040 __extension__ extern __inline void
6041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6042 vst4_lane_f16 (float16_t *__ptr, float16x4x4_t __val, const int __lane)
6044 __builtin_aarch64_st4_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
6045 __lane);
6048 __extension__ extern __inline void
6049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6050 vst4_lane_f32 (float32_t *__ptr, float32x2x4_t __val, const int __lane)
6052 __builtin_aarch64_st4_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
6053 __lane);
6056 __extension__ extern __inline void
6057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6058 vst4_lane_f64 (float64_t *__ptr, float64x1x4_t __val, const int __lane)
6060 __builtin_aarch64_st4_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
6061 __lane);
6064 __extension__ extern __inline void
6065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6066 vst4_lane_p8 (poly8_t *__ptr, poly8x8x4_t __val, const int __lane)
6068 __builtin_aarch64_st4_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
6069 __val, __lane);
6072 __extension__ extern __inline void
6073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6074 vst4_lane_p16 (poly16_t *__ptr, poly16x4x4_t __val, const int __lane)
6076 __builtin_aarch64_st4_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
6077 __val, __lane);
6080 __extension__ extern __inline void
6081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6082 vst4_lane_p64 (poly64_t *__ptr, poly64x1x4_t __val, const int __lane)
6084 __builtin_aarch64_st4_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
6085 __lane);
6088 __extension__ extern __inline void
6089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6090 vst4_lane_s8 (int8_t *__ptr, int8x8x4_t __val, const int __lane)
6092 __builtin_aarch64_st4_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
6093 __lane);
6096 __extension__ extern __inline void
6097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6098 vst4_lane_s16 (int16_t *__ptr, int16x4x4_t __val, const int __lane)
6100 __builtin_aarch64_st4_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
6101 __lane);
6104 __extension__ extern __inline void
6105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6106 vst4_lane_s32 (int32_t *__ptr, int32x2x4_t __val, const int __lane)
6108 __builtin_aarch64_st4_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
6109 __lane);
6112 __extension__ extern __inline void
6113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6114 vst4_lane_s64 (int64_t *__ptr, int64x1x4_t __val, const int __lane)
6116 __builtin_aarch64_st4_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
6117 __lane);
6120 __extension__ extern __inline void
6121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6122 vst4_lane_u8 (uint8_t *__ptr, uint8x8x4_t __val, const int __lane)
6124 __builtin_aarch64_st4_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
6125 __val, __lane);
6128 __extension__ extern __inline void
6129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6130 vst4_lane_u16 (uint16_t *__ptr, uint16x4x4_t __val, const int __lane)
6132 __builtin_aarch64_st4_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
6133 __val, __lane);
6136 __extension__ extern __inline void
6137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6138 vst4_lane_u32 (uint32_t *__ptr, uint32x2x4_t __val, const int __lane)
6140 __builtin_aarch64_st4_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
6141 __val, __lane);
6144 __extension__ extern __inline void
6145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6146 vst4_lane_u64 (uint64_t *__ptr, uint64x1x4_t __val, const int __lane)
6148 __builtin_aarch64_st4_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
6149 __lane);
6152 __extension__ extern __inline void
6153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6154 vst4q_lane_f16 (float16_t *__ptr, float16x8x4_t __val, const int __lane)
6156 __builtin_aarch64_st4_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
6157 __lane);
6160 __extension__ extern __inline void
6161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6162 vst4q_lane_f32 (float32_t *__ptr, float32x4x4_t __val, const int __lane)
6164 __builtin_aarch64_st4_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
6165 __lane);
6168 __extension__ extern __inline void
6169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6170 vst4q_lane_f64 (float64_t *__ptr, float64x2x4_t __val, const int __lane)
6172 __builtin_aarch64_st4_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
6173 __lane);
6176 __extension__ extern __inline void
6177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6178 vst4q_lane_p8 (poly8_t *__ptr, poly8x16x4_t __val, const int __lane)
6180 __builtin_aarch64_st4_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
6181 __val, __lane);
6184 __extension__ extern __inline void
6185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6186 vst4q_lane_p16 (poly16_t *__ptr, poly16x8x4_t __val, const int __lane)
6188 __builtin_aarch64_st4_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
6189 __val, __lane);
6192 __extension__ extern __inline void
6193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6194 vst4q_lane_p64 (poly64_t *__ptr, poly64x2x4_t __val, const int __lane)
6196 __builtin_aarch64_st4_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
6197 __val, __lane);
6200 __extension__ extern __inline void
6201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6202 vst4q_lane_s8 (int8_t *__ptr, int8x16x4_t __val, const int __lane)
6204 __builtin_aarch64_st4_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
6205 __lane);
6208 __extension__ extern __inline void
6209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6210 vst4q_lane_s16 (int16_t *__ptr, int16x8x4_t __val, const int __lane)
6212 __builtin_aarch64_st4_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
6213 __lane);
6216 __extension__ extern __inline void
6217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6218 vst4q_lane_s32 (int32_t *__ptr, int32x4x4_t __val, const int __lane)
6220 __builtin_aarch64_st4_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
6221 __lane);
6224 __extension__ extern __inline void
6225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6226 vst4q_lane_s64 (int64_t *__ptr, int64x2x4_t __val, const int __lane)
6228 __builtin_aarch64_st4_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
6229 __lane);
6232 __extension__ extern __inline void
6233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6234 vst4q_lane_u8 (uint8_t *__ptr, uint8x16x4_t __val, const int __lane)
6236 __builtin_aarch64_st4_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
6237 __val, __lane);
6240 __extension__ extern __inline void
6241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6242 vst4q_lane_u16 (uint16_t *__ptr, uint16x8x4_t __val, const int __lane)
6244 __builtin_aarch64_st4_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
6245 __val, __lane);
6248 __extension__ extern __inline void
6249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6250 vst4q_lane_u32 (uint32_t *__ptr, uint32x4x4_t __val, const int __lane)
6252 __builtin_aarch64_st4_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
6253 __val, __lane);
6256 __extension__ extern __inline void
6257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6258 vst4q_lane_u64 (uint64_t *__ptr, uint64x2x4_t __val, const int __lane)
6260 __builtin_aarch64_st4_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
6261 __val, __lane);
6264 __extension__ extern __inline int64_t
6265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6266 vaddlv_s32 (int32x2_t __a)
6268 return __builtin_aarch64_saddlvv2si (__a);
6271 __extension__ extern __inline uint64_t
6272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6273 vaddlv_u32 (uint32x2_t __a)
6275 return __builtin_aarch64_uaddlvv2si_uu (__a);
6278 __extension__ extern __inline int16x4_t
6279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6280 vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
6282 return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
6285 __extension__ extern __inline int32x2_t
6286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6287 vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
6289 return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
6292 __extension__ extern __inline int16x8_t
6293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6294 vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
6296 return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
6299 __extension__ extern __inline int32x4_t
6300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6301 vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
6303 return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
6306 __extension__ extern __inline int16x4_t
6307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6308 vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
6310 return __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
6313 __extension__ extern __inline int32x2_t
6314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6315 vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
6317 return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
6320 __extension__ extern __inline int16x8_t
6321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6322 vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
6324 return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
6327 __extension__ extern __inline int32x4_t
6328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6329 vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
6331 return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
6334 /* Table intrinsics. */
6336 __extension__ extern __inline poly8x8_t
6337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6338 vqtbl1_p8 (poly8x16_t __tab, uint8x8_t __idx)
6340 return __builtin_aarch64_qtbl1v8qi_ppu (__tab, __idx);
6343 __extension__ extern __inline int8x8_t
6344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6345 vqtbl1_s8 (int8x16_t __tab, uint8x8_t __idx)
6347 return __builtin_aarch64_qtbl1v8qi_ssu (__tab, __idx);
6350 __extension__ extern __inline uint8x8_t
6351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6352 vqtbl1_u8 (uint8x16_t __tab, uint8x8_t __idx)
6354 return __builtin_aarch64_qtbl1v8qi_uuu (__tab, __idx);
6357 __extension__ extern __inline poly8x16_t
6358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6359 vqtbl1q_p8 (poly8x16_t __tab, uint8x16_t __idx)
6361 return __builtin_aarch64_qtbl1v16qi_ppu (__tab, __idx);
6364 __extension__ extern __inline int8x16_t
6365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6366 vqtbl1q_s8 (int8x16_t __tab, uint8x16_t __idx)
6368 return __builtin_aarch64_qtbl1v16qi_ssu (__tab, __idx);
6371 __extension__ extern __inline uint8x16_t
6372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6373 vqtbl1q_u8 (uint8x16_t __tab, uint8x16_t __idx)
6375 return __builtin_aarch64_qtbl1v16qi_uuu (__tab, __idx);
6378 __extension__ extern __inline int8x8_t
6379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6380 vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
6382 return __builtin_aarch64_qtbx1v8qi_sssu (__r, __tab, __idx);
6385 __extension__ extern __inline uint8x8_t
6386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6387 vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
6389 return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __tab, __idx);
6392 __extension__ extern __inline poly8x8_t
6393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6394 vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
6396 return __builtin_aarch64_qtbx1v8qi_pppu (__r, __tab, __idx);
6399 __extension__ extern __inline int8x16_t
6400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6401 vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
6403 return __builtin_aarch64_qtbx1v16qi_sssu (__r, __tab, __idx);
6406 __extension__ extern __inline uint8x16_t
6407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6408 vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
6410 return __builtin_aarch64_qtbx1v16qi_uuuu (__r, __tab, __idx);
6413 __extension__ extern __inline poly8x16_t
6414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6415 vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
6417 return __builtin_aarch64_qtbx1v16qi_pppu (__r, __tab, __idx);
6420 /* V7 legacy table intrinsics. */
6422 __extension__ extern __inline int8x8_t
6423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6424 vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
6426 int8x16_t __temp = vcombine_s8 (__tab,
6427 vcreate_s8 (__AARCH64_UINT64_C (0x0)));
6428 return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
6431 __extension__ extern __inline uint8x8_t
6432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6433 vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
6435 uint8x16_t __temp = vcombine_u8 (__tab,
6436 vcreate_u8 (__AARCH64_UINT64_C (0x0)));
6437 return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
6440 __extension__ extern __inline poly8x8_t
6441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6442 vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
6444 poly8x16_t __temp = vcombine_p8 (__tab,
6445 vcreate_p8 (__AARCH64_UINT64_C (0x0)));
6446 return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
6449 __extension__ extern __inline int8x8_t
6450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6451 vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
6453 int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
6454 return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
6457 __extension__ extern __inline uint8x8_t
6458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6459 vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
6461 uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
6462 return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
6465 __extension__ extern __inline poly8x8_t
6466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6467 vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
6469 poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
6470 return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
6473 __extension__ extern __inline int8x8_t
6474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6475 vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
6477 int8x16x2_t __temp;
6478 __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
6479 __temp.val[1] = vcombine_s8 (__tab.val[2],
6480 vcreate_s8 (__AARCH64_UINT64_C (0x0)));
6481 return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
6484 __extension__ extern __inline uint8x8_t
6485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6486 vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
6488 uint8x16x2_t __temp;
6489 __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
6490 __temp.val[1] = vcombine_u8 (__tab.val[2],
6491 vcreate_u8 (__AARCH64_UINT64_C (0x0)));
6492 return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
6495 __extension__ extern __inline poly8x8_t
6496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6497 vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
6499 poly8x16x2_t __temp;
6500 __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
6501 __temp.val[1] = vcombine_p8 (__tab.val[2],
6502 vcreate_p8 (__AARCH64_UINT64_C (0x0)));
6503 return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
6506 __extension__ extern __inline int8x8_t
6507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6508 vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
6510 int8x16x2_t __temp;
6511 __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
6512 __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
6513 return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
6516 __extension__ extern __inline uint8x8_t
6517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6518 vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
6520 uint8x16x2_t __temp;
6521 __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
6522 __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
6523 return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
6526 __extension__ extern __inline poly8x8_t
6527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6528 vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
6530 poly8x16x2_t __temp;
6531 __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
6532 __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
6533 return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
6536 __extension__ extern __inline int8x8_t
6537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6538 vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
6540 int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
6541 return __builtin_aarch64_qtbx1v8qi (__r, __temp, __idx);
6544 __extension__ extern __inline uint8x8_t
6545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6546 vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
6548 uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
6549 return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __temp, __idx);
6552 __extension__ extern __inline poly8x8_t
6553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6554 vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
6556 poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
6557 return __builtin_aarch64_qtbx1v8qi_pppu (__r, __temp, __idx);
6560 /* End of temporary inline asm. */
6562 /* Start of optimal implementations in approved order. */
6564 /* vabd. */
6566 __extension__ extern __inline float32_t
6567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6568 vabds_f32 (float32_t __a, float32_t __b)
6570 return __builtin_aarch64_fabdsf (__a, __b);
6573 __extension__ extern __inline float64_t
6574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6575 vabdd_f64 (float64_t __a, float64_t __b)
6577 return __builtin_aarch64_fabddf (__a, __b);
6580 __extension__ extern __inline float32x2_t
6581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6582 vabd_f32 (float32x2_t __a, float32x2_t __b)
6584 return __builtin_aarch64_fabdv2sf (__a, __b);
6587 __extension__ extern __inline float64x1_t
6588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6589 vabd_f64 (float64x1_t __a, float64x1_t __b)
6591 return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
6592 vget_lane_f64 (__b, 0))};
6595 __extension__ extern __inline float32x4_t
6596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6597 vabdq_f32 (float32x4_t __a, float32x4_t __b)
6599 return __builtin_aarch64_fabdv4sf (__a, __b);
6602 __extension__ extern __inline float64x2_t
6603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6604 vabdq_f64 (float64x2_t __a, float64x2_t __b)
6606 return __builtin_aarch64_fabdv2df (__a, __b);
6609 /* vabs */
6611 __extension__ extern __inline float32x2_t
6612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6613 vabs_f32 (float32x2_t __a)
6615 return __builtin_aarch64_absv2sf (__a);
6618 __extension__ extern __inline float64x1_t
6619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6620 vabs_f64 (float64x1_t __a)
6622 return (float64x1_t) {__builtin_fabs (__a[0])};
6625 __extension__ extern __inline int8x8_t
6626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6627 vabs_s8 (int8x8_t __a)
6629 return __builtin_aarch64_absv8qi (__a);
6632 __extension__ extern __inline int16x4_t
6633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6634 vabs_s16 (int16x4_t __a)
6636 return __builtin_aarch64_absv4hi (__a);
6639 __extension__ extern __inline int32x2_t
6640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6641 vabs_s32 (int32x2_t __a)
6643 return __builtin_aarch64_absv2si (__a);
6646 __extension__ extern __inline int64x1_t
6647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6648 vabs_s64 (int64x1_t __a)
6650 return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
6653 __extension__ extern __inline float32x4_t
6654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6655 vabsq_f32 (float32x4_t __a)
6657 return __builtin_aarch64_absv4sf (__a);
6660 __extension__ extern __inline float64x2_t
6661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6662 vabsq_f64 (float64x2_t __a)
6664 return __builtin_aarch64_absv2df (__a);
6667 __extension__ extern __inline int8x16_t
6668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6669 vabsq_s8 (int8x16_t __a)
6671 return __builtin_aarch64_absv16qi (__a);
6674 __extension__ extern __inline int16x8_t
6675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6676 vabsq_s16 (int16x8_t __a)
6678 return __builtin_aarch64_absv8hi (__a);
6681 __extension__ extern __inline int32x4_t
6682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6683 vabsq_s32 (int32x4_t __a)
6685 return __builtin_aarch64_absv4si (__a);
6688 __extension__ extern __inline int64x2_t
6689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6690 vabsq_s64 (int64x2_t __a)
6692 return __builtin_aarch64_absv2di (__a);
6695 /* Try to avoid moving between integer and vector registers.
6696 For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
6697 There is a testcase related to this issue:
6698 gcc.target/aarch64/vabsd_s64.c. */
6700 __extension__ extern __inline int64_t
6701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6702 vabsd_s64 (int64_t __a)
6704 return __a < 0 ? - (uint64_t) __a : __a;
6707 /* vadd */
6709 __extension__ extern __inline int64_t
6710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6711 vaddd_s64 (int64_t __a, int64_t __b)
6713 return __a + __b;
6716 __extension__ extern __inline uint64_t
6717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6718 vaddd_u64 (uint64_t __a, uint64_t __b)
6720 return __a + __b;
6723 /* vaddv */
6725 __extension__ extern __inline int8_t
6726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6727 vaddv_s8 (int8x8_t __a)
6729 return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
6732 __extension__ extern __inline int16_t
6733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6734 vaddv_s16 (int16x4_t __a)
6736 return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
6739 __extension__ extern __inline int32_t
6740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6741 vaddv_s32 (int32x2_t __a)
6743 return __builtin_aarch64_reduc_plus_scal_v2si (__a);
6746 __extension__ extern __inline uint8_t
6747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6748 vaddv_u8 (uint8x8_t __a)
6750 return __builtin_aarch64_reduc_plus_scal_v8qi_uu (__a);
6753 __extension__ extern __inline uint16_t
6754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6755 vaddv_u16 (uint16x4_t __a)
6757 return __builtin_aarch64_reduc_plus_scal_v4hi_uu (__a);
6760 __extension__ extern __inline uint32_t
6761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6762 vaddv_u32 (uint32x2_t __a)
6764 return __builtin_aarch64_reduc_plus_scal_v2si_uu (__a);
6767 __extension__ extern __inline int8_t
6768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6769 vaddvq_s8 (int8x16_t __a)
6771 return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
6774 __extension__ extern __inline int16_t
6775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6776 vaddvq_s16 (int16x8_t __a)
6778 return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
6781 __extension__ extern __inline int32_t
6782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6783 vaddvq_s32 (int32x4_t __a)
6785 return __builtin_aarch64_reduc_plus_scal_v4si (__a);
6788 __extension__ extern __inline int64_t
6789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6790 vaddvq_s64 (int64x2_t __a)
6792 return __builtin_aarch64_reduc_plus_scal_v2di (__a);
6795 __extension__ extern __inline uint8_t
6796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6797 vaddvq_u8 (uint8x16_t __a)
6799 return __builtin_aarch64_reduc_plus_scal_v16qi_uu (__a);
6802 __extension__ extern __inline uint16_t
6803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6804 vaddvq_u16 (uint16x8_t __a)
6806 return __builtin_aarch64_reduc_plus_scal_v8hi_uu (__a);
6809 __extension__ extern __inline uint32_t
6810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6811 vaddvq_u32 (uint32x4_t __a)
6813 return __builtin_aarch64_reduc_plus_scal_v4si_uu (__a);
6816 __extension__ extern __inline uint64_t
6817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6818 vaddvq_u64 (uint64x2_t __a)
6820 return __builtin_aarch64_reduc_plus_scal_v2di_uu (__a);
6823 __extension__ extern __inline float32_t
6824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6825 vaddv_f32 (float32x2_t __a)
6827 return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
6830 __extension__ extern __inline float32_t
6831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6832 vaddvq_f32 (float32x4_t __a)
6834 return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
6837 __extension__ extern __inline float64_t
6838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6839 vaddvq_f64 (float64x2_t __a)
6841 return __builtin_aarch64_reduc_plus_scal_v2df (__a);
6844 /* vbsl */
6846 __extension__ extern __inline float16x4_t
6847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6848 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
6850 return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
6853 __extension__ extern __inline float32x2_t
6854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6855 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
6857 return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
6860 __extension__ extern __inline float64x1_t
6861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6862 vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
6864 return (float64x1_t)
6865 { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
6868 __extension__ extern __inline poly8x8_t
6869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6870 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
6872 return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
6875 __extension__ extern __inline poly16x4_t
6876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6877 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
6879 return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
6881 __extension__ extern __inline poly64x1_t
6882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6883 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
6885 return (poly64x1_t)
6886 {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
6889 __extension__ extern __inline int8x8_t
6890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6891 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
6893 return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
6896 __extension__ extern __inline int16x4_t
6897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6898 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
6900 return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
6903 __extension__ extern __inline int32x2_t
6904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6905 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
6907 return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
6910 __extension__ extern __inline int64x1_t
6911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6912 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
6914 return (int64x1_t)
6915 {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
6918 __extension__ extern __inline uint8x8_t
6919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6920 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6922 return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
6925 __extension__ extern __inline uint16x4_t
6926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6927 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
6929 return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
6932 __extension__ extern __inline uint32x2_t
6933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6934 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
6936 return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
6939 __extension__ extern __inline uint64x1_t
6940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6941 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
6943 return (uint64x1_t)
6944 {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
6947 __extension__ extern __inline float16x8_t
6948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6949 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
6951 return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
6954 __extension__ extern __inline float32x4_t
6955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6956 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
6958 return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
6961 __extension__ extern __inline float64x2_t
6962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6963 vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
6965 return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
6968 __extension__ extern __inline poly8x16_t
6969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6970 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
6972 return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
6975 __extension__ extern __inline poly16x8_t
6976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6977 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
6979 return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
6982 __extension__ extern __inline int8x16_t
6983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6984 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
6986 return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
6989 __extension__ extern __inline int16x8_t
6990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6991 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
6993 return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
6996 __extension__ extern __inline poly64x2_t
6997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
6998 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
7000 return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
7003 __extension__ extern __inline int32x4_t
7004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7005 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7007 return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
7010 __extension__ extern __inline int64x2_t
7011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7012 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7014 return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
7017 __extension__ extern __inline uint8x16_t
7018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7019 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7021 return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
7024 __extension__ extern __inline uint16x8_t
7025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7026 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7028 return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
7031 __extension__ extern __inline uint32x4_t
7032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7033 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7035 return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
7038 __extension__ extern __inline uint64x2_t
7039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7040 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7042 return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
7045 /* ARMv8.1-A instrinsics. */
7046 #pragma GCC push_options
7047 #pragma GCC target ("+nothing+rdma")
7049 __extension__ extern __inline int16x4_t
7050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7051 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7053 return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
7056 __extension__ extern __inline int32x2_t
7057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7058 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7060 return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
7063 __extension__ extern __inline int16x8_t
7064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7065 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7067 return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
7070 __extension__ extern __inline int32x4_t
7071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7072 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7074 return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
7077 __extension__ extern __inline int16x4_t
7078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7079 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7081 return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
7084 __extension__ extern __inline int32x2_t
7085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7086 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7088 return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
7091 __extension__ extern __inline int16x8_t
7092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7093 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7095 return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
7098 __extension__ extern __inline int32x4_t
7099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7100 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7102 return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
7105 __extension__ extern __inline int16x4_t
7106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7107 vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
7109 return __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
7112 __extension__ extern __inline int32x2_t
7113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7114 vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
7116 return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
7119 __extension__ extern __inline int16x8_t
7120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7121 vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
7123 return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
7126 __extension__ extern __inline int32x4_t
7127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7128 vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
7130 return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
7133 __extension__ extern __inline int16x4_t
7134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7135 vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
7137 return __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
7140 __extension__ extern __inline int32x2_t
7141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7142 vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
7144 return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
7147 __extension__ extern __inline int16x8_t
7148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7149 vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
7151 return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
7154 __extension__ extern __inline int32x4_t
7155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7156 vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
7158 return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
7161 __extension__ extern __inline int16x4_t
7162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7163 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
7165 return __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
7168 __extension__ extern __inline int32x2_t
7169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7170 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
7172 return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
7175 __extension__ extern __inline int16x8_t
7176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7177 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
7179 return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
7182 __extension__ extern __inline int32x4_t
7183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7184 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
7186 return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
7189 __extension__ extern __inline int16_t
7190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7191 vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
7193 return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
7196 __extension__ extern __inline int16_t
7197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7198 vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
7200 return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
7203 __extension__ extern __inline int16_t
7204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7205 vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
7207 return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
7210 __extension__ extern __inline int32_t
7211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7212 vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
7214 return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
7217 __extension__ extern __inline int32_t
7218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7219 vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
7221 return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
7224 __extension__ extern __inline int32_t
7225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7226 vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
7228 return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
7231 __extension__ extern __inline int16x4_t
7232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7233 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
7235 return __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
7238 __extension__ extern __inline int32x2_t
7239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7240 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
7242 return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
7245 __extension__ extern __inline int16x8_t
7246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7247 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
7249 return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
7252 __extension__ extern __inline int32x4_t
7253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7254 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
7256 return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
7259 __extension__ extern __inline int16_t
7260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7261 vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
7263 return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
7266 __extension__ extern __inline int16_t
7267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7268 vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
7270 return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
7273 __extension__ extern __inline int16_t
7274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7275 vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
7277 return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
7280 __extension__ extern __inline int32_t
7281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7282 vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
7284 return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
7287 __extension__ extern __inline int32_t
7288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7289 vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
7291 return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
7294 __extension__ extern __inline int32_t
7295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7296 vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
7298 return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
7300 #pragma GCC pop_options
7302 #pragma GCC push_options
7303 #pragma GCC target ("+nothing+aes")
7304 /* vaes */
7306 __extension__ extern __inline uint8x16_t
7307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7308 vaeseq_u8 (uint8x16_t data, uint8x16_t key)
7310 return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
7313 __extension__ extern __inline uint8x16_t
7314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7315 vaesdq_u8 (uint8x16_t data, uint8x16_t key)
7317 return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
7320 __extension__ extern __inline uint8x16_t
7321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7322 vaesmcq_u8 (uint8x16_t data)
7324 return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
7327 __extension__ extern __inline uint8x16_t
7328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7329 vaesimcq_u8 (uint8x16_t data)
7331 return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
7334 __extension__ extern __inline poly128_t
7335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7336 vmull_p64 (poly64_t __a, poly64_t __b)
7338 return
7339 __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
7342 __extension__ extern __inline poly128_t
7343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7344 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
7346 return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
7349 #pragma GCC pop_options
7351 /* vcage */
7353 __extension__ extern __inline uint64x1_t
7354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7355 vcage_f64 (float64x1_t __a, float64x1_t __b)
7357 return vcreate_u64 (__builtin_aarch64_facgedf_uss (__a[0], __b[0]));
7360 __extension__ extern __inline uint32_t
7361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7362 vcages_f32 (float32_t __a, float32_t __b)
7364 return __builtin_aarch64_facgesf_uss (__a, __b);
7367 __extension__ extern __inline uint32x2_t
7368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7369 vcage_f32 (float32x2_t __a, float32x2_t __b)
7371 return __builtin_aarch64_facgev2sf_uss (__a, __b);
7374 __extension__ extern __inline uint32x4_t
7375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7376 vcageq_f32 (float32x4_t __a, float32x4_t __b)
7378 return __builtin_aarch64_facgev4sf_uss (__a, __b);
7381 __extension__ extern __inline uint64_t
7382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7383 vcaged_f64 (float64_t __a, float64_t __b)
7385 return __builtin_aarch64_facgedf_uss (__a, __b);
7388 __extension__ extern __inline uint64x2_t
7389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7390 vcageq_f64 (float64x2_t __a, float64x2_t __b)
7392 return __builtin_aarch64_facgev2df_uss (__a, __b);
7395 /* vcagt */
7397 __extension__ extern __inline uint32_t
7398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7399 vcagts_f32 (float32_t __a, float32_t __b)
7401 return __builtin_aarch64_facgtsf_uss (__a, __b);
7404 __extension__ extern __inline uint32x2_t
7405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7406 vcagt_f32 (float32x2_t __a, float32x2_t __b)
7408 return __builtin_aarch64_facgtv2sf_uss (__a, __b);
7411 __extension__ extern __inline uint64x1_t
7412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7413 vcagt_f64 (float64x1_t __a, float64x1_t __b)
7415 return vcreate_u64 (__builtin_aarch64_facgtdf_uss (__a[0], __b[0]));
7418 __extension__ extern __inline uint32x4_t
7419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7420 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
7422 return __builtin_aarch64_facgtv4sf_uss (__a, __b);
7425 __extension__ extern __inline uint64_t
7426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7427 vcagtd_f64 (float64_t __a, float64_t __b)
7429 return __builtin_aarch64_facgtdf_uss (__a, __b);
7432 __extension__ extern __inline uint64x2_t
7433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7434 vcagtq_f64 (float64x2_t __a, float64x2_t __b)
7436 return __builtin_aarch64_facgtv2df_uss (__a, __b);
7439 /* vcale */
7441 __extension__ extern __inline uint32x2_t
7442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7443 vcale_f32 (float32x2_t __a, float32x2_t __b)
7445 return __builtin_aarch64_faclev2sf_uss (__a, __b);
7448 __extension__ extern __inline uint64x1_t
7449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7450 vcale_f64 (float64x1_t __a, float64x1_t __b)
7452 return vcreate_u64 (__builtin_aarch64_facledf_uss (__a[0], __b[0]));
7455 __extension__ extern __inline uint64_t
7456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7457 vcaled_f64 (float64_t __a, float64_t __b)
7459 return __builtin_aarch64_facledf_uss (__a, __b);
7462 __extension__ extern __inline uint32_t
7463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7464 vcales_f32 (float32_t __a, float32_t __b)
7466 return __builtin_aarch64_faclesf_uss (__a, __b);
7469 __extension__ extern __inline uint32x4_t
7470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7471 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
7473 return __builtin_aarch64_faclev4sf_uss (__a, __b);
7476 __extension__ extern __inline uint64x2_t
7477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7478 vcaleq_f64 (float64x2_t __a, float64x2_t __b)
7480 return __builtin_aarch64_faclev2df_uss (__a, __b);
7483 /* vcalt */
7485 __extension__ extern __inline uint32x2_t
7486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7487 vcalt_f32 (float32x2_t __a, float32x2_t __b)
7489 return __builtin_aarch64_facltv2sf_uss (__a, __b);
7492 __extension__ extern __inline uint64x1_t
7493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7494 vcalt_f64 (float64x1_t __a, float64x1_t __b)
7496 return vcreate_u64 (__builtin_aarch64_facltdf_uss (__a[0], __b[0]));
7499 __extension__ extern __inline uint64_t
7500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7501 vcaltd_f64 (float64_t __a, float64_t __b)
7503 return __builtin_aarch64_facltdf_uss (__a, __b);
7506 __extension__ extern __inline uint32x4_t
7507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7508 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
7510 return __builtin_aarch64_facltv4sf_uss (__a, __b);
7513 __extension__ extern __inline uint64x2_t
7514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7515 vcaltq_f64 (float64x2_t __a, float64x2_t __b)
7517 return __builtin_aarch64_facltv2df_uss (__a, __b);
7520 __extension__ extern __inline uint32_t
7521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7522 vcalts_f32 (float32_t __a, float32_t __b)
7524 return __builtin_aarch64_facltsf_uss (__a, __b);
7527 /* vceq - vector. */
7529 __extension__ extern __inline uint32x2_t
7530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7531 vceq_f32 (float32x2_t __a, float32x2_t __b)
7533 return (uint32x2_t) (__a == __b);
7536 __extension__ extern __inline uint64x1_t
7537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7538 vceq_f64 (float64x1_t __a, float64x1_t __b)
7540 return (uint64x1_t) (__a == __b);
7543 __extension__ extern __inline uint8x8_t
7544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7545 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
7547 return (uint8x8_t) (__a == __b);
7550 __extension__ extern __inline uint64x1_t
7551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7552 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
7554 return (uint64x1_t) (__a == __b);
7557 __extension__ extern __inline uint8x8_t
7558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7559 vceq_s8 (int8x8_t __a, int8x8_t __b)
7561 return (uint8x8_t) (__a == __b);
7564 __extension__ extern __inline uint16x4_t
7565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7566 vceq_s16 (int16x4_t __a, int16x4_t __b)
7568 return (uint16x4_t) (__a == __b);
7571 __extension__ extern __inline uint32x2_t
7572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7573 vceq_s32 (int32x2_t __a, int32x2_t __b)
7575 return (uint32x2_t) (__a == __b);
7578 __extension__ extern __inline uint64x1_t
7579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7580 vceq_s64 (int64x1_t __a, int64x1_t __b)
7582 return (uint64x1_t) (__a == __b);
7585 __extension__ extern __inline uint8x8_t
7586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7587 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
7589 return (__a == __b);
7592 __extension__ extern __inline uint16x4_t
7593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7594 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
7596 return (__a == __b);
7599 __extension__ extern __inline uint32x2_t
7600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7601 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
7603 return (__a == __b);
7606 __extension__ extern __inline uint64x1_t
7607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7608 vceq_u64 (uint64x1_t __a, uint64x1_t __b)
7610 return (__a == __b);
7613 __extension__ extern __inline uint32x4_t
7614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7615 vceqq_f32 (float32x4_t __a, float32x4_t __b)
7617 return (uint32x4_t) (__a == __b);
7620 __extension__ extern __inline uint64x2_t
7621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7622 vceqq_f64 (float64x2_t __a, float64x2_t __b)
7624 return (uint64x2_t) (__a == __b);
7627 __extension__ extern __inline uint8x16_t
7628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7629 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
7631 return (uint8x16_t) (__a == __b);
7634 __extension__ extern __inline uint8x16_t
7635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7636 vceqq_s8 (int8x16_t __a, int8x16_t __b)
7638 return (uint8x16_t) (__a == __b);
7641 __extension__ extern __inline uint16x8_t
7642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7643 vceqq_s16 (int16x8_t __a, int16x8_t __b)
7645 return (uint16x8_t) (__a == __b);
7648 __extension__ extern __inline uint32x4_t
7649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7650 vceqq_s32 (int32x4_t __a, int32x4_t __b)
7652 return (uint32x4_t) (__a == __b);
7655 __extension__ extern __inline uint64x2_t
7656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7657 vceqq_s64 (int64x2_t __a, int64x2_t __b)
7659 return (uint64x2_t) (__a == __b);
7662 __extension__ extern __inline uint8x16_t
7663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7664 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
7666 return (__a == __b);
7669 __extension__ extern __inline uint16x8_t
7670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7671 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
7673 return (__a == __b);
7676 __extension__ extern __inline uint32x4_t
7677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7678 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
7680 return (__a == __b);
7683 __extension__ extern __inline uint64x2_t
7684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7685 vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
7687 return (__a == __b);
7690 __extension__ extern __inline uint64x2_t
7691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7692 vceqq_p64 (poly64x2_t __a, poly64x2_t __b)
7694 return (__a == __b);
7697 /* vceq - scalar. */
7699 __extension__ extern __inline uint32_t
7700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7701 vceqs_f32 (float32_t __a, float32_t __b)
7703 return __a == __b ? -1 : 0;
7706 __extension__ extern __inline uint64_t
7707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7708 vceqd_s64 (int64_t __a, int64_t __b)
7710 return __a == __b ? -1ll : 0ll;
7713 __extension__ extern __inline uint64_t
7714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7715 vceqd_u64 (uint64_t __a, uint64_t __b)
7717 return __a == __b ? -1ll : 0ll;
7720 __extension__ extern __inline uint64_t
7721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7722 vceqd_f64 (float64_t __a, float64_t __b)
7724 return __a == __b ? -1ll : 0ll;
7727 /* vceqz - vector. */
7729 __extension__ extern __inline uint32x2_t
7730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7731 vceqz_f32 (float32x2_t __a)
7733 return (uint32x2_t) (__a == 0.0f);
7736 __extension__ extern __inline uint64x1_t
7737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7738 vceqz_f64 (float64x1_t __a)
7740 return (uint64x1_t) (__a == (float64x1_t) {0.0});
7743 __extension__ extern __inline uint8x8_t
7744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7745 vceqz_p8 (poly8x8_t __a)
7747 return (uint8x8_t) (__a == 0);
7750 __extension__ extern __inline uint8x8_t
7751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7752 vceqz_s8 (int8x8_t __a)
7754 return (uint8x8_t) (__a == 0);
7757 __extension__ extern __inline uint16x4_t
7758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7759 vceqz_s16 (int16x4_t __a)
7761 return (uint16x4_t) (__a == 0);
7764 __extension__ extern __inline uint32x2_t
7765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7766 vceqz_s32 (int32x2_t __a)
7768 return (uint32x2_t) (__a == 0);
7771 __extension__ extern __inline uint64x1_t
7772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7773 vceqz_s64 (int64x1_t __a)
7775 return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
7778 __extension__ extern __inline uint8x8_t
7779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7780 vceqz_u8 (uint8x8_t __a)
7782 return (__a == 0);
7785 __extension__ extern __inline uint16x4_t
7786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7787 vceqz_u16 (uint16x4_t __a)
7789 return (__a == 0);
7792 __extension__ extern __inline uint32x2_t
7793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7794 vceqz_u32 (uint32x2_t __a)
7796 return (__a == 0);
7799 __extension__ extern __inline uint64x1_t
7800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7801 vceqz_u64 (uint64x1_t __a)
7803 return (__a == __AARCH64_UINT64_C (0));
7806 __extension__ extern __inline uint64x1_t
7807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7808 vceqz_p64 (poly64x1_t __a)
7810 return (__a == __AARCH64_UINT64_C (0));
7813 __extension__ extern __inline uint32x4_t
7814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7815 vceqzq_f32 (float32x4_t __a)
7817 return (uint32x4_t) (__a == 0.0f);
7820 __extension__ extern __inline uint64x2_t
7821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7822 vceqzq_f64 (float64x2_t __a)
7824 return (uint64x2_t) (__a == 0.0f);
7827 __extension__ extern __inline uint8x16_t
7828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7829 vceqzq_p8 (poly8x16_t __a)
7831 return (uint8x16_t) (__a == 0);
7834 __extension__ extern __inline uint8x16_t
7835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7836 vceqzq_s8 (int8x16_t __a)
7838 return (uint8x16_t) (__a == 0);
7841 __extension__ extern __inline uint16x8_t
7842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7843 vceqzq_s16 (int16x8_t __a)
7845 return (uint16x8_t) (__a == 0);
7848 __extension__ extern __inline uint32x4_t
7849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7850 vceqzq_s32 (int32x4_t __a)
7852 return (uint32x4_t) (__a == 0);
7855 __extension__ extern __inline uint64x2_t
7856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7857 vceqzq_s64 (int64x2_t __a)
7859 return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
7862 __extension__ extern __inline uint8x16_t
7863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7864 vceqzq_u8 (uint8x16_t __a)
7866 return (__a == 0);
7869 __extension__ extern __inline uint16x8_t
7870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7871 vceqzq_u16 (uint16x8_t __a)
7873 return (__a == 0);
7876 __extension__ extern __inline uint32x4_t
7877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7878 vceqzq_u32 (uint32x4_t __a)
7880 return (__a == 0);
7883 __extension__ extern __inline uint64x2_t
7884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7885 vceqzq_u64 (uint64x2_t __a)
7887 return (__a == __AARCH64_UINT64_C (0));
7890 __extension__ extern __inline uint64x2_t
7891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7892 vceqzq_p64 (poly64x2_t __a)
7894 return (__a == __AARCH64_UINT64_C (0));
7897 /* vceqz - scalar. */
7899 __extension__ extern __inline uint32_t
7900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7901 vceqzs_f32 (float32_t __a)
7903 return __a == 0.0f ? -1 : 0;
7906 __extension__ extern __inline uint64_t
7907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7908 vceqzd_s64 (int64_t __a)
7910 return __a == 0 ? -1ll : 0ll;
7913 __extension__ extern __inline uint64_t
7914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7915 vceqzd_u64 (uint64_t __a)
7917 return __a == 0 ? -1ll : 0ll;
7920 __extension__ extern __inline uint64_t
7921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7922 vceqzd_f64 (float64_t __a)
7924 return __a == 0.0 ? -1ll : 0ll;
7927 /* vcge - vector. */
7929 __extension__ extern __inline uint32x2_t
7930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7931 vcge_f32 (float32x2_t __a, float32x2_t __b)
7933 return (uint32x2_t) (__a >= __b);
7936 __extension__ extern __inline uint64x1_t
7937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7938 vcge_f64 (float64x1_t __a, float64x1_t __b)
7940 return (uint64x1_t) (__a >= __b);
7943 __extension__ extern __inline uint8x8_t
7944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7945 vcge_s8 (int8x8_t __a, int8x8_t __b)
7947 return (uint8x8_t) (__a >= __b);
7950 __extension__ extern __inline uint16x4_t
7951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7952 vcge_s16 (int16x4_t __a, int16x4_t __b)
7954 return (uint16x4_t) (__a >= __b);
7957 __extension__ extern __inline uint32x2_t
7958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7959 vcge_s32 (int32x2_t __a, int32x2_t __b)
7961 return (uint32x2_t) (__a >= __b);
7964 __extension__ extern __inline uint64x1_t
7965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7966 vcge_s64 (int64x1_t __a, int64x1_t __b)
7968 return (uint64x1_t) (__a >= __b);
7971 __extension__ extern __inline uint8x8_t
7972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7973 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
7975 return (__a >= __b);
7978 __extension__ extern __inline uint16x4_t
7979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7980 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
7982 return (__a >= __b);
7985 __extension__ extern __inline uint32x2_t
7986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7987 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
7989 return (__a >= __b);
7992 __extension__ extern __inline uint64x1_t
7993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
7994 vcge_u64 (uint64x1_t __a, uint64x1_t __b)
7996 return (__a >= __b);
7999 __extension__ extern __inline uint32x4_t
8000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8001 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
8003 return (uint32x4_t) (__a >= __b);
8006 __extension__ extern __inline uint64x2_t
8007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8008 vcgeq_f64 (float64x2_t __a, float64x2_t __b)
8010 return (uint64x2_t) (__a >= __b);
8013 __extension__ extern __inline uint8x16_t
8014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8015 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
8017 return (uint8x16_t) (__a >= __b);
8020 __extension__ extern __inline uint16x8_t
8021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8022 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
8024 return (uint16x8_t) (__a >= __b);
8027 __extension__ extern __inline uint32x4_t
8028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8029 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
8031 return (uint32x4_t) (__a >= __b);
8034 __extension__ extern __inline uint64x2_t
8035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8036 vcgeq_s64 (int64x2_t __a, int64x2_t __b)
8038 return (uint64x2_t) (__a >= __b);
8041 __extension__ extern __inline uint8x16_t
8042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8043 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
8045 return (__a >= __b);
8048 __extension__ extern __inline uint16x8_t
8049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8050 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
8052 return (__a >= __b);
8055 __extension__ extern __inline uint32x4_t
8056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8057 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
8059 return (__a >= __b);
8062 __extension__ extern __inline uint64x2_t
8063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8064 vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
8066 return (__a >= __b);
8069 /* vcge - scalar. */
8071 __extension__ extern __inline uint32_t
8072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8073 vcges_f32 (float32_t __a, float32_t __b)
8075 return __a >= __b ? -1 : 0;
8078 __extension__ extern __inline uint64_t
8079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8080 vcged_s64 (int64_t __a, int64_t __b)
8082 return __a >= __b ? -1ll : 0ll;
8085 __extension__ extern __inline uint64_t
8086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8087 vcged_u64 (uint64_t __a, uint64_t __b)
8089 return __a >= __b ? -1ll : 0ll;
8092 __extension__ extern __inline uint64_t
8093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8094 vcged_f64 (float64_t __a, float64_t __b)
8096 return __a >= __b ? -1ll : 0ll;
8099 /* vcgez - vector. */
8101 __extension__ extern __inline uint32x2_t
8102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8103 vcgez_f32 (float32x2_t __a)
8105 return (uint32x2_t) (__a >= 0.0f);
8108 __extension__ extern __inline uint64x1_t
8109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8110 vcgez_f64 (float64x1_t __a)
8112 return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
8115 __extension__ extern __inline uint8x8_t
8116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8117 vcgez_s8 (int8x8_t __a)
8119 return (uint8x8_t) (__a >= 0);
8122 __extension__ extern __inline uint16x4_t
8123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8124 vcgez_s16 (int16x4_t __a)
8126 return (uint16x4_t) (__a >= 0);
8129 __extension__ extern __inline uint32x2_t
8130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8131 vcgez_s32 (int32x2_t __a)
8133 return (uint32x2_t) (__a >= 0);
8136 __extension__ extern __inline uint64x1_t
8137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8138 vcgez_s64 (int64x1_t __a)
8140 return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
8143 __extension__ extern __inline uint32x4_t
8144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8145 vcgezq_f32 (float32x4_t __a)
8147 return (uint32x4_t) (__a >= 0.0f);
8150 __extension__ extern __inline uint64x2_t
8151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8152 vcgezq_f64 (float64x2_t __a)
8154 return (uint64x2_t) (__a >= 0.0);
8157 __extension__ extern __inline uint8x16_t
8158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8159 vcgezq_s8 (int8x16_t __a)
8161 return (uint8x16_t) (__a >= 0);
8164 __extension__ extern __inline uint16x8_t
8165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8166 vcgezq_s16 (int16x8_t __a)
8168 return (uint16x8_t) (__a >= 0);
8171 __extension__ extern __inline uint32x4_t
8172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8173 vcgezq_s32 (int32x4_t __a)
8175 return (uint32x4_t) (__a >= 0);
8178 __extension__ extern __inline uint64x2_t
8179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8180 vcgezq_s64 (int64x2_t __a)
8182 return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
8185 /* vcgez - scalar. */
8187 __extension__ extern __inline uint32_t
8188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8189 vcgezs_f32 (float32_t __a)
8191 return __a >= 0.0f ? -1 : 0;
8194 __extension__ extern __inline uint64_t
8195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8196 vcgezd_s64 (int64_t __a)
8198 return __a >= 0 ? -1ll : 0ll;
8201 __extension__ extern __inline uint64_t
8202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8203 vcgezd_f64 (float64_t __a)
8205 return __a >= 0.0 ? -1ll : 0ll;
8208 /* vcgt - vector. */
8210 __extension__ extern __inline uint32x2_t
8211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8212 vcgt_f32 (float32x2_t __a, float32x2_t __b)
8214 return (uint32x2_t) (__a > __b);
8217 __extension__ extern __inline uint64x1_t
8218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8219 vcgt_f64 (float64x1_t __a, float64x1_t __b)
8221 return (uint64x1_t) (__a > __b);
8224 __extension__ extern __inline uint8x8_t
8225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8226 vcgt_s8 (int8x8_t __a, int8x8_t __b)
8228 return (uint8x8_t) (__a > __b);
8231 __extension__ extern __inline uint16x4_t
8232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8233 vcgt_s16 (int16x4_t __a, int16x4_t __b)
8235 return (uint16x4_t) (__a > __b);
8238 __extension__ extern __inline uint32x2_t
8239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8240 vcgt_s32 (int32x2_t __a, int32x2_t __b)
8242 return (uint32x2_t) (__a > __b);
8245 __extension__ extern __inline uint64x1_t
8246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8247 vcgt_s64 (int64x1_t __a, int64x1_t __b)
8249 return (uint64x1_t) (__a > __b);
8252 __extension__ extern __inline uint8x8_t
8253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8254 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
8256 return (__a > __b);
8259 __extension__ extern __inline uint16x4_t
8260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8261 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
8263 return (__a > __b);
8266 __extension__ extern __inline uint32x2_t
8267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8268 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
8270 return (__a > __b);
8273 __extension__ extern __inline uint64x1_t
8274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8275 vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
8277 return (__a > __b);
8280 __extension__ extern __inline uint32x4_t
8281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8282 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
8284 return (uint32x4_t) (__a > __b);
8287 __extension__ extern __inline uint64x2_t
8288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8289 vcgtq_f64 (float64x2_t __a, float64x2_t __b)
8291 return (uint64x2_t) (__a > __b);
8294 __extension__ extern __inline uint8x16_t
8295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8296 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
8298 return (uint8x16_t) (__a > __b);
8301 __extension__ extern __inline uint16x8_t
8302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8303 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
8305 return (uint16x8_t) (__a > __b);
8308 __extension__ extern __inline uint32x4_t
8309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8310 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
8312 return (uint32x4_t) (__a > __b);
8315 __extension__ extern __inline uint64x2_t
8316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8317 vcgtq_s64 (int64x2_t __a, int64x2_t __b)
8319 return (uint64x2_t) (__a > __b);
8322 __extension__ extern __inline uint8x16_t
8323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8324 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
8326 return (__a > __b);
8329 __extension__ extern __inline uint16x8_t
8330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8331 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
8333 return (__a > __b);
8336 __extension__ extern __inline uint32x4_t
8337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8338 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
8340 return (__a > __b);
8343 __extension__ extern __inline uint64x2_t
8344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8345 vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
8347 return (__a > __b);
8350 /* vcgt - scalar. */
8352 __extension__ extern __inline uint32_t
8353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8354 vcgts_f32 (float32_t __a, float32_t __b)
8356 return __a > __b ? -1 : 0;
8359 __extension__ extern __inline uint64_t
8360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8361 vcgtd_s64 (int64_t __a, int64_t __b)
8363 return __a > __b ? -1ll : 0ll;
8366 __extension__ extern __inline uint64_t
8367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8368 vcgtd_u64 (uint64_t __a, uint64_t __b)
8370 return __a > __b ? -1ll : 0ll;
8373 __extension__ extern __inline uint64_t
8374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8375 vcgtd_f64 (float64_t __a, float64_t __b)
8377 return __a > __b ? -1ll : 0ll;
8380 /* vcgtz - vector. */
8382 __extension__ extern __inline uint32x2_t
8383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8384 vcgtz_f32 (float32x2_t __a)
8386 return (uint32x2_t) (__a > 0.0f);
8389 __extension__ extern __inline uint64x1_t
8390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8391 vcgtz_f64 (float64x1_t __a)
8393 return (uint64x1_t) (__a > (float64x1_t) {0.0});
8396 __extension__ extern __inline uint8x8_t
8397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8398 vcgtz_s8 (int8x8_t __a)
8400 return (uint8x8_t) (__a > 0);
8403 __extension__ extern __inline uint16x4_t
8404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8405 vcgtz_s16 (int16x4_t __a)
8407 return (uint16x4_t) (__a > 0);
8410 __extension__ extern __inline uint32x2_t
8411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8412 vcgtz_s32 (int32x2_t __a)
8414 return (uint32x2_t) (__a > 0);
8417 __extension__ extern __inline uint64x1_t
8418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8419 vcgtz_s64 (int64x1_t __a)
8421 return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
8424 __extension__ extern __inline uint32x4_t
8425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8426 vcgtzq_f32 (float32x4_t __a)
8428 return (uint32x4_t) (__a > 0.0f);
8431 __extension__ extern __inline uint64x2_t
8432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8433 vcgtzq_f64 (float64x2_t __a)
8435 return (uint64x2_t) (__a > 0.0);
8438 __extension__ extern __inline uint8x16_t
8439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8440 vcgtzq_s8 (int8x16_t __a)
8442 return (uint8x16_t) (__a > 0);
8445 __extension__ extern __inline uint16x8_t
8446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8447 vcgtzq_s16 (int16x8_t __a)
8449 return (uint16x8_t) (__a > 0);
8452 __extension__ extern __inline uint32x4_t
8453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8454 vcgtzq_s32 (int32x4_t __a)
8456 return (uint32x4_t) (__a > 0);
8459 __extension__ extern __inline uint64x2_t
8460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8461 vcgtzq_s64 (int64x2_t __a)
8463 return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
8466 /* vcgtz - scalar. */
8468 __extension__ extern __inline uint32_t
8469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8470 vcgtzs_f32 (float32_t __a)
8472 return __a > 0.0f ? -1 : 0;
8475 __extension__ extern __inline uint64_t
8476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8477 vcgtzd_s64 (int64_t __a)
8479 return __a > 0 ? -1ll : 0ll;
8482 __extension__ extern __inline uint64_t
8483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8484 vcgtzd_f64 (float64_t __a)
8486 return __a > 0.0 ? -1ll : 0ll;
8489 /* vcle - vector. */
8491 __extension__ extern __inline uint32x2_t
8492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8493 vcle_f32 (float32x2_t __a, float32x2_t __b)
8495 return (uint32x2_t) (__a <= __b);
8498 __extension__ extern __inline uint64x1_t
8499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8500 vcle_f64 (float64x1_t __a, float64x1_t __b)
8502 return (uint64x1_t) (__a <= __b);
8505 __extension__ extern __inline uint8x8_t
8506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8507 vcle_s8 (int8x8_t __a, int8x8_t __b)
8509 return (uint8x8_t) (__a <= __b);
8512 __extension__ extern __inline uint16x4_t
8513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8514 vcle_s16 (int16x4_t __a, int16x4_t __b)
8516 return (uint16x4_t) (__a <= __b);
8519 __extension__ extern __inline uint32x2_t
8520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8521 vcle_s32 (int32x2_t __a, int32x2_t __b)
8523 return (uint32x2_t) (__a <= __b);
8526 __extension__ extern __inline uint64x1_t
8527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8528 vcle_s64 (int64x1_t __a, int64x1_t __b)
8530 return (uint64x1_t) (__a <= __b);
8533 __extension__ extern __inline uint8x8_t
8534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8535 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
8537 return (__a <= __b);
8540 __extension__ extern __inline uint16x4_t
8541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8542 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
8544 return (__a <= __b);
8547 __extension__ extern __inline uint32x2_t
8548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8549 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
8551 return (__a <= __b);
8554 __extension__ extern __inline uint64x1_t
8555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8556 vcle_u64 (uint64x1_t __a, uint64x1_t __b)
8558 return (__a <= __b);
8561 __extension__ extern __inline uint32x4_t
8562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8563 vcleq_f32 (float32x4_t __a, float32x4_t __b)
8565 return (uint32x4_t) (__a <= __b);
8568 __extension__ extern __inline uint64x2_t
8569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8570 vcleq_f64 (float64x2_t __a, float64x2_t __b)
8572 return (uint64x2_t) (__a <= __b);
8575 __extension__ extern __inline uint8x16_t
8576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8577 vcleq_s8 (int8x16_t __a, int8x16_t __b)
8579 return (uint8x16_t) (__a <= __b);
8582 __extension__ extern __inline uint16x8_t
8583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8584 vcleq_s16 (int16x8_t __a, int16x8_t __b)
8586 return (uint16x8_t) (__a <= __b);
8589 __extension__ extern __inline uint32x4_t
8590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8591 vcleq_s32 (int32x4_t __a, int32x4_t __b)
8593 return (uint32x4_t) (__a <= __b);
8596 __extension__ extern __inline uint64x2_t
8597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8598 vcleq_s64 (int64x2_t __a, int64x2_t __b)
8600 return (uint64x2_t) (__a <= __b);
8603 __extension__ extern __inline uint8x16_t
8604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8605 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
8607 return (__a <= __b);
8610 __extension__ extern __inline uint16x8_t
8611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8612 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
8614 return (__a <= __b);
8617 __extension__ extern __inline uint32x4_t
8618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8619 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
8621 return (__a <= __b);
8624 __extension__ extern __inline uint64x2_t
8625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8626 vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
8628 return (__a <= __b);
8631 /* vcle - scalar. */
8633 __extension__ extern __inline uint32_t
8634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8635 vcles_f32 (float32_t __a, float32_t __b)
8637 return __a <= __b ? -1 : 0;
8640 __extension__ extern __inline uint64_t
8641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8642 vcled_s64 (int64_t __a, int64_t __b)
8644 return __a <= __b ? -1ll : 0ll;
8647 __extension__ extern __inline uint64_t
8648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8649 vcled_u64 (uint64_t __a, uint64_t __b)
8651 return __a <= __b ? -1ll : 0ll;
8654 __extension__ extern __inline uint64_t
8655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8656 vcled_f64 (float64_t __a, float64_t __b)
8658 return __a <= __b ? -1ll : 0ll;
8661 /* vclez - vector. */
8663 __extension__ extern __inline uint32x2_t
8664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8665 vclez_f32 (float32x2_t __a)
8667 return (uint32x2_t) (__a <= 0.0f);
8670 __extension__ extern __inline uint64x1_t
8671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8672 vclez_f64 (float64x1_t __a)
8674 return (uint64x1_t) (__a <= (float64x1_t) {0.0});
8677 __extension__ extern __inline uint8x8_t
8678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8679 vclez_s8 (int8x8_t __a)
8681 return (uint8x8_t) (__a <= 0);
8684 __extension__ extern __inline uint16x4_t
8685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8686 vclez_s16 (int16x4_t __a)
8688 return (uint16x4_t) (__a <= 0);
8691 __extension__ extern __inline uint32x2_t
8692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8693 vclez_s32 (int32x2_t __a)
8695 return (uint32x2_t) (__a <= 0);
8698 __extension__ extern __inline uint64x1_t
8699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8700 vclez_s64 (int64x1_t __a)
8702 return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
8705 __extension__ extern __inline uint32x4_t
8706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8707 vclezq_f32 (float32x4_t __a)
8709 return (uint32x4_t) (__a <= 0.0f);
8712 __extension__ extern __inline uint64x2_t
8713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8714 vclezq_f64 (float64x2_t __a)
8716 return (uint64x2_t) (__a <= 0.0);
8719 __extension__ extern __inline uint8x16_t
8720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8721 vclezq_s8 (int8x16_t __a)
8723 return (uint8x16_t) (__a <= 0);
8726 __extension__ extern __inline uint16x8_t
8727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8728 vclezq_s16 (int16x8_t __a)
8730 return (uint16x8_t) (__a <= 0);
8733 __extension__ extern __inline uint32x4_t
8734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8735 vclezq_s32 (int32x4_t __a)
8737 return (uint32x4_t) (__a <= 0);
8740 __extension__ extern __inline uint64x2_t
8741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8742 vclezq_s64 (int64x2_t __a)
8744 return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
8747 /* vclez - scalar. */
8749 __extension__ extern __inline uint32_t
8750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8751 vclezs_f32 (float32_t __a)
8753 return __a <= 0.0f ? -1 : 0;
8756 __extension__ extern __inline uint64_t
8757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8758 vclezd_s64 (int64_t __a)
8760 return __a <= 0 ? -1ll : 0ll;
8763 __extension__ extern __inline uint64_t
8764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8765 vclezd_f64 (float64_t __a)
8767 return __a <= 0.0 ? -1ll : 0ll;
8770 /* vclt - vector. */
8772 __extension__ extern __inline uint32x2_t
8773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8774 vclt_f32 (float32x2_t __a, float32x2_t __b)
8776 return (uint32x2_t) (__a < __b);
8779 __extension__ extern __inline uint64x1_t
8780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8781 vclt_f64 (float64x1_t __a, float64x1_t __b)
8783 return (uint64x1_t) (__a < __b);
8786 __extension__ extern __inline uint8x8_t
8787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8788 vclt_s8 (int8x8_t __a, int8x8_t __b)
8790 return (uint8x8_t) (__a < __b);
8793 __extension__ extern __inline uint16x4_t
8794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8795 vclt_s16 (int16x4_t __a, int16x4_t __b)
8797 return (uint16x4_t) (__a < __b);
8800 __extension__ extern __inline uint32x2_t
8801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8802 vclt_s32 (int32x2_t __a, int32x2_t __b)
8804 return (uint32x2_t) (__a < __b);
8807 __extension__ extern __inline uint64x1_t
8808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8809 vclt_s64 (int64x1_t __a, int64x1_t __b)
8811 return (uint64x1_t) (__a < __b);
8814 __extension__ extern __inline uint8x8_t
8815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8816 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
8818 return (__a < __b);
8821 __extension__ extern __inline uint16x4_t
8822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8823 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
8825 return (__a < __b);
8828 __extension__ extern __inline uint32x2_t
8829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8830 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
8832 return (__a < __b);
8835 __extension__ extern __inline uint64x1_t
8836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8837 vclt_u64 (uint64x1_t __a, uint64x1_t __b)
8839 return (__a < __b);
8842 __extension__ extern __inline uint32x4_t
8843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8844 vcltq_f32 (float32x4_t __a, float32x4_t __b)
8846 return (uint32x4_t) (__a < __b);
8849 __extension__ extern __inline uint64x2_t
8850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8851 vcltq_f64 (float64x2_t __a, float64x2_t __b)
8853 return (uint64x2_t) (__a < __b);
8856 __extension__ extern __inline uint8x16_t
8857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8858 vcltq_s8 (int8x16_t __a, int8x16_t __b)
8860 return (uint8x16_t) (__a < __b);
8863 __extension__ extern __inline uint16x8_t
8864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8865 vcltq_s16 (int16x8_t __a, int16x8_t __b)
8867 return (uint16x8_t) (__a < __b);
8870 __extension__ extern __inline uint32x4_t
8871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8872 vcltq_s32 (int32x4_t __a, int32x4_t __b)
8874 return (uint32x4_t) (__a < __b);
8877 __extension__ extern __inline uint64x2_t
8878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8879 vcltq_s64 (int64x2_t __a, int64x2_t __b)
8881 return (uint64x2_t) (__a < __b);
8884 __extension__ extern __inline uint8x16_t
8885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8886 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
8888 return (__a < __b);
8891 __extension__ extern __inline uint16x8_t
8892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8893 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
8895 return (__a < __b);
8898 __extension__ extern __inline uint32x4_t
8899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8900 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
8902 return (__a < __b);
8905 __extension__ extern __inline uint64x2_t
8906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8907 vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
8909 return (__a < __b);
8912 /* vclt - scalar. */
8914 __extension__ extern __inline uint32_t
8915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8916 vclts_f32 (float32_t __a, float32_t __b)
8918 return __a < __b ? -1 : 0;
8921 __extension__ extern __inline uint64_t
8922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8923 vcltd_s64 (int64_t __a, int64_t __b)
8925 return __a < __b ? -1ll : 0ll;
8928 __extension__ extern __inline uint64_t
8929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8930 vcltd_u64 (uint64_t __a, uint64_t __b)
8932 return __a < __b ? -1ll : 0ll;
8935 __extension__ extern __inline uint64_t
8936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8937 vcltd_f64 (float64_t __a, float64_t __b)
8939 return __a < __b ? -1ll : 0ll;
8942 /* vcltz - vector. */
8944 __extension__ extern __inline uint32x2_t
8945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8946 vcltz_f32 (float32x2_t __a)
8948 return (uint32x2_t) (__a < 0.0f);
8951 __extension__ extern __inline uint64x1_t
8952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8953 vcltz_f64 (float64x1_t __a)
8955 return (uint64x1_t) (__a < (float64x1_t) {0.0});
8958 __extension__ extern __inline uint8x8_t
8959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8960 vcltz_s8 (int8x8_t __a)
8962 return (uint8x8_t) (__a < 0);
8965 __extension__ extern __inline uint16x4_t
8966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8967 vcltz_s16 (int16x4_t __a)
8969 return (uint16x4_t) (__a < 0);
8972 __extension__ extern __inline uint32x2_t
8973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8974 vcltz_s32 (int32x2_t __a)
8976 return (uint32x2_t) (__a < 0);
8979 __extension__ extern __inline uint64x1_t
8980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8981 vcltz_s64 (int64x1_t __a)
8983 return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
8986 __extension__ extern __inline uint32x4_t
8987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8988 vcltzq_f32 (float32x4_t __a)
8990 return (uint32x4_t) (__a < 0.0f);
8993 __extension__ extern __inline uint64x2_t
8994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
8995 vcltzq_f64 (float64x2_t __a)
8997 return (uint64x2_t) (__a < 0.0);
9000 __extension__ extern __inline uint8x16_t
9001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9002 vcltzq_s8 (int8x16_t __a)
9004 return (uint8x16_t) (__a < 0);
9007 __extension__ extern __inline uint16x8_t
9008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9009 vcltzq_s16 (int16x8_t __a)
9011 return (uint16x8_t) (__a < 0);
9014 __extension__ extern __inline uint32x4_t
9015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9016 vcltzq_s32 (int32x4_t __a)
9018 return (uint32x4_t) (__a < 0);
9021 __extension__ extern __inline uint64x2_t
9022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9023 vcltzq_s64 (int64x2_t __a)
9025 return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
9028 /* vcltz - scalar. */
9030 __extension__ extern __inline uint32_t
9031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9032 vcltzs_f32 (float32_t __a)
9034 return __a < 0.0f ? -1 : 0;
9037 __extension__ extern __inline uint64_t
9038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9039 vcltzd_s64 (int64_t __a)
9041 return __a < 0 ? -1ll : 0ll;
9044 __extension__ extern __inline uint64_t
9045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9046 vcltzd_f64 (float64_t __a)
9048 return __a < 0.0 ? -1ll : 0ll;
9051 /* vcls. */
9053 __extension__ extern __inline int8x8_t
9054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9055 vcls_s8 (int8x8_t __a)
9057 return __builtin_aarch64_clrsbv8qi (__a);
9060 __extension__ extern __inline int16x4_t
9061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9062 vcls_s16 (int16x4_t __a)
9064 return __builtin_aarch64_clrsbv4hi (__a);
9067 __extension__ extern __inline int32x2_t
9068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9069 vcls_s32 (int32x2_t __a)
9071 return __builtin_aarch64_clrsbv2si (__a);
9074 __extension__ extern __inline int8x16_t
9075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9076 vclsq_s8 (int8x16_t __a)
9078 return __builtin_aarch64_clrsbv16qi (__a);
9081 __extension__ extern __inline int16x8_t
9082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9083 vclsq_s16 (int16x8_t __a)
9085 return __builtin_aarch64_clrsbv8hi (__a);
9088 __extension__ extern __inline int32x4_t
9089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9090 vclsq_s32 (int32x4_t __a)
9092 return __builtin_aarch64_clrsbv4si (__a);
9095 __extension__ extern __inline int8x8_t
9096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9097 vcls_u8 (uint8x8_t __a)
9099 return __builtin_aarch64_clrsbv8qi ((int8x8_t) __a);
9102 __extension__ extern __inline int16x4_t
9103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9104 vcls_u16 (uint16x4_t __a)
9106 return __builtin_aarch64_clrsbv4hi ((int16x4_t) __a);
9109 __extension__ extern __inline int32x2_t
9110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9111 vcls_u32 (uint32x2_t __a)
9113 return __builtin_aarch64_clrsbv2si ((int32x2_t) __a);
9116 __extension__ extern __inline int8x16_t
9117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9118 vclsq_u8 (uint8x16_t __a)
9120 return __builtin_aarch64_clrsbv16qi ((int8x16_t) __a);
9123 __extension__ extern __inline int16x8_t
9124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9125 vclsq_u16 (uint16x8_t __a)
9127 return __builtin_aarch64_clrsbv8hi ((int16x8_t) __a);
9130 __extension__ extern __inline int32x4_t
9131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9132 vclsq_u32 (uint32x4_t __a)
9134 return __builtin_aarch64_clrsbv4si ((int32x4_t) __a);
9137 /* vclz. */
9139 __extension__ extern __inline int8x8_t
9140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9141 vclz_s8 (int8x8_t __a)
9143 return __builtin_aarch64_clzv8qi (__a);
9146 __extension__ extern __inline int16x4_t
9147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9148 vclz_s16 (int16x4_t __a)
9150 return __builtin_aarch64_clzv4hi (__a);
9153 __extension__ extern __inline int32x2_t
9154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9155 vclz_s32 (int32x2_t __a)
9157 return __builtin_aarch64_clzv2si (__a);
9160 __extension__ extern __inline uint8x8_t
9161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9162 vclz_u8 (uint8x8_t __a)
9164 return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
9167 __extension__ extern __inline uint16x4_t
9168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9169 vclz_u16 (uint16x4_t __a)
9171 return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
9174 __extension__ extern __inline uint32x2_t
9175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9176 vclz_u32 (uint32x2_t __a)
9178 return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
9181 __extension__ extern __inline int8x16_t
9182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9183 vclzq_s8 (int8x16_t __a)
9185 return __builtin_aarch64_clzv16qi (__a);
9188 __extension__ extern __inline int16x8_t
9189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9190 vclzq_s16 (int16x8_t __a)
9192 return __builtin_aarch64_clzv8hi (__a);
9195 __extension__ extern __inline int32x4_t
9196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9197 vclzq_s32 (int32x4_t __a)
9199 return __builtin_aarch64_clzv4si (__a);
9202 __extension__ extern __inline uint8x16_t
9203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9204 vclzq_u8 (uint8x16_t __a)
9206 return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
9209 __extension__ extern __inline uint16x8_t
9210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9211 vclzq_u16 (uint16x8_t __a)
9213 return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
9216 __extension__ extern __inline uint32x4_t
9217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9218 vclzq_u32 (uint32x4_t __a)
9220 return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
9223 /* vcnt. */
9225 __extension__ extern __inline poly8x8_t
9226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9227 vcnt_p8 (poly8x8_t __a)
9229 return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
9232 __extension__ extern __inline int8x8_t
9233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9234 vcnt_s8 (int8x8_t __a)
9236 return __builtin_aarch64_popcountv8qi (__a);
9239 __extension__ extern __inline uint8x8_t
9240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9241 vcnt_u8 (uint8x8_t __a)
9243 return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
9246 __extension__ extern __inline poly8x16_t
9247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9248 vcntq_p8 (poly8x16_t __a)
9250 return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
9253 __extension__ extern __inline int8x16_t
9254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9255 vcntq_s8 (int8x16_t __a)
9257 return __builtin_aarch64_popcountv16qi (__a);
9260 __extension__ extern __inline uint8x16_t
9261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9262 vcntq_u8 (uint8x16_t __a)
9264 return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
9267 /* vcopy_lane. */
9269 __extension__ extern __inline float32x2_t
9270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9271 vcopy_lane_f32 (float32x2_t __a, const int __lane1,
9272 float32x2_t __b, const int __lane2)
9274 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9275 __a, __lane1);
9278 __extension__ extern __inline float64x1_t
9279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9280 vcopy_lane_f64 (float64x1_t __a, const int __lane1,
9281 float64x1_t __b, const int __lane2)
9283 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9284 __a, __lane1);
9287 __extension__ extern __inline poly8x8_t
9288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9289 vcopy_lane_p8 (poly8x8_t __a, const int __lane1,
9290 poly8x8_t __b, const int __lane2)
9292 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9293 __a, __lane1);
9296 __extension__ extern __inline poly16x4_t
9297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9298 vcopy_lane_p16 (poly16x4_t __a, const int __lane1,
9299 poly16x4_t __b, const int __lane2)
9301 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9302 __a, __lane1);
9305 __extension__ extern __inline poly64x1_t
9306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9307 vcopy_lane_p64 (poly64x1_t __a, const int __lane1,
9308 poly64x1_t __b, const int __lane2)
9310 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9311 __a, __lane1);
9314 __extension__ extern __inline int8x8_t
9315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9316 vcopy_lane_s8 (int8x8_t __a, const int __lane1,
9317 int8x8_t __b, const int __lane2)
9319 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9320 __a, __lane1);
9323 __extension__ extern __inline int16x4_t
9324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9325 vcopy_lane_s16 (int16x4_t __a, const int __lane1,
9326 int16x4_t __b, const int __lane2)
9328 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9329 __a, __lane1);
9332 __extension__ extern __inline int32x2_t
9333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9334 vcopy_lane_s32 (int32x2_t __a, const int __lane1,
9335 int32x2_t __b, const int __lane2)
9337 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9338 __a, __lane1);
9341 __extension__ extern __inline int64x1_t
9342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9343 vcopy_lane_s64 (int64x1_t __a, const int __lane1,
9344 int64x1_t __b, const int __lane2)
9346 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9347 __a, __lane1);
9350 __extension__ extern __inline uint8x8_t
9351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9352 vcopy_lane_u8 (uint8x8_t __a, const int __lane1,
9353 uint8x8_t __b, const int __lane2)
9355 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9356 __a, __lane1);
9359 __extension__ extern __inline uint16x4_t
9360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9361 vcopy_lane_u16 (uint16x4_t __a, const int __lane1,
9362 uint16x4_t __b, const int __lane2)
9364 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9365 __a, __lane1);
9368 __extension__ extern __inline uint32x2_t
9369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9370 vcopy_lane_u32 (uint32x2_t __a, const int __lane1,
9371 uint32x2_t __b, const int __lane2)
9373 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9374 __a, __lane1);
9377 __extension__ extern __inline uint64x1_t
9378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9379 vcopy_lane_u64 (uint64x1_t __a, const int __lane1,
9380 uint64x1_t __b, const int __lane2)
9382 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9383 __a, __lane1);
9386 /* vcopy_laneq. */
9388 __extension__ extern __inline float32x2_t
9389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9390 vcopy_laneq_f32 (float32x2_t __a, const int __lane1,
9391 float32x4_t __b, const int __lane2)
9393 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9394 __a, __lane1);
9397 __extension__ extern __inline float64x1_t
9398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9399 vcopy_laneq_f64 (float64x1_t __a, const int __lane1,
9400 float64x2_t __b, const int __lane2)
9402 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9403 __a, __lane1);
9406 __extension__ extern __inline poly8x8_t
9407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9408 vcopy_laneq_p8 (poly8x8_t __a, const int __lane1,
9409 poly8x16_t __b, const int __lane2)
9411 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9412 __a, __lane1);
9415 __extension__ extern __inline poly16x4_t
9416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9417 vcopy_laneq_p16 (poly16x4_t __a, const int __lane1,
9418 poly16x8_t __b, const int __lane2)
9420 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9421 __a, __lane1);
9424 __extension__ extern __inline poly64x1_t
9425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9426 vcopy_laneq_p64 (poly64x1_t __a, const int __lane1,
9427 poly64x2_t __b, const int __lane2)
9429 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9430 __a, __lane1);
9433 __extension__ extern __inline int8x8_t
9434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9435 vcopy_laneq_s8 (int8x8_t __a, const int __lane1,
9436 int8x16_t __b, const int __lane2)
9438 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9439 __a, __lane1);
9442 __extension__ extern __inline int16x4_t
9443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9444 vcopy_laneq_s16 (int16x4_t __a, const int __lane1,
9445 int16x8_t __b, const int __lane2)
9447 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9448 __a, __lane1);
9451 __extension__ extern __inline int32x2_t
9452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9453 vcopy_laneq_s32 (int32x2_t __a, const int __lane1,
9454 int32x4_t __b, const int __lane2)
9456 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9457 __a, __lane1);
9460 __extension__ extern __inline int64x1_t
9461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9462 vcopy_laneq_s64 (int64x1_t __a, const int __lane1,
9463 int64x2_t __b, const int __lane2)
9465 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9466 __a, __lane1);
9469 __extension__ extern __inline uint8x8_t
9470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9471 vcopy_laneq_u8 (uint8x8_t __a, const int __lane1,
9472 uint8x16_t __b, const int __lane2)
9474 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9475 __a, __lane1);
9478 __extension__ extern __inline uint16x4_t
9479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9480 vcopy_laneq_u16 (uint16x4_t __a, const int __lane1,
9481 uint16x8_t __b, const int __lane2)
9483 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9484 __a, __lane1);
9487 __extension__ extern __inline uint32x2_t
9488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9489 vcopy_laneq_u32 (uint32x2_t __a, const int __lane1,
9490 uint32x4_t __b, const int __lane2)
9492 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9493 __a, __lane1);
9496 __extension__ extern __inline uint64x1_t
9497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9498 vcopy_laneq_u64 (uint64x1_t __a, const int __lane1,
9499 uint64x2_t __b, const int __lane2)
9501 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9502 __a, __lane1);
9505 /* vcopyq_lane. */
9507 __extension__ extern __inline float32x4_t
9508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9509 vcopyq_lane_f32 (float32x4_t __a, const int __lane1,
9510 float32x2_t __b, const int __lane2)
9512 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9513 __a, __lane1);
9516 __extension__ extern __inline float64x2_t
9517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9518 vcopyq_lane_f64 (float64x2_t __a, const int __lane1,
9519 float64x1_t __b, const int __lane2)
9521 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9522 __a, __lane1);
9525 __extension__ extern __inline poly8x16_t
9526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9527 vcopyq_lane_p8 (poly8x16_t __a, const int __lane1,
9528 poly8x8_t __b, const int __lane2)
9530 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9531 __a, __lane1);
9534 __extension__ extern __inline poly16x8_t
9535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9536 vcopyq_lane_p16 (poly16x8_t __a, const int __lane1,
9537 poly16x4_t __b, const int __lane2)
9539 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9540 __a, __lane1);
9543 __extension__ extern __inline poly64x2_t
9544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9545 vcopyq_lane_p64 (poly64x2_t __a, const int __lane1,
9546 poly64x1_t __b, const int __lane2)
9548 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9549 __a, __lane1);
9552 __extension__ extern __inline int8x16_t
9553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9554 vcopyq_lane_s8 (int8x16_t __a, const int __lane1,
9555 int8x8_t __b, const int __lane2)
9557 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9558 __a, __lane1);
9561 __extension__ extern __inline int16x8_t
9562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9563 vcopyq_lane_s16 (int16x8_t __a, const int __lane1,
9564 int16x4_t __b, const int __lane2)
9566 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9567 __a, __lane1);
9570 __extension__ extern __inline int32x4_t
9571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9572 vcopyq_lane_s32 (int32x4_t __a, const int __lane1,
9573 int32x2_t __b, const int __lane2)
9575 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9576 __a, __lane1);
9579 __extension__ extern __inline int64x2_t
9580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9581 vcopyq_lane_s64 (int64x2_t __a, const int __lane1,
9582 int64x1_t __b, const int __lane2)
9584 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9585 __a, __lane1);
9588 __extension__ extern __inline uint8x16_t
9589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9590 vcopyq_lane_u8 (uint8x16_t __a, const int __lane1,
9591 uint8x8_t __b, const int __lane2)
9593 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9594 __a, __lane1);
9597 __extension__ extern __inline uint16x8_t
9598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9599 vcopyq_lane_u16 (uint16x8_t __a, const int __lane1,
9600 uint16x4_t __b, const int __lane2)
9602 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9603 __a, __lane1);
9606 __extension__ extern __inline uint32x4_t
9607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9608 vcopyq_lane_u32 (uint32x4_t __a, const int __lane1,
9609 uint32x2_t __b, const int __lane2)
9611 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9612 __a, __lane1);
9615 __extension__ extern __inline uint64x2_t
9616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9617 vcopyq_lane_u64 (uint64x2_t __a, const int __lane1,
9618 uint64x1_t __b, const int __lane2)
9620 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9621 __a, __lane1);
9624 /* vcopyq_laneq. */
9626 __extension__ extern __inline float32x4_t
9627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9628 vcopyq_laneq_f32 (float32x4_t __a, const int __lane1,
9629 float32x4_t __b, const int __lane2)
9631 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9632 __a, __lane1);
9635 __extension__ extern __inline float64x2_t
9636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9637 vcopyq_laneq_f64 (float64x2_t __a, const int __lane1,
9638 float64x2_t __b, const int __lane2)
9640 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9641 __a, __lane1);
9644 __extension__ extern __inline poly8x16_t
9645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9646 vcopyq_laneq_p8 (poly8x16_t __a, const int __lane1,
9647 poly8x16_t __b, const int __lane2)
9649 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9650 __a, __lane1);
9653 __extension__ extern __inline poly16x8_t
9654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9655 vcopyq_laneq_p16 (poly16x8_t __a, const int __lane1,
9656 poly16x8_t __b, const int __lane2)
9658 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9659 __a, __lane1);
9662 __extension__ extern __inline poly64x2_t
9663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9664 vcopyq_laneq_p64 (poly64x2_t __a, const int __lane1,
9665 poly64x2_t __b, const int __lane2)
9667 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9668 __a, __lane1);
9671 __extension__ extern __inline int8x16_t
9672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9673 vcopyq_laneq_s8 (int8x16_t __a, const int __lane1,
9674 int8x16_t __b, const int __lane2)
9676 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9677 __a, __lane1);
9680 __extension__ extern __inline int16x8_t
9681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9682 vcopyq_laneq_s16 (int16x8_t __a, const int __lane1,
9683 int16x8_t __b, const int __lane2)
9685 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9686 __a, __lane1);
9689 __extension__ extern __inline int32x4_t
9690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9691 vcopyq_laneq_s32 (int32x4_t __a, const int __lane1,
9692 int32x4_t __b, const int __lane2)
9694 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9695 __a, __lane1);
9698 __extension__ extern __inline int64x2_t
9699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9700 vcopyq_laneq_s64 (int64x2_t __a, const int __lane1,
9701 int64x2_t __b, const int __lane2)
9703 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9704 __a, __lane1);
9707 __extension__ extern __inline uint8x16_t
9708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9709 vcopyq_laneq_u8 (uint8x16_t __a, const int __lane1,
9710 uint8x16_t __b, const int __lane2)
9712 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9713 __a, __lane1);
9716 __extension__ extern __inline uint16x8_t
9717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9718 vcopyq_laneq_u16 (uint16x8_t __a, const int __lane1,
9719 uint16x8_t __b, const int __lane2)
9721 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9722 __a, __lane1);
9725 __extension__ extern __inline uint32x4_t
9726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9727 vcopyq_laneq_u32 (uint32x4_t __a, const int __lane1,
9728 uint32x4_t __b, const int __lane2)
9730 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9731 __a, __lane1);
9734 __extension__ extern __inline uint64x2_t
9735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9736 vcopyq_laneq_u64 (uint64x2_t __a, const int __lane1,
9737 uint64x2_t __b, const int __lane2)
9739 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
9740 __a, __lane1);
9743 /* vcvt (double -> float). */
9745 __extension__ extern __inline float16x4_t
9746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9747 vcvt_f16_f32 (float32x4_t __a)
9749 return __builtin_aarch64_float_truncate_lo_v4hf (__a);
9752 __extension__ extern __inline float16x8_t
9753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9754 vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
9756 return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
9759 __extension__ extern __inline float32x2_t
9760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9761 vcvt_f32_f64 (float64x2_t __a)
9763 return __builtin_aarch64_float_truncate_lo_v2sf (__a);
9766 __extension__ extern __inline float32x4_t
9767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9768 vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
9770 return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
9773 /* vcvt (float -> double). */
9775 __extension__ extern __inline float32x4_t
9776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9777 vcvt_f32_f16 (float16x4_t __a)
9779 return __builtin_aarch64_float_extend_lo_v4sf (__a);
9782 __extension__ extern __inline float64x2_t
9783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9784 vcvt_f64_f32 (float32x2_t __a)
9787 return __builtin_aarch64_float_extend_lo_v2df (__a);
9790 __extension__ extern __inline float32x4_t
9791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9792 vcvt_high_f32_f16 (float16x8_t __a)
9794 return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
9797 __extension__ extern __inline float64x2_t
9798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9799 vcvt_high_f64_f32 (float32x4_t __a)
9801 return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
9804 /* vcvt (<u>fixed-point -> float). */
9806 __extension__ extern __inline float64_t
9807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9808 vcvtd_n_f64_s64 (int64_t __a, const int __b)
9810 return __builtin_aarch64_scvtfdi (__a, __b);
9813 __extension__ extern __inline float64_t
9814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9815 vcvtd_n_f64_u64 (uint64_t __a, const int __b)
9817 return __builtin_aarch64_ucvtfdi_sus (__a, __b);
9820 __extension__ extern __inline float32_t
9821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9822 vcvts_n_f32_s32 (int32_t __a, const int __b)
9824 return __builtin_aarch64_scvtfsi (__a, __b);
9827 __extension__ extern __inline float32_t
9828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9829 vcvts_n_f32_u32 (uint32_t __a, const int __b)
9831 return __builtin_aarch64_ucvtfsi_sus (__a, __b);
9834 __extension__ extern __inline float32x2_t
9835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9836 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
9838 return __builtin_aarch64_scvtfv2si (__a, __b);
9841 __extension__ extern __inline float32x2_t
9842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9843 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
9845 return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
9848 __extension__ extern __inline float64x1_t
9849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9850 vcvt_n_f64_s64 (int64x1_t __a, const int __b)
9852 return (float64x1_t)
9853 { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
9856 __extension__ extern __inline float64x1_t
9857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9858 vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
9860 return (float64x1_t)
9861 { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
9864 __extension__ extern __inline float32x4_t
9865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9866 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
9868 return __builtin_aarch64_scvtfv4si (__a, __b);
9871 __extension__ extern __inline float32x4_t
9872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9873 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
9875 return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
9878 __extension__ extern __inline float64x2_t
9879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9880 vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
9882 return __builtin_aarch64_scvtfv2di (__a, __b);
9885 __extension__ extern __inline float64x2_t
9886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9887 vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
9889 return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
9892 /* vcvt (float -> <u>fixed-point). */
9894 __extension__ extern __inline int64_t
9895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9896 vcvtd_n_s64_f64 (float64_t __a, const int __b)
9898 return __builtin_aarch64_fcvtzsdf (__a, __b);
9901 __extension__ extern __inline uint64_t
9902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9903 vcvtd_n_u64_f64 (float64_t __a, const int __b)
9905 return __builtin_aarch64_fcvtzudf_uss (__a, __b);
9908 __extension__ extern __inline int32_t
9909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9910 vcvts_n_s32_f32 (float32_t __a, const int __b)
9912 return __builtin_aarch64_fcvtzssf (__a, __b);
9915 __extension__ extern __inline uint32_t
9916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9917 vcvts_n_u32_f32 (float32_t __a, const int __b)
9919 return __builtin_aarch64_fcvtzusf_uss (__a, __b);
9922 __extension__ extern __inline int32x2_t
9923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9924 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
9926 return __builtin_aarch64_fcvtzsv2sf (__a, __b);
9929 __extension__ extern __inline uint32x2_t
9930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9931 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
9933 return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
9936 __extension__ extern __inline int64x1_t
9937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9938 vcvt_n_s64_f64 (float64x1_t __a, const int __b)
9940 return (int64x1_t)
9941 { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
9944 __extension__ extern __inline uint64x1_t
9945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9946 vcvt_n_u64_f64 (float64x1_t __a, const int __b)
9948 return (uint64x1_t)
9949 { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
9952 __extension__ extern __inline int32x4_t
9953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9954 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
9956 return __builtin_aarch64_fcvtzsv4sf (__a, __b);
9959 __extension__ extern __inline uint32x4_t
9960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9961 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
9963 return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
9966 __extension__ extern __inline int64x2_t
9967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9968 vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
9970 return __builtin_aarch64_fcvtzsv2df (__a, __b);
9973 __extension__ extern __inline uint64x2_t
9974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9975 vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
9977 return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
9980 /* vcvt (<u>int -> float) */
9982 __extension__ extern __inline float64_t
9983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9984 vcvtd_f64_s64 (int64_t __a)
9986 return (float64_t) __a;
9989 __extension__ extern __inline float64_t
9990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9991 vcvtd_f64_u64 (uint64_t __a)
9993 return (float64_t) __a;
9996 __extension__ extern __inline float32_t
9997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9998 vcvts_f32_s32 (int32_t __a)
10000 return (float32_t) __a;
10003 __extension__ extern __inline float32_t
10004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10005 vcvts_f32_u32 (uint32_t __a)
10007 return (float32_t) __a;
10010 __extension__ extern __inline float32x2_t
10011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10012 vcvt_f32_s32 (int32x2_t __a)
10014 return __builtin_aarch64_floatv2siv2sf (__a);
10017 __extension__ extern __inline float32x2_t
10018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10019 vcvt_f32_u32 (uint32x2_t __a)
10021 return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
10024 __extension__ extern __inline float64x1_t
10025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10026 vcvt_f64_s64 (int64x1_t __a)
10028 return (float64x1_t) { vget_lane_s64 (__a, 0) };
10031 __extension__ extern __inline float64x1_t
10032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10033 vcvt_f64_u64 (uint64x1_t __a)
10035 return (float64x1_t) { vget_lane_u64 (__a, 0) };
10038 __extension__ extern __inline float32x4_t
10039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10040 vcvtq_f32_s32 (int32x4_t __a)
10042 return __builtin_aarch64_floatv4siv4sf (__a);
10045 __extension__ extern __inline float32x4_t
10046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10047 vcvtq_f32_u32 (uint32x4_t __a)
10049 return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
10052 __extension__ extern __inline float64x2_t
10053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10054 vcvtq_f64_s64 (int64x2_t __a)
10056 return __builtin_aarch64_floatv2div2df (__a);
10059 __extension__ extern __inline float64x2_t
10060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10061 vcvtq_f64_u64 (uint64x2_t __a)
10063 return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
10066 /* vcvt (float -> <u>int) */
10068 __extension__ extern __inline int64_t
10069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10070 vcvtd_s64_f64 (float64_t __a)
10072 return (int64_t) __a;
10075 __extension__ extern __inline uint64_t
10076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10077 vcvtd_u64_f64 (float64_t __a)
10079 return (uint64_t) __a;
10082 __extension__ extern __inline int32_t
10083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10084 vcvts_s32_f32 (float32_t __a)
10086 return (int32_t) __a;
10089 __extension__ extern __inline uint32_t
10090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10091 vcvts_u32_f32 (float32_t __a)
10093 return (uint32_t) __a;
10096 __extension__ extern __inline int32x2_t
10097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10098 vcvt_s32_f32 (float32x2_t __a)
10100 return __builtin_aarch64_lbtruncv2sfv2si (__a);
10103 __extension__ extern __inline uint32x2_t
10104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10105 vcvt_u32_f32 (float32x2_t __a)
10107 return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
10110 __extension__ extern __inline int32x4_t
10111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10112 vcvtq_s32_f32 (float32x4_t __a)
10114 return __builtin_aarch64_lbtruncv4sfv4si (__a);
10117 __extension__ extern __inline uint32x4_t
10118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10119 vcvtq_u32_f32 (float32x4_t __a)
10121 return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
10124 __extension__ extern __inline int64x1_t
10125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10126 vcvt_s64_f64 (float64x1_t __a)
10128 return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
10131 __extension__ extern __inline uint64x1_t
10132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10133 vcvt_u64_f64 (float64x1_t __a)
10135 return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
10138 __extension__ extern __inline int64x2_t
10139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10140 vcvtq_s64_f64 (float64x2_t __a)
10142 return __builtin_aarch64_lbtruncv2dfv2di (__a);
10145 __extension__ extern __inline uint64x2_t
10146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10147 vcvtq_u64_f64 (float64x2_t __a)
10149 return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
10152 /* vcvta */
10154 __extension__ extern __inline int64_t
10155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10156 vcvtad_s64_f64 (float64_t __a)
10158 return __builtin_aarch64_lrounddfdi (__a);
10161 __extension__ extern __inline uint64_t
10162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10163 vcvtad_u64_f64 (float64_t __a)
10165 return __builtin_aarch64_lroundudfdi_us (__a);
10168 __extension__ extern __inline int32_t
10169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10170 vcvtas_s32_f32 (float32_t __a)
10172 return __builtin_aarch64_lroundsfsi (__a);
10175 __extension__ extern __inline uint32_t
10176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10177 vcvtas_u32_f32 (float32_t __a)
10179 return __builtin_aarch64_lroundusfsi_us (__a);
10182 __extension__ extern __inline int32x2_t
10183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10184 vcvta_s32_f32 (float32x2_t __a)
10186 return __builtin_aarch64_lroundv2sfv2si (__a);
10189 __extension__ extern __inline uint32x2_t
10190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10191 vcvta_u32_f32 (float32x2_t __a)
10193 return __builtin_aarch64_lrounduv2sfv2si_us (__a);
10196 __extension__ extern __inline int32x4_t
10197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10198 vcvtaq_s32_f32 (float32x4_t __a)
10200 return __builtin_aarch64_lroundv4sfv4si (__a);
10203 __extension__ extern __inline uint32x4_t
10204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10205 vcvtaq_u32_f32 (float32x4_t __a)
10207 return __builtin_aarch64_lrounduv4sfv4si_us (__a);
10210 __extension__ extern __inline int64x1_t
10211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10212 vcvta_s64_f64 (float64x1_t __a)
10214 return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
10217 __extension__ extern __inline uint64x1_t
10218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10219 vcvta_u64_f64 (float64x1_t __a)
10221 return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
10224 __extension__ extern __inline int64x2_t
10225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10226 vcvtaq_s64_f64 (float64x2_t __a)
10228 return __builtin_aarch64_lroundv2dfv2di (__a);
10231 __extension__ extern __inline uint64x2_t
10232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10233 vcvtaq_u64_f64 (float64x2_t __a)
10235 return __builtin_aarch64_lrounduv2dfv2di_us (__a);
10238 /* vcvtm */
10240 __extension__ extern __inline int64_t
10241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10242 vcvtmd_s64_f64 (float64_t __a)
10244 return __builtin_llfloor (__a);
10247 __extension__ extern __inline uint64_t
10248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10249 vcvtmd_u64_f64 (float64_t __a)
10251 return __builtin_aarch64_lfloorudfdi_us (__a);
10254 __extension__ extern __inline int32_t
10255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10256 vcvtms_s32_f32 (float32_t __a)
10258 return __builtin_ifloorf (__a);
10261 __extension__ extern __inline uint32_t
10262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10263 vcvtms_u32_f32 (float32_t __a)
10265 return __builtin_aarch64_lfloorusfsi_us (__a);
10268 __extension__ extern __inline int32x2_t
10269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10270 vcvtm_s32_f32 (float32x2_t __a)
10272 return __builtin_aarch64_lfloorv2sfv2si (__a);
10275 __extension__ extern __inline uint32x2_t
10276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10277 vcvtm_u32_f32 (float32x2_t __a)
10279 return __builtin_aarch64_lflooruv2sfv2si_us (__a);
10282 __extension__ extern __inline int32x4_t
10283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10284 vcvtmq_s32_f32 (float32x4_t __a)
10286 return __builtin_aarch64_lfloorv4sfv4si (__a);
10289 __extension__ extern __inline uint32x4_t
10290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10291 vcvtmq_u32_f32 (float32x4_t __a)
10293 return __builtin_aarch64_lflooruv4sfv4si_us (__a);
10296 __extension__ extern __inline int64x1_t
10297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10298 vcvtm_s64_f64 (float64x1_t __a)
10300 return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
10303 __extension__ extern __inline uint64x1_t
10304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10305 vcvtm_u64_f64 (float64x1_t __a)
10307 return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
10310 __extension__ extern __inline int64x2_t
10311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10312 vcvtmq_s64_f64 (float64x2_t __a)
10314 return __builtin_aarch64_lfloorv2dfv2di (__a);
10317 __extension__ extern __inline uint64x2_t
10318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10319 vcvtmq_u64_f64 (float64x2_t __a)
10321 return __builtin_aarch64_lflooruv2dfv2di_us (__a);
10324 /* vcvtn */
10326 __extension__ extern __inline int64_t
10327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10328 vcvtnd_s64_f64 (float64_t __a)
10330 return __builtin_aarch64_lfrintndfdi (__a);
10333 __extension__ extern __inline uint64_t
10334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10335 vcvtnd_u64_f64 (float64_t __a)
10337 return __builtin_aarch64_lfrintnudfdi_us (__a);
10340 __extension__ extern __inline int32_t
10341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10342 vcvtns_s32_f32 (float32_t __a)
10344 return __builtin_aarch64_lfrintnsfsi (__a);
10347 __extension__ extern __inline uint32_t
10348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10349 vcvtns_u32_f32 (float32_t __a)
10351 return __builtin_aarch64_lfrintnusfsi_us (__a);
10354 __extension__ extern __inline int32x2_t
10355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10356 vcvtn_s32_f32 (float32x2_t __a)
10358 return __builtin_aarch64_lfrintnv2sfv2si (__a);
10361 __extension__ extern __inline uint32x2_t
10362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10363 vcvtn_u32_f32 (float32x2_t __a)
10365 return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
10368 __extension__ extern __inline int32x4_t
10369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10370 vcvtnq_s32_f32 (float32x4_t __a)
10372 return __builtin_aarch64_lfrintnv4sfv4si (__a);
10375 __extension__ extern __inline uint32x4_t
10376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10377 vcvtnq_u32_f32 (float32x4_t __a)
10379 return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
10382 __extension__ extern __inline int64x1_t
10383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10384 vcvtn_s64_f64 (float64x1_t __a)
10386 return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
10389 __extension__ extern __inline uint64x1_t
10390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10391 vcvtn_u64_f64 (float64x1_t __a)
10393 return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
10396 __extension__ extern __inline int64x2_t
10397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10398 vcvtnq_s64_f64 (float64x2_t __a)
10400 return __builtin_aarch64_lfrintnv2dfv2di (__a);
10403 __extension__ extern __inline uint64x2_t
10404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10405 vcvtnq_u64_f64 (float64x2_t __a)
10407 return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
10410 /* vcvtp */
10412 __extension__ extern __inline int64_t
10413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10414 vcvtpd_s64_f64 (float64_t __a)
10416 return __builtin_llceil (__a);
10419 __extension__ extern __inline uint64_t
10420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10421 vcvtpd_u64_f64 (float64_t __a)
10423 return __builtin_aarch64_lceiludfdi_us (__a);
10426 __extension__ extern __inline int32_t
10427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10428 vcvtps_s32_f32 (float32_t __a)
10430 return __builtin_iceilf (__a);
10433 __extension__ extern __inline uint32_t
10434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10435 vcvtps_u32_f32 (float32_t __a)
10437 return __builtin_aarch64_lceilusfsi_us (__a);
10440 __extension__ extern __inline int32x2_t
10441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10442 vcvtp_s32_f32 (float32x2_t __a)
10444 return __builtin_aarch64_lceilv2sfv2si (__a);
10447 __extension__ extern __inline uint32x2_t
10448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10449 vcvtp_u32_f32 (float32x2_t __a)
10451 return __builtin_aarch64_lceiluv2sfv2si_us (__a);
10454 __extension__ extern __inline int32x4_t
10455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10456 vcvtpq_s32_f32 (float32x4_t __a)
10458 return __builtin_aarch64_lceilv4sfv4si (__a);
10461 __extension__ extern __inline uint32x4_t
10462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10463 vcvtpq_u32_f32 (float32x4_t __a)
10465 return __builtin_aarch64_lceiluv4sfv4si_us (__a);
10468 __extension__ extern __inline int64x1_t
10469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10470 vcvtp_s64_f64 (float64x1_t __a)
10472 return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
10475 __extension__ extern __inline uint64x1_t
10476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10477 vcvtp_u64_f64 (float64x1_t __a)
10479 return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
10482 __extension__ extern __inline int64x2_t
10483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10484 vcvtpq_s64_f64 (float64x2_t __a)
10486 return __builtin_aarch64_lceilv2dfv2di (__a);
10489 __extension__ extern __inline uint64x2_t
10490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10491 vcvtpq_u64_f64 (float64x2_t __a)
10493 return __builtin_aarch64_lceiluv2dfv2di_us (__a);
10496 /* vdup_n */
10498 __extension__ extern __inline float16x4_t
10499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10500 vdup_n_f16 (float16_t __a)
10502 return (float16x4_t) {__a, __a, __a, __a};
10505 __extension__ extern __inline float32x2_t
10506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10507 vdup_n_f32 (float32_t __a)
10509 return (float32x2_t) {__a, __a};
10512 __extension__ extern __inline float64x1_t
10513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10514 vdup_n_f64 (float64_t __a)
10516 return (float64x1_t) {__a};
10519 __extension__ extern __inline poly8x8_t
10520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10521 vdup_n_p8 (poly8_t __a)
10523 return (poly8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10526 __extension__ extern __inline poly16x4_t
10527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10528 vdup_n_p16 (poly16_t __a)
10530 return (poly16x4_t) {__a, __a, __a, __a};
10533 __extension__ extern __inline poly64x1_t
10534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10535 vdup_n_p64 (poly64_t __a)
10537 return (poly64x1_t) {__a};
10540 __extension__ extern __inline int8x8_t
10541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10542 vdup_n_s8 (int8_t __a)
10544 return (int8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10547 __extension__ extern __inline int16x4_t
10548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10549 vdup_n_s16 (int16_t __a)
10551 return (int16x4_t) {__a, __a, __a, __a};
10554 __extension__ extern __inline int32x2_t
10555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10556 vdup_n_s32 (int32_t __a)
10558 return (int32x2_t) {__a, __a};
10561 __extension__ extern __inline int64x1_t
10562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10563 vdup_n_s64 (int64_t __a)
10565 return (int64x1_t) {__a};
10568 __extension__ extern __inline uint8x8_t
10569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10570 vdup_n_u8 (uint8_t __a)
10572 return (uint8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10575 __extension__ extern __inline uint16x4_t
10576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10577 vdup_n_u16 (uint16_t __a)
10579 return (uint16x4_t) {__a, __a, __a, __a};
10582 __extension__ extern __inline uint32x2_t
10583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10584 vdup_n_u32 (uint32_t __a)
10586 return (uint32x2_t) {__a, __a};
10589 __extension__ extern __inline uint64x1_t
10590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10591 vdup_n_u64 (uint64_t __a)
10593 return (uint64x1_t) {__a};
10596 /* vdupq_n */
10598 __extension__ extern __inline float16x8_t
10599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10600 vdupq_n_f16 (float16_t __a)
10602 return (float16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10605 __extension__ extern __inline float32x4_t
10606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10607 vdupq_n_f32 (float32_t __a)
10609 return (float32x4_t) {__a, __a, __a, __a};
10612 __extension__ extern __inline float64x2_t
10613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10614 vdupq_n_f64 (float64_t __a)
10616 return (float64x2_t) {__a, __a};
10619 __extension__ extern __inline poly8x16_t
10620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10621 vdupq_n_p8 (poly8_t __a)
10623 return (poly8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
10624 __a, __a, __a, __a, __a, __a, __a, __a};
10627 __extension__ extern __inline poly16x8_t
10628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10629 vdupq_n_p16 (poly16_t __a)
10631 return (poly16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10634 __extension__ extern __inline poly64x2_t
10635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10636 vdupq_n_p64 (poly64_t __a)
10638 return (poly64x2_t) {__a, __a};
10641 __extension__ extern __inline int8x16_t
10642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10643 vdupq_n_s8 (int8_t __a)
10645 return (int8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
10646 __a, __a, __a, __a, __a, __a, __a, __a};
10649 __extension__ extern __inline int16x8_t
10650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10651 vdupq_n_s16 (int16_t __a)
10653 return (int16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10656 __extension__ extern __inline int32x4_t
10657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10658 vdupq_n_s32 (int32_t __a)
10660 return (int32x4_t) {__a, __a, __a, __a};
10663 __extension__ extern __inline int64x2_t
10664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10665 vdupq_n_s64 (int64_t __a)
10667 return (int64x2_t) {__a, __a};
10670 __extension__ extern __inline uint8x16_t
10671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10672 vdupq_n_u8 (uint8_t __a)
10674 return (uint8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
10675 __a, __a, __a, __a, __a, __a, __a, __a};
10678 __extension__ extern __inline uint16x8_t
10679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10680 vdupq_n_u16 (uint16_t __a)
10682 return (uint16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
10685 __extension__ extern __inline uint32x4_t
10686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10687 vdupq_n_u32 (uint32_t __a)
10689 return (uint32x4_t) {__a, __a, __a, __a};
10692 __extension__ extern __inline uint64x2_t
10693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10694 vdupq_n_u64 (uint64_t __a)
10696 return (uint64x2_t) {__a, __a};
10699 /* vdup_lane */
10701 __extension__ extern __inline float16x4_t
10702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10703 vdup_lane_f16 (float16x4_t __a, const int __b)
10705 return __aarch64_vdup_lane_f16 (__a, __b);
10708 __extension__ extern __inline float32x2_t
10709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10710 vdup_lane_f32 (float32x2_t __a, const int __b)
10712 return __aarch64_vdup_lane_f32 (__a, __b);
10715 __extension__ extern __inline float64x1_t
10716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10717 vdup_lane_f64 (float64x1_t __a, const int __b)
10719 return __aarch64_vdup_lane_f64 (__a, __b);
10722 __extension__ extern __inline poly8x8_t
10723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10724 vdup_lane_p8 (poly8x8_t __a, const int __b)
10726 return __aarch64_vdup_lane_p8 (__a, __b);
10729 __extension__ extern __inline poly16x4_t
10730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10731 vdup_lane_p16 (poly16x4_t __a, const int __b)
10733 return __aarch64_vdup_lane_p16 (__a, __b);
10736 __extension__ extern __inline poly64x1_t
10737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10738 vdup_lane_p64 (poly64x1_t __a, const int __b)
10740 return __aarch64_vdup_lane_p64 (__a, __b);
10743 __extension__ extern __inline int8x8_t
10744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10745 vdup_lane_s8 (int8x8_t __a, const int __b)
10747 return __aarch64_vdup_lane_s8 (__a, __b);
10750 __extension__ extern __inline int16x4_t
10751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10752 vdup_lane_s16 (int16x4_t __a, const int __b)
10754 return __aarch64_vdup_lane_s16 (__a, __b);
10757 __extension__ extern __inline int32x2_t
10758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10759 vdup_lane_s32 (int32x2_t __a, const int __b)
10761 return __aarch64_vdup_lane_s32 (__a, __b);
10764 __extension__ extern __inline int64x1_t
10765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10766 vdup_lane_s64 (int64x1_t __a, const int __b)
10768 return __aarch64_vdup_lane_s64 (__a, __b);
10771 __extension__ extern __inline uint8x8_t
10772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10773 vdup_lane_u8 (uint8x8_t __a, const int __b)
10775 return __aarch64_vdup_lane_u8 (__a, __b);
10778 __extension__ extern __inline uint16x4_t
10779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10780 vdup_lane_u16 (uint16x4_t __a, const int __b)
10782 return __aarch64_vdup_lane_u16 (__a, __b);
10785 __extension__ extern __inline uint32x2_t
10786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10787 vdup_lane_u32 (uint32x2_t __a, const int __b)
10789 return __aarch64_vdup_lane_u32 (__a, __b);
10792 __extension__ extern __inline uint64x1_t
10793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10794 vdup_lane_u64 (uint64x1_t __a, const int __b)
10796 return __aarch64_vdup_lane_u64 (__a, __b);
10799 /* vdup_laneq */
10801 __extension__ extern __inline float16x4_t
10802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10803 vdup_laneq_f16 (float16x8_t __a, const int __b)
10805 return __aarch64_vdup_laneq_f16 (__a, __b);
10808 __extension__ extern __inline float32x2_t
10809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10810 vdup_laneq_f32 (float32x4_t __a, const int __b)
10812 return __aarch64_vdup_laneq_f32 (__a, __b);
10815 __extension__ extern __inline float64x1_t
10816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10817 vdup_laneq_f64 (float64x2_t __a, const int __b)
10819 return __aarch64_vdup_laneq_f64 (__a, __b);
10822 __extension__ extern __inline poly8x8_t
10823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10824 vdup_laneq_p8 (poly8x16_t __a, const int __b)
10826 return __aarch64_vdup_laneq_p8 (__a, __b);
10829 __extension__ extern __inline poly16x4_t
10830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10831 vdup_laneq_p16 (poly16x8_t __a, const int __b)
10833 return __aarch64_vdup_laneq_p16 (__a, __b);
10836 __extension__ extern __inline poly64x1_t
10837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10838 vdup_laneq_p64 (poly64x2_t __a, const int __b)
10840 return __aarch64_vdup_laneq_p64 (__a, __b);
10843 __extension__ extern __inline int8x8_t
10844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10845 vdup_laneq_s8 (int8x16_t __a, const int __b)
10847 return __aarch64_vdup_laneq_s8 (__a, __b);
10850 __extension__ extern __inline int16x4_t
10851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10852 vdup_laneq_s16 (int16x8_t __a, const int __b)
10854 return __aarch64_vdup_laneq_s16 (__a, __b);
10857 __extension__ extern __inline int32x2_t
10858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10859 vdup_laneq_s32 (int32x4_t __a, const int __b)
10861 return __aarch64_vdup_laneq_s32 (__a, __b);
10864 __extension__ extern __inline int64x1_t
10865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10866 vdup_laneq_s64 (int64x2_t __a, const int __b)
10868 return __aarch64_vdup_laneq_s64 (__a, __b);
10871 __extension__ extern __inline uint8x8_t
10872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10873 vdup_laneq_u8 (uint8x16_t __a, const int __b)
10875 return __aarch64_vdup_laneq_u8 (__a, __b);
10878 __extension__ extern __inline uint16x4_t
10879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10880 vdup_laneq_u16 (uint16x8_t __a, const int __b)
10882 return __aarch64_vdup_laneq_u16 (__a, __b);
10885 __extension__ extern __inline uint32x2_t
10886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10887 vdup_laneq_u32 (uint32x4_t __a, const int __b)
10889 return __aarch64_vdup_laneq_u32 (__a, __b);
10892 __extension__ extern __inline uint64x1_t
10893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10894 vdup_laneq_u64 (uint64x2_t __a, const int __b)
10896 return __aarch64_vdup_laneq_u64 (__a, __b);
10899 /* vdupq_lane */
10901 __extension__ extern __inline float16x8_t
10902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10903 vdupq_lane_f16 (float16x4_t __a, const int __b)
10905 return __aarch64_vdupq_lane_f16 (__a, __b);
10908 __extension__ extern __inline float32x4_t
10909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10910 vdupq_lane_f32 (float32x2_t __a, const int __b)
10912 return __aarch64_vdupq_lane_f32 (__a, __b);
10915 __extension__ extern __inline float64x2_t
10916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10917 vdupq_lane_f64 (float64x1_t __a, const int __b)
10919 return __aarch64_vdupq_lane_f64 (__a, __b);
10922 __extension__ extern __inline poly8x16_t
10923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10924 vdupq_lane_p8 (poly8x8_t __a, const int __b)
10926 return __aarch64_vdupq_lane_p8 (__a, __b);
10929 __extension__ extern __inline poly16x8_t
10930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10931 vdupq_lane_p16 (poly16x4_t __a, const int __b)
10933 return __aarch64_vdupq_lane_p16 (__a, __b);
10936 __extension__ extern __inline poly64x2_t
10937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10938 vdupq_lane_p64 (poly64x1_t __a, const int __b)
10940 return __aarch64_vdupq_lane_p64 (__a, __b);
10943 __extension__ extern __inline int8x16_t
10944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10945 vdupq_lane_s8 (int8x8_t __a, const int __b)
10947 return __aarch64_vdupq_lane_s8 (__a, __b);
10950 __extension__ extern __inline int16x8_t
10951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10952 vdupq_lane_s16 (int16x4_t __a, const int __b)
10954 return __aarch64_vdupq_lane_s16 (__a, __b);
10957 __extension__ extern __inline int32x4_t
10958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10959 vdupq_lane_s32 (int32x2_t __a, const int __b)
10961 return __aarch64_vdupq_lane_s32 (__a, __b);
10964 __extension__ extern __inline int64x2_t
10965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10966 vdupq_lane_s64 (int64x1_t __a, const int __b)
10968 return __aarch64_vdupq_lane_s64 (__a, __b);
10971 __extension__ extern __inline uint8x16_t
10972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10973 vdupq_lane_u8 (uint8x8_t __a, const int __b)
10975 return __aarch64_vdupq_lane_u8 (__a, __b);
10978 __extension__ extern __inline uint16x8_t
10979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10980 vdupq_lane_u16 (uint16x4_t __a, const int __b)
10982 return __aarch64_vdupq_lane_u16 (__a, __b);
10985 __extension__ extern __inline uint32x4_t
10986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10987 vdupq_lane_u32 (uint32x2_t __a, const int __b)
10989 return __aarch64_vdupq_lane_u32 (__a, __b);
10992 __extension__ extern __inline uint64x2_t
10993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
10994 vdupq_lane_u64 (uint64x1_t __a, const int __b)
10996 return __aarch64_vdupq_lane_u64 (__a, __b);
10999 /* vdupq_laneq */
11001 __extension__ extern __inline float16x8_t
11002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11003 vdupq_laneq_f16 (float16x8_t __a, const int __b)
11005 return __aarch64_vdupq_laneq_f16 (__a, __b);
11008 __extension__ extern __inline float32x4_t
11009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11010 vdupq_laneq_f32 (float32x4_t __a, const int __b)
11012 return __aarch64_vdupq_laneq_f32 (__a, __b);
11015 __extension__ extern __inline float64x2_t
11016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11017 vdupq_laneq_f64 (float64x2_t __a, const int __b)
11019 return __aarch64_vdupq_laneq_f64 (__a, __b);
11022 __extension__ extern __inline poly8x16_t
11023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11024 vdupq_laneq_p8 (poly8x16_t __a, const int __b)
11026 return __aarch64_vdupq_laneq_p8 (__a, __b);
11029 __extension__ extern __inline poly16x8_t
11030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11031 vdupq_laneq_p16 (poly16x8_t __a, const int __b)
11033 return __aarch64_vdupq_laneq_p16 (__a, __b);
11036 __extension__ extern __inline poly64x2_t
11037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11038 vdupq_laneq_p64 (poly64x2_t __a, const int __b)
11040 return __aarch64_vdupq_laneq_p64 (__a, __b);
11043 __extension__ extern __inline int8x16_t
11044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11045 vdupq_laneq_s8 (int8x16_t __a, const int __b)
11047 return __aarch64_vdupq_laneq_s8 (__a, __b);
11050 __extension__ extern __inline int16x8_t
11051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11052 vdupq_laneq_s16 (int16x8_t __a, const int __b)
11054 return __aarch64_vdupq_laneq_s16 (__a, __b);
11057 __extension__ extern __inline int32x4_t
11058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11059 vdupq_laneq_s32 (int32x4_t __a, const int __b)
11061 return __aarch64_vdupq_laneq_s32 (__a, __b);
11064 __extension__ extern __inline int64x2_t
11065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11066 vdupq_laneq_s64 (int64x2_t __a, const int __b)
11068 return __aarch64_vdupq_laneq_s64 (__a, __b);
11071 __extension__ extern __inline uint8x16_t
11072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11073 vdupq_laneq_u8 (uint8x16_t __a, const int __b)
11075 return __aarch64_vdupq_laneq_u8 (__a, __b);
11078 __extension__ extern __inline uint16x8_t
11079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11080 vdupq_laneq_u16 (uint16x8_t __a, const int __b)
11082 return __aarch64_vdupq_laneq_u16 (__a, __b);
11085 __extension__ extern __inline uint32x4_t
11086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11087 vdupq_laneq_u32 (uint32x4_t __a, const int __b)
11089 return __aarch64_vdupq_laneq_u32 (__a, __b);
11092 __extension__ extern __inline uint64x2_t
11093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11094 vdupq_laneq_u64 (uint64x2_t __a, const int __b)
11096 return __aarch64_vdupq_laneq_u64 (__a, __b);
11099 /* vdupb_lane */
11100 __extension__ extern __inline poly8_t
11101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11102 vdupb_lane_p8 (poly8x8_t __a, const int __b)
11104 return __aarch64_vget_lane_any (__a, __b);
11107 __extension__ extern __inline int8_t
11108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11109 vdupb_lane_s8 (int8x8_t __a, const int __b)
11111 return __aarch64_vget_lane_any (__a, __b);
11114 __extension__ extern __inline uint8_t
11115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11116 vdupb_lane_u8 (uint8x8_t __a, const int __b)
11118 return __aarch64_vget_lane_any (__a, __b);
11121 /* vduph_lane */
11123 __extension__ extern __inline float16_t
11124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11125 vduph_lane_f16 (float16x4_t __a, const int __b)
11127 return __aarch64_vget_lane_any (__a, __b);
11130 __extension__ extern __inline poly16_t
11131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11132 vduph_lane_p16 (poly16x4_t __a, const int __b)
11134 return __aarch64_vget_lane_any (__a, __b);
11137 __extension__ extern __inline int16_t
11138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11139 vduph_lane_s16 (int16x4_t __a, const int __b)
11141 return __aarch64_vget_lane_any (__a, __b);
11144 __extension__ extern __inline uint16_t
11145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11146 vduph_lane_u16 (uint16x4_t __a, const int __b)
11148 return __aarch64_vget_lane_any (__a, __b);
11151 /* vdups_lane */
11153 __extension__ extern __inline float32_t
11154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11155 vdups_lane_f32 (float32x2_t __a, const int __b)
11157 return __aarch64_vget_lane_any (__a, __b);
11160 __extension__ extern __inline int32_t
11161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11162 vdups_lane_s32 (int32x2_t __a, const int __b)
11164 return __aarch64_vget_lane_any (__a, __b);
11167 __extension__ extern __inline uint32_t
11168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11169 vdups_lane_u32 (uint32x2_t __a, const int __b)
11171 return __aarch64_vget_lane_any (__a, __b);
11174 /* vdupd_lane */
11175 __extension__ extern __inline float64_t
11176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11177 vdupd_lane_f64 (float64x1_t __a, const int __b)
11179 __AARCH64_LANE_CHECK (__a, __b);
11180 return __a[0];
11183 __extension__ extern __inline int64_t
11184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11185 vdupd_lane_s64 (int64x1_t __a, const int __b)
11187 __AARCH64_LANE_CHECK (__a, __b);
11188 return __a[0];
11191 __extension__ extern __inline uint64_t
11192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11193 vdupd_lane_u64 (uint64x1_t __a, const int __b)
11195 __AARCH64_LANE_CHECK (__a, __b);
11196 return __a[0];
11199 /* vdupb_laneq */
11200 __extension__ extern __inline poly8_t
11201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11202 vdupb_laneq_p8 (poly8x16_t __a, const int __b)
11204 return __aarch64_vget_lane_any (__a, __b);
11207 __extension__ extern __inline int8_t
11208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11209 vdupb_laneq_s8 (int8x16_t __a, const int __b)
11211 return __aarch64_vget_lane_any (__a, __b);
11214 __extension__ extern __inline uint8_t
11215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11216 vdupb_laneq_u8 (uint8x16_t __a, const int __b)
11218 return __aarch64_vget_lane_any (__a, __b);
11221 /* vduph_laneq */
11223 __extension__ extern __inline float16_t
11224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11225 vduph_laneq_f16 (float16x8_t __a, const int __b)
11227 return __aarch64_vget_lane_any (__a, __b);
11230 __extension__ extern __inline poly16_t
11231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11232 vduph_laneq_p16 (poly16x8_t __a, const int __b)
11234 return __aarch64_vget_lane_any (__a, __b);
11237 __extension__ extern __inline int16_t
11238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11239 vduph_laneq_s16 (int16x8_t __a, const int __b)
11241 return __aarch64_vget_lane_any (__a, __b);
11244 __extension__ extern __inline uint16_t
11245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11246 vduph_laneq_u16 (uint16x8_t __a, const int __b)
11248 return __aarch64_vget_lane_any (__a, __b);
11251 /* vdups_laneq */
11253 __extension__ extern __inline float32_t
11254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11255 vdups_laneq_f32 (float32x4_t __a, const int __b)
11257 return __aarch64_vget_lane_any (__a, __b);
11260 __extension__ extern __inline int32_t
11261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11262 vdups_laneq_s32 (int32x4_t __a, const int __b)
11264 return __aarch64_vget_lane_any (__a, __b);
11267 __extension__ extern __inline uint32_t
11268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11269 vdups_laneq_u32 (uint32x4_t __a, const int __b)
11271 return __aarch64_vget_lane_any (__a, __b);
11274 /* vdupd_laneq */
11275 __extension__ extern __inline float64_t
11276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11277 vdupd_laneq_f64 (float64x2_t __a, const int __b)
11279 return __aarch64_vget_lane_any (__a, __b);
11282 __extension__ extern __inline int64_t
11283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11284 vdupd_laneq_s64 (int64x2_t __a, const int __b)
11286 return __aarch64_vget_lane_any (__a, __b);
11289 __extension__ extern __inline uint64_t
11290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11291 vdupd_laneq_u64 (uint64x2_t __a, const int __b)
11293 return __aarch64_vget_lane_any (__a, __b);
11296 /* vext */
11298 __extension__ extern __inline float16x4_t
11299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11300 vext_f16 (float16x4_t __a, float16x4_t __b, __const int __c)
11302 __AARCH64_LANE_CHECK (__a, __c);
11303 #ifdef __AARCH64EB__
11304 return __builtin_shuffle (__b, __a,
11305 (uint16x4_t) {4 - __c, 5 - __c, 6 - __c, 7 - __c});
11306 #else
11307 return __builtin_shuffle (__a, __b,
11308 (uint16x4_t) {__c, __c + 1, __c + 2, __c + 3});
11309 #endif
11312 __extension__ extern __inline float32x2_t
11313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11314 vext_f32 (float32x2_t __a, float32x2_t __b, __const int __c)
11316 __AARCH64_LANE_CHECK (__a, __c);
11317 #ifdef __AARCH64EB__
11318 return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
11319 #else
11320 return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
11321 #endif
11324 __extension__ extern __inline float64x1_t
11325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11326 vext_f64 (float64x1_t __a, float64x1_t __b, __const int __c)
11328 __AARCH64_LANE_CHECK (__a, __c);
11329 /* The only possible index to the assembler instruction returns element 0. */
11330 return __a;
11332 __extension__ extern __inline poly8x8_t
11333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11334 vext_p8 (poly8x8_t __a, poly8x8_t __b, __const int __c)
11336 __AARCH64_LANE_CHECK (__a, __c);
11337 #ifdef __AARCH64EB__
11338 return __builtin_shuffle (__b, __a, (uint8x8_t)
11339 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11340 #else
11341 return __builtin_shuffle (__a, __b,
11342 (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11343 #endif
11346 __extension__ extern __inline poly16x4_t
11347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11348 vext_p16 (poly16x4_t __a, poly16x4_t __b, __const int __c)
11350 __AARCH64_LANE_CHECK (__a, __c);
11351 #ifdef __AARCH64EB__
11352 return __builtin_shuffle (__b, __a,
11353 (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11354 #else
11355 return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
11356 #endif
11359 __extension__ extern __inline poly64x1_t
11360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11361 vext_p64 (poly64x1_t __a, poly64x1_t __b, __const int __c)
11363 __AARCH64_LANE_CHECK (__a, __c);
11364 /* The only possible index to the assembler instruction returns element 0. */
11365 return __a;
11368 __extension__ extern __inline int8x8_t
11369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11370 vext_s8 (int8x8_t __a, int8x8_t __b, __const int __c)
11372 __AARCH64_LANE_CHECK (__a, __c);
11373 #ifdef __AARCH64EB__
11374 return __builtin_shuffle (__b, __a, (uint8x8_t)
11375 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11376 #else
11377 return __builtin_shuffle (__a, __b,
11378 (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11379 #endif
11382 __extension__ extern __inline int16x4_t
11383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11384 vext_s16 (int16x4_t __a, int16x4_t __b, __const int __c)
11386 __AARCH64_LANE_CHECK (__a, __c);
11387 #ifdef __AARCH64EB__
11388 return __builtin_shuffle (__b, __a,
11389 (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11390 #else
11391 return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
11392 #endif
11395 __extension__ extern __inline int32x2_t
11396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11397 vext_s32 (int32x2_t __a, int32x2_t __b, __const int __c)
11399 __AARCH64_LANE_CHECK (__a, __c);
11400 #ifdef __AARCH64EB__
11401 return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
11402 #else
11403 return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
11404 #endif
11407 __extension__ extern __inline int64x1_t
11408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11409 vext_s64 (int64x1_t __a, int64x1_t __b, __const int __c)
11411 __AARCH64_LANE_CHECK (__a, __c);
11412 /* The only possible index to the assembler instruction returns element 0. */
11413 return __a;
11416 __extension__ extern __inline uint8x8_t
11417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11418 vext_u8 (uint8x8_t __a, uint8x8_t __b, __const int __c)
11420 __AARCH64_LANE_CHECK (__a, __c);
11421 #ifdef __AARCH64EB__
11422 return __builtin_shuffle (__b, __a, (uint8x8_t)
11423 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11424 #else
11425 return __builtin_shuffle (__a, __b,
11426 (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11427 #endif
11430 __extension__ extern __inline uint16x4_t
11431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11432 vext_u16 (uint16x4_t __a, uint16x4_t __b, __const int __c)
11434 __AARCH64_LANE_CHECK (__a, __c);
11435 #ifdef __AARCH64EB__
11436 return __builtin_shuffle (__b, __a,
11437 (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11438 #else
11439 return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
11440 #endif
11443 __extension__ extern __inline uint32x2_t
11444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11445 vext_u32 (uint32x2_t __a, uint32x2_t __b, __const int __c)
11447 __AARCH64_LANE_CHECK (__a, __c);
11448 #ifdef __AARCH64EB__
11449 return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
11450 #else
11451 return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
11452 #endif
11455 __extension__ extern __inline uint64x1_t
11456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11457 vext_u64 (uint64x1_t __a, uint64x1_t __b, __const int __c)
11459 __AARCH64_LANE_CHECK (__a, __c);
11460 /* The only possible index to the assembler instruction returns element 0. */
11461 return __a;
11464 __extension__ extern __inline float16x8_t
11465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11466 vextq_f16 (float16x8_t __a, float16x8_t __b, __const int __c)
11468 __AARCH64_LANE_CHECK (__a, __c);
11469 #ifdef __AARCH64EB__
11470 return __builtin_shuffle (__b, __a,
11471 (uint16x8_t) {8 - __c, 9 - __c, 10 - __c, 11 - __c,
11472 12 - __c, 13 - __c, 14 - __c,
11473 15 - __c});
11474 #else
11475 return __builtin_shuffle (__a, __b,
11476 (uint16x8_t) {__c, __c + 1, __c + 2, __c + 3,
11477 __c + 4, __c + 5, __c + 6, __c + 7});
11478 #endif
11481 __extension__ extern __inline float32x4_t
11482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11483 vextq_f32 (float32x4_t __a, float32x4_t __b, __const int __c)
11485 __AARCH64_LANE_CHECK (__a, __c);
11486 #ifdef __AARCH64EB__
11487 return __builtin_shuffle (__b, __a,
11488 (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11489 #else
11490 return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
11491 #endif
11494 __extension__ extern __inline float64x2_t
11495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11496 vextq_f64 (float64x2_t __a, float64x2_t __b, __const int __c)
11498 __AARCH64_LANE_CHECK (__a, __c);
11499 #ifdef __AARCH64EB__
11500 return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
11501 #else
11502 return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
11503 #endif
11506 __extension__ extern __inline poly8x16_t
11507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11508 vextq_p8 (poly8x16_t __a, poly8x16_t __b, __const int __c)
11510 __AARCH64_LANE_CHECK (__a, __c);
11511 #ifdef __AARCH64EB__
11512 return __builtin_shuffle (__b, __a, (uint8x16_t)
11513 {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
11514 24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
11515 #else
11516 return __builtin_shuffle (__a, __b, (uint8x16_t)
11517 {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
11518 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
11519 #endif
11522 __extension__ extern __inline poly16x8_t
11523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11524 vextq_p16 (poly16x8_t __a, poly16x8_t __b, __const int __c)
11526 __AARCH64_LANE_CHECK (__a, __c);
11527 #ifdef __AARCH64EB__
11528 return __builtin_shuffle (__b, __a, (uint16x8_t)
11529 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11530 #else
11531 return __builtin_shuffle (__a, __b,
11532 (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11533 #endif
11536 __extension__ extern __inline poly64x2_t
11537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11538 vextq_p64 (poly64x2_t __a, poly64x2_t __b, __const int __c)
11540 __AARCH64_LANE_CHECK (__a, __c);
11541 #ifdef __AARCH64EB__
11542 return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
11543 #else
11544 return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
11545 #endif
11548 __extension__ extern __inline int8x16_t
11549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11550 vextq_s8 (int8x16_t __a, int8x16_t __b, __const int __c)
11552 __AARCH64_LANE_CHECK (__a, __c);
11553 #ifdef __AARCH64EB__
11554 return __builtin_shuffle (__b, __a, (uint8x16_t)
11555 {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
11556 24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
11557 #else
11558 return __builtin_shuffle (__a, __b, (uint8x16_t)
11559 {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
11560 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
11561 #endif
11564 __extension__ extern __inline int16x8_t
11565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11566 vextq_s16 (int16x8_t __a, int16x8_t __b, __const int __c)
11568 __AARCH64_LANE_CHECK (__a, __c);
11569 #ifdef __AARCH64EB__
11570 return __builtin_shuffle (__b, __a, (uint16x8_t)
11571 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11572 #else
11573 return __builtin_shuffle (__a, __b,
11574 (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11575 #endif
11578 __extension__ extern __inline int32x4_t
11579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11580 vextq_s32 (int32x4_t __a, int32x4_t __b, __const int __c)
11582 __AARCH64_LANE_CHECK (__a, __c);
11583 #ifdef __AARCH64EB__
11584 return __builtin_shuffle (__b, __a,
11585 (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11586 #else
11587 return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
11588 #endif
11591 __extension__ extern __inline int64x2_t
11592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11593 vextq_s64 (int64x2_t __a, int64x2_t __b, __const int __c)
11595 __AARCH64_LANE_CHECK (__a, __c);
11596 #ifdef __AARCH64EB__
11597 return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
11598 #else
11599 return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
11600 #endif
11603 __extension__ extern __inline uint8x16_t
11604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11605 vextq_u8 (uint8x16_t __a, uint8x16_t __b, __const int __c)
11607 __AARCH64_LANE_CHECK (__a, __c);
11608 #ifdef __AARCH64EB__
11609 return __builtin_shuffle (__b, __a, (uint8x16_t)
11610 {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
11611 24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
11612 #else
11613 return __builtin_shuffle (__a, __b, (uint8x16_t)
11614 {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
11615 __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
11616 #endif
11619 __extension__ extern __inline uint16x8_t
11620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11621 vextq_u16 (uint16x8_t __a, uint16x8_t __b, __const int __c)
11623 __AARCH64_LANE_CHECK (__a, __c);
11624 #ifdef __AARCH64EB__
11625 return __builtin_shuffle (__b, __a, (uint16x8_t)
11626 {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
11627 #else
11628 return __builtin_shuffle (__a, __b,
11629 (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
11630 #endif
11633 __extension__ extern __inline uint32x4_t
11634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11635 vextq_u32 (uint32x4_t __a, uint32x4_t __b, __const int __c)
11637 __AARCH64_LANE_CHECK (__a, __c);
11638 #ifdef __AARCH64EB__
11639 return __builtin_shuffle (__b, __a,
11640 (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
11641 #else
11642 return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
11643 #endif
11646 __extension__ extern __inline uint64x2_t
11647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11648 vextq_u64 (uint64x2_t __a, uint64x2_t __b, __const int __c)
11650 __AARCH64_LANE_CHECK (__a, __c);
11651 #ifdef __AARCH64EB__
11652 return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
11653 #else
11654 return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
11655 #endif
11658 /* vfma */
11660 __extension__ extern __inline float64x1_t
11661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11662 vfma_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
11664 return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
11667 __extension__ extern __inline float32x2_t
11668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11669 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
11671 return __builtin_aarch64_fmav2sf (__b, __c, __a);
11674 __extension__ extern __inline float32x4_t
11675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11676 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
11678 return __builtin_aarch64_fmav4sf (__b, __c, __a);
11681 __extension__ extern __inline float64x2_t
11682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11683 vfmaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
11685 return __builtin_aarch64_fmav2df (__b, __c, __a);
11688 __extension__ extern __inline float32x2_t
11689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11690 vfma_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
11692 return __builtin_aarch64_fmav2sf (__b, vdup_n_f32 (__c), __a);
11695 __extension__ extern __inline float64x1_t
11696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11697 vfma_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
11699 return (float64x1_t) {__b[0] * __c + __a[0]};
11702 __extension__ extern __inline float32x4_t
11703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11704 vfmaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
11706 return __builtin_aarch64_fmav4sf (__b, vdupq_n_f32 (__c), __a);
11709 __extension__ extern __inline float64x2_t
11710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11711 vfmaq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
11713 return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c), __a);
11716 /* vfma_lane */
11718 __extension__ extern __inline float32x2_t
11719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11720 vfma_lane_f32 (float32x2_t __a, float32x2_t __b,
11721 float32x2_t __c, const int __lane)
11723 return __builtin_aarch64_fmav2sf (__b,
11724 __aarch64_vdup_lane_f32 (__c, __lane),
11725 __a);
11728 __extension__ extern __inline float64x1_t
11729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11730 vfma_lane_f64 (float64x1_t __a, float64x1_t __b,
11731 float64x1_t __c, const int __lane)
11733 return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
11736 __extension__ extern __inline float64_t
11737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11738 vfmad_lane_f64 (float64_t __a, float64_t __b,
11739 float64x1_t __c, const int __lane)
11741 return __builtin_fma (__b, __c[0], __a);
11744 __extension__ extern __inline float32_t
11745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11746 vfmas_lane_f32 (float32_t __a, float32_t __b,
11747 float32x2_t __c, const int __lane)
11749 return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
11752 /* vfma_laneq */
11754 __extension__ extern __inline float32x2_t
11755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11756 vfma_laneq_f32 (float32x2_t __a, float32x2_t __b,
11757 float32x4_t __c, const int __lane)
11759 return __builtin_aarch64_fmav2sf (__b,
11760 __aarch64_vdup_laneq_f32 (__c, __lane),
11761 __a);
11764 __extension__ extern __inline float64x1_t
11765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11766 vfma_laneq_f64 (float64x1_t __a, float64x1_t __b,
11767 float64x2_t __c, const int __lane)
11769 float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
11770 return (float64x1_t) {__builtin_fma (__b[0], __c0, __a[0])};
11773 __extension__ extern __inline float64_t
11774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11775 vfmad_laneq_f64 (float64_t __a, float64_t __b,
11776 float64x2_t __c, const int __lane)
11778 return __builtin_fma (__b, __aarch64_vget_lane_any (__c, __lane), __a);
11781 __extension__ extern __inline float32_t
11782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11783 vfmas_laneq_f32 (float32_t __a, float32_t __b,
11784 float32x4_t __c, const int __lane)
11786 return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
11789 /* vfmaq_lane */
11791 __extension__ extern __inline float32x4_t
11792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11793 vfmaq_lane_f32 (float32x4_t __a, float32x4_t __b,
11794 float32x2_t __c, const int __lane)
11796 return __builtin_aarch64_fmav4sf (__b,
11797 __aarch64_vdupq_lane_f32 (__c, __lane),
11798 __a);
11801 __extension__ extern __inline float64x2_t
11802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11803 vfmaq_lane_f64 (float64x2_t __a, float64x2_t __b,
11804 float64x1_t __c, const int __lane)
11806 return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c[0]), __a);
11809 /* vfmaq_laneq */
11811 __extension__ extern __inline float32x4_t
11812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11813 vfmaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
11814 float32x4_t __c, const int __lane)
11816 return __builtin_aarch64_fmav4sf (__b,
11817 __aarch64_vdupq_laneq_f32 (__c, __lane),
11818 __a);
11821 __extension__ extern __inline float64x2_t
11822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11823 vfmaq_laneq_f64 (float64x2_t __a, float64x2_t __b,
11824 float64x2_t __c, const int __lane)
11826 return __builtin_aarch64_fmav2df (__b,
11827 __aarch64_vdupq_laneq_f64 (__c, __lane),
11828 __a);
11831 /* vfms */
11833 __extension__ extern __inline float64x1_t
11834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11835 vfms_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
11837 return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
11840 __extension__ extern __inline float32x2_t
11841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11842 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
11844 return __builtin_aarch64_fmav2sf (-__b, __c, __a);
11847 __extension__ extern __inline float32x4_t
11848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11849 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
11851 return __builtin_aarch64_fmav4sf (-__b, __c, __a);
11854 __extension__ extern __inline float64x2_t
11855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11856 vfmsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
11858 return __builtin_aarch64_fmav2df (-__b, __c, __a);
11861 __extension__ extern __inline float32x2_t
11862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11863 vfms_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
11865 return __builtin_aarch64_fmav2sf (-__b, vdup_n_f32 (__c), __a);
11868 __extension__ extern __inline float64x1_t
11869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11870 vfms_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
11872 return (float64x1_t) {-__b[0] * __c + __a[0]};
11875 __extension__ extern __inline float32x4_t
11876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11877 vfmsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
11879 return __builtin_aarch64_fmav4sf (-__b, vdupq_n_f32 (__c), __a);
11882 __extension__ extern __inline float64x2_t
11883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11884 vfmsq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
11886 return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c), __a);
11889 /* vfms_lane */
11891 __extension__ extern __inline float32x2_t
11892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11893 vfms_lane_f32 (float32x2_t __a, float32x2_t __b,
11894 float32x2_t __c, const int __lane)
11896 return __builtin_aarch64_fmav2sf (-__b,
11897 __aarch64_vdup_lane_f32 (__c, __lane),
11898 __a);
11901 __extension__ extern __inline float64x1_t
11902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11903 vfms_lane_f64 (float64x1_t __a, float64x1_t __b,
11904 float64x1_t __c, const int __lane)
11906 return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
11909 __extension__ extern __inline float64_t
11910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11911 vfmsd_lane_f64 (float64_t __a, float64_t __b,
11912 float64x1_t __c, const int __lane)
11914 return __builtin_fma (-__b, __c[0], __a);
11917 __extension__ extern __inline float32_t
11918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11919 vfmss_lane_f32 (float32_t __a, float32_t __b,
11920 float32x2_t __c, const int __lane)
11922 return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
11925 /* vfms_laneq */
11927 __extension__ extern __inline float32x2_t
11928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11929 vfms_laneq_f32 (float32x2_t __a, float32x2_t __b,
11930 float32x4_t __c, const int __lane)
11932 return __builtin_aarch64_fmav2sf (-__b,
11933 __aarch64_vdup_laneq_f32 (__c, __lane),
11934 __a);
11937 __extension__ extern __inline float64x1_t
11938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11939 vfms_laneq_f64 (float64x1_t __a, float64x1_t __b,
11940 float64x2_t __c, const int __lane)
11942 float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
11943 return (float64x1_t) {__builtin_fma (-__b[0], __c0, __a[0])};
11946 __extension__ extern __inline float64_t
11947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11948 vfmsd_laneq_f64 (float64_t __a, float64_t __b,
11949 float64x2_t __c, const int __lane)
11951 return __builtin_fma (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
11954 __extension__ extern __inline float32_t
11955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11956 vfmss_laneq_f32 (float32_t __a, float32_t __b,
11957 float32x4_t __c, const int __lane)
11959 return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
11962 /* vfmsq_lane */
11964 __extension__ extern __inline float32x4_t
11965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11966 vfmsq_lane_f32 (float32x4_t __a, float32x4_t __b,
11967 float32x2_t __c, const int __lane)
11969 return __builtin_aarch64_fmav4sf (-__b,
11970 __aarch64_vdupq_lane_f32 (__c, __lane),
11971 __a);
11974 __extension__ extern __inline float64x2_t
11975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11976 vfmsq_lane_f64 (float64x2_t __a, float64x2_t __b,
11977 float64x1_t __c, const int __lane)
11979 return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c[0]), __a);
11982 /* vfmsq_laneq */
11984 __extension__ extern __inline float32x4_t
11985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11986 vfmsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
11987 float32x4_t __c, const int __lane)
11989 return __builtin_aarch64_fmav4sf (-__b,
11990 __aarch64_vdupq_laneq_f32 (__c, __lane),
11991 __a);
11994 __extension__ extern __inline float64x2_t
11995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11996 vfmsq_laneq_f64 (float64x2_t __a, float64x2_t __b,
11997 float64x2_t __c, const int __lane)
11999 return __builtin_aarch64_fmav2df (-__b,
12000 __aarch64_vdupq_laneq_f64 (__c, __lane),
12001 __a);
12004 /* vld1 */
12006 __extension__ extern __inline float16x4_t
12007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12008 vld1_f16 (const float16_t *__a)
12010 return __builtin_aarch64_ld1v4hf (__a);
12013 __extension__ extern __inline float32x2_t
12014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12015 vld1_f32 (const float32_t *__a)
12017 return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
12020 __extension__ extern __inline float64x1_t
12021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12022 vld1_f64 (const float64_t *__a)
12024 return (float64x1_t) {*__a};
12027 __extension__ extern __inline poly8x8_t
12028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12029 vld1_p8 (const poly8_t *__a)
12031 return __builtin_aarch64_ld1v8qi_ps (
12032 (const __builtin_aarch64_simd_qi *) __a);
12035 __extension__ extern __inline poly16x4_t
12036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12037 vld1_p16 (const poly16_t *__a)
12039 return __builtin_aarch64_ld1v4hi_ps (
12040 (const __builtin_aarch64_simd_hi *) __a);
12043 __extension__ extern __inline poly64x1_t
12044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12045 vld1_p64 (const poly64_t *__a)
12047 return (poly64x1_t) {*__a};
12050 __extension__ extern __inline int8x8_t
12051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12052 vld1_s8 (const int8_t *__a)
12054 return __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
12057 __extension__ extern __inline int16x4_t
12058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12059 vld1_s16 (const int16_t *__a)
12061 return __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
12064 __extension__ extern __inline int32x2_t
12065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12066 vld1_s32 (const int32_t *__a)
12068 return __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
12071 __extension__ extern __inline int64x1_t
12072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12073 vld1_s64 (const int64_t *__a)
12075 return (int64x1_t) {*__a};
12078 __extension__ extern __inline uint8x8_t
12079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12080 vld1_u8 (const uint8_t *__a)
12082 return __builtin_aarch64_ld1v8qi_us (
12083 (const __builtin_aarch64_simd_qi *) __a);
12086 __extension__ extern __inline uint16x4_t
12087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12088 vld1_u16 (const uint16_t *__a)
12090 return __builtin_aarch64_ld1v4hi_us (
12091 (const __builtin_aarch64_simd_hi *) __a);
12094 __extension__ extern __inline uint32x2_t
12095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12096 vld1_u32 (const uint32_t *__a)
12098 return __builtin_aarch64_ld1v2si_us (
12099 (const __builtin_aarch64_simd_si *) __a);
12102 __extension__ extern __inline uint64x1_t
12103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12104 vld1_u64 (const uint64_t *__a)
12106 return (uint64x1_t) {*__a};
12109 /* vld1x3 */
12111 __extension__ extern __inline uint8x8x3_t
12112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12113 vld1_u8_x3 (const uint8_t *__a)
12115 return __builtin_aarch64_ld1x3v8qi_us (
12116 (const __builtin_aarch64_simd_qi *) __a);
12119 __extension__ extern __inline int8x8x3_t
12120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12121 vld1_s8_x3 (const int8_t *__a)
12123 return __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
12126 __extension__ extern __inline uint16x4x3_t
12127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12128 vld1_u16_x3 (const uint16_t *__a)
12130 return __builtin_aarch64_ld1x3v4hi_us (
12131 (const __builtin_aarch64_simd_hi *) __a);
12134 __extension__ extern __inline int16x4x3_t
12135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12136 vld1_s16_x3 (const int16_t *__a)
12138 return __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
12141 __extension__ extern __inline uint32x2x3_t
12142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12143 vld1_u32_x3 (const uint32_t *__a)
12145 return __builtin_aarch64_ld1x3v2si_us (
12146 (const __builtin_aarch64_simd_si *) __a);
12149 __extension__ extern __inline int32x2x3_t
12150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12151 vld1_s32_x3 (const int32_t *__a)
12153 return __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
12156 __extension__ extern __inline uint64x1x3_t
12157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12158 vld1_u64_x3 (const uint64_t *__a)
12160 return __builtin_aarch64_ld1x3di_us (
12161 (const __builtin_aarch64_simd_di *) __a);
12164 __extension__ extern __inline int64x1x3_t
12165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12166 vld1_s64_x3 (const int64_t *__a)
12168 return __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
12171 __extension__ extern __inline float16x4x3_t
12172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12173 vld1_f16_x3 (const float16_t *__a)
12175 return __builtin_aarch64_ld1x3v4hf ((const __builtin_aarch64_simd_hf *) __a);
12178 __extension__ extern __inline float32x2x3_t
12179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12180 vld1_f32_x3 (const float32_t *__a)
12182 return __builtin_aarch64_ld1x3v2sf ((const __builtin_aarch64_simd_sf *) __a);
12185 __extension__ extern __inline float64x1x3_t
12186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12187 vld1_f64_x3 (const float64_t *__a)
12189 return __builtin_aarch64_ld1x3df ((const __builtin_aarch64_simd_df *) __a);
12192 __extension__ extern __inline poly8x8x3_t
12193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12194 vld1_p8_x3 (const poly8_t *__a)
12196 return __builtin_aarch64_ld1x3v8qi_ps (
12197 (const __builtin_aarch64_simd_qi *) __a);
12200 __extension__ extern __inline poly16x4x3_t
12201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12202 vld1_p16_x3 (const poly16_t *__a)
12204 return __builtin_aarch64_ld1x3v4hi_ps (
12205 (const __builtin_aarch64_simd_hi *) __a);
12208 __extension__ extern __inline poly64x1x3_t
12209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12210 vld1_p64_x3 (const poly64_t *__a)
12212 return __builtin_aarch64_ld1x3di_ps (
12213 (const __builtin_aarch64_simd_di *) __a);
12216 __extension__ extern __inline uint8x16x3_t
12217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12218 vld1q_u8_x3 (const uint8_t *__a)
12220 return __builtin_aarch64_ld1x3v16qi_us (
12221 (const __builtin_aarch64_simd_qi *) __a);
12224 __extension__ extern __inline int8x16x3_t
12225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12226 vld1q_s8_x3 (const int8_t *__a)
12228 return __builtin_aarch64_ld1x3v16qi (
12229 (const __builtin_aarch64_simd_qi *) __a);
12232 __extension__ extern __inline uint16x8x3_t
12233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12234 vld1q_u16_x3 (const uint16_t *__a)
12236 return __builtin_aarch64_ld1x3v8hi_us (
12237 (const __builtin_aarch64_simd_hi *) __a);
12240 __extension__ extern __inline int16x8x3_t
12241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12242 vld1q_s16_x3 (const int16_t *__a)
12244 return __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
12247 __extension__ extern __inline uint32x4x3_t
12248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12249 vld1q_u32_x3 (const uint32_t *__a)
12251 return __builtin_aarch64_ld1x3v4si_us (
12252 (const __builtin_aarch64_simd_si *) __a);
12255 __extension__ extern __inline int32x4x3_t
12256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12257 vld1q_s32_x3 (const int32_t *__a)
12259 return __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
12262 __extension__ extern __inline uint64x2x3_t
12263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12264 vld1q_u64_x3 (const uint64_t *__a)
12266 return __builtin_aarch64_ld1x3v2di_us (
12267 (const __builtin_aarch64_simd_di *) __a);
12270 __extension__ extern __inline int64x2x3_t
12271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12272 vld1q_s64_x3 (const int64_t *__a)
12274 return __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
12277 __extension__ extern __inline float16x8x3_t
12278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12279 vld1q_f16_x3 (const float16_t *__a)
12281 return __builtin_aarch64_ld1x3v8hf ((const __builtin_aarch64_simd_hf *) __a);
12284 __extension__ extern __inline float32x4x3_t
12285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12286 vld1q_f32_x3 (const float32_t *__a)
12288 return __builtin_aarch64_ld1x3v4sf ((const __builtin_aarch64_simd_sf *) __a);
12291 __extension__ extern __inline float64x2x3_t
12292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12293 vld1q_f64_x3 (const float64_t *__a)
12295 return __builtin_aarch64_ld1x3v2df ((const __builtin_aarch64_simd_df *) __a);
12298 __extension__ extern __inline poly8x16x3_t
12299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12300 vld1q_p8_x3 (const poly8_t *__a)
12302 return __builtin_aarch64_ld1x3v16qi_ps (
12303 (const __builtin_aarch64_simd_qi *) __a);
12306 __extension__ extern __inline poly16x8x3_t
12307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12308 vld1q_p16_x3 (const poly16_t *__a)
12310 return __builtin_aarch64_ld1x3v8hi_ps (
12311 (const __builtin_aarch64_simd_hi *) __a);
12314 __extension__ extern __inline poly64x2x3_t
12315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12316 vld1q_p64_x3 (const poly64_t *__a)
12318 return __builtin_aarch64_ld1x3v2di_ps (
12319 (const __builtin_aarch64_simd_di *) __a);
12322 /* vld1q */
12324 __extension__ extern __inline float16x8_t
12325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12326 vld1q_f16 (const float16_t *__a)
12328 return __builtin_aarch64_ld1v8hf (__a);
12331 __extension__ extern __inline float32x4_t
12332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12333 vld1q_f32 (const float32_t *__a)
12335 return __builtin_aarch64_ld1v4sf ((const __builtin_aarch64_simd_sf *) __a);
12338 __extension__ extern __inline float64x2_t
12339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12340 vld1q_f64 (const float64_t *__a)
12342 return __builtin_aarch64_ld1v2df ((const __builtin_aarch64_simd_df *) __a);
12345 __extension__ extern __inline poly8x16_t
12346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12347 vld1q_p8 (const poly8_t *__a)
12349 return __builtin_aarch64_ld1v16qi_ps (
12350 (const __builtin_aarch64_simd_qi *) __a);
12353 __extension__ extern __inline poly16x8_t
12354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12355 vld1q_p16 (const poly16_t *__a)
12357 return __builtin_aarch64_ld1v8hi_ps (
12358 (const __builtin_aarch64_simd_hi *) __a);
12361 __extension__ extern __inline poly64x2_t
12362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12363 vld1q_p64 (const poly64_t *__a)
12365 return __builtin_aarch64_ld1v2di_ps (
12366 (const __builtin_aarch64_simd_di *) __a);
12369 __extension__ extern __inline int8x16_t
12370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12371 vld1q_s8 (const int8_t *__a)
12373 return __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
12376 __extension__ extern __inline int16x8_t
12377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12378 vld1q_s16 (const int16_t *__a)
12380 return __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
12383 __extension__ extern __inline int32x4_t
12384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12385 vld1q_s32 (const int32_t *__a)
12387 return __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
12390 __extension__ extern __inline int64x2_t
12391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12392 vld1q_s64 (const int64_t *__a)
12394 return __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
12397 __extension__ extern __inline uint8x16_t
12398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12399 vld1q_u8 (const uint8_t *__a)
12401 return __builtin_aarch64_ld1v16qi_us (
12402 (const __builtin_aarch64_simd_qi *) __a);
12405 __extension__ extern __inline uint8x8x2_t
12406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12407 vld1_u8_x2 (const uint8_t *__a)
12409 return __builtin_aarch64_ld1x2v8qi_us (
12410 (const __builtin_aarch64_simd_qi *) __a);
12413 __extension__ extern __inline int8x8x2_t
12414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12415 vld1_s8_x2 (const int8_t *__a)
12417 return __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
12420 __extension__ extern __inline uint16x4x2_t
12421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12422 vld1_u16_x2 (const uint16_t *__a)
12424 return __builtin_aarch64_ld1x2v4hi_us (
12425 (const __builtin_aarch64_simd_hi *) __a);
12428 __extension__ extern __inline int16x4x2_t
12429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12430 vld1_s16_x2 (const int16_t *__a)
12432 return __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
12435 __extension__ extern __inline uint32x2x2_t
12436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12437 vld1_u32_x2 (const uint32_t *__a)
12439 return __builtin_aarch64_ld1x2v2si_us (
12440 (const __builtin_aarch64_simd_si *) __a);
12443 __extension__ extern __inline int32x2x2_t
12444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12445 vld1_s32_x2 (const int32_t *__a)
12447 return __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
12450 __extension__ extern __inline uint64x1x2_t
12451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12452 vld1_u64_x2 (const uint64_t *__a)
12454 return __builtin_aarch64_ld1x2di_us (
12455 (const __builtin_aarch64_simd_di *) __a);
12458 __extension__ extern __inline int64x1x2_t
12459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12460 vld1_s64_x2 (const int64_t *__a)
12462 return __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
12465 __extension__ extern __inline float16x4x2_t
12466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12467 vld1_f16_x2 (const float16_t *__a)
12469 return __builtin_aarch64_ld1x2v4hf ((const __builtin_aarch64_simd_hf *) __a);
12472 __extension__ extern __inline float32x2x2_t
12473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12474 vld1_f32_x2 (const float32_t *__a)
12476 return __builtin_aarch64_ld1x2v2sf ((const __builtin_aarch64_simd_sf *) __a);
12479 __extension__ extern __inline float64x1x2_t
12480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12481 vld1_f64_x2 (const float64_t *__a)
12483 return __builtin_aarch64_ld1x2df ((const __builtin_aarch64_simd_df *) __a);
12486 __extension__ extern __inline poly8x8x2_t
12487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12488 vld1_p8_x2 (const poly8_t *__a)
12490 return __builtin_aarch64_ld1x2v8qi_ps (
12491 (const __builtin_aarch64_simd_qi *) __a);
12494 __extension__ extern __inline poly16x4x2_t
12495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12496 vld1_p16_x2 (const poly16_t *__a)
12498 return __builtin_aarch64_ld1x2v4hi_ps (
12499 (const __builtin_aarch64_simd_hi *) __a);
12502 __extension__ extern __inline poly64x1x2_t
12503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12504 vld1_p64_x2 (const poly64_t *__a)
12506 return __builtin_aarch64_ld1x2di_ps (
12507 (const __builtin_aarch64_simd_di *) __a);
12510 __extension__ extern __inline uint8x16x2_t
12511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12512 vld1q_u8_x2 (const uint8_t *__a)
12514 return __builtin_aarch64_ld1x2v16qi_us (
12515 (const __builtin_aarch64_simd_qi *) __a);
12518 __extension__ extern __inline int8x16x2_t
12519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12520 vld1q_s8_x2 (const int8_t *__a)
12522 return __builtin_aarch64_ld1x2v16qi (
12523 (const __builtin_aarch64_simd_qi *) __a);
12526 __extension__ extern __inline uint16x8x2_t
12527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12528 vld1q_u16_x2 (const uint16_t *__a)
12530 return __builtin_aarch64_ld1x2v8hi_us (
12531 (const __builtin_aarch64_simd_hi *) __a);
12534 __extension__ extern __inline int16x8x2_t
12535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12536 vld1q_s16_x2 (const int16_t *__a)
12538 return __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
12541 __extension__ extern __inline uint32x4x2_t
12542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12543 vld1q_u32_x2 (const uint32_t *__a)
12545 return __builtin_aarch64_ld1x2v4si_us (
12546 (const __builtin_aarch64_simd_si *) __a);
12549 __extension__ extern __inline int32x4x2_t
12550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12551 vld1q_s32_x2 (const int32_t *__a)
12553 return __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
12556 __extension__ extern __inline uint64x2x2_t
12557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12558 vld1q_u64_x2 (const uint64_t *__a)
12560 return __builtin_aarch64_ld1x2v2di_us (
12561 (const __builtin_aarch64_simd_di *) __a);
12564 __extension__ extern __inline int64x2x2_t
12565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12566 vld1q_s64_x2 (const int64_t *__a)
12568 return __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
12571 __extension__ extern __inline float16x8x2_t
12572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12573 vld1q_f16_x2 (const float16_t *__a)
12575 return __builtin_aarch64_ld1x2v8hf ((const __builtin_aarch64_simd_hf *) __a);
12578 __extension__ extern __inline float32x4x2_t
12579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12580 vld1q_f32_x2 (const float32_t *__a)
12582 return __builtin_aarch64_ld1x2v4sf ((const __builtin_aarch64_simd_sf *) __a);
12585 __extension__ extern __inline float64x2x2_t
12586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12587 vld1q_f64_x2 (const float64_t *__a)
12589 return __builtin_aarch64_ld1x2v2df ((const __builtin_aarch64_simd_df *) __a);
12592 __extension__ extern __inline poly8x16x2_t
12593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12594 vld1q_p8_x2 (const poly8_t *__a)
12596 return __builtin_aarch64_ld1x2v16qi_ps (
12597 (const __builtin_aarch64_simd_qi *) __a);
12600 __extension__ extern __inline poly16x8x2_t
12601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12602 vld1q_p16_x2 (const poly16_t *__a)
12604 return __builtin_aarch64_ld1x2v8hi_ps (
12605 (const __builtin_aarch64_simd_hi *) __a);
12608 __extension__ extern __inline poly64x2x2_t
12609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12610 vld1q_p64_x2 (const poly64_t *__a)
12612 return __builtin_aarch64_ld1x2v2di_ps (
12613 (const __builtin_aarch64_simd_di *) __a);
12616 __extension__ extern __inline uint16x8_t
12617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12618 vld1q_u16 (const uint16_t *__a)
12620 return __builtin_aarch64_ld1v8hi_us (
12621 (const __builtin_aarch64_simd_hi *) __a);
12624 __extension__ extern __inline uint32x4_t
12625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12626 vld1q_u32 (const uint32_t *__a)
12628 return __builtin_aarch64_ld1v4si_us (
12629 (const __builtin_aarch64_simd_si *) __a);
12632 __extension__ extern __inline uint64x2_t
12633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12634 vld1q_u64 (const uint64_t *__a)
12636 return __builtin_aarch64_ld1v2di_us (
12637 (const __builtin_aarch64_simd_di *) __a);
12640 /* vld1(q)_x4. */
12642 __extension__ extern __inline int8x8x4_t
12643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12644 vld1_s8_x4 (const int8_t *__a)
12646 return __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
12649 __extension__ extern __inline int8x16x4_t
12650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12651 vld1q_s8_x4 (const int8_t *__a)
12653 return __builtin_aarch64_ld1x4v16qi (
12654 (const __builtin_aarch64_simd_qi *) __a);
12657 __extension__ extern __inline int16x4x4_t
12658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12659 vld1_s16_x4 (const int16_t *__a)
12661 return __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
12664 __extension__ extern __inline int16x8x4_t
12665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12666 vld1q_s16_x4 (const int16_t *__a)
12668 return __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
12671 __extension__ extern __inline int32x2x4_t
12672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12673 vld1_s32_x4 (const int32_t *__a)
12675 return __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
12678 __extension__ extern __inline int32x4x4_t
12679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12680 vld1q_s32_x4 (const int32_t *__a)
12682 return __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
12685 __extension__ extern __inline uint8x8x4_t
12686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12687 vld1_u8_x4 (const uint8_t *__a)
12689 return __builtin_aarch64_ld1x4v8qi_us (
12690 (const __builtin_aarch64_simd_qi *) __a);
12693 __extension__ extern __inline uint8x16x4_t
12694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12695 vld1q_u8_x4 (const uint8_t *__a)
12697 return __builtin_aarch64_ld1x4v16qi_us (
12698 (const __builtin_aarch64_simd_qi *) __a);
12701 __extension__ extern __inline uint16x4x4_t
12702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12703 vld1_u16_x4 (const uint16_t *__a)
12705 return __builtin_aarch64_ld1x4v4hi_us (
12706 (const __builtin_aarch64_simd_hi *) __a);
12709 __extension__ extern __inline uint16x8x4_t
12710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12711 vld1q_u16_x4 (const uint16_t *__a)
12713 return __builtin_aarch64_ld1x4v8hi_us (
12714 (const __builtin_aarch64_simd_hi *) __a);
12717 __extension__ extern __inline uint32x2x4_t
12718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12719 vld1_u32_x4 (const uint32_t *__a)
12721 return __builtin_aarch64_ld1x4v2si_us (
12722 (const __builtin_aarch64_simd_si *) __a);
12725 __extension__ extern __inline uint32x4x4_t
12726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12727 vld1q_u32_x4 (const uint32_t *__a)
12729 return __builtin_aarch64_ld1x4v4si_us (
12730 (const __builtin_aarch64_simd_si *) __a);
12733 __extension__ extern __inline float16x4x4_t
12734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12735 vld1_f16_x4 (const float16_t *__a)
12737 return __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf *) __a);
12740 __extension__ extern __inline float16x8x4_t
12741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12742 vld1q_f16_x4 (const float16_t *__a)
12744 return __builtin_aarch64_ld1x4v8hf ((const __builtin_aarch64_simd_hf *) __a);
12747 __extension__ extern __inline float32x2x4_t
12748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12749 vld1_f32_x4 (const float32_t *__a)
12751 return __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
12754 __extension__ extern __inline float32x4x4_t
12755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12756 vld1q_f32_x4 (const float32_t *__a)
12758 return __builtin_aarch64_ld1x4v4sf ((const __builtin_aarch64_simd_sf *) __a);
12761 __extension__ extern __inline poly8x8x4_t
12762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12763 vld1_p8_x4 (const poly8_t *__a)
12765 return __builtin_aarch64_ld1x4v8qi_ps (
12766 (const __builtin_aarch64_simd_qi *) __a);
12769 __extension__ extern __inline poly8x16x4_t
12770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12771 vld1q_p8_x4 (const poly8_t *__a)
12773 return __builtin_aarch64_ld1x4v16qi_ps (
12774 (const __builtin_aarch64_simd_qi *) __a);
12777 __extension__ extern __inline poly16x4x4_t
12778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12779 vld1_p16_x4 (const poly16_t *__a)
12781 return __builtin_aarch64_ld1x4v4hi_ps (
12782 (const __builtin_aarch64_simd_hi *) __a);
12785 __extension__ extern __inline poly16x8x4_t
12786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12787 vld1q_p16_x4 (const poly16_t *__a)
12789 return __builtin_aarch64_ld1x4v8hi_ps (
12790 (const __builtin_aarch64_simd_hi *) __a);
12793 __extension__ extern __inline int64x1x4_t
12794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12795 vld1_s64_x4 (const int64_t *__a)
12797 return __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
12800 __extension__ extern __inline uint64x1x4_t
12801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12802 vld1_u64_x4 (const uint64_t *__a)
12804 return __builtin_aarch64_ld1x4di_us (
12805 (const __builtin_aarch64_simd_di *) __a);
12808 __extension__ extern __inline poly64x1x4_t
12809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12810 vld1_p64_x4 (const poly64_t *__a)
12812 return __builtin_aarch64_ld1x4di_ps (
12813 (const __builtin_aarch64_simd_di *) __a);
12816 __extension__ extern __inline int64x2x4_t
12817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12818 vld1q_s64_x4 (const int64_t *__a)
12820 return __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
12823 __extension__ extern __inline uint64x2x4_t
12824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12825 vld1q_u64_x4 (const uint64_t *__a)
12827 return __builtin_aarch64_ld1x4v2di_us (
12828 (const __builtin_aarch64_simd_di *) __a);
12831 __extension__ extern __inline poly64x2x4_t
12832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12833 vld1q_p64_x4 (const poly64_t *__a)
12835 return __builtin_aarch64_ld1x4v2di_ps (
12836 (const __builtin_aarch64_simd_di *) __a);
12839 __extension__ extern __inline float64x1x4_t
12840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12841 vld1_f64_x4 (const float64_t *__a)
12843 return __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
12846 __extension__ extern __inline float64x2x4_t
12847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12848 vld1q_f64_x4 (const float64_t *__a)
12850 return __builtin_aarch64_ld1x4v2df ((const __builtin_aarch64_simd_df *) __a);
12853 /* vld1_dup */
12855 __extension__ extern __inline float16x4_t
12856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12857 vld1_dup_f16 (const float16_t* __a)
12859 return vdup_n_f16 (*__a);
12862 __extension__ extern __inline float32x2_t
12863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12864 vld1_dup_f32 (const float32_t* __a)
12866 return vdup_n_f32 (*__a);
12869 __extension__ extern __inline float64x1_t
12870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12871 vld1_dup_f64 (const float64_t* __a)
12873 return vdup_n_f64 (*__a);
12876 __extension__ extern __inline poly8x8_t
12877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12878 vld1_dup_p8 (const poly8_t* __a)
12880 return vdup_n_p8 (*__a);
12883 __extension__ extern __inline poly16x4_t
12884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12885 vld1_dup_p16 (const poly16_t* __a)
12887 return vdup_n_p16 (*__a);
12890 __extension__ extern __inline poly64x1_t
12891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12892 vld1_dup_p64 (const poly64_t* __a)
12894 return vdup_n_p64 (*__a);
12897 __extension__ extern __inline int8x8_t
12898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12899 vld1_dup_s8 (const int8_t* __a)
12901 return vdup_n_s8 (*__a);
12904 __extension__ extern __inline int16x4_t
12905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12906 vld1_dup_s16 (const int16_t* __a)
12908 return vdup_n_s16 (*__a);
12911 __extension__ extern __inline int32x2_t
12912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12913 vld1_dup_s32 (const int32_t* __a)
12915 return vdup_n_s32 (*__a);
12918 __extension__ extern __inline int64x1_t
12919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12920 vld1_dup_s64 (const int64_t* __a)
12922 return vdup_n_s64 (*__a);
12925 __extension__ extern __inline uint8x8_t
12926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12927 vld1_dup_u8 (const uint8_t* __a)
12929 return vdup_n_u8 (*__a);
12932 __extension__ extern __inline uint16x4_t
12933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12934 vld1_dup_u16 (const uint16_t* __a)
12936 return vdup_n_u16 (*__a);
12939 __extension__ extern __inline uint32x2_t
12940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12941 vld1_dup_u32 (const uint32_t* __a)
12943 return vdup_n_u32 (*__a);
12946 __extension__ extern __inline uint64x1_t
12947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12948 vld1_dup_u64 (const uint64_t* __a)
12950 return vdup_n_u64 (*__a);
12953 /* vld1q_dup */
12955 __extension__ extern __inline float16x8_t
12956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12957 vld1q_dup_f16 (const float16_t* __a)
12959 return vdupq_n_f16 (*__a);
12962 __extension__ extern __inline float32x4_t
12963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12964 vld1q_dup_f32 (const float32_t* __a)
12966 return vdupq_n_f32 (*__a);
12969 __extension__ extern __inline float64x2_t
12970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12971 vld1q_dup_f64 (const float64_t* __a)
12973 return vdupq_n_f64 (*__a);
12976 __extension__ extern __inline poly8x16_t
12977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12978 vld1q_dup_p8 (const poly8_t* __a)
12980 return vdupq_n_p8 (*__a);
12983 __extension__ extern __inline poly16x8_t
12984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12985 vld1q_dup_p16 (const poly16_t* __a)
12987 return vdupq_n_p16 (*__a);
12990 __extension__ extern __inline poly64x2_t
12991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12992 vld1q_dup_p64 (const poly64_t* __a)
12994 return vdupq_n_p64 (*__a);
12997 __extension__ extern __inline int8x16_t
12998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
12999 vld1q_dup_s8 (const int8_t* __a)
13001 return vdupq_n_s8 (*__a);
13004 __extension__ extern __inline int16x8_t
13005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13006 vld1q_dup_s16 (const int16_t* __a)
13008 return vdupq_n_s16 (*__a);
13011 __extension__ extern __inline int32x4_t
13012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13013 vld1q_dup_s32 (const int32_t* __a)
13015 return vdupq_n_s32 (*__a);
13018 __extension__ extern __inline int64x2_t
13019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13020 vld1q_dup_s64 (const int64_t* __a)
13022 return vdupq_n_s64 (*__a);
13025 __extension__ extern __inline uint8x16_t
13026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13027 vld1q_dup_u8 (const uint8_t* __a)
13029 return vdupq_n_u8 (*__a);
13032 __extension__ extern __inline uint16x8_t
13033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13034 vld1q_dup_u16 (const uint16_t* __a)
13036 return vdupq_n_u16 (*__a);
13039 __extension__ extern __inline uint32x4_t
13040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13041 vld1q_dup_u32 (const uint32_t* __a)
13043 return vdupq_n_u32 (*__a);
13046 __extension__ extern __inline uint64x2_t
13047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13048 vld1q_dup_u64 (const uint64_t* __a)
13050 return vdupq_n_u64 (*__a);
13053 /* vld1_lane */
13055 __extension__ extern __inline float16x4_t
13056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13057 vld1_lane_f16 (const float16_t *__src, float16x4_t __vec, const int __lane)
13059 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13062 __extension__ extern __inline float32x2_t
13063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13064 vld1_lane_f32 (const float32_t *__src, float32x2_t __vec, const int __lane)
13066 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13069 __extension__ extern __inline float64x1_t
13070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13071 vld1_lane_f64 (const float64_t *__src, float64x1_t __vec, const int __lane)
13073 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13076 __extension__ extern __inline poly8x8_t
13077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13078 vld1_lane_p8 (const poly8_t *__src, poly8x8_t __vec, const int __lane)
13080 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13083 __extension__ extern __inline poly16x4_t
13084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13085 vld1_lane_p16 (const poly16_t *__src, poly16x4_t __vec, const int __lane)
13087 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13090 __extension__ extern __inline poly64x1_t
13091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13092 vld1_lane_p64 (const poly64_t *__src, poly64x1_t __vec, const int __lane)
13094 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13097 __extension__ extern __inline int8x8_t
13098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13099 vld1_lane_s8 (const int8_t *__src, int8x8_t __vec, const int __lane)
13101 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13104 __extension__ extern __inline int16x4_t
13105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13106 vld1_lane_s16 (const int16_t *__src, int16x4_t __vec, const int __lane)
13108 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13111 __extension__ extern __inline int32x2_t
13112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13113 vld1_lane_s32 (const int32_t *__src, int32x2_t __vec, const int __lane)
13115 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13118 __extension__ extern __inline int64x1_t
13119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13120 vld1_lane_s64 (const int64_t *__src, int64x1_t __vec, const int __lane)
13122 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13125 __extension__ extern __inline uint8x8_t
13126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13127 vld1_lane_u8 (const uint8_t *__src, uint8x8_t __vec, const int __lane)
13129 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13132 __extension__ extern __inline uint16x4_t
13133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13134 vld1_lane_u16 (const uint16_t *__src, uint16x4_t __vec, const int __lane)
13136 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13139 __extension__ extern __inline uint32x2_t
13140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13141 vld1_lane_u32 (const uint32_t *__src, uint32x2_t __vec, const int __lane)
13143 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13146 __extension__ extern __inline uint64x1_t
13147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13148 vld1_lane_u64 (const uint64_t *__src, uint64x1_t __vec, const int __lane)
13150 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13153 /* vld1q_lane */
13155 __extension__ extern __inline float16x8_t
13156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13157 vld1q_lane_f16 (const float16_t *__src, float16x8_t __vec, const int __lane)
13159 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13162 __extension__ extern __inline float32x4_t
13163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13164 vld1q_lane_f32 (const float32_t *__src, float32x4_t __vec, const int __lane)
13166 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13169 __extension__ extern __inline float64x2_t
13170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13171 vld1q_lane_f64 (const float64_t *__src, float64x2_t __vec, const int __lane)
13173 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13176 __extension__ extern __inline poly8x16_t
13177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13178 vld1q_lane_p8 (const poly8_t *__src, poly8x16_t __vec, const int __lane)
13180 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13183 __extension__ extern __inline poly16x8_t
13184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13185 vld1q_lane_p16 (const poly16_t *__src, poly16x8_t __vec, const int __lane)
13187 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13190 __extension__ extern __inline poly64x2_t
13191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13192 vld1q_lane_p64 (const poly64_t *__src, poly64x2_t __vec, const int __lane)
13194 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13197 __extension__ extern __inline int8x16_t
13198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13199 vld1q_lane_s8 (const int8_t *__src, int8x16_t __vec, const int __lane)
13201 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13204 __extension__ extern __inline int16x8_t
13205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13206 vld1q_lane_s16 (const int16_t *__src, int16x8_t __vec, const int __lane)
13208 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13211 __extension__ extern __inline int32x4_t
13212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13213 vld1q_lane_s32 (const int32_t *__src, int32x4_t __vec, const int __lane)
13215 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13218 __extension__ extern __inline int64x2_t
13219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13220 vld1q_lane_s64 (const int64_t *__src, int64x2_t __vec, const int __lane)
13222 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13225 __extension__ extern __inline uint8x16_t
13226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13227 vld1q_lane_u8 (const uint8_t *__src, uint8x16_t __vec, const int __lane)
13229 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13232 __extension__ extern __inline uint16x8_t
13233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13234 vld1q_lane_u16 (const uint16_t *__src, uint16x8_t __vec, const int __lane)
13236 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13239 __extension__ extern __inline uint32x4_t
13240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13241 vld1q_lane_u32 (const uint32_t *__src, uint32x4_t __vec, const int __lane)
13243 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13246 __extension__ extern __inline uint64x2_t
13247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13248 vld1q_lane_u64 (const uint64_t *__src, uint64x2_t __vec, const int __lane)
13250 return __aarch64_vset_lane_any (*__src, __vec, __lane);
13253 #pragma GCC push_options
13254 #pragma GCC target ("+nothing+rcpc3+simd")
13256 /* vldap1_lane. */
13258 __extension__ extern __inline uint64x1_t
13259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13260 vldap1_lane_u64 (const uint64_t *__src, uint64x1_t __vec, const int __lane)
13262 return __builtin_aarch64_vec_ldap1_lanev1di_usus (
13263 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13266 __extension__ extern __inline uint64x2_t
13267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13268 vldap1q_lane_u64 (const uint64_t *__src, uint64x2_t __vec, const int __lane)
13270 return __builtin_aarch64_vec_ldap1_lanev2di_usus (
13271 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13274 __extension__ extern __inline int64x1_t
13275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13276 vldap1_lane_s64 (const int64_t *__src, int64x1_t __vec, const int __lane)
13278 return __builtin_aarch64_vec_ldap1_lanev1di (
13279 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13282 __extension__ extern __inline int64x2_t
13283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13284 vldap1q_lane_s64 (const int64_t *__src, int64x2_t __vec, const int __lane)
13286 return __builtin_aarch64_vec_ldap1_lanev2di (
13287 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13290 __extension__ extern __inline float64x1_t
13291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13292 vldap1_lane_f64 (const float64_t *__src, float64x1_t __vec, const int __lane)
13294 return __builtin_aarch64_vec_ldap1_lanev1df (
13295 (const __builtin_aarch64_simd_df *) __src, __vec, __lane);
13298 __extension__ extern __inline float64x2_t
13299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13300 vldap1q_lane_f64 (const float64_t *__src, float64x2_t __vec, const int __lane)
13302 return __builtin_aarch64_vec_ldap1_lanev2df (
13303 (const __builtin_aarch64_simd_df *) __src, __vec, __lane);
13306 __extension__ extern __inline poly64x1_t
13307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13308 vldap1_lane_p64 (const poly64_t *__src, poly64x1_t __vec, const int __lane)
13310 return __builtin_aarch64_vec_ldap1_lanev1di_psps (
13311 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13314 __extension__ extern __inline poly64x2_t
13315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13316 vldap1q_lane_p64 (const poly64_t *__src, poly64x2_t __vec, const int __lane)
13318 return __builtin_aarch64_vec_ldap1_lanev2di_psps (
13319 (const __builtin_aarch64_simd_di *) __src, __vec, __lane);
13322 /* vstl1_lane. */
13324 __extension__ extern __inline void
13325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13326 vstl1_lane_u64 (uint64_t *__src, uint64x1_t __vec, const int __lane)
13328 __builtin_aarch64_vec_stl1_lanev1di_sus ((__builtin_aarch64_simd_di *) __src,
13329 __vec, __lane);
13332 __extension__ extern __inline void
13333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13334 vstl1q_lane_u64 (uint64_t *__src, uint64x2_t __vec, const int __lane)
13336 __builtin_aarch64_vec_stl1_lanev2di_sus ((__builtin_aarch64_simd_di *) __src,
13337 __vec, __lane);
13340 __extension__ extern __inline void
13341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13342 vstl1_lane_s64 (int64_t *__src, int64x1_t __vec, const int __lane)
13344 __builtin_aarch64_vec_stl1_lanev1di ((__builtin_aarch64_simd_di *) __src,
13345 __vec, __lane);
13348 __extension__ extern __inline void
13349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13350 vstl1q_lane_s64 (int64_t *__src, int64x2_t __vec, const int __lane)
13352 __builtin_aarch64_vec_stl1_lanev2di ((__builtin_aarch64_simd_di *) __src,
13353 __vec, __lane);
13356 __extension__ extern __inline void
13357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13358 vstl1_lane_f64 (float64_t *__src, float64x1_t __vec, const int __lane)
13360 __builtin_aarch64_vec_stl1_lanev1df ((__builtin_aarch64_simd_df *) __src,
13361 __vec, __lane);
13364 __extension__ extern __inline void
13365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13366 vstl1q_lane_f64 (float64_t *__src, float64x2_t __vec, const int __lane)
13368 __builtin_aarch64_vec_stl1_lanev2df ((__builtin_aarch64_simd_df *) __src,
13369 __vec, __lane);
13372 __extension__ extern __inline void
13373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13374 vstl1_lane_p64 (poly64_t *__src, poly64x1_t __vec, const int __lane)
13376 __builtin_aarch64_vec_stl1_lanev1di_sps ((__builtin_aarch64_simd_di *) __src,
13377 __vec, __lane);
13380 __extension__ extern __inline void
13381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13382 vstl1q_lane_p64 (poly64_t *__src, poly64x2_t __vec, const int __lane)
13384 __builtin_aarch64_vec_stl1_lanev2di_sps ((__builtin_aarch64_simd_di *) __src,
13385 __vec, __lane);
13388 #pragma GCC pop_options
13390 /* vldn */
13392 __extension__ extern __inline int64x1x2_t
13393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13394 vld2_s64 (const int64_t * __a)
13396 return __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
13399 __extension__ extern __inline uint64x1x2_t
13400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13401 vld2_u64 (const uint64_t * __a)
13403 return __builtin_aarch64_ld2di_us ((const __builtin_aarch64_simd_di *) __a);
13406 __extension__ extern __inline float64x1x2_t
13407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13408 vld2_f64 (const float64_t * __a)
13410 return __builtin_aarch64_ld2df ((const __builtin_aarch64_simd_df *) __a);
13413 __extension__ extern __inline int8x8x2_t
13414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13415 vld2_s8 (const int8_t * __a)
13417 return __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
13420 __extension__ extern __inline poly8x8x2_t
13421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13422 vld2_p8 (const poly8_t * __a)
13424 return __builtin_aarch64_ld2v8qi_ps (
13425 (const __builtin_aarch64_simd_qi *) __a);
13428 __extension__ extern __inline poly64x1x2_t
13429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13430 vld2_p64 (const poly64_t * __a)
13432 return __builtin_aarch64_ld2di_ps ((const __builtin_aarch64_simd_di *) __a);
13435 __extension__ extern __inline int16x4x2_t
13436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13437 vld2_s16 (const int16_t * __a)
13439 return __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
13442 __extension__ extern __inline poly16x4x2_t
13443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13444 vld2_p16 (const poly16_t * __a)
13446 return __builtin_aarch64_ld2v4hi_ps (
13447 (const __builtin_aarch64_simd_hi *) __a);
13450 __extension__ extern __inline int32x2x2_t
13451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13452 vld2_s32 (const int32_t * __a)
13454 return __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
13457 __extension__ extern __inline uint8x8x2_t
13458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13459 vld2_u8 (const uint8_t * __a)
13461 return __builtin_aarch64_ld2v8qi_us (
13462 (const __builtin_aarch64_simd_qi *) __a);
13465 __extension__ extern __inline uint16x4x2_t
13466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13467 vld2_u16 (const uint16_t * __a)
13469 return __builtin_aarch64_ld2v4hi_us (
13470 (const __builtin_aarch64_simd_hi *) __a);
13473 __extension__ extern __inline uint32x2x2_t
13474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13475 vld2_u32 (const uint32_t * __a)
13477 return __builtin_aarch64_ld2v2si_us (
13478 (const __builtin_aarch64_simd_si *) __a);
13481 __extension__ extern __inline float16x4x2_t
13482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13483 vld2_f16 (const float16_t * __a)
13485 return __builtin_aarch64_ld2v4hf (__a);
13488 __extension__ extern __inline float32x2x2_t
13489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13490 vld2_f32 (const float32_t * __a)
13492 return __builtin_aarch64_ld2v2sf ((const __builtin_aarch64_simd_sf *) __a);
13495 __extension__ extern __inline int8x16x2_t
13496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13497 vld2q_s8 (const int8_t * __a)
13499 return __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
13502 __extension__ extern __inline poly8x16x2_t
13503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13504 vld2q_p8 (const poly8_t * __a)
13506 return __builtin_aarch64_ld2v16qi_ps (
13507 (const __builtin_aarch64_simd_qi *) __a);
13510 __extension__ extern __inline int16x8x2_t
13511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13512 vld2q_s16 (const int16_t * __a)
13514 return __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
13517 __extension__ extern __inline poly16x8x2_t
13518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13519 vld2q_p16 (const poly16_t * __a)
13521 return __builtin_aarch64_ld2v8hi_ps (
13522 (const __builtin_aarch64_simd_hi *) __a);
13525 __extension__ extern __inline poly64x2x2_t
13526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13527 vld2q_p64 (const poly64_t * __a)
13529 return __builtin_aarch64_ld2v2di_ps (
13530 (const __builtin_aarch64_simd_di *) __a);
13533 __extension__ extern __inline int32x4x2_t
13534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13535 vld2q_s32 (const int32_t * __a)
13537 return __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
13540 __extension__ extern __inline int64x2x2_t
13541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13542 vld2q_s64 (const int64_t * __a)
13544 return __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
13547 __extension__ extern __inline uint8x16x2_t
13548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13549 vld2q_u8 (const uint8_t * __a)
13551 return __builtin_aarch64_ld2v16qi_us (
13552 (const __builtin_aarch64_simd_qi *) __a);
13555 __extension__ extern __inline uint16x8x2_t
13556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13557 vld2q_u16 (const uint16_t * __a)
13559 return __builtin_aarch64_ld2v8hi_us (
13560 (const __builtin_aarch64_simd_hi *) __a);
13563 __extension__ extern __inline uint32x4x2_t
13564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13565 vld2q_u32 (const uint32_t * __a)
13567 return __builtin_aarch64_ld2v4si_us (
13568 (const __builtin_aarch64_simd_si *) __a);
13571 __extension__ extern __inline uint64x2x2_t
13572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13573 vld2q_u64 (const uint64_t * __a)
13575 return __builtin_aarch64_ld2v2di_us (
13576 (const __builtin_aarch64_simd_di *) __a);
13579 __extension__ extern __inline float16x8x2_t
13580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13581 vld2q_f16 (const float16_t * __a)
13583 return __builtin_aarch64_ld2v8hf (__a);
13586 __extension__ extern __inline float32x4x2_t
13587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13588 vld2q_f32 (const float32_t * __a)
13590 return __builtin_aarch64_ld2v4sf ((const __builtin_aarch64_simd_sf *) __a);
13593 __extension__ extern __inline float64x2x2_t
13594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13595 vld2q_f64 (const float64_t * __a)
13597 return __builtin_aarch64_ld2v2df ((const __builtin_aarch64_simd_df *) __a);
13600 __extension__ extern __inline int64x1x3_t
13601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13602 vld3_s64 (const int64_t * __a)
13604 return __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
13607 __extension__ extern __inline uint64x1x3_t
13608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13609 vld3_u64 (const uint64_t * __a)
13611 return __builtin_aarch64_ld3di_us ((const __builtin_aarch64_simd_di *) __a);
13614 __extension__ extern __inline float64x1x3_t
13615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13616 vld3_f64 (const float64_t * __a)
13618 return __builtin_aarch64_ld3df ((const __builtin_aarch64_simd_df *) __a);
13621 __extension__ extern __inline int8x8x3_t
13622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13623 vld3_s8 (const int8_t * __a)
13625 return __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
13628 __extension__ extern __inline poly8x8x3_t
13629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13630 vld3_p8 (const poly8_t * __a)
13632 return __builtin_aarch64_ld3v8qi_ps (
13633 (const __builtin_aarch64_simd_qi *) __a);
13636 __extension__ extern __inline int16x4x3_t
13637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13638 vld3_s16 (const int16_t * __a)
13640 return __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
13643 __extension__ extern __inline poly16x4x3_t
13644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13645 vld3_p16 (const poly16_t * __a)
13647 return __builtin_aarch64_ld3v4hi_ps (
13648 (const __builtin_aarch64_simd_hi *) __a);
13651 __extension__ extern __inline int32x2x3_t
13652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13653 vld3_s32 (const int32_t * __a)
13655 return __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
13658 __extension__ extern __inline uint8x8x3_t
13659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13660 vld3_u8 (const uint8_t * __a)
13662 return __builtin_aarch64_ld3v8qi_us (
13663 (const __builtin_aarch64_simd_qi *) __a);
13666 __extension__ extern __inline uint16x4x3_t
13667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13668 vld3_u16 (const uint16_t * __a)
13670 return __builtin_aarch64_ld3v4hi_us (
13671 (const __builtin_aarch64_simd_hi *) __a);
13674 __extension__ extern __inline uint32x2x3_t
13675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13676 vld3_u32 (const uint32_t * __a)
13678 return __builtin_aarch64_ld3v2si_us (
13679 (const __builtin_aarch64_simd_si *) __a);
13682 __extension__ extern __inline float16x4x3_t
13683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13684 vld3_f16 (const float16_t * __a)
13686 return __builtin_aarch64_ld3v4hf (__a);
13689 __extension__ extern __inline float32x2x3_t
13690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13691 vld3_f32 (const float32_t * __a)
13693 return __builtin_aarch64_ld3v2sf ((const __builtin_aarch64_simd_sf *) __a);
13696 __extension__ extern __inline poly64x1x3_t
13697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13698 vld3_p64 (const poly64_t * __a)
13700 return __builtin_aarch64_ld3di_ps ((const __builtin_aarch64_simd_di *) __a);
13703 __extension__ extern __inline int8x16x3_t
13704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13705 vld3q_s8 (const int8_t * __a)
13707 return __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
13710 __extension__ extern __inline poly8x16x3_t
13711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13712 vld3q_p8 (const poly8_t * __a)
13714 return __builtin_aarch64_ld3v16qi_ps ((const __builtin_aarch64_simd_qi *) __a);
13717 __extension__ extern __inline int16x8x3_t
13718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13719 vld3q_s16 (const int16_t * __a)
13721 return __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
13724 __extension__ extern __inline poly16x8x3_t
13725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13726 vld3q_p16 (const poly16_t * __a)
13728 return __builtin_aarch64_ld3v8hi_ps ((const __builtin_aarch64_simd_hi *) __a);
13731 __extension__ extern __inline int32x4x3_t
13732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13733 vld3q_s32 (const int32_t * __a)
13735 return __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
13738 __extension__ extern __inline int64x2x3_t
13739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13740 vld3q_s64 (const int64_t * __a)
13742 return __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
13745 __extension__ extern __inline uint8x16x3_t
13746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13747 vld3q_u8 (const uint8_t * __a)
13749 return __builtin_aarch64_ld3v16qi_us (
13750 (const __builtin_aarch64_simd_qi *) __a);
13753 __extension__ extern __inline uint16x8x3_t
13754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13755 vld3q_u16 (const uint16_t * __a)
13757 return __builtin_aarch64_ld3v8hi_us (
13758 (const __builtin_aarch64_simd_hi *) __a);
13761 __extension__ extern __inline uint32x4x3_t
13762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13763 vld3q_u32 (const uint32_t * __a)
13765 return __builtin_aarch64_ld3v4si_us (
13766 (const __builtin_aarch64_simd_si *) __a);
13769 __extension__ extern __inline uint64x2x3_t
13770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13771 vld3q_u64 (const uint64_t * __a)
13773 return __builtin_aarch64_ld3v2di_us (
13774 (const __builtin_aarch64_simd_di *) __a);
13777 __extension__ extern __inline float16x8x3_t
13778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13779 vld3q_f16 (const float16_t * __a)
13781 return __builtin_aarch64_ld3v8hf (__a);
13784 __extension__ extern __inline float32x4x3_t
13785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13786 vld3q_f32 (const float32_t * __a)
13788 return __builtin_aarch64_ld3v4sf ((const __builtin_aarch64_simd_sf *) __a);
13791 __extension__ extern __inline float64x2x3_t
13792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13793 vld3q_f64 (const float64_t * __a)
13795 return __builtin_aarch64_ld3v2df ((const __builtin_aarch64_simd_df *) __a);
13798 __extension__ extern __inline poly64x2x3_t
13799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13800 vld3q_p64 (const poly64_t * __a)
13802 return __builtin_aarch64_ld3v2di_ps (
13803 (const __builtin_aarch64_simd_di *) __a);
13806 __extension__ extern __inline int64x1x4_t
13807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13808 vld4_s64 (const int64_t * __a)
13810 return __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
13813 __extension__ extern __inline uint64x1x4_t
13814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13815 vld4_u64 (const uint64_t * __a)
13817 return __builtin_aarch64_ld4di_us ((const __builtin_aarch64_simd_di *) __a);
13820 __extension__ extern __inline float64x1x4_t
13821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13822 vld4_f64 (const float64_t * __a)
13824 return __builtin_aarch64_ld4df ((const __builtin_aarch64_simd_df *) __a);
13827 __extension__ extern __inline int8x8x4_t
13828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13829 vld4_s8 (const int8_t * __a)
13831 return __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
13834 __extension__ extern __inline poly8x8x4_t
13835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13836 vld4_p8 (const poly8_t * __a)
13838 return __builtin_aarch64_ld4v8qi_ps (
13839 (const __builtin_aarch64_simd_qi *) __a);
13842 __extension__ extern __inline int16x4x4_t
13843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13844 vld4_s16 (const int16_t * __a)
13846 return __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
13849 __extension__ extern __inline poly16x4x4_t
13850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13851 vld4_p16 (const poly16_t * __a)
13853 return __builtin_aarch64_ld4v4hi_ps (
13854 (const __builtin_aarch64_simd_hi *) __a);
13857 __extension__ extern __inline int32x2x4_t
13858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13859 vld4_s32 (const int32_t * __a)
13861 return __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
13864 __extension__ extern __inline uint8x8x4_t
13865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13866 vld4_u8 (const uint8_t * __a)
13868 return __builtin_aarch64_ld4v8qi_us (
13869 (const __builtin_aarch64_simd_qi *) __a);
13872 __extension__ extern __inline uint16x4x4_t
13873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13874 vld4_u16 (const uint16_t * __a)
13876 return __builtin_aarch64_ld4v4hi_us (
13877 (const __builtin_aarch64_simd_hi *) __a);
13880 __extension__ extern __inline uint32x2x4_t
13881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13882 vld4_u32 (const uint32_t * __a)
13884 return __builtin_aarch64_ld4v2si_us (
13885 (const __builtin_aarch64_simd_si *) __a);
13888 __extension__ extern __inline float16x4x4_t
13889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13890 vld4_f16 (const float16_t * __a)
13892 return __builtin_aarch64_ld4v4hf (__a);
13895 __extension__ extern __inline float32x2x4_t
13896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13897 vld4_f32 (const float32_t * __a)
13899 return __builtin_aarch64_ld4v2sf ((const __builtin_aarch64_simd_sf *) __a);
13902 __extension__ extern __inline poly64x1x4_t
13903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13904 vld4_p64 (const poly64_t * __a)
13906 return __builtin_aarch64_ld4di_ps ((const __builtin_aarch64_simd_di *) __a);
13909 __extension__ extern __inline int8x16x4_t
13910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13911 vld4q_s8 (const int8_t * __a)
13913 return __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
13916 __extension__ extern __inline poly8x16x4_t
13917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13918 vld4q_p8 (const poly8_t * __a)
13920 return __builtin_aarch64_ld4v16qi_ps (
13921 (const __builtin_aarch64_simd_qi *) __a);
13924 __extension__ extern __inline int16x8x4_t
13925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13926 vld4q_s16 (const int16_t * __a)
13928 return __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
13931 __extension__ extern __inline poly16x8x4_t
13932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13933 vld4q_p16 (const poly16_t * __a)
13935 return __builtin_aarch64_ld4v8hi_ps (
13936 (const __builtin_aarch64_simd_hi *) __a);
13939 __extension__ extern __inline int32x4x4_t
13940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13941 vld4q_s32 (const int32_t * __a)
13943 return __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
13946 __extension__ extern __inline int64x2x4_t
13947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13948 vld4q_s64 (const int64_t * __a)
13950 return __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
13953 __extension__ extern __inline uint8x16x4_t
13954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13955 vld4q_u8 (const uint8_t * __a)
13957 return __builtin_aarch64_ld4v16qi_us (
13958 (const __builtin_aarch64_simd_qi *) __a);
13961 __extension__ extern __inline uint16x8x4_t
13962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13963 vld4q_u16 (const uint16_t * __a)
13965 return __builtin_aarch64_ld4v8hi_us (
13966 (const __builtin_aarch64_simd_hi *) __a);
13969 __extension__ extern __inline uint32x4x4_t
13970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13971 vld4q_u32 (const uint32_t * __a)
13973 return __builtin_aarch64_ld4v4si_us (
13974 (const __builtin_aarch64_simd_si *) __a);
13977 __extension__ extern __inline uint64x2x4_t
13978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13979 vld4q_u64 (const uint64_t * __a)
13981 return __builtin_aarch64_ld4v2di_us (
13982 (const __builtin_aarch64_simd_di *) __a);
13985 __extension__ extern __inline float16x8x4_t
13986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13987 vld4q_f16 (const float16_t * __a)
13989 return __builtin_aarch64_ld4v8hf (__a);
13992 __extension__ extern __inline float32x4x4_t
13993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
13994 vld4q_f32 (const float32_t * __a)
13996 return __builtin_aarch64_ld4v4sf ((const __builtin_aarch64_simd_sf *) __a);
13999 __extension__ extern __inline float64x2x4_t
14000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14001 vld4q_f64 (const float64_t * __a)
14003 return __builtin_aarch64_ld4v2df ((const __builtin_aarch64_simd_df *) __a);
14006 __extension__ extern __inline poly64x2x4_t
14007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14008 vld4q_p64 (const poly64_t * __a)
14010 return __builtin_aarch64_ld4v2di_ps (
14011 (const __builtin_aarch64_simd_di *) __a);
14014 __extension__ extern __inline poly128_t
14015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14016 vldrq_p128 (const poly128_t * __ptr)
14018 return *__ptr;
14021 /* vldn_dup */
14023 __extension__ extern __inline int8x8x2_t
14024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14025 vld2_dup_s8 (const int8_t * __a)
14027 return __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
14030 __extension__ extern __inline int16x4x2_t
14031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14032 vld2_dup_s16 (const int16_t * __a)
14034 return __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
14037 __extension__ extern __inline int32x2x2_t
14038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14039 vld2_dup_s32 (const int32_t * __a)
14041 return __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
14044 __extension__ extern __inline float16x4x2_t
14045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14046 vld2_dup_f16 (const float16_t * __a)
14048 return __builtin_aarch64_ld2rv4hf ((const __builtin_aarch64_simd_hf *) __a);
14051 __extension__ extern __inline float32x2x2_t
14052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14053 vld2_dup_f32 (const float32_t * __a)
14055 return __builtin_aarch64_ld2rv2sf ((const __builtin_aarch64_simd_sf *) __a);
14058 __extension__ extern __inline float64x1x2_t
14059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14060 vld2_dup_f64 (const float64_t * __a)
14062 return __builtin_aarch64_ld2rdf ((const __builtin_aarch64_simd_df *) __a);
14065 __extension__ extern __inline uint8x8x2_t
14066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14067 vld2_dup_u8 (const uint8_t * __a)
14069 return __builtin_aarch64_ld2rv8qi_us (
14070 (const __builtin_aarch64_simd_qi *) __a);
14073 __extension__ extern __inline uint16x4x2_t
14074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14075 vld2_dup_u16 (const uint16_t * __a)
14077 return __builtin_aarch64_ld2rv4hi_us (
14078 (const __builtin_aarch64_simd_hi *) __a);
14081 __extension__ extern __inline uint32x2x2_t
14082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14083 vld2_dup_u32 (const uint32_t * __a)
14085 return __builtin_aarch64_ld2rv2si_us (
14086 (const __builtin_aarch64_simd_si *) __a);
14089 __extension__ extern __inline poly8x8x2_t
14090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14091 vld2_dup_p8 (const poly8_t * __a)
14093 return __builtin_aarch64_ld2rv8qi_ps (
14094 (const __builtin_aarch64_simd_qi *) __a);
14097 __extension__ extern __inline poly16x4x2_t
14098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14099 vld2_dup_p16 (const poly16_t * __a)
14101 return __builtin_aarch64_ld2rv4hi_ps (
14102 (const __builtin_aarch64_simd_hi *) __a);
14105 __extension__ extern __inline poly64x1x2_t
14106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14107 vld2_dup_p64 (const poly64_t * __a)
14109 return __builtin_aarch64_ld2rdi_ps ((const __builtin_aarch64_simd_di *) __a);
14112 __extension__ extern __inline int64x1x2_t
14113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14114 vld2_dup_s64 (const int64_t * __a)
14116 return __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
14119 __extension__ extern __inline uint64x1x2_t
14120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14121 vld2_dup_u64 (const uint64_t * __a)
14123 return __builtin_aarch64_ld2rdi_us ((const __builtin_aarch64_simd_di *) __a);
14126 __extension__ extern __inline int8x16x2_t
14127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14128 vld2q_dup_s8 (const int8_t * __a)
14130 return __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
14133 __extension__ extern __inline poly8x16x2_t
14134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14135 vld2q_dup_p8 (const poly8_t * __a)
14137 return __builtin_aarch64_ld2rv16qi_ps (
14138 (const __builtin_aarch64_simd_qi *) __a);
14141 __extension__ extern __inline int16x8x2_t
14142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14143 vld2q_dup_s16 (const int16_t * __a)
14145 return __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
14148 __extension__ extern __inline poly16x8x2_t
14149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14150 vld2q_dup_p16 (const poly16_t * __a)
14152 return __builtin_aarch64_ld2rv8hi_ps (
14153 (const __builtin_aarch64_simd_hi *) __a);
14156 __extension__ extern __inline int32x4x2_t
14157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14158 vld2q_dup_s32 (const int32_t * __a)
14160 return __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
14163 __extension__ extern __inline int64x2x2_t
14164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14165 vld2q_dup_s64 (const int64_t * __a)
14167 return __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
14170 __extension__ extern __inline uint8x16x2_t
14171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14172 vld2q_dup_u8 (const uint8_t * __a)
14174 return __builtin_aarch64_ld2rv16qi_us (
14175 (const __builtin_aarch64_simd_qi *) __a);
14178 __extension__ extern __inline uint16x8x2_t
14179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14180 vld2q_dup_u16 (const uint16_t * __a)
14182 return __builtin_aarch64_ld2rv8hi_us (
14183 (const __builtin_aarch64_simd_hi *) __a);
14186 __extension__ extern __inline uint32x4x2_t
14187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14188 vld2q_dup_u32 (const uint32_t * __a)
14190 return __builtin_aarch64_ld2rv4si_us (
14191 (const __builtin_aarch64_simd_si *) __a);
14194 __extension__ extern __inline uint64x2x2_t
14195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14196 vld2q_dup_u64 (const uint64_t * __a)
14198 return __builtin_aarch64_ld2rv2di_us (
14199 (const __builtin_aarch64_simd_di *) __a);
14202 __extension__ extern __inline float16x8x2_t
14203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14204 vld2q_dup_f16 (const float16_t * __a)
14206 return __builtin_aarch64_ld2rv8hf ((const __builtin_aarch64_simd_hf *) __a);
14209 __extension__ extern __inline float32x4x2_t
14210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14211 vld2q_dup_f32 (const float32_t * __a)
14213 return __builtin_aarch64_ld2rv4sf ((const __builtin_aarch64_simd_sf *) __a);
14216 __extension__ extern __inline float64x2x2_t
14217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14218 vld2q_dup_f64 (const float64_t * __a)
14220 return __builtin_aarch64_ld2rv2df ((const __builtin_aarch64_simd_df *) __a);
14223 __extension__ extern __inline poly64x2x2_t
14224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14225 vld2q_dup_p64 (const poly64_t * __a)
14227 return __builtin_aarch64_ld2rv2di_ps (
14228 (const __builtin_aarch64_simd_di *) __a);
14231 __extension__ extern __inline int64x1x3_t
14232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14233 vld3_dup_s64 (const int64_t * __a)
14235 return __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
14238 __extension__ extern __inline uint64x1x3_t
14239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14240 vld3_dup_u64 (const uint64_t * __a)
14242 return __builtin_aarch64_ld3rdi_us ((const __builtin_aarch64_simd_di *) __a);
14245 __extension__ extern __inline float64x1x3_t
14246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14247 vld3_dup_f64 (const float64_t * __a)
14249 return __builtin_aarch64_ld3rdf ((const __builtin_aarch64_simd_df *) __a);
14252 __extension__ extern __inline int8x8x3_t
14253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14254 vld3_dup_s8 (const int8_t * __a)
14256 return __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
14259 __extension__ extern __inline poly8x8x3_t
14260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14261 vld3_dup_p8 (const poly8_t * __a)
14263 return __builtin_aarch64_ld3rv8qi_ps (
14264 (const __builtin_aarch64_simd_qi *) __a);
14267 __extension__ extern __inline int16x4x3_t
14268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14269 vld3_dup_s16 (const int16_t * __a)
14271 return __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
14274 __extension__ extern __inline poly16x4x3_t
14275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14276 vld3_dup_p16 (const poly16_t * __a)
14278 return __builtin_aarch64_ld3rv4hi_ps (
14279 (const __builtin_aarch64_simd_hi *) __a);
14282 __extension__ extern __inline int32x2x3_t
14283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14284 vld3_dup_s32 (const int32_t * __a)
14286 return __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
14289 __extension__ extern __inline uint8x8x3_t
14290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14291 vld3_dup_u8 (const uint8_t * __a)
14293 return __builtin_aarch64_ld3rv8qi_us (
14294 (const __builtin_aarch64_simd_qi *) __a);
14297 __extension__ extern __inline uint16x4x3_t
14298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14299 vld3_dup_u16 (const uint16_t * __a)
14301 return __builtin_aarch64_ld3rv4hi_us (
14302 (const __builtin_aarch64_simd_hi *) __a);
14305 __extension__ extern __inline uint32x2x3_t
14306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14307 vld3_dup_u32 (const uint32_t * __a)
14309 return __builtin_aarch64_ld3rv2si_us (
14310 (const __builtin_aarch64_simd_si *) __a);
14313 __extension__ extern __inline float16x4x3_t
14314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14315 vld3_dup_f16 (const float16_t * __a)
14317 return __builtin_aarch64_ld3rv4hf ((const __builtin_aarch64_simd_hf *) __a);
14320 __extension__ extern __inline float32x2x3_t
14321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14322 vld3_dup_f32 (const float32_t * __a)
14324 return __builtin_aarch64_ld3rv2sf ((const __builtin_aarch64_simd_sf *) __a);
14327 __extension__ extern __inline poly64x1x3_t
14328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14329 vld3_dup_p64 (const poly64_t * __a)
14331 return __builtin_aarch64_ld3rdi_ps ((const __builtin_aarch64_simd_di *) __a);
14334 __extension__ extern __inline int8x16x3_t
14335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14336 vld3q_dup_s8 (const int8_t * __a)
14338 return __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
14341 __extension__ extern __inline poly8x16x3_t
14342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14343 vld3q_dup_p8 (const poly8_t * __a)
14345 return __builtin_aarch64_ld3rv16qi_ps (
14346 (const __builtin_aarch64_simd_qi *) __a);
14349 __extension__ extern __inline int16x8x3_t
14350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14351 vld3q_dup_s16 (const int16_t * __a)
14353 return __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
14356 __extension__ extern __inline poly16x8x3_t
14357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14358 vld3q_dup_p16 (const poly16_t * __a)
14360 return __builtin_aarch64_ld3rv8hi_ps (
14361 (const __builtin_aarch64_simd_hi *) __a);
14364 __extension__ extern __inline int32x4x3_t
14365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14366 vld3q_dup_s32 (const int32_t * __a)
14368 return __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
14371 __extension__ extern __inline int64x2x3_t
14372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14373 vld3q_dup_s64 (const int64_t * __a)
14375 return __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
14378 __extension__ extern __inline uint8x16x3_t
14379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14380 vld3q_dup_u8 (const uint8_t * __a)
14382 return __builtin_aarch64_ld3rv16qi_us (
14383 (const __builtin_aarch64_simd_qi *) __a);
14386 __extension__ extern __inline uint16x8x3_t
14387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14388 vld3q_dup_u16 (const uint16_t * __a)
14390 return __builtin_aarch64_ld3rv8hi_us (
14391 (const __builtin_aarch64_simd_hi *) __a);
14394 __extension__ extern __inline uint32x4x3_t
14395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14396 vld3q_dup_u32 (const uint32_t * __a)
14398 return __builtin_aarch64_ld3rv4si_us (
14399 (const __builtin_aarch64_simd_si *) __a);
14402 __extension__ extern __inline uint64x2x3_t
14403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14404 vld3q_dup_u64 (const uint64_t * __a)
14406 return __builtin_aarch64_ld3rv2di_us (
14407 (const __builtin_aarch64_simd_di *) __a);
14410 __extension__ extern __inline float16x8x3_t
14411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14412 vld3q_dup_f16 (const float16_t * __a)
14414 return __builtin_aarch64_ld3rv8hf ((const __builtin_aarch64_simd_hf *) __a);
14417 __extension__ extern __inline float32x4x3_t
14418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14419 vld3q_dup_f32 (const float32_t * __a)
14421 return __builtin_aarch64_ld3rv4sf ((const __builtin_aarch64_simd_sf *) __a);
14424 __extension__ extern __inline float64x2x3_t
14425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14426 vld3q_dup_f64 (const float64_t * __a)
14428 return __builtin_aarch64_ld3rv2df ((const __builtin_aarch64_simd_df *) __a);
14431 __extension__ extern __inline poly64x2x3_t
14432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14433 vld3q_dup_p64 (const poly64_t * __a)
14435 return __builtin_aarch64_ld3rv2di_ps (
14436 (const __builtin_aarch64_simd_di *) __a);
14439 __extension__ extern __inline int64x1x4_t
14440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14441 vld4_dup_s64 (const int64_t * __a)
14443 return __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
14446 __extension__ extern __inline uint64x1x4_t
14447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14448 vld4_dup_u64 (const uint64_t * __a)
14450 return __builtin_aarch64_ld4rdi_us ((const __builtin_aarch64_simd_di *) __a);
14453 __extension__ extern __inline float64x1x4_t
14454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14455 vld4_dup_f64 (const float64_t * __a)
14457 return __builtin_aarch64_ld4rdf ((const __builtin_aarch64_simd_df *) __a);
14460 __extension__ extern __inline int8x8x4_t
14461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14462 vld4_dup_s8 (const int8_t * __a)
14464 return __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
14467 __extension__ extern __inline poly8x8x4_t
14468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14469 vld4_dup_p8 (const poly8_t * __a)
14471 return __builtin_aarch64_ld4rv8qi_ps (
14472 (const __builtin_aarch64_simd_qi *) __a);
14475 __extension__ extern __inline int16x4x4_t
14476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14477 vld4_dup_s16 (const int16_t * __a)
14479 return __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
14482 __extension__ extern __inline poly16x4x4_t
14483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14484 vld4_dup_p16 (const poly16_t * __a)
14486 return __builtin_aarch64_ld4rv4hi_ps (
14487 (const __builtin_aarch64_simd_hi *) __a);
14490 __extension__ extern __inline int32x2x4_t
14491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14492 vld4_dup_s32 (const int32_t * __a)
14494 return __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
14497 __extension__ extern __inline uint8x8x4_t
14498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14499 vld4_dup_u8 (const uint8_t * __a)
14501 return __builtin_aarch64_ld4rv8qi_us (
14502 (const __builtin_aarch64_simd_qi *) __a);
14505 __extension__ extern __inline uint16x4x4_t
14506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14507 vld4_dup_u16 (const uint16_t * __a)
14509 return __builtin_aarch64_ld4rv4hi_us (
14510 (const __builtin_aarch64_simd_hi *) __a);
14513 __extension__ extern __inline uint32x2x4_t
14514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14515 vld4_dup_u32 (const uint32_t * __a)
14517 return __builtin_aarch64_ld4rv2si_us (
14518 (const __builtin_aarch64_simd_si *) __a);
14521 __extension__ extern __inline float16x4x4_t
14522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14523 vld4_dup_f16 (const float16_t * __a)
14525 return __builtin_aarch64_ld4rv4hf ((const __builtin_aarch64_simd_hf *) __a);
14528 __extension__ extern __inline float32x2x4_t
14529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14530 vld4_dup_f32 (const float32_t * __a)
14532 return __builtin_aarch64_ld4rv2sf ((const __builtin_aarch64_simd_sf *) __a);
14535 __extension__ extern __inline poly64x1x4_t
14536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14537 vld4_dup_p64 (const poly64_t * __a)
14539 return __builtin_aarch64_ld4rdi_ps ((const __builtin_aarch64_simd_di *) __a);
14542 __extension__ extern __inline int8x16x4_t
14543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14544 vld4q_dup_s8 (const int8_t * __a)
14546 return __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
14549 __extension__ extern __inline poly8x16x4_t
14550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14551 vld4q_dup_p8 (const poly8_t * __a)
14553 return __builtin_aarch64_ld4rv16qi_ps (
14554 (const __builtin_aarch64_simd_qi *) __a);
14557 __extension__ extern __inline int16x8x4_t
14558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14559 vld4q_dup_s16 (const int16_t * __a)
14561 return __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
14564 __extension__ extern __inline poly16x8x4_t
14565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14566 vld4q_dup_p16 (const poly16_t * __a)
14568 return __builtin_aarch64_ld4rv8hi_ps (
14569 (const __builtin_aarch64_simd_hi *) __a);
14572 __extension__ extern __inline int32x4x4_t
14573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14574 vld4q_dup_s32 (const int32_t * __a)
14576 return __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
14579 __extension__ extern __inline int64x2x4_t
14580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14581 vld4q_dup_s64 (const int64_t * __a)
14583 return __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
14586 __extension__ extern __inline uint8x16x4_t
14587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14588 vld4q_dup_u8 (const uint8_t * __a)
14590 return __builtin_aarch64_ld4rv16qi_us (
14591 (const __builtin_aarch64_simd_qi *) __a);
14594 __extension__ extern __inline uint16x8x4_t
14595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14596 vld4q_dup_u16 (const uint16_t * __a)
14598 return __builtin_aarch64_ld4rv8hi_us (
14599 (const __builtin_aarch64_simd_hi *) __a);
14602 __extension__ extern __inline uint32x4x4_t
14603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14604 vld4q_dup_u32 (const uint32_t * __a)
14606 return __builtin_aarch64_ld4rv4si_us (
14607 (const __builtin_aarch64_simd_si *) __a);
14610 __extension__ extern __inline uint64x2x4_t
14611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14612 vld4q_dup_u64 (const uint64_t * __a)
14614 return __builtin_aarch64_ld4rv2di_us (
14615 (const __builtin_aarch64_simd_di *) __a);
14618 __extension__ extern __inline float16x8x4_t
14619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14620 vld4q_dup_f16 (const float16_t * __a)
14622 return __builtin_aarch64_ld4rv8hf ((const __builtin_aarch64_simd_hf *) __a);
14625 __extension__ extern __inline float32x4x4_t
14626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14627 vld4q_dup_f32 (const float32_t * __a)
14629 return __builtin_aarch64_ld4rv4sf ((const __builtin_aarch64_simd_sf *) __a);
14632 __extension__ extern __inline float64x2x4_t
14633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14634 vld4q_dup_f64 (const float64_t * __a)
14636 return __builtin_aarch64_ld4rv2df ((const __builtin_aarch64_simd_df *) __a);
14639 __extension__ extern __inline poly64x2x4_t
14640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
14641 vld4q_dup_p64 (const poly64_t * __a)
14643 return __builtin_aarch64_ld4rv2di_ps (
14644 (const __builtin_aarch64_simd_di *) __a);
14647 /* vld2_lane */
14649 __extension__ extern __inline uint8x8x2_t
14650 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14651 vld2_lane_u8 (const uint8_t * __ptr, uint8x8x2_t __b, const int __c)
14653 return __builtin_aarch64_ld2_lanev8qi_usus (
14654 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14657 __extension__ extern __inline uint16x4x2_t
14658 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14659 vld2_lane_u16 (const uint16_t * __ptr, uint16x4x2_t __b, const int __c)
14661 return __builtin_aarch64_ld2_lanev4hi_usus (
14662 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14665 __extension__ extern __inline uint32x2x2_t
14666 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14667 vld2_lane_u32 (const uint32_t * __ptr, uint32x2x2_t __b, const int __c)
14669 return __builtin_aarch64_ld2_lanev2si_usus (
14670 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14673 __extension__ extern __inline uint64x1x2_t
14674 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14675 vld2_lane_u64 (const uint64_t * __ptr, uint64x1x2_t __b, const int __c)
14677 return __builtin_aarch64_ld2_lanedi_usus (
14678 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14681 __extension__ extern __inline int8x8x2_t
14682 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14683 vld2_lane_s8 (const int8_t * __ptr, int8x8x2_t __b, const int __c)
14685 return __builtin_aarch64_ld2_lanev8qi (
14686 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14689 __extension__ extern __inline int16x4x2_t
14690 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14691 vld2_lane_s16 (const int16_t * __ptr, int16x4x2_t __b, const int __c)
14693 return __builtin_aarch64_ld2_lanev4hi (
14694 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14697 __extension__ extern __inline int32x2x2_t
14698 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14699 vld2_lane_s32 (const int32_t * __ptr, int32x2x2_t __b, const int __c)
14701 return __builtin_aarch64_ld2_lanev2si (
14702 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14705 __extension__ extern __inline int64x1x2_t
14706 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14707 vld2_lane_s64 (const int64_t * __ptr, int64x1x2_t __b, const int __c)
14709 return __builtin_aarch64_ld2_lanedi (
14710 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14713 __extension__ extern __inline float16x4x2_t
14714 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14715 vld2_lane_f16 (const float16_t * __ptr, float16x4x2_t __b, const int __c)
14717 return __builtin_aarch64_ld2_lanev4hf (
14718 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
14721 __extension__ extern __inline float32x2x2_t
14722 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14723 vld2_lane_f32 (const float32_t * __ptr, float32x2x2_t __b, const int __c)
14725 return __builtin_aarch64_ld2_lanev2sf (
14726 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
14729 __extension__ extern __inline float64x1x2_t
14730 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14731 vld2_lane_f64 (const float64_t * __ptr, float64x1x2_t __b, const int __c)
14733 return __builtin_aarch64_ld2_lanedf (
14734 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
14737 __extension__ extern __inline poly8x8x2_t
14738 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14739 vld2_lane_p8 (const poly8_t * __ptr, poly8x8x2_t __b, const int __c)
14741 return __builtin_aarch64_ld2_lanev8qi_psps (
14742 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14745 __extension__ extern __inline poly16x4x2_t
14746 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14747 vld2_lane_p16 (const poly16_t * __ptr, poly16x4x2_t __b, const int __c)
14749 return __builtin_aarch64_ld2_lanev4hi_psps (
14750 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14753 __extension__ extern __inline poly64x1x2_t
14754 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14755 vld2_lane_p64 (const poly64_t * __ptr, poly64x1x2_t __b, const int __c)
14757 return __builtin_aarch64_ld2_lanedi_psps (
14758 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14761 /* vld2q_lane */
14763 __extension__ extern __inline uint8x16x2_t
14764 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14765 vld2q_lane_u8 (const uint8_t * __ptr, uint8x16x2_t __b, const int __c)
14767 return __builtin_aarch64_ld2_lanev16qi_usus (
14768 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14771 __extension__ extern __inline uint16x8x2_t
14772 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14773 vld2q_lane_u16 (const uint16_t * __ptr, uint16x8x2_t __b, const int __c)
14775 return __builtin_aarch64_ld2_lanev8hi_usus (
14776 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14779 __extension__ extern __inline uint32x4x2_t
14780 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14781 vld2q_lane_u32 (const uint32_t * __ptr, uint32x4x2_t __b, const int __c)
14783 return __builtin_aarch64_ld2_lanev4si_usus (
14784 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14787 __extension__ extern __inline uint64x2x2_t
14788 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14789 vld2q_lane_u64 (const uint64_t * __ptr, uint64x2x2_t __b, const int __c)
14791 return __builtin_aarch64_ld2_lanev2di_usus (
14792 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14795 __extension__ extern __inline int8x16x2_t
14796 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14797 vld2q_lane_s8 (const int8_t * __ptr, int8x16x2_t __b, const int __c)
14799 return __builtin_aarch64_ld2_lanev16qi (
14800 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14803 __extension__ extern __inline int16x8x2_t
14804 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14805 vld2q_lane_s16 (const int16_t * __ptr, int16x8x2_t __b, const int __c)
14807 return __builtin_aarch64_ld2_lanev8hi (
14808 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14811 __extension__ extern __inline int32x4x2_t
14812 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14813 vld2q_lane_s32 (const int32_t * __ptr, int32x4x2_t __b, const int __c)
14815 return __builtin_aarch64_ld2_lanev4si (
14816 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14819 __extension__ extern __inline int64x2x2_t
14820 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14821 vld2q_lane_s64 (const int64_t * __ptr, int64x2x2_t __b, const int __c)
14823 return __builtin_aarch64_ld2_lanev2di (
14824 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14827 __extension__ extern __inline float16x8x2_t
14828 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14829 vld2q_lane_f16 (const float16_t * __ptr, float16x8x2_t __b, const int __c)
14831 return __builtin_aarch64_ld2_lanev8hf (
14832 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
14835 __extension__ extern __inline float32x4x2_t
14836 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14837 vld2q_lane_f32 (const float32_t * __ptr, float32x4x2_t __b, const int __c)
14839 return __builtin_aarch64_ld2_lanev4sf (
14840 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
14843 __extension__ extern __inline float64x2x2_t
14844 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14845 vld2q_lane_f64 (const float64_t * __ptr, float64x2x2_t __b, const int __c)
14847 return __builtin_aarch64_ld2_lanev2df (
14848 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
14851 __extension__ extern __inline poly8x16x2_t
14852 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14853 vld2q_lane_p8 (const poly8_t * __ptr, poly8x16x2_t __b, const int __c)
14855 return __builtin_aarch64_ld2_lanev16qi_psps (
14856 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14859 __extension__ extern __inline poly16x8x2_t
14860 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14861 vld2q_lane_p16 (const poly16_t * __ptr, poly16x8x2_t __b, const int __c)
14863 return __builtin_aarch64_ld2_lanev8hi_psps (
14864 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14867 __extension__ extern __inline poly64x2x2_t
14868 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14869 vld2q_lane_p64 (const poly64_t * __ptr, poly64x2x2_t __b, const int __c)
14871 return __builtin_aarch64_ld2_lanev2di_psps (
14872 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14875 /* vld3_lane */
14877 __extension__ extern __inline uint8x8x3_t
14878 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14879 vld3_lane_u8 (const uint8_t * __ptr, uint8x8x3_t __b, const int __c)
14881 return __builtin_aarch64_ld3_lanev8qi_usus (
14882 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14885 __extension__ extern __inline uint16x4x3_t
14886 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14887 vld3_lane_u16 (const uint16_t * __ptr, uint16x4x3_t __b, const int __c)
14889 return __builtin_aarch64_ld3_lanev4hi_usus (
14890 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14893 __extension__ extern __inline uint32x2x3_t
14894 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14895 vld3_lane_u32 (const uint32_t * __ptr, uint32x2x3_t __b, const int __c)
14897 return __builtin_aarch64_ld3_lanev2si_usus (
14898 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14901 __extension__ extern __inline uint64x1x3_t
14902 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14903 vld3_lane_u64 (const uint64_t * __ptr, uint64x1x3_t __b, const int __c)
14905 return __builtin_aarch64_ld3_lanedi_usus (
14906 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14909 __extension__ extern __inline int8x8x3_t
14910 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14911 vld3_lane_s8 (const int8_t * __ptr, int8x8x3_t __b, const int __c)
14913 return __builtin_aarch64_ld3_lanev8qi (
14914 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14917 __extension__ extern __inline int16x4x3_t
14918 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14919 vld3_lane_s16 (const int16_t * __ptr, int16x4x3_t __b, const int __c)
14921 return __builtin_aarch64_ld3_lanev4hi (
14922 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14925 __extension__ extern __inline int32x2x3_t
14926 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14927 vld3_lane_s32 (const int32_t * __ptr, int32x2x3_t __b, const int __c)
14929 return __builtin_aarch64_ld3_lanev2si (
14930 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
14933 __extension__ extern __inline int64x1x3_t
14934 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14935 vld3_lane_s64 (const int64_t * __ptr, int64x1x3_t __b, const int __c)
14937 return __builtin_aarch64_ld3_lanedi (
14938 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14941 __extension__ extern __inline float16x4x3_t
14942 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14943 vld3_lane_f16 (const float16_t * __ptr, float16x4x3_t __b, const int __c)
14945 return __builtin_aarch64_ld3_lanev4hf (
14946 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
14949 __extension__ extern __inline float32x2x3_t
14950 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14951 vld3_lane_f32 (const float32_t * __ptr, float32x2x3_t __b, const int __c)
14953 return __builtin_aarch64_ld3_lanev2sf (
14954 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
14957 __extension__ extern __inline float64x1x3_t
14958 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14959 vld3_lane_f64 (const float64_t * __ptr, float64x1x3_t __b, const int __c)
14961 return __builtin_aarch64_ld3_lanedf (
14962 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
14965 __extension__ extern __inline poly8x8x3_t
14966 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14967 vld3_lane_p8 (const poly8_t * __ptr, poly8x8x3_t __b, const int __c)
14969 return __builtin_aarch64_ld3_lanev8qi_psps (
14970 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14973 __extension__ extern __inline poly16x4x3_t
14974 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14975 vld3_lane_p16 (const poly16_t * __ptr, poly16x4x3_t __b, const int __c)
14977 return __builtin_aarch64_ld3_lanev4hi_psps (
14978 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
14981 __extension__ extern __inline poly64x1x3_t
14982 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14983 vld3_lane_p64 (const poly64_t * __ptr, poly64x1x3_t __b, const int __c)
14985 return __builtin_aarch64_ld3_lanedi_psps (
14986 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
14989 /* vld3q_lane */
14991 __extension__ extern __inline uint8x16x3_t
14992 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
14993 vld3q_lane_u8 (const uint8_t * __ptr, uint8x16x3_t __b, const int __c)
14995 return __builtin_aarch64_ld3_lanev16qi_usus (
14996 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
14999 __extension__ extern __inline uint16x8x3_t
15000 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15001 vld3q_lane_u16 (const uint16_t * __ptr, uint16x8x3_t __b, const int __c)
15003 return __builtin_aarch64_ld3_lanev8hi_usus (
15004 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15007 __extension__ extern __inline uint32x4x3_t
15008 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15009 vld3q_lane_u32 (const uint32_t * __ptr, uint32x4x3_t __b, const int __c)
15011 return __builtin_aarch64_ld3_lanev4si_usus (
15012 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15015 __extension__ extern __inline uint64x2x3_t
15016 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15017 vld3q_lane_u64 (const uint64_t * __ptr, uint64x2x3_t __b, const int __c)
15019 return __builtin_aarch64_ld3_lanev2di_usus (
15020 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15023 __extension__ extern __inline int8x16x3_t
15024 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15025 vld3q_lane_s8 (const int8_t * __ptr, int8x16x3_t __b, const int __c)
15027 return __builtin_aarch64_ld3_lanev16qi (
15028 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15031 __extension__ extern __inline int16x8x3_t
15032 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15033 vld3q_lane_s16 (const int16_t * __ptr, int16x8x3_t __b, const int __c)
15035 return __builtin_aarch64_ld3_lanev8hi (
15036 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15039 __extension__ extern __inline int32x4x3_t
15040 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15041 vld3q_lane_s32 (const int32_t * __ptr, int32x4x3_t __b, const int __c)
15043 return __builtin_aarch64_ld3_lanev4si (
15044 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15047 __extension__ extern __inline int64x2x3_t
15048 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15049 vld3q_lane_s64 (const int64_t * __ptr, int64x2x3_t __b, const int __c)
15051 return __builtin_aarch64_ld3_lanev2di (
15052 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15055 __extension__ extern __inline float16x8x3_t
15056 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15057 vld3q_lane_f16 (const float16_t * __ptr, float16x8x3_t __b, const int __c)
15059 return __builtin_aarch64_ld3_lanev8hf (
15060 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
15063 __extension__ extern __inline float32x4x3_t
15064 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15065 vld3q_lane_f32 (const float32_t * __ptr, float32x4x3_t __b, const int __c)
15067 return __builtin_aarch64_ld3_lanev4sf (
15068 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
15071 __extension__ extern __inline float64x2x3_t
15072 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15073 vld3q_lane_f64 (const float64_t * __ptr, float64x2x3_t __b, const int __c)
15075 return __builtin_aarch64_ld3_lanev2df (
15076 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
15079 __extension__ extern __inline poly8x16x3_t
15080 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15081 vld3q_lane_p8 (const poly8_t * __ptr, poly8x16x3_t __b, const int __c)
15083 return __builtin_aarch64_ld3_lanev16qi_psps (
15084 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15087 __extension__ extern __inline poly16x8x3_t
15088 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15089 vld3q_lane_p16 (const poly16_t * __ptr, poly16x8x3_t __b, const int __c)
15091 return __builtin_aarch64_ld3_lanev8hi_psps (
15092 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15095 __extension__ extern __inline poly64x2x3_t
15096 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15097 vld3q_lane_p64 (const poly64_t * __ptr, poly64x2x3_t __b, const int __c)
15099 return __builtin_aarch64_ld3_lanev2di_psps (
15100 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15103 /* vld4_lane */
15105 __extension__ extern __inline uint8x8x4_t
15106 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15107 vld4_lane_u8 (const uint8_t * __ptr, uint8x8x4_t __b, const int __c)
15109 return __builtin_aarch64_ld4_lanev8qi_usus (
15110 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15113 __extension__ extern __inline uint16x4x4_t
15114 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15115 vld4_lane_u16 (const uint16_t * __ptr, uint16x4x4_t __b, const int __c)
15117 return __builtin_aarch64_ld4_lanev4hi_usus (
15118 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15121 __extension__ extern __inline uint32x2x4_t
15122 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15123 vld4_lane_u32 (const uint32_t * __ptr, uint32x2x4_t __b, const int __c)
15125 return __builtin_aarch64_ld4_lanev2si_usus (
15126 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15129 __extension__ extern __inline uint64x1x4_t
15130 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15131 vld4_lane_u64 (const uint64_t * __ptr, uint64x1x4_t __b, const int __c)
15133 return __builtin_aarch64_ld4_lanedi_usus (
15134 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15137 __extension__ extern __inline int8x8x4_t
15138 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15139 vld4_lane_s8 (const int8_t * __ptr, int8x8x4_t __b, const int __c)
15141 return __builtin_aarch64_ld4_lanev8qi (
15142 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15145 __extension__ extern __inline int16x4x4_t
15146 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15147 vld4_lane_s16 (const int16_t * __ptr, int16x4x4_t __b, const int __c)
15149 return __builtin_aarch64_ld4_lanev4hi (
15150 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15153 __extension__ extern __inline int32x2x4_t
15154 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15155 vld4_lane_s32 (const int32_t * __ptr, int32x2x4_t __b, const int __c)
15157 return __builtin_aarch64_ld4_lanev2si (
15158 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15161 __extension__ extern __inline int64x1x4_t
15162 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15163 vld4_lane_s64 (const int64_t * __ptr, int64x1x4_t __b, const int __c)
15165 return __builtin_aarch64_ld4_lanedi (
15166 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15169 __extension__ extern __inline float16x4x4_t
15170 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15171 vld4_lane_f16 (const float16_t * __ptr, float16x4x4_t __b, const int __c)
15173 return __builtin_aarch64_ld4_lanev4hf (
15174 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
15177 __extension__ extern __inline float32x2x4_t
15178 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15179 vld4_lane_f32 (const float32_t * __ptr, float32x2x4_t __b, const int __c)
15181 return __builtin_aarch64_ld4_lanev2sf (
15182 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
15185 __extension__ extern __inline float64x1x4_t
15186 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15187 vld4_lane_f64 (const float64_t * __ptr, float64x1x4_t __b, const int __c)
15189 return __builtin_aarch64_ld4_lanedf (
15190 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
15193 __extension__ extern __inline poly8x8x4_t
15194 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15195 vld4_lane_p8 (const poly8_t * __ptr, poly8x8x4_t __b, const int __c)
15197 return __builtin_aarch64_ld4_lanev8qi_psps (
15198 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15201 __extension__ extern __inline poly16x4x4_t
15202 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15203 vld4_lane_p16 (const poly16_t * __ptr, poly16x4x4_t __b, const int __c)
15205 return __builtin_aarch64_ld4_lanev4hi_psps (
15206 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15209 __extension__ extern __inline poly64x1x4_t
15210 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15211 vld4_lane_p64 (const poly64_t * __ptr, poly64x1x4_t __b, const int __c)
15213 return __builtin_aarch64_ld4_lanedi_psps (
15214 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15217 /* vld4q_lane */
15219 __extension__ extern __inline uint8x16x4_t
15220 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15221 vld4q_lane_u8 (const uint8_t * __ptr, uint8x16x4_t __b, const int __c)
15223 return __builtin_aarch64_ld4_lanev16qi_usus (
15224 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15227 __extension__ extern __inline uint16x8x4_t
15228 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15229 vld4q_lane_u16 (const uint16_t * __ptr, uint16x8x4_t __b, const int __c)
15231 return __builtin_aarch64_ld4_lanev8hi_usus (
15232 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15235 __extension__ extern __inline uint32x4x4_t
15236 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15237 vld4q_lane_u32 (const uint32_t * __ptr, uint32x4x4_t __b, const int __c)
15239 return __builtin_aarch64_ld4_lanev4si_usus (
15240 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15243 __extension__ extern __inline uint64x2x4_t
15244 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15245 vld4q_lane_u64 (const uint64_t * __ptr, uint64x2x4_t __b, const int __c)
15247 return __builtin_aarch64_ld4_lanev2di_usus (
15248 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15251 __extension__ extern __inline int8x16x4_t
15252 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15253 vld4q_lane_s8 (const int8_t * __ptr, int8x16x4_t __b, const int __c)
15255 return __builtin_aarch64_ld4_lanev16qi (
15256 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15259 __extension__ extern __inline int16x8x4_t
15260 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15261 vld4q_lane_s16 (const int16_t * __ptr, int16x8x4_t __b, const int __c)
15263 return __builtin_aarch64_ld4_lanev8hi (
15264 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15267 __extension__ extern __inline int32x4x4_t
15268 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15269 vld4q_lane_s32 (const int32_t * __ptr, int32x4x4_t __b, const int __c)
15271 return __builtin_aarch64_ld4_lanev4si (
15272 (__builtin_aarch64_simd_si *) __ptr, __b, __c);
15275 __extension__ extern __inline int64x2x4_t
15276 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15277 vld4q_lane_s64 (const int64_t * __ptr, int64x2x4_t __b, const int __c)
15279 return __builtin_aarch64_ld4_lanev2di (
15280 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15283 __extension__ extern __inline float16x8x4_t
15284 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15285 vld4q_lane_f16 (const float16_t * __ptr, float16x8x4_t __b, const int __c)
15287 return __builtin_aarch64_ld4_lanev8hf (
15288 (__builtin_aarch64_simd_hf *) __ptr, __b, __c);
15291 __extension__ extern __inline float32x4x4_t
15292 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15293 vld4q_lane_f32 (const float32_t * __ptr, float32x4x4_t __b, const int __c)
15295 return __builtin_aarch64_ld4_lanev4sf (
15296 (__builtin_aarch64_simd_sf *) __ptr, __b, __c);
15299 __extension__ extern __inline float64x2x4_t
15300 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15301 vld4q_lane_f64 (const float64_t * __ptr, float64x2x4_t __b, const int __c)
15303 return __builtin_aarch64_ld4_lanev2df (
15304 (__builtin_aarch64_simd_df *) __ptr, __b, __c);
15307 __extension__ extern __inline poly8x16x4_t
15308 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15309 vld4q_lane_p8 (const poly8_t * __ptr, poly8x16x4_t __b, const int __c)
15311 return __builtin_aarch64_ld4_lanev16qi_psps (
15312 (__builtin_aarch64_simd_qi *) __ptr, __b, __c);
15315 __extension__ extern __inline poly16x8x4_t
15316 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15317 vld4q_lane_p16 (const poly16_t * __ptr, poly16x8x4_t __b, const int __c)
15319 return __builtin_aarch64_ld4_lanev8hi_psps (
15320 (__builtin_aarch64_simd_hi *) __ptr, __b, __c);
15323 __extension__ extern __inline poly64x2x4_t
15324 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
15325 vld4q_lane_p64 (const poly64_t * __ptr, poly64x2x4_t __b, const int __c)
15327 return __builtin_aarch64_ld4_lanev2di_psps (
15328 (__builtin_aarch64_simd_di *) __ptr, __b, __c);
15331 /* vmax */
15333 __extension__ extern __inline float32x2_t
15334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15335 vmax_f32 (float32x2_t __a, float32x2_t __b)
15337 return __builtin_aarch64_fmax_nanv2sf (__a, __b);
15340 __extension__ extern __inline float64x1_t
15341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15342 vmax_f64 (float64x1_t __a, float64x1_t __b)
15344 return (float64x1_t)
15345 { __builtin_aarch64_fmax_nandf (vget_lane_f64 (__a, 0),
15346 vget_lane_f64 (__b, 0)) };
15349 __extension__ extern __inline int8x8_t
15350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15351 vmax_s8 (int8x8_t __a, int8x8_t __b)
15353 return __builtin_aarch64_smaxv8qi (__a, __b);
15356 __extension__ extern __inline int16x4_t
15357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15358 vmax_s16 (int16x4_t __a, int16x4_t __b)
15360 return __builtin_aarch64_smaxv4hi (__a, __b);
15363 __extension__ extern __inline int32x2_t
15364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15365 vmax_s32 (int32x2_t __a, int32x2_t __b)
15367 return __builtin_aarch64_smaxv2si (__a, __b);
15370 __extension__ extern __inline uint8x8_t
15371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15372 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
15374 return (uint8x8_t) __builtin_aarch64_umaxv8qi ((int8x8_t) __a,
15375 (int8x8_t) __b);
15378 __extension__ extern __inline uint16x4_t
15379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15380 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
15382 return (uint16x4_t) __builtin_aarch64_umaxv4hi ((int16x4_t) __a,
15383 (int16x4_t) __b);
15386 __extension__ extern __inline uint32x2_t
15387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15388 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
15390 return (uint32x2_t) __builtin_aarch64_umaxv2si ((int32x2_t) __a,
15391 (int32x2_t) __b);
15394 __extension__ extern __inline float32x4_t
15395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15396 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
15398 return __builtin_aarch64_fmax_nanv4sf (__a, __b);
15401 __extension__ extern __inline float64x2_t
15402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15403 vmaxq_f64 (float64x2_t __a, float64x2_t __b)
15405 return __builtin_aarch64_fmax_nanv2df (__a, __b);
15408 __extension__ extern __inline int8x16_t
15409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15410 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
15412 return __builtin_aarch64_smaxv16qi (__a, __b);
15415 __extension__ extern __inline int16x8_t
15416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15417 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
15419 return __builtin_aarch64_smaxv8hi (__a, __b);
15422 __extension__ extern __inline int32x4_t
15423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15424 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
15426 return __builtin_aarch64_smaxv4si (__a, __b);
15429 __extension__ extern __inline uint8x16_t
15430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15431 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
15433 return (uint8x16_t) __builtin_aarch64_umaxv16qi ((int8x16_t) __a,
15434 (int8x16_t) __b);
15437 __extension__ extern __inline uint16x8_t
15438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15439 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
15441 return (uint16x8_t) __builtin_aarch64_umaxv8hi ((int16x8_t) __a,
15442 (int16x8_t) __b);
15445 __extension__ extern __inline uint32x4_t
15446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15447 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
15449 return (uint32x4_t) __builtin_aarch64_umaxv4si ((int32x4_t) __a,
15450 (int32x4_t) __b);
15452 /* vmulx */
15454 __extension__ extern __inline float32x2_t
15455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15456 vmulx_f32 (float32x2_t __a, float32x2_t __b)
15458 return __builtin_aarch64_fmulxv2sf (__a, __b);
15461 __extension__ extern __inline float32x4_t
15462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15463 vmulxq_f32 (float32x4_t __a, float32x4_t __b)
15465 return __builtin_aarch64_fmulxv4sf (__a, __b);
15468 __extension__ extern __inline float64x1_t
15469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15470 vmulx_f64 (float64x1_t __a, float64x1_t __b)
15472 return (float64x1_t) {__builtin_aarch64_fmulxdf (__a[0], __b[0])};
15475 __extension__ extern __inline float64x2_t
15476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15477 vmulxq_f64 (float64x2_t __a, float64x2_t __b)
15479 return __builtin_aarch64_fmulxv2df (__a, __b);
15482 __extension__ extern __inline float32_t
15483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15484 vmulxs_f32 (float32_t __a, float32_t __b)
15486 return __builtin_aarch64_fmulxsf (__a, __b);
15489 __extension__ extern __inline float64_t
15490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15491 vmulxd_f64 (float64_t __a, float64_t __b)
15493 return __builtin_aarch64_fmulxdf (__a, __b);
15496 __extension__ extern __inline float32x2_t
15497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15498 vmulx_lane_f32 (float32x2_t __a, float32x2_t __v, const int __lane)
15500 return vmulx_f32 (__a, __aarch64_vdup_lane_f32 (__v, __lane));
15503 __extension__ extern __inline float64x1_t
15504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15505 vmulx_lane_f64 (float64x1_t __a, float64x1_t __v, const int __lane)
15507 return vmulx_f64 (__a, __aarch64_vdup_lane_f64 (__v, __lane));
15510 __extension__ extern __inline float32x4_t
15511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15512 vmulxq_lane_f32 (float32x4_t __a, float32x2_t __v, const int __lane)
15514 return vmulxq_f32 (__a, __aarch64_vdupq_lane_f32 (__v, __lane));
15517 __extension__ extern __inline float64x2_t
15518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15519 vmulxq_lane_f64 (float64x2_t __a, float64x1_t __v, const int __lane)
15521 return vmulxq_f64 (__a, __aarch64_vdupq_lane_f64 (__v, __lane));
15524 __extension__ extern __inline float32x2_t
15525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15526 vmulx_laneq_f32 (float32x2_t __a, float32x4_t __v, const int __lane)
15528 return vmulx_f32 (__a, __aarch64_vdup_laneq_f32 (__v, __lane));
15531 __extension__ extern __inline float64x1_t
15532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15533 vmulx_laneq_f64 (float64x1_t __a, float64x2_t __v, const int __lane)
15535 return vmulx_f64 (__a, __aarch64_vdup_laneq_f64 (__v, __lane));
15538 __extension__ extern __inline float32x4_t
15539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15540 vmulxq_laneq_f32 (float32x4_t __a, float32x4_t __v, const int __lane)
15542 return vmulxq_f32 (__a, __aarch64_vdupq_laneq_f32 (__v, __lane));
15545 __extension__ extern __inline float64x2_t
15546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15547 vmulxq_laneq_f64 (float64x2_t __a, float64x2_t __v, const int __lane)
15549 return vmulxq_f64 (__a, __aarch64_vdupq_laneq_f64 (__v, __lane));
15552 __extension__ extern __inline float32_t
15553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15554 vmulxs_lane_f32 (float32_t __a, float32x2_t __v, const int __lane)
15556 return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
15559 __extension__ extern __inline float32_t
15560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15561 vmulxs_laneq_f32 (float32_t __a, float32x4_t __v, const int __lane)
15563 return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
15566 __extension__ extern __inline float64_t
15567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15568 vmulxd_lane_f64 (float64_t __a, float64x1_t __v, const int __lane)
15570 return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
15573 __extension__ extern __inline float64_t
15574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15575 vmulxd_laneq_f64 (float64_t __a, float64x2_t __v, const int __lane)
15577 return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
15580 /* vpmax */
15582 __extension__ extern __inline int8x8_t
15583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15584 vpmax_s8 (int8x8_t __a, int8x8_t __b)
15586 return __builtin_aarch64_smaxpv8qi (__a, __b);
15589 __extension__ extern __inline int16x4_t
15590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15591 vpmax_s16 (int16x4_t __a, int16x4_t __b)
15593 return __builtin_aarch64_smaxpv4hi (__a, __b);
15596 __extension__ extern __inline int32x2_t
15597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15598 vpmax_s32 (int32x2_t __a, int32x2_t __b)
15600 return __builtin_aarch64_smaxpv2si (__a, __b);
15603 __extension__ extern __inline uint8x8_t
15604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15605 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
15607 return (uint8x8_t) __builtin_aarch64_umaxpv8qi ((int8x8_t) __a,
15608 (int8x8_t) __b);
15611 __extension__ extern __inline uint16x4_t
15612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15613 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
15615 return (uint16x4_t) __builtin_aarch64_umaxpv4hi ((int16x4_t) __a,
15616 (int16x4_t) __b);
15619 __extension__ extern __inline uint32x2_t
15620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15621 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
15623 return (uint32x2_t) __builtin_aarch64_umaxpv2si ((int32x2_t) __a,
15624 (int32x2_t) __b);
15627 __extension__ extern __inline int8x16_t
15628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15629 vpmaxq_s8 (int8x16_t __a, int8x16_t __b)
15631 return __builtin_aarch64_smaxpv16qi (__a, __b);
15634 __extension__ extern __inline int16x8_t
15635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15636 vpmaxq_s16 (int16x8_t __a, int16x8_t __b)
15638 return __builtin_aarch64_smaxpv8hi (__a, __b);
15641 __extension__ extern __inline int32x4_t
15642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15643 vpmaxq_s32 (int32x4_t __a, int32x4_t __b)
15645 return __builtin_aarch64_smaxpv4si (__a, __b);
15648 __extension__ extern __inline uint8x16_t
15649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15650 vpmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
15652 return (uint8x16_t) __builtin_aarch64_umaxpv16qi ((int8x16_t) __a,
15653 (int8x16_t) __b);
15656 __extension__ extern __inline uint16x8_t
15657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15658 vpmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
15660 return (uint16x8_t) __builtin_aarch64_umaxpv8hi ((int16x8_t) __a,
15661 (int16x8_t) __b);
15664 __extension__ extern __inline uint32x4_t
15665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15666 vpmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
15668 return (uint32x4_t) __builtin_aarch64_umaxpv4si ((int32x4_t) __a,
15669 (int32x4_t) __b);
15672 __extension__ extern __inline float32x2_t
15673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15674 vpmax_f32 (float32x2_t __a, float32x2_t __b)
15676 return __builtin_aarch64_smax_nanpv2sf (__a, __b);
15679 __extension__ extern __inline float32x4_t
15680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15681 vpmaxq_f32 (float32x4_t __a, float32x4_t __b)
15683 return __builtin_aarch64_smax_nanpv4sf (__a, __b);
15686 __extension__ extern __inline float64x2_t
15687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15688 vpmaxq_f64 (float64x2_t __a, float64x2_t __b)
15690 return __builtin_aarch64_smax_nanpv2df (__a, __b);
15693 __extension__ extern __inline float64_t
15694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15695 vpmaxqd_f64 (float64x2_t __a)
15697 return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
15700 __extension__ extern __inline float32_t
15701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15702 vpmaxs_f32 (float32x2_t __a)
15704 return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
15707 /* vpmaxnm */
15709 __extension__ extern __inline float32x2_t
15710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15711 vpmaxnm_f32 (float32x2_t __a, float32x2_t __b)
15713 return __builtin_aarch64_smaxpv2sf (__a, __b);
15716 __extension__ extern __inline float32x4_t
15717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15718 vpmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
15720 return __builtin_aarch64_smaxpv4sf (__a, __b);
15723 __extension__ extern __inline float64x2_t
15724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15725 vpmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
15727 return __builtin_aarch64_smaxpv2df (__a, __b);
15730 __extension__ extern __inline float64_t
15731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15732 vpmaxnmqd_f64 (float64x2_t __a)
15734 return __builtin_aarch64_reduc_smax_scal_v2df (__a);
15737 __extension__ extern __inline float32_t
15738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15739 vpmaxnms_f32 (float32x2_t __a)
15741 return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
15744 /* vpmin */
15746 __extension__ extern __inline int8x8_t
15747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15748 vpmin_s8 (int8x8_t __a, int8x8_t __b)
15750 return __builtin_aarch64_sminpv8qi (__a, __b);
15753 __extension__ extern __inline int16x4_t
15754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15755 vpmin_s16 (int16x4_t __a, int16x4_t __b)
15757 return __builtin_aarch64_sminpv4hi (__a, __b);
15760 __extension__ extern __inline int32x2_t
15761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15762 vpmin_s32 (int32x2_t __a, int32x2_t __b)
15764 return __builtin_aarch64_sminpv2si (__a, __b);
15767 __extension__ extern __inline uint8x8_t
15768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15769 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
15771 return (uint8x8_t) __builtin_aarch64_uminpv8qi ((int8x8_t) __a,
15772 (int8x8_t) __b);
15775 __extension__ extern __inline uint16x4_t
15776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15777 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
15779 return (uint16x4_t) __builtin_aarch64_uminpv4hi ((int16x4_t) __a,
15780 (int16x4_t) __b);
15783 __extension__ extern __inline uint32x2_t
15784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15785 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
15787 return (uint32x2_t) __builtin_aarch64_uminpv2si ((int32x2_t) __a,
15788 (int32x2_t) __b);
15791 __extension__ extern __inline int8x16_t
15792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15793 vpminq_s8 (int8x16_t __a, int8x16_t __b)
15795 return __builtin_aarch64_sminpv16qi (__a, __b);
15798 __extension__ extern __inline int16x8_t
15799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15800 vpminq_s16 (int16x8_t __a, int16x8_t __b)
15802 return __builtin_aarch64_sminpv8hi (__a, __b);
15805 __extension__ extern __inline int32x4_t
15806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15807 vpminq_s32 (int32x4_t __a, int32x4_t __b)
15809 return __builtin_aarch64_sminpv4si (__a, __b);
15812 __extension__ extern __inline uint8x16_t
15813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15814 vpminq_u8 (uint8x16_t __a, uint8x16_t __b)
15816 return (uint8x16_t) __builtin_aarch64_uminpv16qi ((int8x16_t) __a,
15817 (int8x16_t) __b);
15820 __extension__ extern __inline uint16x8_t
15821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15822 vpminq_u16 (uint16x8_t __a, uint16x8_t __b)
15824 return (uint16x8_t) __builtin_aarch64_uminpv8hi ((int16x8_t) __a,
15825 (int16x8_t) __b);
15828 __extension__ extern __inline uint32x4_t
15829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15830 vpminq_u32 (uint32x4_t __a, uint32x4_t __b)
15832 return (uint32x4_t) __builtin_aarch64_uminpv4si ((int32x4_t) __a,
15833 (int32x4_t) __b);
15836 __extension__ extern __inline float32x2_t
15837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15838 vpmin_f32 (float32x2_t __a, float32x2_t __b)
15840 return __builtin_aarch64_smin_nanpv2sf (__a, __b);
15843 __extension__ extern __inline float32x4_t
15844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15845 vpminq_f32 (float32x4_t __a, float32x4_t __b)
15847 return __builtin_aarch64_smin_nanpv4sf (__a, __b);
15850 __extension__ extern __inline float64x2_t
15851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15852 vpminq_f64 (float64x2_t __a, float64x2_t __b)
15854 return __builtin_aarch64_smin_nanpv2df (__a, __b);
15857 __extension__ extern __inline float64_t
15858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15859 vpminqd_f64 (float64x2_t __a)
15861 return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
15864 __extension__ extern __inline float32_t
15865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15866 vpmins_f32 (float32x2_t __a)
15868 return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
15871 /* vpminnm */
15873 __extension__ extern __inline float32x2_t
15874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15875 vpminnm_f32 (float32x2_t __a, float32x2_t __b)
15877 return __builtin_aarch64_sminpv2sf (__a, __b);
15880 __extension__ extern __inline float32x4_t
15881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15882 vpminnmq_f32 (float32x4_t __a, float32x4_t __b)
15884 return __builtin_aarch64_sminpv4sf (__a, __b);
15887 __extension__ extern __inline float64x2_t
15888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15889 vpminnmq_f64 (float64x2_t __a, float64x2_t __b)
15891 return __builtin_aarch64_sminpv2df (__a, __b);
15894 __extension__ extern __inline float64_t
15895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15896 vpminnmqd_f64 (float64x2_t __a)
15898 return __builtin_aarch64_reduc_smin_scal_v2df (__a);
15901 __extension__ extern __inline float32_t
15902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15903 vpminnms_f32 (float32x2_t __a)
15905 return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
15908 /* vmaxnm */
15910 __extension__ extern __inline float32x2_t
15911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15912 vmaxnm_f32 (float32x2_t __a, float32x2_t __b)
15914 return __builtin_aarch64_fmaxv2sf (__a, __b);
15917 __extension__ extern __inline float64x1_t
15918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15919 vmaxnm_f64 (float64x1_t __a, float64x1_t __b)
15921 return (float64x1_t)
15922 { __builtin_aarch64_fmaxdf (vget_lane_f64 (__a, 0),
15923 vget_lane_f64 (__b, 0)) };
15926 __extension__ extern __inline float32x4_t
15927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15928 vmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
15930 return __builtin_aarch64_fmaxv4sf (__a, __b);
15933 __extension__ extern __inline float64x2_t
15934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15935 vmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
15937 return __builtin_aarch64_fmaxv2df (__a, __b);
15940 /* vmaxv */
15942 __extension__ extern __inline float32_t
15943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15944 vmaxv_f32 (float32x2_t __a)
15946 return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
15949 __extension__ extern __inline int8_t
15950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15951 vmaxv_s8 (int8x8_t __a)
15953 return __builtin_aarch64_reduc_smax_scal_v8qi (__a);
15956 __extension__ extern __inline int16_t
15957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15958 vmaxv_s16 (int16x4_t __a)
15960 return __builtin_aarch64_reduc_smax_scal_v4hi (__a);
15963 __extension__ extern __inline int32_t
15964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15965 vmaxv_s32 (int32x2_t __a)
15967 return __builtin_aarch64_reduc_smax_scal_v2si (__a);
15970 __extension__ extern __inline uint8_t
15971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15972 vmaxv_u8 (uint8x8_t __a)
15974 return __builtin_aarch64_reduc_umax_scal_v8qi_uu (__a);
15977 __extension__ extern __inline uint16_t
15978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15979 vmaxv_u16 (uint16x4_t __a)
15981 return __builtin_aarch64_reduc_umax_scal_v4hi_uu (__a);
15984 __extension__ extern __inline uint32_t
15985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15986 vmaxv_u32 (uint32x2_t __a)
15988 return __builtin_aarch64_reduc_umax_scal_v2si_uu (__a);
15991 __extension__ extern __inline float32_t
15992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
15993 vmaxvq_f32 (float32x4_t __a)
15995 return __builtin_aarch64_reduc_smax_nan_scal_v4sf (__a);
15998 __extension__ extern __inline float64_t
15999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16000 vmaxvq_f64 (float64x2_t __a)
16002 return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
16005 __extension__ extern __inline int8_t
16006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16007 vmaxvq_s8 (int8x16_t __a)
16009 return __builtin_aarch64_reduc_smax_scal_v16qi (__a);
16012 __extension__ extern __inline int16_t
16013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16014 vmaxvq_s16 (int16x8_t __a)
16016 return __builtin_aarch64_reduc_smax_scal_v8hi (__a);
16019 __extension__ extern __inline int32_t
16020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16021 vmaxvq_s32 (int32x4_t __a)
16023 return __builtin_aarch64_reduc_smax_scal_v4si (__a);
16026 __extension__ extern __inline uint8_t
16027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16028 vmaxvq_u8 (uint8x16_t __a)
16030 return __builtin_aarch64_reduc_umax_scal_v16qi_uu (__a);
16033 __extension__ extern __inline uint16_t
16034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16035 vmaxvq_u16 (uint16x8_t __a)
16037 return __builtin_aarch64_reduc_umax_scal_v8hi_uu (__a);
16040 __extension__ extern __inline uint32_t
16041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16042 vmaxvq_u32 (uint32x4_t __a)
16044 return __builtin_aarch64_reduc_umax_scal_v4si_uu (__a);
16047 /* vmaxnmv */
16049 __extension__ extern __inline float32_t
16050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16051 vmaxnmv_f32 (float32x2_t __a)
16053 return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
16056 __extension__ extern __inline float32_t
16057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16058 vmaxnmvq_f32 (float32x4_t __a)
16060 return __builtin_aarch64_reduc_smax_scal_v4sf (__a);
16063 __extension__ extern __inline float64_t
16064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16065 vmaxnmvq_f64 (float64x2_t __a)
16067 return __builtin_aarch64_reduc_smax_scal_v2df (__a);
16070 /* vmin */
16072 __extension__ extern __inline float32x2_t
16073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16074 vmin_f32 (float32x2_t __a, float32x2_t __b)
16076 return __builtin_aarch64_fmin_nanv2sf (__a, __b);
16079 __extension__ extern __inline float64x1_t
16080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16081 vmin_f64 (float64x1_t __a, float64x1_t __b)
16083 return (float64x1_t)
16084 { __builtin_aarch64_fmin_nandf (vget_lane_f64 (__a, 0),
16085 vget_lane_f64 (__b, 0)) };
16088 __extension__ extern __inline int8x8_t
16089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16090 vmin_s8 (int8x8_t __a, int8x8_t __b)
16092 return __builtin_aarch64_sminv8qi (__a, __b);
16095 __extension__ extern __inline int16x4_t
16096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16097 vmin_s16 (int16x4_t __a, int16x4_t __b)
16099 return __builtin_aarch64_sminv4hi (__a, __b);
16102 __extension__ extern __inline int32x2_t
16103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16104 vmin_s32 (int32x2_t __a, int32x2_t __b)
16106 return __builtin_aarch64_sminv2si (__a, __b);
16109 __extension__ extern __inline uint8x8_t
16110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16111 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
16113 return (uint8x8_t) __builtin_aarch64_uminv8qi ((int8x8_t) __a,
16114 (int8x8_t) __b);
16117 __extension__ extern __inline uint16x4_t
16118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16119 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
16121 return (uint16x4_t) __builtin_aarch64_uminv4hi ((int16x4_t) __a,
16122 (int16x4_t) __b);
16125 __extension__ extern __inline uint32x2_t
16126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16127 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
16129 return (uint32x2_t) __builtin_aarch64_uminv2si ((int32x2_t) __a,
16130 (int32x2_t) __b);
16133 __extension__ extern __inline float32x4_t
16134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16135 vminq_f32 (float32x4_t __a, float32x4_t __b)
16137 return __builtin_aarch64_fmin_nanv4sf (__a, __b);
16140 __extension__ extern __inline float64x2_t
16141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16142 vminq_f64 (float64x2_t __a, float64x2_t __b)
16144 return __builtin_aarch64_fmin_nanv2df (__a, __b);
16147 __extension__ extern __inline int8x16_t
16148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16149 vminq_s8 (int8x16_t __a, int8x16_t __b)
16151 return __builtin_aarch64_sminv16qi (__a, __b);
16154 __extension__ extern __inline int16x8_t
16155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16156 vminq_s16 (int16x8_t __a, int16x8_t __b)
16158 return __builtin_aarch64_sminv8hi (__a, __b);
16161 __extension__ extern __inline int32x4_t
16162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16163 vminq_s32 (int32x4_t __a, int32x4_t __b)
16165 return __builtin_aarch64_sminv4si (__a, __b);
16168 __extension__ extern __inline uint8x16_t
16169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16170 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
16172 return (uint8x16_t) __builtin_aarch64_uminv16qi ((int8x16_t) __a,
16173 (int8x16_t) __b);
16176 __extension__ extern __inline uint16x8_t
16177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16178 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
16180 return (uint16x8_t) __builtin_aarch64_uminv8hi ((int16x8_t) __a,
16181 (int16x8_t) __b);
16184 __extension__ extern __inline uint32x4_t
16185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16186 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
16188 return (uint32x4_t) __builtin_aarch64_uminv4si ((int32x4_t) __a,
16189 (int32x4_t) __b);
16192 /* vminnm */
16194 __extension__ extern __inline float32x2_t
16195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16196 vminnm_f32 (float32x2_t __a, float32x2_t __b)
16198 return __builtin_aarch64_fminv2sf (__a, __b);
16201 __extension__ extern __inline float64x1_t
16202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16203 vminnm_f64 (float64x1_t __a, float64x1_t __b)
16205 return (float64x1_t)
16206 { __builtin_aarch64_fmindf (vget_lane_f64 (__a, 0),
16207 vget_lane_f64 (__b, 0)) };
16210 __extension__ extern __inline float32x4_t
16211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16212 vminnmq_f32 (float32x4_t __a, float32x4_t __b)
16214 return __builtin_aarch64_fminv4sf (__a, __b);
16217 __extension__ extern __inline float64x2_t
16218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16219 vminnmq_f64 (float64x2_t __a, float64x2_t __b)
16221 return __builtin_aarch64_fminv2df (__a, __b);
16224 /* vminv */
16226 __extension__ extern __inline float32_t
16227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16228 vminv_f32 (float32x2_t __a)
16230 return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
16233 __extension__ extern __inline int8_t
16234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16235 vminv_s8 (int8x8_t __a)
16237 return __builtin_aarch64_reduc_smin_scal_v8qi (__a);
16240 __extension__ extern __inline int16_t
16241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16242 vminv_s16 (int16x4_t __a)
16244 return __builtin_aarch64_reduc_smin_scal_v4hi (__a);
16247 __extension__ extern __inline int32_t
16248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16249 vminv_s32 (int32x2_t __a)
16251 return __builtin_aarch64_reduc_smin_scal_v2si (__a);
16254 __extension__ extern __inline uint8_t
16255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16256 vminv_u8 (uint8x8_t __a)
16258 return __builtin_aarch64_reduc_umin_scal_v8qi_uu (__a);
16261 __extension__ extern __inline uint16_t
16262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16263 vminv_u16 (uint16x4_t __a)
16265 return __builtin_aarch64_reduc_umin_scal_v4hi_uu (__a);
16268 __extension__ extern __inline uint32_t
16269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16270 vminv_u32 (uint32x2_t __a)
16272 return __builtin_aarch64_reduc_umin_scal_v2si_uu (__a);
16275 __extension__ extern __inline float32_t
16276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16277 vminvq_f32 (float32x4_t __a)
16279 return __builtin_aarch64_reduc_smin_nan_scal_v4sf (__a);
16282 __extension__ extern __inline float64_t
16283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16284 vminvq_f64 (float64x2_t __a)
16286 return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
16289 __extension__ extern __inline int8_t
16290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16291 vminvq_s8 (int8x16_t __a)
16293 return __builtin_aarch64_reduc_smin_scal_v16qi (__a);
16296 __extension__ extern __inline int16_t
16297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16298 vminvq_s16 (int16x8_t __a)
16300 return __builtin_aarch64_reduc_smin_scal_v8hi (__a);
16303 __extension__ extern __inline int32_t
16304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16305 vminvq_s32 (int32x4_t __a)
16307 return __builtin_aarch64_reduc_smin_scal_v4si (__a);
16310 __extension__ extern __inline uint8_t
16311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16312 vminvq_u8 (uint8x16_t __a)
16314 return __builtin_aarch64_reduc_umin_scal_v16qi_uu (__a);
16317 __extension__ extern __inline uint16_t
16318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16319 vminvq_u16 (uint16x8_t __a)
16321 return __builtin_aarch64_reduc_umin_scal_v8hi_uu (__a);
16324 __extension__ extern __inline uint32_t
16325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16326 vminvq_u32 (uint32x4_t __a)
16328 return __builtin_aarch64_reduc_umin_scal_v4si_uu (__a);
16331 /* vminnmv */
16333 __extension__ extern __inline float32_t
16334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16335 vminnmv_f32 (float32x2_t __a)
16337 return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
16340 __extension__ extern __inline float32_t
16341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16342 vminnmvq_f32 (float32x4_t __a)
16344 return __builtin_aarch64_reduc_smin_scal_v4sf (__a);
16347 __extension__ extern __inline float64_t
16348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16349 vminnmvq_f64 (float64x2_t __a)
16351 return __builtin_aarch64_reduc_smin_scal_v2df (__a);
16354 /* vmla */
16356 __extension__ extern __inline float32x2_t
16357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16358 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16360 return __builtin_aarch64_float_mlav2sf (__a, __b, __c);
16363 __extension__ extern __inline float64x1_t
16364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16365 vmla_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16367 return (float64x1_t) {__builtin_aarch64_float_mladf (__a[0], __b[0], __c[0])};
16370 __extension__ extern __inline float32x4_t
16371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16372 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16374 return __builtin_aarch64_float_mlav4sf (__a, __b, __c);
16377 __extension__ extern __inline float64x2_t
16378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16379 vmlaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16381 return __builtin_aarch64_float_mlav2df (__a, __b, __c);
16384 /* vmla_lane */
16386 __extension__ extern __inline float32x2_t
16387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16388 vmla_lane_f32 (float32x2_t __a, float32x2_t __b,
16389 float32x2_t __c, const int __lane)
16391 return __builtin_aarch64_float_mla_lanev2sf (__a, __b, __c, __lane);
16394 __extension__ extern __inline int16x4_t
16395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16396 vmla_lane_s16 (int16x4_t __a, int16x4_t __b,
16397 int16x4_t __c, const int __lane)
16399 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16402 __extension__ extern __inline int32x2_t
16403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16404 vmla_lane_s32 (int32x2_t __a, int32x2_t __b,
16405 int32x2_t __c, const int __lane)
16407 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16410 __extension__ extern __inline uint16x4_t
16411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16412 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b,
16413 uint16x4_t __c, const int __lane)
16415 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16418 __extension__ extern __inline uint32x2_t
16419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16420 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b,
16421 uint32x2_t __c, const int __lane)
16423 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16426 /* vmla_laneq */
16428 __extension__ extern __inline float32x2_t
16429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16430 vmla_laneq_f32 (float32x2_t __a, float32x2_t __b,
16431 float32x4_t __c, const int __lane)
16433 return __builtin_aarch64_float_mla_laneqv2sf (__a, __b, __c, __lane);
16436 __extension__ extern __inline int16x4_t
16437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16438 vmla_laneq_s16 (int16x4_t __a, int16x4_t __b,
16439 int16x8_t __c, const int __lane)
16441 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16444 __extension__ extern __inline int32x2_t
16445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16446 vmla_laneq_s32 (int32x2_t __a, int32x2_t __b,
16447 int32x4_t __c, const int __lane)
16449 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16452 __extension__ extern __inline uint16x4_t
16453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16454 vmla_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
16455 uint16x8_t __c, const int __lane)
16457 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16460 __extension__ extern __inline uint32x2_t
16461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16462 vmla_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
16463 uint32x4_t __c, const int __lane)
16465 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16468 /* vmlaq_lane */
16470 __extension__ extern __inline float32x4_t
16471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16472 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b,
16473 float32x2_t __c, const int __lane)
16475 return __builtin_aarch64_float_mla_lanev4sf (__a, __b, __c, __lane);
16478 __extension__ extern __inline int16x8_t
16479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16480 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b,
16481 int16x4_t __c, const int __lane)
16483 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16486 __extension__ extern __inline int32x4_t
16487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16488 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b,
16489 int32x2_t __c, const int __lane)
16491 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16494 __extension__ extern __inline uint16x8_t
16495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16496 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
16497 uint16x4_t __c, const int __lane)
16499 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16502 __extension__ extern __inline uint32x4_t
16503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16504 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
16505 uint32x2_t __c, const int __lane)
16507 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16510 /* vmlaq_laneq */
16512 __extension__ extern __inline float32x4_t
16513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16514 vmlaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16515 float32x4_t __c, const int __lane)
16517 return __builtin_aarch64_float_mla_laneqv4sf (__a, __b, __c, __lane);
16520 __extension__ extern __inline int16x8_t
16521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16522 vmlaq_laneq_s16 (int16x8_t __a, int16x8_t __b,
16523 int16x8_t __c, const int __lane)
16525 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16528 __extension__ extern __inline int32x4_t
16529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16530 vmlaq_laneq_s32 (int32x4_t __a, int32x4_t __b,
16531 int32x4_t __c, const int __lane)
16533 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16536 __extension__ extern __inline uint16x8_t
16537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16538 vmlaq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
16539 uint16x8_t __c, const int __lane)
16541 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16544 __extension__ extern __inline uint32x4_t
16545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16546 vmlaq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
16547 uint32x4_t __c, const int __lane)
16549 return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
16552 /* vmls */
16554 __extension__ extern __inline float32x2_t
16555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16556 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16558 return __builtin_aarch64_float_mlsv2sf (__a, __b, __c);
16561 __extension__ extern __inline float64x1_t
16562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16563 vmls_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16565 return (float64x1_t) {__builtin_aarch64_float_mlsdf (__a[0], __b[0], __c[0])};
16568 __extension__ extern __inline float32x4_t
16569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16570 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16572 return __builtin_aarch64_float_mlsv4sf (__a, __b, __c);
16575 __extension__ extern __inline float64x2_t
16576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16577 vmlsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16579 return __builtin_aarch64_float_mlsv2df (__a, __b, __c);
16582 /* vmls_lane */
16584 __extension__ extern __inline float32x2_t
16585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16586 vmls_lane_f32 (float32x2_t __a, float32x2_t __b,
16587 float32x2_t __c, const int __lane)
16589 return __builtin_aarch64_float_mls_lanev2sf (__a, __b, __c, __lane);
16592 __extension__ extern __inline int16x4_t
16593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16594 vmls_lane_s16 (int16x4_t __a, int16x4_t __b,
16595 int16x4_t __c, const int __lane)
16597 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16600 __extension__ extern __inline int32x2_t
16601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16602 vmls_lane_s32 (int32x2_t __a, int32x2_t __b,
16603 int32x2_t __c, const int __lane)
16605 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16608 __extension__ extern __inline uint16x4_t
16609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16610 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b,
16611 uint16x4_t __c, const int __lane)
16613 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16616 __extension__ extern __inline uint32x2_t
16617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16618 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b,
16619 uint32x2_t __c, const int __lane)
16621 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16624 /* vmls_laneq */
16626 __extension__ extern __inline float32x2_t
16627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16628 vmls_laneq_f32 (float32x2_t __a, float32x2_t __b,
16629 float32x4_t __c, const int __lane)
16631 return __builtin_aarch64_float_mls_laneqv2sf (__a, __b, __c, __lane);
16634 __extension__ extern __inline int16x4_t
16635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16636 vmls_laneq_s16 (int16x4_t __a, int16x4_t __b,
16637 int16x8_t __c, const int __lane)
16639 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16642 __extension__ extern __inline int32x2_t
16643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16644 vmls_laneq_s32 (int32x2_t __a, int32x2_t __b,
16645 int32x4_t __c, const int __lane)
16647 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16650 __extension__ extern __inline uint16x4_t
16651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16652 vmls_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
16653 uint16x8_t __c, const int __lane)
16655 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16658 __extension__ extern __inline uint32x2_t
16659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16660 vmls_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
16661 uint32x4_t __c, const int __lane)
16663 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16666 /* vmlsq_lane */
16668 __extension__ extern __inline float32x4_t
16669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16670 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b,
16671 float32x2_t __c, const int __lane)
16673 return __builtin_aarch64_float_mls_lanev4sf (__a, __b, __c, __lane);
16676 __extension__ extern __inline int16x8_t
16677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16678 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b,
16679 int16x4_t __c, const int __lane)
16681 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16684 __extension__ extern __inline int32x4_t
16685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16686 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b,
16687 int32x2_t __c, const int __lane)
16689 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16692 __extension__ extern __inline uint16x8_t
16693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16694 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
16695 uint16x4_t __c, const int __lane)
16697 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16700 __extension__ extern __inline uint32x4_t
16701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16702 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
16703 uint32x2_t __c, const int __lane)
16705 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16708 /* vmlsq_laneq */
16710 __extension__ extern __inline float32x4_t
16711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16712 vmlsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16713 float32x4_t __c, const int __lane)
16715 return __builtin_aarch64_float_mls_laneqv4sf (__a, __b, __c, __lane);
16718 __extension__ extern __inline int16x8_t
16719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16720 vmlsq_laneq_s16 (int16x8_t __a, int16x8_t __b,
16721 int16x8_t __c, const int __lane)
16723 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16726 __extension__ extern __inline int32x4_t
16727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16728 vmlsq_laneq_s32 (int32x4_t __a, int32x4_t __b,
16729 int32x4_t __c, const int __lane)
16731 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16733 __extension__ extern __inline uint16x8_t
16734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16735 vmlsq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
16736 uint16x8_t __c, const int __lane)
16738 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16741 __extension__ extern __inline uint32x4_t
16742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16743 vmlsq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
16744 uint32x4_t __c, const int __lane)
16746 return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
16749 /* vmov_n_ */
16751 __extension__ extern __inline float16x4_t
16752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16753 vmov_n_f16 (float16_t __a)
16755 return vdup_n_f16 (__a);
16758 __extension__ extern __inline float32x2_t
16759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16760 vmov_n_f32 (float32_t __a)
16762 return vdup_n_f32 (__a);
16765 __extension__ extern __inline float64x1_t
16766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16767 vmov_n_f64 (float64_t __a)
16769 return (float64x1_t) {__a};
16772 __extension__ extern __inline poly8x8_t
16773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16774 vmov_n_p8 (poly8_t __a)
16776 return vdup_n_p8 (__a);
16779 __extension__ extern __inline poly16x4_t
16780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16781 vmov_n_p16 (poly16_t __a)
16783 return vdup_n_p16 (__a);
16786 __extension__ extern __inline poly64x1_t
16787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16788 vmov_n_p64 (poly64_t __a)
16790 return vdup_n_p64 (__a);
16793 __extension__ extern __inline int8x8_t
16794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16795 vmov_n_s8 (int8_t __a)
16797 return vdup_n_s8 (__a);
16800 __extension__ extern __inline int16x4_t
16801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16802 vmov_n_s16 (int16_t __a)
16804 return vdup_n_s16 (__a);
16807 __extension__ extern __inline int32x2_t
16808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16809 vmov_n_s32 (int32_t __a)
16811 return vdup_n_s32 (__a);
16814 __extension__ extern __inline int64x1_t
16815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16816 vmov_n_s64 (int64_t __a)
16818 return (int64x1_t) {__a};
16821 __extension__ extern __inline uint8x8_t
16822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16823 vmov_n_u8 (uint8_t __a)
16825 return vdup_n_u8 (__a);
16828 __extension__ extern __inline uint16x4_t
16829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16830 vmov_n_u16 (uint16_t __a)
16832 return vdup_n_u16 (__a);
16835 __extension__ extern __inline uint32x2_t
16836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16837 vmov_n_u32 (uint32_t __a)
16839 return vdup_n_u32 (__a);
16842 __extension__ extern __inline uint64x1_t
16843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16844 vmov_n_u64 (uint64_t __a)
16846 return (uint64x1_t) {__a};
16849 __extension__ extern __inline float16x8_t
16850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16851 vmovq_n_f16 (float16_t __a)
16853 return vdupq_n_f16 (__a);
16856 __extension__ extern __inline float32x4_t
16857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16858 vmovq_n_f32 (float32_t __a)
16860 return vdupq_n_f32 (__a);
16863 __extension__ extern __inline float64x2_t
16864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16865 vmovq_n_f64 (float64_t __a)
16867 return vdupq_n_f64 (__a);
16870 __extension__ extern __inline poly8x16_t
16871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16872 vmovq_n_p8 (poly8_t __a)
16874 return vdupq_n_p8 (__a);
16877 __extension__ extern __inline poly16x8_t
16878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16879 vmovq_n_p16 (poly16_t __a)
16881 return vdupq_n_p16 (__a);
16884 __extension__ extern __inline poly64x2_t
16885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16886 vmovq_n_p64 (poly64_t __a)
16888 return vdupq_n_p64 (__a);
16891 __extension__ extern __inline int8x16_t
16892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16893 vmovq_n_s8 (int8_t __a)
16895 return vdupq_n_s8 (__a);
16898 __extension__ extern __inline int16x8_t
16899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16900 vmovq_n_s16 (int16_t __a)
16902 return vdupq_n_s16 (__a);
16905 __extension__ extern __inline int32x4_t
16906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16907 vmovq_n_s32 (int32_t __a)
16909 return vdupq_n_s32 (__a);
16912 __extension__ extern __inline int64x2_t
16913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16914 vmovq_n_s64 (int64_t __a)
16916 return vdupq_n_s64 (__a);
16919 __extension__ extern __inline uint8x16_t
16920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16921 vmovq_n_u8 (uint8_t __a)
16923 return vdupq_n_u8 (__a);
16926 __extension__ extern __inline uint16x8_t
16927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16928 vmovq_n_u16 (uint16_t __a)
16930 return vdupq_n_u16 (__a);
16933 __extension__ extern __inline uint32x4_t
16934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16935 vmovq_n_u32 (uint32_t __a)
16937 return vdupq_n_u32 (__a);
16940 __extension__ extern __inline uint64x2_t
16941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16942 vmovq_n_u64 (uint64_t __a)
16944 return vdupq_n_u64 (__a);
16947 /* vmul_lane */
16949 __extension__ extern __inline float32x2_t
16950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16951 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __lane)
16953 return __a * __aarch64_vget_lane_any (__b, __lane);
16956 __extension__ extern __inline float64x1_t
16957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16958 vmul_lane_f64 (float64x1_t __a, float64x1_t __b, const int __lane)
16960 return __a * __b;
16963 __extension__ extern __inline int16x4_t
16964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16965 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __lane)
16967 return __a * __aarch64_vget_lane_any (__b, __lane);
16970 __extension__ extern __inline int32x2_t
16971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16972 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __lane)
16974 return __a * __aarch64_vget_lane_any (__b, __lane);
16977 __extension__ extern __inline uint16x4_t
16978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16979 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __lane)
16981 return __a * __aarch64_vget_lane_any (__b, __lane);
16984 __extension__ extern __inline uint32x2_t
16985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16986 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __lane)
16988 return __a * __aarch64_vget_lane_any (__b, __lane);
16991 /* vmuld_lane */
16993 __extension__ extern __inline float64_t
16994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
16995 vmuld_lane_f64 (float64_t __a, float64x1_t __b, const int __lane)
16997 return __a * __aarch64_vget_lane_any (__b, __lane);
17000 __extension__ extern __inline float64_t
17001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17002 vmuld_laneq_f64 (float64_t __a, float64x2_t __b, const int __lane)
17004 return __a * __aarch64_vget_lane_any (__b, __lane);
17007 /* vmuls_lane */
17009 __extension__ extern __inline float32_t
17010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17011 vmuls_lane_f32 (float32_t __a, float32x2_t __b, const int __lane)
17013 return __a * __aarch64_vget_lane_any (__b, __lane);
17016 __extension__ extern __inline float32_t
17017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17018 vmuls_laneq_f32 (float32_t __a, float32x4_t __b, const int __lane)
17020 return __a * __aarch64_vget_lane_any (__b, __lane);
17023 /* vmul_laneq */
17025 __extension__ extern __inline float32x2_t
17026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17027 vmul_laneq_f32 (float32x2_t __a, float32x4_t __b, const int __lane)
17029 return __a * __aarch64_vget_lane_any (__b, __lane);
17032 __extension__ extern __inline float64x1_t
17033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17034 vmul_laneq_f64 (float64x1_t __a, float64x2_t __b, const int __lane)
17036 return __a * __aarch64_vget_lane_any (__b, __lane);
17039 __extension__ extern __inline int16x4_t
17040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17041 vmul_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __lane)
17043 return __a * __aarch64_vget_lane_any (__b, __lane);
17046 __extension__ extern __inline int32x2_t
17047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17048 vmul_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __lane)
17050 return __a * __aarch64_vget_lane_any (__b, __lane);
17053 __extension__ extern __inline uint16x4_t
17054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17055 vmul_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __lane)
17057 return __a * __aarch64_vget_lane_any (__b, __lane);
17060 __extension__ extern __inline uint32x2_t
17061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17062 vmul_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __lane)
17064 return __a * __aarch64_vget_lane_any (__b, __lane);
17067 /* vmul_n */
17069 __extension__ extern __inline float64x1_t
17070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17071 vmul_n_f64 (float64x1_t __a, float64_t __b)
17073 return (float64x1_t) { vget_lane_f64 (__a, 0) * __b };
17076 /* vmulq_lane */
17078 __extension__ extern __inline float32x4_t
17079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17080 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __lane)
17082 return __a * __aarch64_vget_lane_any (__b, __lane);
17085 __extension__ extern __inline float64x2_t
17086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17087 vmulq_lane_f64 (float64x2_t __a, float64x1_t __b, const int __lane)
17089 __AARCH64_LANE_CHECK (__a, __lane);
17090 return __a * __b[0];
17093 __extension__ extern __inline int16x8_t
17094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17095 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __lane)
17097 return __a * __aarch64_vget_lane_any (__b, __lane);
17100 __extension__ extern __inline int32x4_t
17101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17102 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __lane)
17104 return __a * __aarch64_vget_lane_any (__b, __lane);
17107 __extension__ extern __inline uint16x8_t
17108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17109 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __lane)
17111 return __a * __aarch64_vget_lane_any (__b, __lane);
17114 __extension__ extern __inline uint32x4_t
17115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17116 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __lane)
17118 return __a * __aarch64_vget_lane_any (__b, __lane);
17121 /* vmulq_laneq */
17123 __extension__ extern __inline float32x4_t
17124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17125 vmulq_laneq_f32 (float32x4_t __a, float32x4_t __b, const int __lane)
17127 return __a * __aarch64_vget_lane_any (__b, __lane);
17130 __extension__ extern __inline float64x2_t
17131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17132 vmulq_laneq_f64 (float64x2_t __a, float64x2_t __b, const int __lane)
17134 return __a * __aarch64_vget_lane_any (__b, __lane);
17137 __extension__ extern __inline int16x8_t
17138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17139 vmulq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __lane)
17141 return __a * __aarch64_vget_lane_any (__b, __lane);
17144 __extension__ extern __inline int32x4_t
17145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17146 vmulq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __lane)
17148 return __a * __aarch64_vget_lane_any (__b, __lane);
17151 __extension__ extern __inline uint16x8_t
17152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17153 vmulq_laneq_u16 (uint16x8_t __a, uint16x8_t __b, const int __lane)
17155 return __a * __aarch64_vget_lane_any (__b, __lane);
17158 __extension__ extern __inline uint32x4_t
17159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17160 vmulq_laneq_u32 (uint32x4_t __a, uint32x4_t __b, const int __lane)
17162 return __a * __aarch64_vget_lane_any (__b, __lane);
17165 /* vmul_n. */
17167 __extension__ extern __inline float32x2_t
17168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17169 vmul_n_f32 (float32x2_t __a, float32_t __b)
17171 return __a * __b;
17174 __extension__ extern __inline float32x4_t
17175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17176 vmulq_n_f32 (float32x4_t __a, float32_t __b)
17178 return __a * __b;
17181 __extension__ extern __inline float64x2_t
17182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17183 vmulq_n_f64 (float64x2_t __a, float64_t __b)
17185 return __a * __b;
17188 __extension__ extern __inline int16x4_t
17189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17190 vmul_n_s16 (int16x4_t __a, int16_t __b)
17192 return __a * __b;
17195 __extension__ extern __inline int16x8_t
17196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17197 vmulq_n_s16 (int16x8_t __a, int16_t __b)
17199 return __a * __b;
17202 __extension__ extern __inline int32x2_t
17203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17204 vmul_n_s32 (int32x2_t __a, int32_t __b)
17206 return __a * __b;
17209 __extension__ extern __inline int32x4_t
17210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17211 vmulq_n_s32 (int32x4_t __a, int32_t __b)
17213 return __a * __b;
17216 __extension__ extern __inline uint16x4_t
17217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17218 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
17220 return __a * __b;
17223 __extension__ extern __inline uint16x8_t
17224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17225 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
17227 return __a * __b;
17230 __extension__ extern __inline uint32x2_t
17231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17232 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
17234 return __a * __b;
17237 __extension__ extern __inline uint32x4_t
17238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17239 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
17241 return __a * __b;
17244 /* vmvn */
17246 __extension__ extern __inline poly8x8_t
17247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17248 vmvn_p8 (poly8x8_t __a)
17250 return (poly8x8_t) ~((int8x8_t) __a);
17253 __extension__ extern __inline int8x8_t
17254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17255 vmvn_s8 (int8x8_t __a)
17257 return ~__a;
17260 __extension__ extern __inline int16x4_t
17261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17262 vmvn_s16 (int16x4_t __a)
17264 return ~__a;
17267 __extension__ extern __inline int32x2_t
17268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17269 vmvn_s32 (int32x2_t __a)
17271 return ~__a;
17274 __extension__ extern __inline uint8x8_t
17275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17276 vmvn_u8 (uint8x8_t __a)
17278 return ~__a;
17281 __extension__ extern __inline uint16x4_t
17282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17283 vmvn_u16 (uint16x4_t __a)
17285 return ~__a;
17288 __extension__ extern __inline uint32x2_t
17289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17290 vmvn_u32 (uint32x2_t __a)
17292 return ~__a;
17295 __extension__ extern __inline poly8x16_t
17296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17297 vmvnq_p8 (poly8x16_t __a)
17299 return (poly8x16_t) ~((int8x16_t) __a);
17302 __extension__ extern __inline int8x16_t
17303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17304 vmvnq_s8 (int8x16_t __a)
17306 return ~__a;
17309 __extension__ extern __inline int16x8_t
17310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17311 vmvnq_s16 (int16x8_t __a)
17313 return ~__a;
17316 __extension__ extern __inline int32x4_t
17317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17318 vmvnq_s32 (int32x4_t __a)
17320 return ~__a;
17323 __extension__ extern __inline uint8x16_t
17324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17325 vmvnq_u8 (uint8x16_t __a)
17327 return ~__a;
17330 __extension__ extern __inline uint16x8_t
17331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17332 vmvnq_u16 (uint16x8_t __a)
17334 return ~__a;
17337 __extension__ extern __inline uint32x4_t
17338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17339 vmvnq_u32 (uint32x4_t __a)
17341 return ~__a;
17344 /* vneg */
17346 __extension__ extern __inline float32x2_t
17347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17348 vneg_f32 (float32x2_t __a)
17350 return -__a;
17353 __extension__ extern __inline float64x1_t
17354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17355 vneg_f64 (float64x1_t __a)
17357 return -__a;
17360 __extension__ extern __inline int8x8_t
17361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17362 vneg_s8 (int8x8_t __a)
17364 return -__a;
17367 __extension__ extern __inline int16x4_t
17368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17369 vneg_s16 (int16x4_t __a)
17371 return -__a;
17374 __extension__ extern __inline int32x2_t
17375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17376 vneg_s32 (int32x2_t __a)
17378 return -__a;
17381 __extension__ extern __inline int64x1_t
17382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17383 vneg_s64 (int64x1_t __a)
17385 return -__a;
17388 /* According to the ACLE, the negative of the minimum (signed)
17389 value is itself. This leads to a semantics mismatch, as this is
17390 undefined behaviour in C. The value range predictor is not
17391 aware that the negation of a negative number can still be negative
17392 and it may try to fold the expression. See the test in
17393 gcc.target/aarch64/vnegd_s64.c for an example.
17395 The cast below tricks the value range predictor to include
17396 INT64_MIN in the range it computes. So for x in the range
17397 [INT64_MIN, y] the range prediction after vnegd_s64 (x) will
17398 be ~[INT64_MIN + 1, y]. */
17400 __extension__ extern __inline int64_t
17401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17402 vnegd_s64 (int64_t __a)
17404 return - (uint64_t) __a;
17407 __extension__ extern __inline float32x4_t
17408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17409 vnegq_f32 (float32x4_t __a)
17411 return -__a;
17414 __extension__ extern __inline float64x2_t
17415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17416 vnegq_f64 (float64x2_t __a)
17418 return -__a;
17421 __extension__ extern __inline int8x16_t
17422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17423 vnegq_s8 (int8x16_t __a)
17425 return -__a;
17428 __extension__ extern __inline int16x8_t
17429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17430 vnegq_s16 (int16x8_t __a)
17432 return -__a;
17435 __extension__ extern __inline int32x4_t
17436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17437 vnegq_s32 (int32x4_t __a)
17439 return -__a;
17442 __extension__ extern __inline int64x2_t
17443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17444 vnegq_s64 (int64x2_t __a)
17446 return -__a;
17449 /* vpadd */
17451 __extension__ extern __inline float32x2_t
17452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17453 vpadd_f32 (float32x2_t __a, float32x2_t __b)
17455 return __builtin_aarch64_faddpv2sf (__a, __b);
17458 __extension__ extern __inline float32x4_t
17459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17460 vpaddq_f32 (float32x4_t __a, float32x4_t __b)
17462 return __builtin_aarch64_faddpv4sf (__a, __b);
17465 __extension__ extern __inline float64x2_t
17466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17467 vpaddq_f64 (float64x2_t __a, float64x2_t __b)
17469 return __builtin_aarch64_faddpv2df (__a, __b);
17472 __extension__ extern __inline int8x8_t
17473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17474 vpadd_s8 (int8x8_t __a, int8x8_t __b)
17476 return __builtin_aarch64_addpv8qi (__a, __b);
17479 __extension__ extern __inline int16x4_t
17480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17481 vpadd_s16 (int16x4_t __a, int16x4_t __b)
17483 return __builtin_aarch64_addpv4hi (__a, __b);
17486 __extension__ extern __inline int32x2_t
17487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17488 vpadd_s32 (int32x2_t __a, int32x2_t __b)
17490 return __builtin_aarch64_addpv2si (__a, __b);
17493 __extension__ extern __inline uint8x8_t
17494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17495 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
17497 return __builtin_aarch64_addpv8qi_uuu (__a, __b);
17500 __extension__ extern __inline uint16x4_t
17501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17502 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
17504 return __builtin_aarch64_addpv4hi_uuu (__a, __b);
17507 __extension__ extern __inline uint32x2_t
17508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17509 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
17511 return __builtin_aarch64_addpv2si_uuu (__a, __b);
17514 __extension__ extern __inline float32_t
17515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17516 vpadds_f32 (float32x2_t __a)
17518 return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
17521 __extension__ extern __inline float64_t
17522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17523 vpaddd_f64 (float64x2_t __a)
17525 return __builtin_aarch64_reduc_plus_scal_v2df (__a);
17528 __extension__ extern __inline int64_t
17529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17530 vpaddd_s64 (int64x2_t __a)
17532 return __builtin_aarch64_reduc_plus_scal_v2di (__a);
17535 __extension__ extern __inline uint64_t
17536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17537 vpaddd_u64 (uint64x2_t __a)
17539 return __builtin_aarch64_reduc_plus_scal_v2di_uu (__a);
17542 /* vqabs */
17544 __extension__ extern __inline int64x2_t
17545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17546 vqabsq_s64 (int64x2_t __a)
17548 return (int64x2_t) __builtin_aarch64_sqabsv2di (__a);
17551 __extension__ extern __inline int8_t
17552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17553 vqabsb_s8 (int8_t __a)
17555 return (int8_t) __builtin_aarch64_sqabsqi (__a);
17558 __extension__ extern __inline int16_t
17559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17560 vqabsh_s16 (int16_t __a)
17562 return (int16_t) __builtin_aarch64_sqabshi (__a);
17565 __extension__ extern __inline int32_t
17566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17567 vqabss_s32 (int32_t __a)
17569 return (int32_t) __builtin_aarch64_sqabssi (__a);
17572 __extension__ extern __inline int64_t
17573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17574 vqabsd_s64 (int64_t __a)
17576 return __builtin_aarch64_sqabsdi (__a);
17579 /* vqadd */
17581 __extension__ extern __inline int8_t
17582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17583 vqaddb_s8 (int8_t __a, int8_t __b)
17585 return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
17588 __extension__ extern __inline int16_t
17589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17590 vqaddh_s16 (int16_t __a, int16_t __b)
17592 return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
17595 __extension__ extern __inline int32_t
17596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17597 vqadds_s32 (int32_t __a, int32_t __b)
17599 return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
17602 __extension__ extern __inline int64_t
17603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17604 vqaddd_s64 (int64_t __a, int64_t __b)
17606 return __builtin_aarch64_sqadddi (__a, __b);
17609 __extension__ extern __inline uint8_t
17610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17611 vqaddb_u8 (uint8_t __a, uint8_t __b)
17613 return (uint8_t) __builtin_aarch64_uqaddqi_uuu (__a, __b);
17616 __extension__ extern __inline uint16_t
17617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17618 vqaddh_u16 (uint16_t __a, uint16_t __b)
17620 return (uint16_t) __builtin_aarch64_uqaddhi_uuu (__a, __b);
17623 __extension__ extern __inline uint32_t
17624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17625 vqadds_u32 (uint32_t __a, uint32_t __b)
17627 return (uint32_t) __builtin_aarch64_uqaddsi_uuu (__a, __b);
17630 __extension__ extern __inline uint64_t
17631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17632 vqaddd_u64 (uint64_t __a, uint64_t __b)
17634 return __builtin_aarch64_uqadddi_uuu (__a, __b);
17637 /* vqdmlal */
17639 __extension__ extern __inline int32x4_t
17640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17641 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
17643 return __builtin_aarch64_sqdmlalv4hi (__a, __b, __c);
17646 __extension__ extern __inline int32x4_t
17647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17648 vqdmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
17650 return __builtin_aarch64_sqdmlal2v8hi (__a, __b, __c);
17653 __extension__ extern __inline int32x4_t
17654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17655 vqdmlal_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
17656 int const __d)
17658 return __builtin_aarch64_sqdmlal2_lanev8hi (__a, __b, __c, __d);
17661 __extension__ extern __inline int32x4_t
17662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17663 vqdmlal_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
17664 int const __d)
17666 return __builtin_aarch64_sqdmlal2_laneqv8hi (__a, __b, __c, __d);
17669 __extension__ extern __inline int32x4_t
17670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17671 vqdmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
17673 return __builtin_aarch64_sqdmlal2_nv8hi (__a, __b, __c);
17676 __extension__ extern __inline int32x4_t
17677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17678 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
17680 return __builtin_aarch64_sqdmlal_lanev4hi (__a, __b, __c, __d);
17683 __extension__ extern __inline int32x4_t
17684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17685 vqdmlal_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
17687 return __builtin_aarch64_sqdmlal_laneqv4hi (__a, __b, __c, __d);
17690 __extension__ extern __inline int32x4_t
17691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17692 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
17694 return __builtin_aarch64_sqdmlal_nv4hi (__a, __b, __c);
17697 __extension__ extern __inline int64x2_t
17698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17699 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
17701 return __builtin_aarch64_sqdmlalv2si (__a, __b, __c);
17704 __extension__ extern __inline int64x2_t
17705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17706 vqdmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
17708 return __builtin_aarch64_sqdmlal2v4si (__a, __b, __c);
17711 __extension__ extern __inline int64x2_t
17712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17713 vqdmlal_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
17714 int const __d)
17716 return __builtin_aarch64_sqdmlal2_lanev4si (__a, __b, __c, __d);
17719 __extension__ extern __inline int64x2_t
17720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17721 vqdmlal_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
17722 int const __d)
17724 return __builtin_aarch64_sqdmlal2_laneqv4si (__a, __b, __c, __d);
17727 __extension__ extern __inline int64x2_t
17728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17729 vqdmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
17731 return __builtin_aarch64_sqdmlal2_nv4si (__a, __b, __c);
17734 __extension__ extern __inline int64x2_t
17735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17736 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
17738 return __builtin_aarch64_sqdmlal_lanev2si (__a, __b, __c, __d);
17741 __extension__ extern __inline int64x2_t
17742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17743 vqdmlal_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
17745 return __builtin_aarch64_sqdmlal_laneqv2si (__a, __b, __c, __d);
17748 __extension__ extern __inline int64x2_t
17749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17750 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
17752 return __builtin_aarch64_sqdmlal_nv2si (__a, __b, __c);
17755 __extension__ extern __inline int32_t
17756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17757 vqdmlalh_s16 (int32_t __a, int16_t __b, int16_t __c)
17759 return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
17762 __extension__ extern __inline int32_t
17763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17764 vqdmlalh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
17766 return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
17769 __extension__ extern __inline int32_t
17770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17771 vqdmlalh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
17773 return __builtin_aarch64_sqdmlal_laneqhi (__a, __b, __c, __d);
17776 __extension__ extern __inline int64_t
17777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17778 vqdmlals_s32 (int64_t __a, int32_t __b, int32_t __c)
17780 return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
17783 __extension__ extern __inline int64_t
17784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17785 vqdmlals_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
17787 return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
17790 __extension__ extern __inline int64_t
17791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17792 vqdmlals_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
17794 return __builtin_aarch64_sqdmlal_laneqsi (__a, __b, __c, __d);
17797 /* vqdmlsl */
17799 __extension__ extern __inline int32x4_t
17800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17801 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
17803 return __builtin_aarch64_sqdmlslv4hi (__a, __b, __c);
17806 __extension__ extern __inline int32x4_t
17807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17808 vqdmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
17810 return __builtin_aarch64_sqdmlsl2v8hi (__a, __b, __c);
17813 __extension__ extern __inline int32x4_t
17814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17815 vqdmlsl_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
17816 int const __d)
17818 return __builtin_aarch64_sqdmlsl2_lanev8hi (__a, __b, __c, __d);
17821 __extension__ extern __inline int32x4_t
17822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17823 vqdmlsl_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
17824 int const __d)
17826 return __builtin_aarch64_sqdmlsl2_laneqv8hi (__a, __b, __c, __d);
17829 __extension__ extern __inline int32x4_t
17830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17831 vqdmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
17833 return __builtin_aarch64_sqdmlsl2_nv8hi (__a, __b, __c);
17836 __extension__ extern __inline int32x4_t
17837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17838 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
17840 return __builtin_aarch64_sqdmlsl_lanev4hi (__a, __b, __c, __d);
17843 __extension__ extern __inline int32x4_t
17844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17845 vqdmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
17847 return __builtin_aarch64_sqdmlsl_laneqv4hi (__a, __b, __c, __d);
17850 __extension__ extern __inline int32x4_t
17851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17852 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
17854 return __builtin_aarch64_sqdmlsl_nv4hi (__a, __b, __c);
17857 __extension__ extern __inline int64x2_t
17858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17859 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
17861 return __builtin_aarch64_sqdmlslv2si (__a, __b, __c);
17864 __extension__ extern __inline int64x2_t
17865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17866 vqdmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
17868 return __builtin_aarch64_sqdmlsl2v4si (__a, __b, __c);
17871 __extension__ extern __inline int64x2_t
17872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17873 vqdmlsl_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
17874 int const __d)
17876 return __builtin_aarch64_sqdmlsl2_lanev4si (__a, __b, __c, __d);
17879 __extension__ extern __inline int64x2_t
17880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17881 vqdmlsl_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
17882 int const __d)
17884 return __builtin_aarch64_sqdmlsl2_laneqv4si (__a, __b, __c, __d);
17887 __extension__ extern __inline int64x2_t
17888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17889 vqdmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
17891 return __builtin_aarch64_sqdmlsl2_nv4si (__a, __b, __c);
17894 __extension__ extern __inline int64x2_t
17895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17896 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
17898 return __builtin_aarch64_sqdmlsl_lanev2si (__a, __b, __c, __d);
17901 __extension__ extern __inline int64x2_t
17902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17903 vqdmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
17905 return __builtin_aarch64_sqdmlsl_laneqv2si (__a, __b, __c, __d);
17908 __extension__ extern __inline int64x2_t
17909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17910 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
17912 return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
17915 __extension__ extern __inline int32_t
17916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17917 vqdmlslh_s16 (int32_t __a, int16_t __b, int16_t __c)
17919 return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
17922 __extension__ extern __inline int32_t
17923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17924 vqdmlslh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
17926 return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
17929 __extension__ extern __inline int32_t
17930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17931 vqdmlslh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
17933 return __builtin_aarch64_sqdmlsl_laneqhi (__a, __b, __c, __d);
17936 __extension__ extern __inline int64_t
17937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17938 vqdmlsls_s32 (int64_t __a, int32_t __b, int32_t __c)
17940 return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
17943 __extension__ extern __inline int64_t
17944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17945 vqdmlsls_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
17947 return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
17950 __extension__ extern __inline int64_t
17951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17952 vqdmlsls_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
17954 return __builtin_aarch64_sqdmlsl_laneqsi (__a, __b, __c, __d);
17957 /* vqdmulh */
17959 __extension__ extern __inline int16x4_t
17960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17961 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
17963 return __builtin_aarch64_sqdmulh_lanev4hi (__a, __b, __c);
17966 __extension__ extern __inline int32x2_t
17967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17968 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
17970 return __builtin_aarch64_sqdmulh_lanev2si (__a, __b, __c);
17973 __extension__ extern __inline int16x8_t
17974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17975 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
17977 return __builtin_aarch64_sqdmulh_lanev8hi (__a, __b, __c);
17980 __extension__ extern __inline int32x4_t
17981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17982 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
17984 return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
17987 __extension__ extern __inline int16_t
17988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17989 vqdmulhh_s16 (int16_t __a, int16_t __b)
17991 return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
17994 __extension__ extern __inline int16_t
17995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
17996 vqdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
17998 return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
18001 __extension__ extern __inline int16_t
18002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18003 vqdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
18005 return __builtin_aarch64_sqdmulh_laneqhi (__a, __b, __c);
18008 __extension__ extern __inline int32_t
18009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18010 vqdmulhs_s32 (int32_t __a, int32_t __b)
18012 return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
18015 __extension__ extern __inline int32_t
18016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18017 vqdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
18019 return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
18022 __extension__ extern __inline int32_t
18023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18024 vqdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
18026 return __builtin_aarch64_sqdmulh_laneqsi (__a, __b, __c);
18029 /* vqdmull */
18031 __extension__ extern __inline int32x4_t
18032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18033 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
18035 return __builtin_aarch64_sqdmullv4hi (__a, __b);
18038 __extension__ extern __inline int32x4_t
18039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18040 vqdmull_high_s16 (int16x8_t __a, int16x8_t __b)
18042 return __builtin_aarch64_sqdmull2v8hi (__a, __b);
18045 __extension__ extern __inline int32x4_t
18046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18047 vqdmull_high_lane_s16 (int16x8_t __a, int16x4_t __b, int const __c)
18049 return __builtin_aarch64_sqdmull2_lanev8hi (__a, __b,__c);
18052 __extension__ extern __inline int32x4_t
18053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18054 vqdmull_high_laneq_s16 (int16x8_t __a, int16x8_t __b, int const __c)
18056 return __builtin_aarch64_sqdmull2_laneqv8hi (__a, __b,__c);
18059 __extension__ extern __inline int32x4_t
18060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18061 vqdmull_high_n_s16 (int16x8_t __a, int16_t __b)
18063 return __builtin_aarch64_sqdmull2_nv8hi (__a, __b);
18066 __extension__ extern __inline int32x4_t
18067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18068 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, int const __c)
18070 return __builtin_aarch64_sqdmull_lanev4hi (__a, __b, __c);
18073 __extension__ extern __inline int32x4_t
18074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18075 vqdmull_laneq_s16 (int16x4_t __a, int16x8_t __b, int const __c)
18077 return __builtin_aarch64_sqdmull_laneqv4hi (__a, __b, __c);
18080 __extension__ extern __inline int32x4_t
18081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18082 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
18084 return __builtin_aarch64_sqdmull_nv4hi (__a, __b);
18087 __extension__ extern __inline int64x2_t
18088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18089 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
18091 return __builtin_aarch64_sqdmullv2si (__a, __b);
18094 __extension__ extern __inline int64x2_t
18095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18096 vqdmull_high_s32 (int32x4_t __a, int32x4_t __b)
18098 return __builtin_aarch64_sqdmull2v4si (__a, __b);
18101 __extension__ extern __inline int64x2_t
18102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18103 vqdmull_high_lane_s32 (int32x4_t __a, int32x2_t __b, int const __c)
18105 return __builtin_aarch64_sqdmull2_lanev4si (__a, __b, __c);
18108 __extension__ extern __inline int64x2_t
18109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18110 vqdmull_high_laneq_s32 (int32x4_t __a, int32x4_t __b, int const __c)
18112 return __builtin_aarch64_sqdmull2_laneqv4si (__a, __b, __c);
18115 __extension__ extern __inline int64x2_t
18116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18117 vqdmull_high_n_s32 (int32x4_t __a, int32_t __b)
18119 return __builtin_aarch64_sqdmull2_nv4si (__a, __b);
18122 __extension__ extern __inline int64x2_t
18123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18124 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, int const __c)
18126 return __builtin_aarch64_sqdmull_lanev2si (__a, __b, __c);
18129 __extension__ extern __inline int64x2_t
18130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18131 vqdmull_laneq_s32 (int32x2_t __a, int32x4_t __b, int const __c)
18133 return __builtin_aarch64_sqdmull_laneqv2si (__a, __b, __c);
18136 __extension__ extern __inline int64x2_t
18137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18138 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
18140 return __builtin_aarch64_sqdmull_nv2si (__a, __b);
18143 __extension__ extern __inline int32_t
18144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18145 vqdmullh_s16 (int16_t __a, int16_t __b)
18147 return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
18150 __extension__ extern __inline int32_t
18151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18152 vqdmullh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
18154 return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
18157 __extension__ extern __inline int32_t
18158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18159 vqdmullh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
18161 return __builtin_aarch64_sqdmull_laneqhi (__a, __b, __c);
18164 __extension__ extern __inline int64_t
18165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18166 vqdmulls_s32 (int32_t __a, int32_t __b)
18168 return __builtin_aarch64_sqdmullsi (__a, __b);
18171 __extension__ extern __inline int64_t
18172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18173 vqdmulls_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
18175 return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
18178 __extension__ extern __inline int64_t
18179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18180 vqdmulls_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
18182 return __builtin_aarch64_sqdmull_laneqsi (__a, __b, __c);
18185 /* vqmovn */
18187 __extension__ extern __inline int8x8_t
18188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18189 vqmovn_s16 (int16x8_t __a)
18191 return (int8x8_t) __builtin_aarch64_sqmovnv8hi (__a);
18194 __extension__ extern __inline int16x4_t
18195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18196 vqmovn_s32 (int32x4_t __a)
18198 return (int16x4_t) __builtin_aarch64_sqmovnv4si (__a);
18201 __extension__ extern __inline int32x2_t
18202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18203 vqmovn_s64 (int64x2_t __a)
18205 return (int32x2_t) __builtin_aarch64_sqmovnv2di (__a);
18208 __extension__ extern __inline uint8x8_t
18209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18210 vqmovn_u16 (uint16x8_t __a)
18212 return (uint8x8_t) __builtin_aarch64_uqmovnv8hi ((int16x8_t) __a);
18215 __extension__ extern __inline uint16x4_t
18216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18217 vqmovn_u32 (uint32x4_t __a)
18219 return (uint16x4_t) __builtin_aarch64_uqmovnv4si ((int32x4_t) __a);
18222 __extension__ extern __inline uint32x2_t
18223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18224 vqmovn_u64 (uint64x2_t __a)
18226 return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
18229 __extension__ extern __inline int8_t
18230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18231 vqmovnh_s16 (int16_t __a)
18233 return (int8_t) __builtin_aarch64_sqmovnhi (__a);
18236 __extension__ extern __inline int16_t
18237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18238 vqmovns_s32 (int32_t __a)
18240 return (int16_t) __builtin_aarch64_sqmovnsi (__a);
18243 __extension__ extern __inline int32_t
18244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18245 vqmovnd_s64 (int64_t __a)
18247 return (int32_t) __builtin_aarch64_sqmovndi (__a);
18250 __extension__ extern __inline uint8_t
18251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18252 vqmovnh_u16 (uint16_t __a)
18254 return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
18257 __extension__ extern __inline uint16_t
18258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18259 vqmovns_u32 (uint32_t __a)
18261 return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
18264 __extension__ extern __inline uint32_t
18265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18266 vqmovnd_u64 (uint64_t __a)
18268 return (uint32_t) __builtin_aarch64_uqmovndi (__a);
18271 /* vqmovun */
18273 __extension__ extern __inline uint8x8_t
18274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18275 vqmovun_s16 (int16x8_t __a)
18277 return __builtin_aarch64_sqmovunv8hi_us (__a);
18280 __extension__ extern __inline uint16x4_t
18281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18282 vqmovun_s32 (int32x4_t __a)
18284 return __builtin_aarch64_sqmovunv4si_us (__a);
18287 __extension__ extern __inline uint32x2_t
18288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18289 vqmovun_s64 (int64x2_t __a)
18291 return __builtin_aarch64_sqmovunv2di_us (__a);
18294 __extension__ extern __inline uint8_t
18295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18296 vqmovunh_s16 (int16_t __a)
18298 return __builtin_aarch64_sqmovunhi_us (__a);
18301 __extension__ extern __inline uint16_t
18302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18303 vqmovuns_s32 (int32_t __a)
18305 return __builtin_aarch64_sqmovunsi_us (__a);
18308 __extension__ extern __inline uint32_t
18309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18310 vqmovund_s64 (int64_t __a)
18312 return __builtin_aarch64_sqmovundi_us (__a);
18315 /* vqneg */
18317 __extension__ extern __inline int64x2_t
18318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18319 vqnegq_s64 (int64x2_t __a)
18321 return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
18324 __extension__ extern __inline int8_t
18325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18326 vqnegb_s8 (int8_t __a)
18328 return (int8_t) __builtin_aarch64_sqnegqi (__a);
18331 __extension__ extern __inline int16_t
18332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18333 vqnegh_s16 (int16_t __a)
18335 return (int16_t) __builtin_aarch64_sqneghi (__a);
18338 __extension__ extern __inline int32_t
18339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18340 vqnegs_s32 (int32_t __a)
18342 return (int32_t) __builtin_aarch64_sqnegsi (__a);
18345 __extension__ extern __inline int64_t
18346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18347 vqnegd_s64 (int64_t __a)
18349 return __builtin_aarch64_sqnegdi (__a);
18352 /* vqrdmulh */
18354 __extension__ extern __inline int16x4_t
18355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18356 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
18358 return __builtin_aarch64_sqrdmulh_lanev4hi (__a, __b, __c);
18361 __extension__ extern __inline int32x2_t
18362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18363 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
18365 return __builtin_aarch64_sqrdmulh_lanev2si (__a, __b, __c);
18368 __extension__ extern __inline int16x8_t
18369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18370 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
18372 return __builtin_aarch64_sqrdmulh_lanev8hi (__a, __b, __c);
18375 __extension__ extern __inline int32x4_t
18376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18377 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
18379 return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
18382 __extension__ extern __inline int16_t
18383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18384 vqrdmulhh_s16 (int16_t __a, int16_t __b)
18386 return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
18389 __extension__ extern __inline int16_t
18390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18391 vqrdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
18393 return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
18396 __extension__ extern __inline int16_t
18397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18398 vqrdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
18400 return __builtin_aarch64_sqrdmulh_laneqhi (__a, __b, __c);
18403 __extension__ extern __inline int32_t
18404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18405 vqrdmulhs_s32 (int32_t __a, int32_t __b)
18407 return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
18410 __extension__ extern __inline int32_t
18411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18412 vqrdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
18414 return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
18417 __extension__ extern __inline int32_t
18418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18419 vqrdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
18421 return __builtin_aarch64_sqrdmulh_laneqsi (__a, __b, __c);
18424 /* vqrshl */
18426 __extension__ extern __inline int8x8_t
18427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18428 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
18430 return __builtin_aarch64_sqrshlv8qi (__a, __b);
18433 __extension__ extern __inline int16x4_t
18434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18435 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
18437 return __builtin_aarch64_sqrshlv4hi (__a, __b);
18440 __extension__ extern __inline int32x2_t
18441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18442 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
18444 return __builtin_aarch64_sqrshlv2si (__a, __b);
18447 __extension__ extern __inline int64x1_t
18448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18449 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
18451 return (int64x1_t) {__builtin_aarch64_sqrshldi (__a[0], __b[0])};
18454 __extension__ extern __inline uint8x8_t
18455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18456 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
18458 return __builtin_aarch64_uqrshlv8qi_uus ( __a, __b);
18461 __extension__ extern __inline uint16x4_t
18462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18463 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
18465 return __builtin_aarch64_uqrshlv4hi_uus ( __a, __b);
18468 __extension__ extern __inline uint32x2_t
18469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18470 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
18472 return __builtin_aarch64_uqrshlv2si_uus ( __a, __b);
18475 __extension__ extern __inline uint64x1_t
18476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18477 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
18479 return (uint64x1_t) {__builtin_aarch64_uqrshldi_uus (__a[0], __b[0])};
18482 __extension__ extern __inline int8x16_t
18483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18484 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
18486 return __builtin_aarch64_sqrshlv16qi (__a, __b);
18489 __extension__ extern __inline int16x8_t
18490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18491 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
18493 return __builtin_aarch64_sqrshlv8hi (__a, __b);
18496 __extension__ extern __inline int32x4_t
18497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18498 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
18500 return __builtin_aarch64_sqrshlv4si (__a, __b);
18503 __extension__ extern __inline int64x2_t
18504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18505 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
18507 return __builtin_aarch64_sqrshlv2di (__a, __b);
18510 __extension__ extern __inline uint8x16_t
18511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18512 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
18514 return __builtin_aarch64_uqrshlv16qi_uus ( __a, __b);
18517 __extension__ extern __inline uint16x8_t
18518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18519 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
18521 return __builtin_aarch64_uqrshlv8hi_uus ( __a, __b);
18524 __extension__ extern __inline uint32x4_t
18525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18526 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
18528 return __builtin_aarch64_uqrshlv4si_uus ( __a, __b);
18531 __extension__ extern __inline uint64x2_t
18532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18533 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
18535 return __builtin_aarch64_uqrshlv2di_uus ( __a, __b);
18538 __extension__ extern __inline int8_t
18539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18540 vqrshlb_s8 (int8_t __a, int8_t __b)
18542 return __builtin_aarch64_sqrshlqi (__a, __b);
18545 __extension__ extern __inline int16_t
18546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18547 vqrshlh_s16 (int16_t __a, int16_t __b)
18549 return __builtin_aarch64_sqrshlhi (__a, __b);
18552 __extension__ extern __inline int32_t
18553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18554 vqrshls_s32 (int32_t __a, int32_t __b)
18556 return __builtin_aarch64_sqrshlsi (__a, __b);
18559 __extension__ extern __inline int64_t
18560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18561 vqrshld_s64 (int64_t __a, int64_t __b)
18563 return __builtin_aarch64_sqrshldi (__a, __b);
18566 __extension__ extern __inline uint8_t
18567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18568 vqrshlb_u8 (uint8_t __a, int8_t __b)
18570 return __builtin_aarch64_uqrshlqi_uus (__a, __b);
18573 __extension__ extern __inline uint16_t
18574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18575 vqrshlh_u16 (uint16_t __a, int16_t __b)
18577 return __builtin_aarch64_uqrshlhi_uus (__a, __b);
18580 __extension__ extern __inline uint32_t
18581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18582 vqrshls_u32 (uint32_t __a, int32_t __b)
18584 return __builtin_aarch64_uqrshlsi_uus (__a, __b);
18587 __extension__ extern __inline uint64_t
18588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18589 vqrshld_u64 (uint64_t __a, int64_t __b)
18591 return __builtin_aarch64_uqrshldi_uus (__a, __b);
18594 /* vqrshrn */
18596 __extension__ extern __inline int8x8_t
18597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18598 vqrshrn_n_s16 (int16x8_t __a, const int __b)
18600 return (int8x8_t) __builtin_aarch64_sqrshrn_nv8hi (__a, __b);
18603 __extension__ extern __inline int16x4_t
18604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18605 vqrshrn_n_s32 (int32x4_t __a, const int __b)
18607 return (int16x4_t) __builtin_aarch64_sqrshrn_nv4si (__a, __b);
18610 __extension__ extern __inline int32x2_t
18611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18612 vqrshrn_n_s64 (int64x2_t __a, const int __b)
18614 return (int32x2_t) __builtin_aarch64_sqrshrn_nv2di (__a, __b);
18617 __extension__ extern __inline uint8x8_t
18618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18619 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
18621 return __builtin_aarch64_uqrshrn_nv8hi_uus ( __a, __b);
18624 __extension__ extern __inline uint16x4_t
18625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18626 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
18628 return __builtin_aarch64_uqrshrn_nv4si_uus ( __a, __b);
18631 __extension__ extern __inline uint32x2_t
18632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18633 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
18635 return __builtin_aarch64_uqrshrn_nv2di_uus ( __a, __b);
18638 __extension__ extern __inline int8_t
18639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18640 vqrshrnh_n_s16 (int16_t __a, const int __b)
18642 return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
18645 __extension__ extern __inline int16_t
18646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18647 vqrshrns_n_s32 (int32_t __a, const int __b)
18649 return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
18652 __extension__ extern __inline int32_t
18653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18654 vqrshrnd_n_s64 (int64_t __a, const int __b)
18656 return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
18659 __extension__ extern __inline uint8_t
18660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18661 vqrshrnh_n_u16 (uint16_t __a, const int __b)
18663 return __builtin_aarch64_uqrshrn_nhi_uus (__a, __b);
18666 __extension__ extern __inline uint16_t
18667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18668 vqrshrns_n_u32 (uint32_t __a, const int __b)
18670 return __builtin_aarch64_uqrshrn_nsi_uus (__a, __b);
18673 __extension__ extern __inline uint32_t
18674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18675 vqrshrnd_n_u64 (uint64_t __a, const int __b)
18677 return __builtin_aarch64_uqrshrn_ndi_uus (__a, __b);
18680 /* vqrshrun */
18682 __extension__ extern __inline uint8x8_t
18683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18684 vqrshrun_n_s16 (int16x8_t __a, const int __b)
18686 return (uint8x8_t) __builtin_aarch64_sqrshrun_nv8hi (__a, __b);
18689 __extension__ extern __inline uint16x4_t
18690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18691 vqrshrun_n_s32 (int32x4_t __a, const int __b)
18693 return (uint16x4_t) __builtin_aarch64_sqrshrun_nv4si (__a, __b);
18696 __extension__ extern __inline uint32x2_t
18697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18698 vqrshrun_n_s64 (int64x2_t __a, const int __b)
18700 return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
18703 __extension__ extern __inline int8_t
18704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18705 vqrshrunh_n_s16 (int16_t __a, const int __b)
18707 return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
18710 __extension__ extern __inline int16_t
18711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18712 vqrshruns_n_s32 (int32_t __a, const int __b)
18714 return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
18717 __extension__ extern __inline int32_t
18718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18719 vqrshrund_n_s64 (int64_t __a, const int __b)
18721 return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
18724 /* vqshl */
18726 __extension__ extern __inline int8x8_t
18727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18728 vqshl_s8 (int8x8_t __a, int8x8_t __b)
18730 return __builtin_aarch64_sqshlv8qi (__a, __b);
18733 __extension__ extern __inline int16x4_t
18734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18735 vqshl_s16 (int16x4_t __a, int16x4_t __b)
18737 return __builtin_aarch64_sqshlv4hi (__a, __b);
18740 __extension__ extern __inline int32x2_t
18741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18742 vqshl_s32 (int32x2_t __a, int32x2_t __b)
18744 return __builtin_aarch64_sqshlv2si (__a, __b);
18747 __extension__ extern __inline int64x1_t
18748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18749 vqshl_s64 (int64x1_t __a, int64x1_t __b)
18751 return (int64x1_t) {__builtin_aarch64_sqshldi (__a[0], __b[0])};
18754 __extension__ extern __inline uint8x8_t
18755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18756 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
18758 return __builtin_aarch64_uqshlv8qi_uus ( __a, __b);
18761 __extension__ extern __inline uint16x4_t
18762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18763 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
18765 return __builtin_aarch64_uqshlv4hi_uus ( __a, __b);
18768 __extension__ extern __inline uint32x2_t
18769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18770 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
18772 return __builtin_aarch64_uqshlv2si_uus ( __a, __b);
18775 __extension__ extern __inline uint64x1_t
18776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18777 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
18779 return (uint64x1_t) {__builtin_aarch64_uqshldi_uus (__a[0], __b[0])};
18782 __extension__ extern __inline int8x16_t
18783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18784 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
18786 return __builtin_aarch64_sqshlv16qi (__a, __b);
18789 __extension__ extern __inline int16x8_t
18790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18791 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
18793 return __builtin_aarch64_sqshlv8hi (__a, __b);
18796 __extension__ extern __inline int32x4_t
18797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18798 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
18800 return __builtin_aarch64_sqshlv4si (__a, __b);
18803 __extension__ extern __inline int64x2_t
18804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18805 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
18807 return __builtin_aarch64_sqshlv2di (__a, __b);
18810 __extension__ extern __inline uint8x16_t
18811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18812 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
18814 return __builtin_aarch64_uqshlv16qi_uus ( __a, __b);
18817 __extension__ extern __inline uint16x8_t
18818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18819 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
18821 return __builtin_aarch64_uqshlv8hi_uus ( __a, __b);
18824 __extension__ extern __inline uint32x4_t
18825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18826 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
18828 return __builtin_aarch64_uqshlv4si_uus ( __a, __b);
18831 __extension__ extern __inline uint64x2_t
18832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18833 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
18835 return __builtin_aarch64_uqshlv2di_uus ( __a, __b);
18838 __extension__ extern __inline int8_t
18839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18840 vqshlb_s8 (int8_t __a, int8_t __b)
18842 return __builtin_aarch64_sqshlqi (__a, __b);
18845 __extension__ extern __inline int16_t
18846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18847 vqshlh_s16 (int16_t __a, int16_t __b)
18849 return __builtin_aarch64_sqshlhi (__a, __b);
18852 __extension__ extern __inline int32_t
18853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18854 vqshls_s32 (int32_t __a, int32_t __b)
18856 return __builtin_aarch64_sqshlsi (__a, __b);
18859 __extension__ extern __inline int64_t
18860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18861 vqshld_s64 (int64_t __a, int64_t __b)
18863 return __builtin_aarch64_sqshldi (__a, __b);
18866 __extension__ extern __inline uint8_t
18867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18868 vqshlb_u8 (uint8_t __a, int8_t __b)
18870 return __builtin_aarch64_uqshlqi_uus (__a, __b);
18873 __extension__ extern __inline uint16_t
18874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18875 vqshlh_u16 (uint16_t __a, int16_t __b)
18877 return __builtin_aarch64_uqshlhi_uus (__a, __b);
18880 __extension__ extern __inline uint32_t
18881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18882 vqshls_u32 (uint32_t __a, int32_t __b)
18884 return __builtin_aarch64_uqshlsi_uus (__a, __b);
18887 __extension__ extern __inline uint64_t
18888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18889 vqshld_u64 (uint64_t __a, int64_t __b)
18891 return __builtin_aarch64_uqshldi_uus (__a, __b);
18894 __extension__ extern __inline int8x8_t
18895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18896 vqshl_n_s8 (int8x8_t __a, const int __b)
18898 return (int8x8_t) __builtin_aarch64_sqshl_nv8qi (__a, __b);
18901 __extension__ extern __inline int16x4_t
18902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18903 vqshl_n_s16 (int16x4_t __a, const int __b)
18905 return (int16x4_t) __builtin_aarch64_sqshl_nv4hi (__a, __b);
18908 __extension__ extern __inline int32x2_t
18909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18910 vqshl_n_s32 (int32x2_t __a, const int __b)
18912 return (int32x2_t) __builtin_aarch64_sqshl_nv2si (__a, __b);
18915 __extension__ extern __inline int64x1_t
18916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18917 vqshl_n_s64 (int64x1_t __a, const int __b)
18919 return (int64x1_t) {__builtin_aarch64_sqshl_ndi (__a[0], __b)};
18922 __extension__ extern __inline uint8x8_t
18923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18924 vqshl_n_u8 (uint8x8_t __a, const int __b)
18926 return __builtin_aarch64_uqshl_nv8qi_uus (__a, __b);
18929 __extension__ extern __inline uint16x4_t
18930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18931 vqshl_n_u16 (uint16x4_t __a, const int __b)
18933 return __builtin_aarch64_uqshl_nv4hi_uus (__a, __b);
18936 __extension__ extern __inline uint32x2_t
18937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18938 vqshl_n_u32 (uint32x2_t __a, const int __b)
18940 return __builtin_aarch64_uqshl_nv2si_uus (__a, __b);
18943 __extension__ extern __inline uint64x1_t
18944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18945 vqshl_n_u64 (uint64x1_t __a, const int __b)
18947 return (uint64x1_t) {__builtin_aarch64_uqshl_ndi_uus (__a[0], __b)};
18950 __extension__ extern __inline int8x16_t
18951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18952 vqshlq_n_s8 (int8x16_t __a, const int __b)
18954 return (int8x16_t) __builtin_aarch64_sqshl_nv16qi (__a, __b);
18957 __extension__ extern __inline int16x8_t
18958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18959 vqshlq_n_s16 (int16x8_t __a, const int __b)
18961 return (int16x8_t) __builtin_aarch64_sqshl_nv8hi (__a, __b);
18964 __extension__ extern __inline int32x4_t
18965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18966 vqshlq_n_s32 (int32x4_t __a, const int __b)
18968 return (int32x4_t) __builtin_aarch64_sqshl_nv4si (__a, __b);
18971 __extension__ extern __inline int64x2_t
18972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18973 vqshlq_n_s64 (int64x2_t __a, const int __b)
18975 return (int64x2_t) __builtin_aarch64_sqshl_nv2di (__a, __b);
18978 __extension__ extern __inline uint8x16_t
18979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18980 vqshlq_n_u8 (uint8x16_t __a, const int __b)
18982 return __builtin_aarch64_uqshl_nv16qi_uus (__a, __b);
18985 __extension__ extern __inline uint16x8_t
18986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18987 vqshlq_n_u16 (uint16x8_t __a, const int __b)
18989 return __builtin_aarch64_uqshl_nv8hi_uus (__a, __b);
18992 __extension__ extern __inline uint32x4_t
18993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
18994 vqshlq_n_u32 (uint32x4_t __a, const int __b)
18996 return __builtin_aarch64_uqshl_nv4si_uus (__a, __b);
18999 __extension__ extern __inline uint64x2_t
19000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19001 vqshlq_n_u64 (uint64x2_t __a, const int __b)
19003 return __builtin_aarch64_uqshl_nv2di_uus (__a, __b);
19006 __extension__ extern __inline int8_t
19007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19008 vqshlb_n_s8 (int8_t __a, const int __b)
19010 return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
19013 __extension__ extern __inline int16_t
19014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19015 vqshlh_n_s16 (int16_t __a, const int __b)
19017 return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
19020 __extension__ extern __inline int32_t
19021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19022 vqshls_n_s32 (int32_t __a, const int __b)
19024 return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
19027 __extension__ extern __inline int64_t
19028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19029 vqshld_n_s64 (int64_t __a, const int __b)
19031 return __builtin_aarch64_sqshl_ndi (__a, __b);
19034 __extension__ extern __inline uint8_t
19035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19036 vqshlb_n_u8 (uint8_t __a, const int __b)
19038 return __builtin_aarch64_uqshl_nqi_uus (__a, __b);
19041 __extension__ extern __inline uint16_t
19042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19043 vqshlh_n_u16 (uint16_t __a, const int __b)
19045 return __builtin_aarch64_uqshl_nhi_uus (__a, __b);
19048 __extension__ extern __inline uint32_t
19049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19050 vqshls_n_u32 (uint32_t __a, const int __b)
19052 return __builtin_aarch64_uqshl_nsi_uus (__a, __b);
19055 __extension__ extern __inline uint64_t
19056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19057 vqshld_n_u64 (uint64_t __a, const int __b)
19059 return __builtin_aarch64_uqshl_ndi_uus (__a, __b);
19062 /* vqshlu */
19064 __extension__ extern __inline uint8x8_t
19065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19066 vqshlu_n_s8 (int8x8_t __a, const int __b)
19068 return __builtin_aarch64_sqshlu_nv8qi_uss (__a, __b);
19071 __extension__ extern __inline uint16x4_t
19072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19073 vqshlu_n_s16 (int16x4_t __a, const int __b)
19075 return __builtin_aarch64_sqshlu_nv4hi_uss (__a, __b);
19078 __extension__ extern __inline uint32x2_t
19079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19080 vqshlu_n_s32 (int32x2_t __a, const int __b)
19082 return __builtin_aarch64_sqshlu_nv2si_uss (__a, __b);
19085 __extension__ extern __inline uint64x1_t
19086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19087 vqshlu_n_s64 (int64x1_t __a, const int __b)
19089 return (uint64x1_t) {__builtin_aarch64_sqshlu_ndi_uss (__a[0], __b)};
19092 __extension__ extern __inline uint8x16_t
19093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19094 vqshluq_n_s8 (int8x16_t __a, const int __b)
19096 return __builtin_aarch64_sqshlu_nv16qi_uss (__a, __b);
19099 __extension__ extern __inline uint16x8_t
19100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19101 vqshluq_n_s16 (int16x8_t __a, const int __b)
19103 return __builtin_aarch64_sqshlu_nv8hi_uss (__a, __b);
19106 __extension__ extern __inline uint32x4_t
19107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19108 vqshluq_n_s32 (int32x4_t __a, const int __b)
19110 return __builtin_aarch64_sqshlu_nv4si_uss (__a, __b);
19113 __extension__ extern __inline uint64x2_t
19114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19115 vqshluq_n_s64 (int64x2_t __a, const int __b)
19117 return __builtin_aarch64_sqshlu_nv2di_uss (__a, __b);
19120 __extension__ extern __inline int8_t
19121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19122 vqshlub_n_s8 (int8_t __a, const int __b)
19124 return (int8_t) __builtin_aarch64_sqshlu_nqi_uss (__a, __b);
19127 __extension__ extern __inline int16_t
19128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19129 vqshluh_n_s16 (int16_t __a, const int __b)
19131 return (int16_t) __builtin_aarch64_sqshlu_nhi_uss (__a, __b);
19134 __extension__ extern __inline int32_t
19135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19136 vqshlus_n_s32 (int32_t __a, const int __b)
19138 return (int32_t) __builtin_aarch64_sqshlu_nsi_uss (__a, __b);
19141 __extension__ extern __inline uint64_t
19142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19143 vqshlud_n_s64 (int64_t __a, const int __b)
19145 return __builtin_aarch64_sqshlu_ndi_uss (__a, __b);
19148 /* vqshrn */
19150 __extension__ extern __inline int8x8_t
19151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19152 vqshrn_n_s16 (int16x8_t __a, const int __b)
19154 return (int8x8_t) __builtin_aarch64_sqshrn_nv8hi (__a, __b);
19157 __extension__ extern __inline int16x4_t
19158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19159 vqshrn_n_s32 (int32x4_t __a, const int __b)
19161 return (int16x4_t) __builtin_aarch64_sqshrn_nv4si (__a, __b);
19164 __extension__ extern __inline int32x2_t
19165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19166 vqshrn_n_s64 (int64x2_t __a, const int __b)
19168 return (int32x2_t) __builtin_aarch64_sqshrn_nv2di (__a, __b);
19171 __extension__ extern __inline uint8x8_t
19172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19173 vqshrn_n_u16 (uint16x8_t __a, const int __b)
19175 return __builtin_aarch64_uqshrn_nv8hi_uus ( __a, __b);
19178 __extension__ extern __inline uint16x4_t
19179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19180 vqshrn_n_u32 (uint32x4_t __a, const int __b)
19182 return __builtin_aarch64_uqshrn_nv4si_uus ( __a, __b);
19185 __extension__ extern __inline uint32x2_t
19186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19187 vqshrn_n_u64 (uint64x2_t __a, const int __b)
19189 return __builtin_aarch64_uqshrn_nv2di_uus ( __a, __b);
19192 __extension__ extern __inline int8_t
19193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19194 vqshrnh_n_s16 (int16_t __a, const int __b)
19196 return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
19199 __extension__ extern __inline int16_t
19200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19201 vqshrns_n_s32 (int32_t __a, const int __b)
19203 return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
19206 __extension__ extern __inline int32_t
19207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19208 vqshrnd_n_s64 (int64_t __a, const int __b)
19210 return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
19213 __extension__ extern __inline uint8_t
19214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19215 vqshrnh_n_u16 (uint16_t __a, const int __b)
19217 return __builtin_aarch64_uqshrn_nhi_uus (__a, __b);
19220 __extension__ extern __inline uint16_t
19221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19222 vqshrns_n_u32 (uint32_t __a, const int __b)
19224 return __builtin_aarch64_uqshrn_nsi_uus (__a, __b);
19227 __extension__ extern __inline uint32_t
19228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19229 vqshrnd_n_u64 (uint64_t __a, const int __b)
19231 return __builtin_aarch64_uqshrn_ndi_uus (__a, __b);
19234 /* vqshrun */
19236 __extension__ extern __inline uint8x8_t
19237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19238 vqshrun_n_s16 (int16x8_t __a, const int __b)
19240 return (uint8x8_t) __builtin_aarch64_sqshrun_nv8hi (__a, __b);
19243 __extension__ extern __inline uint16x4_t
19244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19245 vqshrun_n_s32 (int32x4_t __a, const int __b)
19247 return (uint16x4_t) __builtin_aarch64_sqshrun_nv4si (__a, __b);
19250 __extension__ extern __inline uint32x2_t
19251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19252 vqshrun_n_s64 (int64x2_t __a, const int __b)
19254 return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
19257 __extension__ extern __inline int8_t
19258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19259 vqshrunh_n_s16 (int16_t __a, const int __b)
19261 return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
19264 __extension__ extern __inline int16_t
19265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19266 vqshruns_n_s32 (int32_t __a, const int __b)
19268 return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
19271 __extension__ extern __inline int32_t
19272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19273 vqshrund_n_s64 (int64_t __a, const int __b)
19275 return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
19278 /* vqsub */
19280 __extension__ extern __inline int8_t
19281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19282 vqsubb_s8 (int8_t __a, int8_t __b)
19284 return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
19287 __extension__ extern __inline int16_t
19288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19289 vqsubh_s16 (int16_t __a, int16_t __b)
19291 return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
19294 __extension__ extern __inline int32_t
19295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19296 vqsubs_s32 (int32_t __a, int32_t __b)
19298 return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
19301 __extension__ extern __inline int64_t
19302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19303 vqsubd_s64 (int64_t __a, int64_t __b)
19305 return __builtin_aarch64_sqsubdi (__a, __b);
19308 __extension__ extern __inline uint8_t
19309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19310 vqsubb_u8 (uint8_t __a, uint8_t __b)
19312 return (uint8_t) __builtin_aarch64_uqsubqi_uuu (__a, __b);
19315 __extension__ extern __inline uint16_t
19316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19317 vqsubh_u16 (uint16_t __a, uint16_t __b)
19319 return (uint16_t) __builtin_aarch64_uqsubhi_uuu (__a, __b);
19322 __extension__ extern __inline uint32_t
19323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19324 vqsubs_u32 (uint32_t __a, uint32_t __b)
19326 return (uint32_t) __builtin_aarch64_uqsubsi_uuu (__a, __b);
19329 __extension__ extern __inline uint64_t
19330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19331 vqsubd_u64 (uint64_t __a, uint64_t __b)
19333 return __builtin_aarch64_uqsubdi_uuu (__a, __b);
19336 /* vqtbl2 */
19338 __extension__ extern __inline int8x8_t
19339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19340 vqtbl2_s8 (int8x16x2_t __tab, uint8x8_t __idx)
19342 return __builtin_aarch64_qtbl2v8qi_ssu (__tab, __idx);
19345 __extension__ extern __inline uint8x8_t
19346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19347 vqtbl2_u8 (uint8x16x2_t __tab, uint8x8_t __idx)
19349 return __builtin_aarch64_qtbl2v8qi_uuu (__tab, __idx);
19352 __extension__ extern __inline poly8x8_t
19353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19354 vqtbl2_p8 (poly8x16x2_t __tab, uint8x8_t __idx)
19356 return __builtin_aarch64_qtbl2v8qi_ppu (__tab, __idx);
19359 __extension__ extern __inline int8x16_t
19360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19361 vqtbl2q_s8 (int8x16x2_t __tab, uint8x16_t __idx)
19363 return __builtin_aarch64_qtbl2v16qi_ssu (__tab, __idx);
19366 __extension__ extern __inline uint8x16_t
19367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19368 vqtbl2q_u8 (uint8x16x2_t __tab, uint8x16_t __idx)
19370 return __builtin_aarch64_qtbl2v16qi_uuu (__tab, __idx);
19373 __extension__ extern __inline poly8x16_t
19374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19375 vqtbl2q_p8 (poly8x16x2_t __tab, uint8x16_t __idx)
19377 return __builtin_aarch64_qtbl2v16qi_ppu (__tab, __idx);
19380 /* vqtbl3 */
19382 __extension__ extern __inline int8x8_t
19383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19384 vqtbl3_s8 (int8x16x3_t __tab, uint8x8_t __idx)
19386 return __builtin_aarch64_qtbl3v8qi_ssu (__tab, __idx);
19389 __extension__ extern __inline uint8x8_t
19390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19391 vqtbl3_u8 (uint8x16x3_t __tab, uint8x8_t __idx)
19393 return __builtin_aarch64_qtbl3v8qi_uuu (__tab, __idx);
19396 __extension__ extern __inline poly8x8_t
19397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19398 vqtbl3_p8 (poly8x16x3_t __tab, uint8x8_t __idx)
19400 return __builtin_aarch64_qtbl3v8qi_ppu (__tab, __idx);
19403 __extension__ extern __inline int8x16_t
19404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19405 vqtbl3q_s8 (int8x16x3_t __tab, uint8x16_t __idx)
19407 return __builtin_aarch64_qtbl3v16qi_ssu (__tab, __idx);
19410 __extension__ extern __inline uint8x16_t
19411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19412 vqtbl3q_u8 (uint8x16x3_t __tab, uint8x16_t __idx)
19414 return __builtin_aarch64_qtbl3v16qi_uuu (__tab, __idx);
19417 __extension__ extern __inline poly8x16_t
19418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19419 vqtbl3q_p8 (poly8x16x3_t __tab, uint8x16_t __idx)
19421 return __builtin_aarch64_qtbl3v16qi_ppu (__tab, __idx);
19424 /* vqtbl4 */
19426 __extension__ extern __inline int8x8_t
19427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19428 vqtbl4_s8 (int8x16x4_t __tab, uint8x8_t __idx)
19430 return __builtin_aarch64_qtbl4v8qi_ssu (__tab, __idx);
19433 __extension__ extern __inline uint8x8_t
19434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19435 vqtbl4_u8 (uint8x16x4_t __tab, uint8x8_t __idx)
19437 return __builtin_aarch64_qtbl4v8qi_uuu (__tab, __idx);
19440 __extension__ extern __inline poly8x8_t
19441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19442 vqtbl4_p8 (poly8x16x4_t __tab, uint8x8_t __idx)
19444 return __builtin_aarch64_qtbl4v8qi_ppu (__tab, __idx);
19447 __extension__ extern __inline int8x16_t
19448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19449 vqtbl4q_s8 (int8x16x4_t __tab, uint8x16_t __idx)
19451 return __builtin_aarch64_qtbl4v16qi_ssu (__tab, __idx);
19454 __extension__ extern __inline uint8x16_t
19455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19456 vqtbl4q_u8 (uint8x16x4_t __tab, uint8x16_t __idx)
19458 return __builtin_aarch64_qtbl4v16qi_uuu (__tab, __idx);
19461 __extension__ extern __inline poly8x16_t
19462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19463 vqtbl4q_p8 (poly8x16x4_t __tab, uint8x16_t __idx)
19465 return __builtin_aarch64_qtbl4v16qi_ppu (__tab, __idx);
19468 /* vqtbx2 */
19470 __extension__ extern __inline int8x8_t
19471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19472 vqtbx2_s8 (int8x8_t __r, int8x16x2_t __tab, uint8x8_t __idx)
19474 return __builtin_aarch64_qtbx2v8qi_sssu (__r, __tab, __idx);
19477 __extension__ extern __inline uint8x8_t
19478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19479 vqtbx2_u8 (uint8x8_t __r, uint8x16x2_t __tab, uint8x8_t __idx)
19481 return __builtin_aarch64_qtbx2v8qi_uuuu (__r, __tab, __idx);
19484 __extension__ extern __inline poly8x8_t
19485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19486 vqtbx2_p8 (poly8x8_t __r, poly8x16x2_t __tab, uint8x8_t __idx)
19488 return __builtin_aarch64_qtbx2v8qi_pppu (__r, __tab, __idx);
19491 __extension__ extern __inline int8x16_t
19492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19493 vqtbx2q_s8 (int8x16_t __r, int8x16x2_t __tab, uint8x16_t __idx)
19495 return __builtin_aarch64_qtbx2v16qi_sssu (__r, __tab, __idx);
19498 __extension__ extern __inline uint8x16_t
19499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19500 vqtbx2q_u8 (uint8x16_t __r, uint8x16x2_t __tab, uint8x16_t __idx)
19502 return __builtin_aarch64_qtbx2v16qi_uuuu (__r, __tab, __idx);
19505 __extension__ extern __inline poly8x16_t
19506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19507 vqtbx2q_p8 (poly8x16_t __r, poly8x16x2_t __tab, uint8x16_t __idx)
19509 return __builtin_aarch64_qtbx2v16qi_pppu (__r, __tab, __idx);
19512 /* vqtbx3 */
19514 __extension__ extern __inline int8x8_t
19515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19516 vqtbx3_s8 (int8x8_t __r, int8x16x3_t __tab, uint8x8_t __idx)
19518 return __builtin_aarch64_qtbx3v8qi_sssu (__r, __tab, __idx);
19521 __extension__ extern __inline uint8x8_t
19522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19523 vqtbx3_u8 (uint8x8_t __r, uint8x16x3_t __tab, uint8x8_t __idx)
19525 return __builtin_aarch64_qtbx3v8qi_uuuu (__r, __tab, __idx);
19528 __extension__ extern __inline poly8x8_t
19529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19530 vqtbx3_p8 (poly8x8_t __r, poly8x16x3_t __tab, uint8x8_t __idx)
19532 return __builtin_aarch64_qtbx3v8qi_pppu (__r, __tab, __idx);
19535 __extension__ extern __inline int8x16_t
19536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19537 vqtbx3q_s8 (int8x16_t __r, int8x16x3_t __tab, uint8x16_t __idx)
19539 return __builtin_aarch64_qtbx3v16qi_sssu (__r, __tab, __idx);
19542 __extension__ extern __inline uint8x16_t
19543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19544 vqtbx3q_u8 (uint8x16_t __r, uint8x16x3_t __tab, uint8x16_t __idx)
19546 return __builtin_aarch64_qtbx3v16qi_uuuu (__r, __tab, __idx);
19549 __extension__ extern __inline poly8x16_t
19550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19551 vqtbx3q_p8 (poly8x16_t __r, poly8x16x3_t __tab, uint8x16_t __idx)
19553 return __builtin_aarch64_qtbx3v16qi_pppu (__r, __tab, __idx);
19556 /* vqtbx4 */
19558 __extension__ extern __inline int8x8_t
19559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19560 vqtbx4_s8 (int8x8_t __r, int8x16x4_t __tab, uint8x8_t __idx)
19562 return __builtin_aarch64_qtbx4v8qi_sssu (__r, __tab, __idx);
19565 __extension__ extern __inline uint8x8_t
19566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19567 vqtbx4_u8 (uint8x8_t __r, uint8x16x4_t __tab, uint8x8_t __idx)
19569 return __builtin_aarch64_qtbx4v8qi_uuuu (__r, __tab, __idx);
19572 __extension__ extern __inline poly8x8_t
19573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19574 vqtbx4_p8 (poly8x8_t __r, poly8x16x4_t __tab, uint8x8_t __idx)
19576 return __builtin_aarch64_qtbx4v8qi_pppu (__r, __tab, __idx);
19579 __extension__ extern __inline int8x16_t
19580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19581 vqtbx4q_s8 (int8x16_t __r, int8x16x4_t __tab, uint8x16_t __idx)
19583 return __builtin_aarch64_qtbx4v16qi_sssu (__r, __tab, __idx);
19586 __extension__ extern __inline uint8x16_t
19587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19588 vqtbx4q_u8 (uint8x16_t __r, uint8x16x4_t __tab, uint8x16_t __idx)
19590 return __builtin_aarch64_qtbx4v16qi_uuuu (__r, __tab, __idx);
19593 __extension__ extern __inline poly8x16_t
19594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19595 vqtbx4q_p8 (poly8x16_t __r, poly8x16x4_t __tab, uint8x16_t __idx)
19597 return __builtin_aarch64_qtbx4v16qi_pppu (__r, __tab, __idx);
19600 /* vrbit */
19602 __extension__ extern __inline poly8x8_t
19603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19604 vrbit_p8 (poly8x8_t __a)
19606 return (poly8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
19609 __extension__ extern __inline int8x8_t
19610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19611 vrbit_s8 (int8x8_t __a)
19613 return __builtin_aarch64_rbitv8qi (__a);
19616 __extension__ extern __inline uint8x8_t
19617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19618 vrbit_u8 (uint8x8_t __a)
19620 return (uint8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
19623 __extension__ extern __inline poly8x16_t
19624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19625 vrbitq_p8 (poly8x16_t __a)
19627 return (poly8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t)__a);
19630 __extension__ extern __inline int8x16_t
19631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19632 vrbitq_s8 (int8x16_t __a)
19634 return __builtin_aarch64_rbitv16qi (__a);
19637 __extension__ extern __inline uint8x16_t
19638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19639 vrbitq_u8 (uint8x16_t __a)
19641 return (uint8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t) __a);
19644 /* vrecpe */
19646 __extension__ extern __inline uint32x2_t
19647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19648 vrecpe_u32 (uint32x2_t __a)
19650 return (uint32x2_t) __builtin_aarch64_urecpev2si ((int32x2_t) __a);
19653 __extension__ extern __inline uint32x4_t
19654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19655 vrecpeq_u32 (uint32x4_t __a)
19657 return (uint32x4_t) __builtin_aarch64_urecpev4si ((int32x4_t) __a);
19660 __extension__ extern __inline float32_t
19661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19662 vrecpes_f32 (float32_t __a)
19664 return __builtin_aarch64_frecpesf (__a);
19667 __extension__ extern __inline float64_t
19668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19669 vrecped_f64 (float64_t __a)
19671 return __builtin_aarch64_frecpedf (__a);
19674 __extension__ extern __inline float32x2_t
19675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19676 vrecpe_f32 (float32x2_t __a)
19678 return __builtin_aarch64_frecpev2sf (__a);
19681 __extension__ extern __inline float64x1_t
19682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19683 vrecpe_f64 (float64x1_t __a)
19685 return (float64x1_t) { vrecped_f64 (vget_lane_f64 (__a, 0)) };
19688 __extension__ extern __inline float32x4_t
19689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19690 vrecpeq_f32 (float32x4_t __a)
19692 return __builtin_aarch64_frecpev4sf (__a);
19695 __extension__ extern __inline float64x2_t
19696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19697 vrecpeq_f64 (float64x2_t __a)
19699 return __builtin_aarch64_frecpev2df (__a);
19702 /* vrecps */
19704 __extension__ extern __inline float32_t
19705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19706 vrecpss_f32 (float32_t __a, float32_t __b)
19708 return __builtin_aarch64_frecpssf (__a, __b);
19711 __extension__ extern __inline float64_t
19712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19713 vrecpsd_f64 (float64_t __a, float64_t __b)
19715 return __builtin_aarch64_frecpsdf (__a, __b);
19718 __extension__ extern __inline float32x2_t
19719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19720 vrecps_f32 (float32x2_t __a, float32x2_t __b)
19722 return __builtin_aarch64_frecpsv2sf (__a, __b);
19725 __extension__ extern __inline float64x1_t
19726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19727 vrecps_f64 (float64x1_t __a, float64x1_t __b)
19729 return (float64x1_t) { vrecpsd_f64 (vget_lane_f64 (__a, 0),
19730 vget_lane_f64 (__b, 0)) };
19733 __extension__ extern __inline float32x4_t
19734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19735 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
19737 return __builtin_aarch64_frecpsv4sf (__a, __b);
19740 __extension__ extern __inline float64x2_t
19741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19742 vrecpsq_f64 (float64x2_t __a, float64x2_t __b)
19744 return __builtin_aarch64_frecpsv2df (__a, __b);
19747 /* vrecpx */
19749 __extension__ extern __inline float32_t
19750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19751 vrecpxs_f32 (float32_t __a)
19753 return __builtin_aarch64_frecpxsf (__a);
19756 __extension__ extern __inline float64_t
19757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19758 vrecpxd_f64 (float64_t __a)
19760 return __builtin_aarch64_frecpxdf (__a);
19764 /* vrev */
19766 __extension__ extern __inline poly8x8_t
19767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19768 vrev16_p8 (poly8x8_t __a)
19770 return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19773 __extension__ extern __inline int8x8_t
19774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19775 vrev16_s8 (int8x8_t __a)
19777 return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19780 __extension__ extern __inline uint8x8_t
19781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19782 vrev16_u8 (uint8x8_t __a)
19784 return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19787 __extension__ extern __inline poly8x16_t
19788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19789 vrev16q_p8 (poly8x16_t __a)
19791 return __builtin_shuffle (__a,
19792 (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
19795 __extension__ extern __inline int8x16_t
19796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19797 vrev16q_s8 (int8x16_t __a)
19799 return __builtin_shuffle (__a,
19800 (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
19803 __extension__ extern __inline uint8x16_t
19804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19805 vrev16q_u8 (uint8x16_t __a)
19807 return __builtin_shuffle (__a,
19808 (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
19811 __extension__ extern __inline poly8x8_t
19812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19813 vrev32_p8 (poly8x8_t __a)
19815 return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
19818 __extension__ extern __inline poly16x4_t
19819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19820 vrev32_p16 (poly16x4_t __a)
19822 return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
19825 __extension__ extern __inline int8x8_t
19826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19827 vrev32_s8 (int8x8_t __a)
19829 return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
19832 __extension__ extern __inline int16x4_t
19833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19834 vrev32_s16 (int16x4_t __a)
19836 return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
19839 __extension__ extern __inline uint8x8_t
19840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19841 vrev32_u8 (uint8x8_t __a)
19843 return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
19846 __extension__ extern __inline uint16x4_t
19847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19848 vrev32_u16 (uint16x4_t __a)
19850 return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
19853 __extension__ extern __inline poly8x16_t
19854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19855 vrev32q_p8 (poly8x16_t __a)
19857 return __builtin_shuffle (__a,
19858 (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
19861 __extension__ extern __inline poly16x8_t
19862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19863 vrev32q_p16 (poly16x8_t __a)
19865 return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19868 __extension__ extern __inline int8x16_t
19869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19870 vrev32q_s8 (int8x16_t __a)
19872 return __builtin_shuffle (__a,
19873 (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
19876 __extension__ extern __inline int16x8_t
19877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19878 vrev32q_s16 (int16x8_t __a)
19880 return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19883 __extension__ extern __inline uint8x16_t
19884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19885 vrev32q_u8 (uint8x16_t __a)
19887 return __builtin_shuffle (__a,
19888 (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
19891 __extension__ extern __inline uint16x8_t
19892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19893 vrev32q_u16 (uint16x8_t __a)
19895 return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
19898 __extension__ extern __inline float16x4_t
19899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19900 vrev64_f16 (float16x4_t __a)
19902 return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
19905 __extension__ extern __inline float32x2_t
19906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19907 vrev64_f32 (float32x2_t __a)
19909 return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
19912 __extension__ extern __inline poly8x8_t
19913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19914 vrev64_p8 (poly8x8_t __a)
19916 return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
19919 __extension__ extern __inline poly16x4_t
19920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19921 vrev64_p16 (poly16x4_t __a)
19923 return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
19926 __extension__ extern __inline int8x8_t
19927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19928 vrev64_s8 (int8x8_t __a)
19930 return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
19933 __extension__ extern __inline int16x4_t
19934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19935 vrev64_s16 (int16x4_t __a)
19937 return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
19940 __extension__ extern __inline int32x2_t
19941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19942 vrev64_s32 (int32x2_t __a)
19944 return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
19947 __extension__ extern __inline uint8x8_t
19948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19949 vrev64_u8 (uint8x8_t __a)
19951 return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
19954 __extension__ extern __inline uint16x4_t
19955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19956 vrev64_u16 (uint16x4_t __a)
19958 return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
19961 __extension__ extern __inline uint32x2_t
19962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19963 vrev64_u32 (uint32x2_t __a)
19965 return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
19968 __extension__ extern __inline float16x8_t
19969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19970 vrev64q_f16 (float16x8_t __a)
19972 return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
19975 __extension__ extern __inline float32x4_t
19976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19977 vrev64q_f32 (float32x4_t __a)
19979 return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
19982 __extension__ extern __inline poly8x16_t
19983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19984 vrev64q_p8 (poly8x16_t __a)
19986 return __builtin_shuffle (__a,
19987 (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
19990 __extension__ extern __inline poly16x8_t
19991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19992 vrev64q_p16 (poly16x8_t __a)
19994 return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
19997 __extension__ extern __inline int8x16_t
19998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19999 vrev64q_s8 (int8x16_t __a)
20001 return __builtin_shuffle (__a,
20002 (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
20005 __extension__ extern __inline int16x8_t
20006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20007 vrev64q_s16 (int16x8_t __a)
20009 return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
20012 __extension__ extern __inline int32x4_t
20013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20014 vrev64q_s32 (int32x4_t __a)
20016 return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
20019 __extension__ extern __inline uint8x16_t
20020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20021 vrev64q_u8 (uint8x16_t __a)
20023 return __builtin_shuffle (__a,
20024 (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
20027 __extension__ extern __inline uint16x8_t
20028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20029 vrev64q_u16 (uint16x8_t __a)
20031 return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
20034 __extension__ extern __inline uint32x4_t
20035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20036 vrev64q_u32 (uint32x4_t __a)
20038 return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
20041 /* vrnd */
20043 __extension__ extern __inline float32x2_t
20044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20045 vrnd_f32 (float32x2_t __a)
20047 return __builtin_aarch64_btruncv2sf (__a);
20050 __extension__ extern __inline float64x1_t
20051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20052 vrnd_f64 (float64x1_t __a)
20054 return vset_lane_f64 (__builtin_trunc (vget_lane_f64 (__a, 0)), __a, 0);
20057 __extension__ extern __inline float32x4_t
20058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20059 vrndq_f32 (float32x4_t __a)
20061 return __builtin_aarch64_btruncv4sf (__a);
20064 __extension__ extern __inline float64x2_t
20065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20066 vrndq_f64 (float64x2_t __a)
20068 return __builtin_aarch64_btruncv2df (__a);
20071 /* vrnda */
20073 __extension__ extern __inline float32x2_t
20074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20075 vrnda_f32 (float32x2_t __a)
20077 return __builtin_aarch64_roundv2sf (__a);
20080 __extension__ extern __inline float64x1_t
20081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20082 vrnda_f64 (float64x1_t __a)
20084 return vset_lane_f64 (__builtin_round (vget_lane_f64 (__a, 0)), __a, 0);
20087 __extension__ extern __inline float32x4_t
20088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20089 vrndaq_f32 (float32x4_t __a)
20091 return __builtin_aarch64_roundv4sf (__a);
20094 __extension__ extern __inline float64x2_t
20095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20096 vrndaq_f64 (float64x2_t __a)
20098 return __builtin_aarch64_roundv2df (__a);
20101 /* vrndi */
20103 __extension__ extern __inline float32x2_t
20104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20105 vrndi_f32 (float32x2_t __a)
20107 return __builtin_aarch64_nearbyintv2sf (__a);
20110 __extension__ extern __inline float64x1_t
20111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20112 vrndi_f64 (float64x1_t __a)
20114 return vset_lane_f64 (__builtin_nearbyint (vget_lane_f64 (__a, 0)), __a, 0);
20117 __extension__ extern __inline float32x4_t
20118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20119 vrndiq_f32 (float32x4_t __a)
20121 return __builtin_aarch64_nearbyintv4sf (__a);
20124 __extension__ extern __inline float64x2_t
20125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20126 vrndiq_f64 (float64x2_t __a)
20128 return __builtin_aarch64_nearbyintv2df (__a);
20131 /* vrndm */
20133 __extension__ extern __inline float32x2_t
20134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20135 vrndm_f32 (float32x2_t __a)
20137 return __builtin_aarch64_floorv2sf (__a);
20140 __extension__ extern __inline float64x1_t
20141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20142 vrndm_f64 (float64x1_t __a)
20144 return vset_lane_f64 (__builtin_floor (vget_lane_f64 (__a, 0)), __a, 0);
20147 __extension__ extern __inline float32x4_t
20148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20149 vrndmq_f32 (float32x4_t __a)
20151 return __builtin_aarch64_floorv4sf (__a);
20154 __extension__ extern __inline float64x2_t
20155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20156 vrndmq_f64 (float64x2_t __a)
20158 return __builtin_aarch64_floorv2df (__a);
20161 /* vrndn */
20163 __extension__ extern __inline float32_t
20164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20165 vrndns_f32 (float32_t __a)
20167 return __builtin_aarch64_roundevensf (__a);
20170 __extension__ extern __inline float32x2_t
20171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20172 vrndn_f32 (float32x2_t __a)
20174 return __builtin_aarch64_roundevenv2sf (__a);
20177 __extension__ extern __inline float64x1_t
20178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20179 vrndn_f64 (float64x1_t __a)
20181 return (float64x1_t) {__builtin_aarch64_roundevendf (__a[0])};
20184 __extension__ extern __inline float32x4_t
20185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20186 vrndnq_f32 (float32x4_t __a)
20188 return __builtin_aarch64_roundevenv4sf (__a);
20191 __extension__ extern __inline float64x2_t
20192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20193 vrndnq_f64 (float64x2_t __a)
20195 return __builtin_aarch64_roundevenv2df (__a);
20198 /* vrndp */
20200 __extension__ extern __inline float32x2_t
20201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20202 vrndp_f32 (float32x2_t __a)
20204 return __builtin_aarch64_ceilv2sf (__a);
20207 __extension__ extern __inline float64x1_t
20208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20209 vrndp_f64 (float64x1_t __a)
20211 return vset_lane_f64 (__builtin_ceil (vget_lane_f64 (__a, 0)), __a, 0);
20214 __extension__ extern __inline float32x4_t
20215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20216 vrndpq_f32 (float32x4_t __a)
20218 return __builtin_aarch64_ceilv4sf (__a);
20221 __extension__ extern __inline float64x2_t
20222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20223 vrndpq_f64 (float64x2_t __a)
20225 return __builtin_aarch64_ceilv2df (__a);
20228 /* vrndx */
20230 __extension__ extern __inline float32x2_t
20231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20232 vrndx_f32 (float32x2_t __a)
20234 return __builtin_aarch64_rintv2sf (__a);
20237 __extension__ extern __inline float64x1_t
20238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20239 vrndx_f64 (float64x1_t __a)
20241 return vset_lane_f64 (__builtin_rint (vget_lane_f64 (__a, 0)), __a, 0);
20244 __extension__ extern __inline float32x4_t
20245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20246 vrndxq_f32 (float32x4_t __a)
20248 return __builtin_aarch64_rintv4sf (__a);
20251 __extension__ extern __inline float64x2_t
20252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20253 vrndxq_f64 (float64x2_t __a)
20255 return __builtin_aarch64_rintv2df (__a);
20258 /* vrshl */
20260 __extension__ extern __inline int8x8_t
20261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20262 vrshl_s8 (int8x8_t __a, int8x8_t __b)
20264 return (int8x8_t) __builtin_aarch64_srshlv8qi (__a, __b);
20267 __extension__ extern __inline int16x4_t
20268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20269 vrshl_s16 (int16x4_t __a, int16x4_t __b)
20271 return (int16x4_t) __builtin_aarch64_srshlv4hi (__a, __b);
20274 __extension__ extern __inline int32x2_t
20275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20276 vrshl_s32 (int32x2_t __a, int32x2_t __b)
20278 return (int32x2_t) __builtin_aarch64_srshlv2si (__a, __b);
20281 __extension__ extern __inline int64x1_t
20282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20283 vrshl_s64 (int64x1_t __a, int64x1_t __b)
20285 return (int64x1_t) {__builtin_aarch64_srshldi (__a[0], __b[0])};
20288 __extension__ extern __inline uint8x8_t
20289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20290 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
20292 return __builtin_aarch64_urshlv8qi_uus (__a, __b);
20295 __extension__ extern __inline uint16x4_t
20296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20297 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
20299 return __builtin_aarch64_urshlv4hi_uus (__a, __b);
20302 __extension__ extern __inline uint32x2_t
20303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20304 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
20306 return __builtin_aarch64_urshlv2si_uus (__a, __b);
20309 __extension__ extern __inline uint64x1_t
20310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20311 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
20313 return (uint64x1_t) {__builtin_aarch64_urshldi_uus (__a[0], __b[0])};
20316 __extension__ extern __inline int8x16_t
20317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20318 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
20320 return (int8x16_t) __builtin_aarch64_srshlv16qi (__a, __b);
20323 __extension__ extern __inline int16x8_t
20324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20325 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
20327 return (int16x8_t) __builtin_aarch64_srshlv8hi (__a, __b);
20330 __extension__ extern __inline int32x4_t
20331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20332 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
20334 return (int32x4_t) __builtin_aarch64_srshlv4si (__a, __b);
20337 __extension__ extern __inline int64x2_t
20338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20339 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
20341 return (int64x2_t) __builtin_aarch64_srshlv2di (__a, __b);
20344 __extension__ extern __inline uint8x16_t
20345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20346 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
20348 return __builtin_aarch64_urshlv16qi_uus (__a, __b);
20351 __extension__ extern __inline uint16x8_t
20352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20353 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
20355 return __builtin_aarch64_urshlv8hi_uus (__a, __b);
20358 __extension__ extern __inline uint32x4_t
20359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20360 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
20362 return __builtin_aarch64_urshlv4si_uus (__a, __b);
20365 __extension__ extern __inline uint64x2_t
20366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20367 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
20369 return __builtin_aarch64_urshlv2di_uus (__a, __b);
20372 __extension__ extern __inline int64_t
20373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20374 vrshld_s64 (int64_t __a, int64_t __b)
20376 return __builtin_aarch64_srshldi (__a, __b);
20379 __extension__ extern __inline uint64_t
20380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20381 vrshld_u64 (uint64_t __a, int64_t __b)
20383 return __builtin_aarch64_urshldi_uus (__a, __b);
20386 /* vrshr */
20388 __extension__ extern __inline int8x8_t
20389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20390 vrshr_n_s8 (int8x8_t __a, const int __b)
20392 return (int8x8_t) __builtin_aarch64_srshr_nv8qi (__a, __b);
20395 __extension__ extern __inline int16x4_t
20396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20397 vrshr_n_s16 (int16x4_t __a, const int __b)
20399 return (int16x4_t) __builtin_aarch64_srshr_nv4hi (__a, __b);
20402 __extension__ extern __inline int32x2_t
20403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20404 vrshr_n_s32 (int32x2_t __a, const int __b)
20406 return (int32x2_t) __builtin_aarch64_srshr_nv2si (__a, __b);
20409 __extension__ extern __inline int64x1_t
20410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20411 vrshr_n_s64 (int64x1_t __a, const int __b)
20413 return (int64x1_t) {__builtin_aarch64_srshr_ndi (__a[0], __b)};
20416 __extension__ extern __inline uint8x8_t
20417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20418 vrshr_n_u8 (uint8x8_t __a, const int __b)
20420 return __builtin_aarch64_urshr_nv8qi_uus (__a, __b);
20423 __extension__ extern __inline uint16x4_t
20424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20425 vrshr_n_u16 (uint16x4_t __a, const int __b)
20427 return __builtin_aarch64_urshr_nv4hi_uus (__a, __b);
20430 __extension__ extern __inline uint32x2_t
20431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20432 vrshr_n_u32 (uint32x2_t __a, const int __b)
20434 return __builtin_aarch64_urshr_nv2si_uus (__a, __b);
20437 __extension__ extern __inline uint64x1_t
20438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20439 vrshr_n_u64 (uint64x1_t __a, const int __b)
20441 return (uint64x1_t) {__builtin_aarch64_urshr_ndi_uus (__a[0], __b)};
20444 __extension__ extern __inline int8x16_t
20445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20446 vrshrq_n_s8 (int8x16_t __a, const int __b)
20448 return (int8x16_t) __builtin_aarch64_srshr_nv16qi (__a, __b);
20451 __extension__ extern __inline int16x8_t
20452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20453 vrshrq_n_s16 (int16x8_t __a, const int __b)
20455 return (int16x8_t) __builtin_aarch64_srshr_nv8hi (__a, __b);
20458 __extension__ extern __inline int32x4_t
20459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20460 vrshrq_n_s32 (int32x4_t __a, const int __b)
20462 return (int32x4_t) __builtin_aarch64_srshr_nv4si (__a, __b);
20465 __extension__ extern __inline int64x2_t
20466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20467 vrshrq_n_s64 (int64x2_t __a, const int __b)
20469 return (int64x2_t) __builtin_aarch64_srshr_nv2di (__a, __b);
20472 __extension__ extern __inline uint8x16_t
20473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20474 vrshrq_n_u8 (uint8x16_t __a, const int __b)
20476 return __builtin_aarch64_urshr_nv16qi_uus (__a, __b);
20479 __extension__ extern __inline uint16x8_t
20480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20481 vrshrq_n_u16 (uint16x8_t __a, const int __b)
20483 return __builtin_aarch64_urshr_nv8hi_uus (__a, __b);
20486 __extension__ extern __inline uint32x4_t
20487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20488 vrshrq_n_u32 (uint32x4_t __a, const int __b)
20490 return __builtin_aarch64_urshr_nv4si_uus (__a, __b);
20493 __extension__ extern __inline uint64x2_t
20494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20495 vrshrq_n_u64 (uint64x2_t __a, const int __b)
20497 return __builtin_aarch64_urshr_nv2di_uus (__a, __b);
20500 __extension__ extern __inline int64_t
20501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20502 vrshrd_n_s64 (int64_t __a, const int __b)
20504 return __builtin_aarch64_srshr_ndi (__a, __b);
20507 __extension__ extern __inline uint64_t
20508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20509 vrshrd_n_u64 (uint64_t __a, const int __b)
20511 return __builtin_aarch64_urshr_ndi_uus (__a, __b);
20514 /* vrsqrte. */
20516 __extension__ extern __inline float32_t
20517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20518 vrsqrtes_f32 (float32_t __a)
20520 return __builtin_aarch64_rsqrtesf (__a);
20523 __extension__ extern __inline float64_t
20524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20525 vrsqrted_f64 (float64_t __a)
20527 return __builtin_aarch64_rsqrtedf (__a);
20530 __extension__ extern __inline float32x2_t
20531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20532 vrsqrte_f32 (float32x2_t __a)
20534 return __builtin_aarch64_rsqrtev2sf (__a);
20537 __extension__ extern __inline float64x1_t
20538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20539 vrsqrte_f64 (float64x1_t __a)
20541 return (float64x1_t) {vrsqrted_f64 (vget_lane_f64 (__a, 0))};
20544 __extension__ extern __inline float32x4_t
20545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20546 vrsqrteq_f32 (float32x4_t __a)
20548 return __builtin_aarch64_rsqrtev4sf (__a);
20551 __extension__ extern __inline float64x2_t
20552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20553 vrsqrteq_f64 (float64x2_t __a)
20555 return __builtin_aarch64_rsqrtev2df (__a);
20558 /* vrsqrts. */
20560 __extension__ extern __inline float32_t
20561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20562 vrsqrtss_f32 (float32_t __a, float32_t __b)
20564 return __builtin_aarch64_rsqrtssf (__a, __b);
20567 __extension__ extern __inline float64_t
20568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20569 vrsqrtsd_f64 (float64_t __a, float64_t __b)
20571 return __builtin_aarch64_rsqrtsdf (__a, __b);
20574 __extension__ extern __inline float32x2_t
20575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20576 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
20578 return __builtin_aarch64_rsqrtsv2sf (__a, __b);
20581 __extension__ extern __inline float64x1_t
20582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20583 vrsqrts_f64 (float64x1_t __a, float64x1_t __b)
20585 return (float64x1_t) {vrsqrtsd_f64 (vget_lane_f64 (__a, 0),
20586 vget_lane_f64 (__b, 0))};
20589 __extension__ extern __inline float32x4_t
20590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20591 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
20593 return __builtin_aarch64_rsqrtsv4sf (__a, __b);
20596 __extension__ extern __inline float64x2_t
20597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20598 vrsqrtsq_f64 (float64x2_t __a, float64x2_t __b)
20600 return __builtin_aarch64_rsqrtsv2df (__a, __b);
20603 /* vrsra */
20605 __extension__ extern __inline int8x8_t
20606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20607 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
20609 return (int8x8_t) __builtin_aarch64_srsra_nv8qi (__a, __b, __c);
20612 __extension__ extern __inline int16x4_t
20613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20614 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
20616 return (int16x4_t) __builtin_aarch64_srsra_nv4hi (__a, __b, __c);
20619 __extension__ extern __inline int32x2_t
20620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20621 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
20623 return (int32x2_t) __builtin_aarch64_srsra_nv2si (__a, __b, __c);
20626 __extension__ extern __inline int64x1_t
20627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20628 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
20630 return (int64x1_t) {__builtin_aarch64_srsra_ndi (__a[0], __b[0], __c)};
20633 __extension__ extern __inline uint8x8_t
20634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20635 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
20637 return __builtin_aarch64_ursra_nv8qi_uuus (__a, __b, __c);
20640 __extension__ extern __inline uint16x4_t
20641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20642 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
20644 return __builtin_aarch64_ursra_nv4hi_uuus (__a, __b, __c);
20647 __extension__ extern __inline uint32x2_t
20648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20649 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
20651 return __builtin_aarch64_ursra_nv2si_uuus (__a, __b, __c);
20654 __extension__ extern __inline uint64x1_t
20655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20656 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
20658 return (uint64x1_t) {__builtin_aarch64_ursra_ndi_uuus (__a[0], __b[0], __c)};
20661 __extension__ extern __inline int8x16_t
20662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20663 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
20665 return (int8x16_t) __builtin_aarch64_srsra_nv16qi (__a, __b, __c);
20668 __extension__ extern __inline int16x8_t
20669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20670 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
20672 return (int16x8_t) __builtin_aarch64_srsra_nv8hi (__a, __b, __c);
20675 __extension__ extern __inline int32x4_t
20676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20677 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
20679 return (int32x4_t) __builtin_aarch64_srsra_nv4si (__a, __b, __c);
20682 __extension__ extern __inline int64x2_t
20683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20684 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
20686 return (int64x2_t) __builtin_aarch64_srsra_nv2di (__a, __b, __c);
20689 __extension__ extern __inline uint8x16_t
20690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20691 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
20693 return __builtin_aarch64_ursra_nv16qi_uuus (__a, __b, __c);
20696 __extension__ extern __inline uint16x8_t
20697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20698 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
20700 return __builtin_aarch64_ursra_nv8hi_uuus (__a, __b, __c);
20703 __extension__ extern __inline uint32x4_t
20704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20705 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
20707 return __builtin_aarch64_ursra_nv4si_uuus (__a, __b, __c);
20710 __extension__ extern __inline uint64x2_t
20711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20712 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
20714 return __builtin_aarch64_ursra_nv2di_uuus (__a, __b, __c);
20717 __extension__ extern __inline int64_t
20718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20719 vrsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
20721 return __builtin_aarch64_srsra_ndi (__a, __b, __c);
20724 __extension__ extern __inline uint64_t
20725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20726 vrsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
20728 return __builtin_aarch64_ursra_ndi_uuus (__a, __b, __c);
20731 #pragma GCC push_options
20732 #pragma GCC target ("+nothing+sha2")
20734 /* vsha1 */
20736 __extension__ extern __inline uint32x4_t
20737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20738 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
20740 return __builtin_aarch64_crypto_sha1cv4si_uuuu (__hash_abcd, __hash_e, __wk);
20743 __extension__ extern __inline uint32x4_t
20744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20745 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
20747 return __builtin_aarch64_crypto_sha1mv4si_uuuu (__hash_abcd, __hash_e, __wk);
20750 __extension__ extern __inline uint32x4_t
20751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20752 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
20754 return __builtin_aarch64_crypto_sha1pv4si_uuuu (__hash_abcd, __hash_e, __wk);
20757 __extension__ extern __inline uint32_t
20758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20759 vsha1h_u32 (uint32_t __hash_e)
20761 return __builtin_aarch64_crypto_sha1hsi_uu (__hash_e);
20764 __extension__ extern __inline uint32x4_t
20765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20766 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
20768 return __builtin_aarch64_crypto_sha1su0v4si_uuuu (__w0_3, __w4_7, __w8_11);
20771 __extension__ extern __inline uint32x4_t
20772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20773 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
20775 return __builtin_aarch64_crypto_sha1su1v4si_uuu (__tw0_3, __w12_15);
20778 __extension__ extern __inline uint32x4_t
20779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20780 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
20782 return __builtin_aarch64_crypto_sha256hv4si_uuuu (__hash_abcd, __hash_efgh,
20783 __wk);
20786 __extension__ extern __inline uint32x4_t
20787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20788 vsha256h2q_u32 (uint32x4_t __hash_efgh, uint32x4_t __hash_abcd, uint32x4_t __wk)
20790 return __builtin_aarch64_crypto_sha256h2v4si_uuuu (__hash_efgh, __hash_abcd,
20791 __wk);
20794 __extension__ extern __inline uint32x4_t
20795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20796 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
20798 return __builtin_aarch64_crypto_sha256su0v4si_uuu (__w0_3, __w4_7);
20801 __extension__ extern __inline uint32x4_t
20802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20803 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
20805 return __builtin_aarch64_crypto_sha256su1v4si_uuuu (__tw0_3, __w8_11,
20806 __w12_15);
20809 #pragma GCC pop_options
20811 /* vshl */
20813 __extension__ extern __inline int8x8_t
20814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20815 vshl_n_s8 (int8x8_t __a, const int __b)
20817 return (int8x8_t) __builtin_aarch64_ashlv8qi (__a, __b);
20820 __extension__ extern __inline int16x4_t
20821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20822 vshl_n_s16 (int16x4_t __a, const int __b)
20824 return (int16x4_t) __builtin_aarch64_ashlv4hi (__a, __b);
20827 __extension__ extern __inline int32x2_t
20828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20829 vshl_n_s32 (int32x2_t __a, const int __b)
20831 return (int32x2_t) __builtin_aarch64_ashlv2si (__a, __b);
20834 __extension__ extern __inline int64x1_t
20835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20836 vshl_n_s64 (int64x1_t __a, const int __b)
20838 return (int64x1_t) {__builtin_aarch64_ashldi (__a[0], __b)};
20841 __extension__ extern __inline uint8x8_t
20842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20843 vshl_n_u8 (uint8x8_t __a, const int __b)
20845 return (uint8x8_t) __builtin_aarch64_ashlv8qi ((int8x8_t) __a, __b);
20848 __extension__ extern __inline uint16x4_t
20849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20850 vshl_n_u16 (uint16x4_t __a, const int __b)
20852 return (uint16x4_t) __builtin_aarch64_ashlv4hi ((int16x4_t) __a, __b);
20855 __extension__ extern __inline uint32x2_t
20856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20857 vshl_n_u32 (uint32x2_t __a, const int __b)
20859 return (uint32x2_t) __builtin_aarch64_ashlv2si ((int32x2_t) __a, __b);
20862 __extension__ extern __inline uint64x1_t
20863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20864 vshl_n_u64 (uint64x1_t __a, const int __b)
20866 return (uint64x1_t) {__builtin_aarch64_ashldi ((int64_t) __a[0], __b)};
20869 __extension__ extern __inline int8x16_t
20870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20871 vshlq_n_s8 (int8x16_t __a, const int __b)
20873 return (int8x16_t) __builtin_aarch64_ashlv16qi (__a, __b);
20876 __extension__ extern __inline int16x8_t
20877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20878 vshlq_n_s16 (int16x8_t __a, const int __b)
20880 return (int16x8_t) __builtin_aarch64_ashlv8hi (__a, __b);
20883 __extension__ extern __inline int32x4_t
20884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20885 vshlq_n_s32 (int32x4_t __a, const int __b)
20887 return (int32x4_t) __builtin_aarch64_ashlv4si (__a, __b);
20890 __extension__ extern __inline int64x2_t
20891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20892 vshlq_n_s64 (int64x2_t __a, const int __b)
20894 return (int64x2_t) __builtin_aarch64_ashlv2di (__a, __b);
20897 __extension__ extern __inline uint8x16_t
20898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20899 vshlq_n_u8 (uint8x16_t __a, const int __b)
20901 return (uint8x16_t) __builtin_aarch64_ashlv16qi ((int8x16_t) __a, __b);
20904 __extension__ extern __inline uint16x8_t
20905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20906 vshlq_n_u16 (uint16x8_t __a, const int __b)
20908 return (uint16x8_t) __builtin_aarch64_ashlv8hi ((int16x8_t) __a, __b);
20911 __extension__ extern __inline uint32x4_t
20912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20913 vshlq_n_u32 (uint32x4_t __a, const int __b)
20915 return (uint32x4_t) __builtin_aarch64_ashlv4si ((int32x4_t) __a, __b);
20918 __extension__ extern __inline uint64x2_t
20919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20920 vshlq_n_u64 (uint64x2_t __a, const int __b)
20922 return (uint64x2_t) __builtin_aarch64_ashlv2di ((int64x2_t) __a, __b);
20925 __extension__ extern __inline int64_t
20926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20927 vshld_n_s64 (int64_t __a, const int __b)
20929 return __builtin_aarch64_ashldi (__a, __b);
20932 __extension__ extern __inline uint64_t
20933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20934 vshld_n_u64 (uint64_t __a, const int __b)
20936 return (uint64_t) __builtin_aarch64_ashldi (__a, __b);
20939 __extension__ extern __inline int8x8_t
20940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20941 vshl_s8 (int8x8_t __a, int8x8_t __b)
20943 return __builtin_aarch64_sshlv8qi (__a, __b);
20946 __extension__ extern __inline int16x4_t
20947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20948 vshl_s16 (int16x4_t __a, int16x4_t __b)
20950 return __builtin_aarch64_sshlv4hi (__a, __b);
20953 __extension__ extern __inline int32x2_t
20954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20955 vshl_s32 (int32x2_t __a, int32x2_t __b)
20957 return __builtin_aarch64_sshlv2si (__a, __b);
20960 __extension__ extern __inline int64x1_t
20961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20962 vshl_s64 (int64x1_t __a, int64x1_t __b)
20964 return (int64x1_t) {__builtin_aarch64_sshldi (__a[0], __b[0])};
20967 __extension__ extern __inline uint8x8_t
20968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20969 vshl_u8 (uint8x8_t __a, int8x8_t __b)
20971 return __builtin_aarch64_ushlv8qi_uus (__a, __b);
20974 __extension__ extern __inline uint16x4_t
20975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20976 vshl_u16 (uint16x4_t __a, int16x4_t __b)
20978 return __builtin_aarch64_ushlv4hi_uus (__a, __b);
20981 __extension__ extern __inline uint32x2_t
20982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20983 vshl_u32 (uint32x2_t __a, int32x2_t __b)
20985 return __builtin_aarch64_ushlv2si_uus (__a, __b);
20988 __extension__ extern __inline uint64x1_t
20989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20990 vshl_u64 (uint64x1_t __a, int64x1_t __b)
20992 return (uint64x1_t) {__builtin_aarch64_ushldi_uus (__a[0], __b[0])};
20995 __extension__ extern __inline int8x16_t
20996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
20997 vshlq_s8 (int8x16_t __a, int8x16_t __b)
20999 return __builtin_aarch64_sshlv16qi (__a, __b);
21002 __extension__ extern __inline int16x8_t
21003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21004 vshlq_s16 (int16x8_t __a, int16x8_t __b)
21006 return __builtin_aarch64_sshlv8hi (__a, __b);
21009 __extension__ extern __inline int32x4_t
21010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21011 vshlq_s32 (int32x4_t __a, int32x4_t __b)
21013 return __builtin_aarch64_sshlv4si (__a, __b);
21016 __extension__ extern __inline int64x2_t
21017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21018 vshlq_s64 (int64x2_t __a, int64x2_t __b)
21020 return __builtin_aarch64_sshlv2di (__a, __b);
21023 __extension__ extern __inline uint8x16_t
21024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21025 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
21027 return __builtin_aarch64_ushlv16qi_uus (__a, __b);
21030 __extension__ extern __inline uint16x8_t
21031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21032 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
21034 return __builtin_aarch64_ushlv8hi_uus (__a, __b);
21037 __extension__ extern __inline uint32x4_t
21038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21039 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
21041 return __builtin_aarch64_ushlv4si_uus (__a, __b);
21044 __extension__ extern __inline uint64x2_t
21045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21046 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
21048 return __builtin_aarch64_ushlv2di_uus (__a, __b);
21051 __extension__ extern __inline int64_t
21052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21053 vshld_s64 (int64_t __a, int64_t __b)
21055 return __builtin_aarch64_sshldi (__a, __b);
21058 __extension__ extern __inline uint64_t
21059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21060 vshld_u64 (uint64_t __a, int64_t __b)
21062 return __builtin_aarch64_ushldi_uus (__a, __b);
21065 __extension__ extern __inline int16x8_t
21066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21067 vshll_high_n_s8 (int8x16_t __a, const int __b)
21069 return __builtin_aarch64_sshll2_nv16qi (__a, __b);
21072 __extension__ extern __inline int32x4_t
21073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21074 vshll_high_n_s16 (int16x8_t __a, const int __b)
21076 return __builtin_aarch64_sshll2_nv8hi (__a, __b);
21079 __extension__ extern __inline int64x2_t
21080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21081 vshll_high_n_s32 (int32x4_t __a, const int __b)
21083 return __builtin_aarch64_sshll2_nv4si (__a, __b);
21086 __extension__ extern __inline uint16x8_t
21087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21088 vshll_high_n_u8 (uint8x16_t __a, const int __b)
21090 return (uint16x8_t) __builtin_aarch64_ushll2_nv16qi ((int8x16_t) __a, __b);
21093 __extension__ extern __inline uint32x4_t
21094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21095 vshll_high_n_u16 (uint16x8_t __a, const int __b)
21097 return (uint32x4_t) __builtin_aarch64_ushll2_nv8hi ((int16x8_t) __a, __b);
21100 __extension__ extern __inline uint64x2_t
21101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21102 vshll_high_n_u32 (uint32x4_t __a, const int __b)
21104 return (uint64x2_t) __builtin_aarch64_ushll2_nv4si ((int32x4_t) __a, __b);
21107 __extension__ extern __inline int16x8_t
21108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21109 vshll_n_s8 (int8x8_t __a, const int __b)
21111 return __builtin_aarch64_sshll_nv8qi (__a, __b);
21114 __extension__ extern __inline int32x4_t
21115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21116 vshll_n_s16 (int16x4_t __a, const int __b)
21118 return __builtin_aarch64_sshll_nv4hi (__a, __b);
21121 __extension__ extern __inline int64x2_t
21122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21123 vshll_n_s32 (int32x2_t __a, const int __b)
21125 return __builtin_aarch64_sshll_nv2si (__a, __b);
21128 __extension__ extern __inline uint16x8_t
21129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21130 vshll_n_u8 (uint8x8_t __a, const int __b)
21132 return __builtin_aarch64_ushll_nv8qi_uus (__a, __b);
21135 __extension__ extern __inline uint32x4_t
21136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21137 vshll_n_u16 (uint16x4_t __a, const int __b)
21139 return __builtin_aarch64_ushll_nv4hi_uus (__a, __b);
21142 __extension__ extern __inline uint64x2_t
21143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21144 vshll_n_u32 (uint32x2_t __a, const int __b)
21146 return __builtin_aarch64_ushll_nv2si_uus (__a, __b);
21149 /* vshr */
21151 __extension__ extern __inline int8x8_t
21152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21153 vshr_n_s8 (int8x8_t __a, const int __b)
21155 return (int8x8_t) __builtin_aarch64_ashrv8qi (__a, __b);
21158 __extension__ extern __inline int16x4_t
21159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21160 vshr_n_s16 (int16x4_t __a, const int __b)
21162 return (int16x4_t) __builtin_aarch64_ashrv4hi (__a, __b);
21165 __extension__ extern __inline int32x2_t
21166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21167 vshr_n_s32 (int32x2_t __a, const int __b)
21169 return (int32x2_t) __builtin_aarch64_ashrv2si (__a, __b);
21172 __extension__ extern __inline int64x1_t
21173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21174 vshr_n_s64 (int64x1_t __a, const int __b)
21176 return (int64x1_t) {__builtin_aarch64_ashr_simddi (__a[0], __b)};
21179 __extension__ extern __inline uint8x8_t
21180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21181 vshr_n_u8 (uint8x8_t __a, const int __b)
21183 return __builtin_aarch64_lshrv8qi_uus (__a, __b);
21186 __extension__ extern __inline uint16x4_t
21187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21188 vshr_n_u16 (uint16x4_t __a, const int __b)
21190 return __builtin_aarch64_lshrv4hi_uus (__a, __b);
21193 __extension__ extern __inline uint32x2_t
21194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21195 vshr_n_u32 (uint32x2_t __a, const int __b)
21197 return __builtin_aarch64_lshrv2si_uus (__a, __b);
21200 __extension__ extern __inline uint64x1_t
21201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21202 vshr_n_u64 (uint64x1_t __a, const int __b)
21204 return (uint64x1_t) {__builtin_aarch64_lshr_simddi_uus ( __a[0], __b)};
21207 __extension__ extern __inline int8x16_t
21208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21209 vshrq_n_s8 (int8x16_t __a, const int __b)
21211 return (int8x16_t) __builtin_aarch64_ashrv16qi (__a, __b);
21214 __extension__ extern __inline int16x8_t
21215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21216 vshrq_n_s16 (int16x8_t __a, const int __b)
21218 return (int16x8_t) __builtin_aarch64_ashrv8hi (__a, __b);
21221 __extension__ extern __inline int32x4_t
21222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21223 vshrq_n_s32 (int32x4_t __a, const int __b)
21225 return (int32x4_t) __builtin_aarch64_ashrv4si (__a, __b);
21228 __extension__ extern __inline int64x2_t
21229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21230 vshrq_n_s64 (int64x2_t __a, const int __b)
21232 return (int64x2_t) __builtin_aarch64_ashrv2di (__a, __b);
21235 __extension__ extern __inline uint8x16_t
21236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21237 vshrq_n_u8 (uint8x16_t __a, const int __b)
21239 return __builtin_aarch64_lshrv16qi_uus (__a, __b);
21242 __extension__ extern __inline uint16x8_t
21243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21244 vshrq_n_u16 (uint16x8_t __a, const int __b)
21246 return __builtin_aarch64_lshrv8hi_uus (__a, __b);
21249 __extension__ extern __inline uint32x4_t
21250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21251 vshrq_n_u32 (uint32x4_t __a, const int __b)
21253 return __builtin_aarch64_lshrv4si_uus (__a, __b);
21256 __extension__ extern __inline uint64x2_t
21257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21258 vshrq_n_u64 (uint64x2_t __a, const int __b)
21260 return __builtin_aarch64_lshrv2di_uus (__a, __b);
21263 __extension__ extern __inline int64_t
21264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21265 vshrd_n_s64 (int64_t __a, const int __b)
21267 return __builtin_aarch64_ashr_simddi (__a, __b);
21270 __extension__ extern __inline uint64_t
21271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21272 vshrd_n_u64 (uint64_t __a, const int __b)
21274 return __builtin_aarch64_lshr_simddi_uus (__a, __b);
21277 /* vsli */
21279 __extension__ extern __inline int8x8_t
21280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21281 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
21283 return (int8x8_t) __builtin_aarch64_ssli_nv8qi (__a, __b, __c);
21286 __extension__ extern __inline int16x4_t
21287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21288 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
21290 return (int16x4_t) __builtin_aarch64_ssli_nv4hi (__a, __b, __c);
21293 __extension__ extern __inline int32x2_t
21294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21295 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
21297 return (int32x2_t) __builtin_aarch64_ssli_nv2si (__a, __b, __c);
21300 __extension__ extern __inline int64x1_t
21301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21302 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
21304 return (int64x1_t) {__builtin_aarch64_ssli_ndi (__a[0], __b[0], __c)};
21307 __extension__ extern __inline uint8x8_t
21308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21309 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
21311 return __builtin_aarch64_usli_nv8qi_uuus (__a, __b, __c);
21314 __extension__ extern __inline uint16x4_t
21315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21316 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
21318 return __builtin_aarch64_usli_nv4hi_uuus (__a, __b, __c);
21321 __extension__ extern __inline uint32x2_t
21322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21323 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
21325 return __builtin_aarch64_usli_nv2si_uuus (__a, __b, __c);
21328 __extension__ extern __inline uint64x1_t
21329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21330 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
21332 return (uint64x1_t) {__builtin_aarch64_usli_ndi_uuus (__a[0], __b[0], __c)};
21335 __extension__ extern __inline poly64x1_t
21336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21337 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
21339 return (poly64x1_t) {__builtin_aarch64_ssli_ndi_ppps (__a[0], __b[0], __c)};
21342 __extension__ extern __inline int8x16_t
21343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21344 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
21346 return (int8x16_t) __builtin_aarch64_ssli_nv16qi (__a, __b, __c);
21349 __extension__ extern __inline int16x8_t
21350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21351 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
21353 return (int16x8_t) __builtin_aarch64_ssli_nv8hi (__a, __b, __c);
21356 __extension__ extern __inline int32x4_t
21357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21358 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
21360 return (int32x4_t) __builtin_aarch64_ssli_nv4si (__a, __b, __c);
21363 __extension__ extern __inline int64x2_t
21364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21365 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
21367 return (int64x2_t) __builtin_aarch64_ssli_nv2di (__a, __b, __c);
21370 __extension__ extern __inline uint8x16_t
21371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21372 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
21374 return __builtin_aarch64_usli_nv16qi_uuus (__a, __b, __c);
21377 __extension__ extern __inline uint16x8_t
21378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21379 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
21381 return __builtin_aarch64_usli_nv8hi_uuus (__a, __b, __c);
21384 __extension__ extern __inline uint32x4_t
21385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21386 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
21388 return __builtin_aarch64_usli_nv4si_uuus (__a, __b, __c);
21391 __extension__ extern __inline uint64x2_t
21392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21393 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
21395 return __builtin_aarch64_usli_nv2di_uuus (__a, __b, __c);
21398 __extension__ extern __inline poly64x2_t
21399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21400 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
21402 return __builtin_aarch64_ssli_nv2di_ppps (__a, __b, __c);
21405 __extension__ extern __inline int64_t
21406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21407 vslid_n_s64 (int64_t __a, int64_t __b, const int __c)
21409 return __builtin_aarch64_ssli_ndi (__a, __b, __c);
21412 __extension__ extern __inline uint64_t
21413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21414 vslid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
21416 return __builtin_aarch64_usli_ndi_uuus (__a, __b, __c);
21419 /* vsqadd */
21421 __extension__ extern __inline uint8x8_t
21422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21423 vsqadd_u8 (uint8x8_t __a, int8x8_t __b)
21425 return __builtin_aarch64_usqaddv8qi_uus (__a, __b);
21428 __extension__ extern __inline uint16x4_t
21429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21430 vsqadd_u16 (uint16x4_t __a, int16x4_t __b)
21432 return __builtin_aarch64_usqaddv4hi_uus (__a, __b);
21435 __extension__ extern __inline uint32x2_t
21436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21437 vsqadd_u32 (uint32x2_t __a, int32x2_t __b)
21439 return __builtin_aarch64_usqaddv2si_uus (__a, __b);
21442 __extension__ extern __inline uint64x1_t
21443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21444 vsqadd_u64 (uint64x1_t __a, int64x1_t __b)
21446 return (uint64x1_t) {__builtin_aarch64_usqadddi_uus (__a[0], __b[0])};
21449 __extension__ extern __inline uint8x16_t
21450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21451 vsqaddq_u8 (uint8x16_t __a, int8x16_t __b)
21453 return __builtin_aarch64_usqaddv16qi_uus (__a, __b);
21456 __extension__ extern __inline uint16x8_t
21457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21458 vsqaddq_u16 (uint16x8_t __a, int16x8_t __b)
21460 return __builtin_aarch64_usqaddv8hi_uus (__a, __b);
21463 __extension__ extern __inline uint32x4_t
21464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21465 vsqaddq_u32 (uint32x4_t __a, int32x4_t __b)
21467 return __builtin_aarch64_usqaddv4si_uus (__a, __b);
21470 __extension__ extern __inline uint64x2_t
21471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21472 vsqaddq_u64 (uint64x2_t __a, int64x2_t __b)
21474 return __builtin_aarch64_usqaddv2di_uus (__a, __b);
21477 __extension__ extern __inline uint8_t
21478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21479 vsqaddb_u8 (uint8_t __a, int8_t __b)
21481 return __builtin_aarch64_usqaddqi_uus (__a, __b);
21484 __extension__ extern __inline uint16_t
21485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21486 vsqaddh_u16 (uint16_t __a, int16_t __b)
21488 return __builtin_aarch64_usqaddhi_uus (__a, __b);
21491 __extension__ extern __inline uint32_t
21492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21493 vsqadds_u32 (uint32_t __a, int32_t __b)
21495 return __builtin_aarch64_usqaddsi_uus (__a, __b);
21498 __extension__ extern __inline uint64_t
21499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21500 vsqaddd_u64 (uint64_t __a, int64_t __b)
21502 return __builtin_aarch64_usqadddi_uus (__a, __b);
21505 /* vsqrt */
21506 __extension__ extern __inline float32x2_t
21507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21508 vsqrt_f32 (float32x2_t __a)
21510 return __builtin_aarch64_sqrtv2sf (__a);
21513 __extension__ extern __inline float32x4_t
21514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21515 vsqrtq_f32 (float32x4_t __a)
21517 return __builtin_aarch64_sqrtv4sf (__a);
21520 __extension__ extern __inline float64x1_t
21521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21522 vsqrt_f64 (float64x1_t __a)
21524 return (float64x1_t) { __builtin_aarch64_sqrtdf (__a[0]) };
21527 __extension__ extern __inline float64x2_t
21528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21529 vsqrtq_f64 (float64x2_t __a)
21531 return __builtin_aarch64_sqrtv2df (__a);
21534 /* vsra */
21536 __extension__ extern __inline int8x8_t
21537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21538 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
21540 return (int8x8_t) __builtin_aarch64_ssra_nv8qi (__a, __b, __c);
21543 __extension__ extern __inline int16x4_t
21544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21545 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
21547 return (int16x4_t) __builtin_aarch64_ssra_nv4hi (__a, __b, __c);
21550 __extension__ extern __inline int32x2_t
21551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21552 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
21554 return (int32x2_t) __builtin_aarch64_ssra_nv2si (__a, __b, __c);
21557 __extension__ extern __inline int64x1_t
21558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21559 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
21561 return (int64x1_t) {__builtin_aarch64_ssra_ndi (__a[0], __b[0], __c)};
21564 __extension__ extern __inline uint8x8_t
21565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21566 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
21568 return __builtin_aarch64_usra_nv8qi_uuus (__a, __b, __c);
21571 __extension__ extern __inline uint16x4_t
21572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21573 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
21575 return __builtin_aarch64_usra_nv4hi_uuus (__a, __b, __c);
21578 __extension__ extern __inline uint32x2_t
21579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21580 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
21582 return __builtin_aarch64_usra_nv2si_uuus (__a, __b, __c);
21585 __extension__ extern __inline uint64x1_t
21586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21587 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
21589 return (uint64x1_t) {__builtin_aarch64_usra_ndi_uuus (__a[0], __b[0], __c)};
21592 __extension__ extern __inline int8x16_t
21593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21594 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
21596 return (int8x16_t) __builtin_aarch64_ssra_nv16qi (__a, __b, __c);
21599 __extension__ extern __inline int16x8_t
21600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21601 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
21603 return (int16x8_t) __builtin_aarch64_ssra_nv8hi (__a, __b, __c);
21606 __extension__ extern __inline int32x4_t
21607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21608 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
21610 return (int32x4_t) __builtin_aarch64_ssra_nv4si (__a, __b, __c);
21613 __extension__ extern __inline int64x2_t
21614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21615 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
21617 return (int64x2_t) __builtin_aarch64_ssra_nv2di (__a, __b, __c);
21620 __extension__ extern __inline uint8x16_t
21621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21622 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
21624 return __builtin_aarch64_usra_nv16qi_uuus (__a, __b, __c);
21627 __extension__ extern __inline uint16x8_t
21628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21629 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
21631 return __builtin_aarch64_usra_nv8hi_uuus (__a, __b, __c);
21634 __extension__ extern __inline uint32x4_t
21635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21636 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
21638 return __builtin_aarch64_usra_nv4si_uuus (__a, __b, __c);
21641 __extension__ extern __inline uint64x2_t
21642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21643 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
21645 return __builtin_aarch64_usra_nv2di_uuus (__a, __b, __c);
21648 __extension__ extern __inline int64_t
21649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21650 vsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
21652 return __builtin_aarch64_ssra_ndi (__a, __b, __c);
21655 __extension__ extern __inline uint64_t
21656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21657 vsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
21659 return __builtin_aarch64_usra_ndi_uuus (__a, __b, __c);
21662 /* vsri */
21664 __extension__ extern __inline int8x8_t
21665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21666 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
21668 return (int8x8_t) __builtin_aarch64_ssri_nv8qi (__a, __b, __c);
21671 __extension__ extern __inline int16x4_t
21672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21673 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
21675 return (int16x4_t) __builtin_aarch64_ssri_nv4hi (__a, __b, __c);
21678 __extension__ extern __inline int32x2_t
21679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21680 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
21682 return (int32x2_t) __builtin_aarch64_ssri_nv2si (__a, __b, __c);
21685 __extension__ extern __inline int64x1_t
21686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21687 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
21689 return (int64x1_t) {__builtin_aarch64_ssri_ndi (__a[0], __b[0], __c)};
21692 __extension__ extern __inline uint8x8_t
21693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21694 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
21696 return __builtin_aarch64_usri_nv8qi_uuus (__a, __b, __c);
21699 __extension__ extern __inline uint16x4_t
21700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21701 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
21703 return __builtin_aarch64_usri_nv4hi_uuus (__a, __b, __c);
21706 __extension__ extern __inline uint32x2_t
21707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21708 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
21710 return __builtin_aarch64_usri_nv2si_uuus (__a, __b, __c);
21713 __extension__ extern __inline uint64x1_t
21714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21715 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
21717 return (uint64x1_t) {__builtin_aarch64_usri_ndi_uuus (__a[0], __b[0], __c)};
21720 __extension__ extern __inline int8x16_t
21721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21722 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
21724 return (int8x16_t) __builtin_aarch64_ssri_nv16qi (__a, __b, __c);
21727 __extension__ extern __inline int16x8_t
21728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21729 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
21731 return (int16x8_t) __builtin_aarch64_ssri_nv8hi (__a, __b, __c);
21734 __extension__ extern __inline int32x4_t
21735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21736 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
21738 return (int32x4_t) __builtin_aarch64_ssri_nv4si (__a, __b, __c);
21741 __extension__ extern __inline int64x2_t
21742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21743 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
21745 return (int64x2_t) __builtin_aarch64_ssri_nv2di (__a, __b, __c);
21748 __extension__ extern __inline uint8x16_t
21749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21750 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
21752 return __builtin_aarch64_usri_nv16qi_uuus (__a, __b, __c);
21755 __extension__ extern __inline uint16x8_t
21756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21757 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
21759 return __builtin_aarch64_usri_nv8hi_uuus (__a, __b, __c);
21762 __extension__ extern __inline uint32x4_t
21763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21764 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
21766 return __builtin_aarch64_usri_nv4si_uuus (__a, __b, __c);
21769 __extension__ extern __inline uint64x2_t
21770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21771 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
21773 return __builtin_aarch64_usri_nv2di_uuus (__a, __b, __c);
21776 __extension__ extern __inline int64_t
21777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21778 vsrid_n_s64 (int64_t __a, int64_t __b, const int __c)
21780 return __builtin_aarch64_ssri_ndi (__a, __b, __c);
21783 __extension__ extern __inline uint64_t
21784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21785 vsrid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
21787 return __builtin_aarch64_usri_ndi_uuus (__a, __b, __c);
21790 /* vst1 */
21792 __extension__ extern __inline void
21793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21794 vst1_f16 (float16_t *__a, float16x4_t __b)
21796 __builtin_aarch64_st1v4hf (__a, __b);
21799 __extension__ extern __inline void
21800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21801 vst1_f32 (float32_t *__a, float32x2_t __b)
21803 __builtin_aarch64_st1v2sf ((__builtin_aarch64_simd_sf *) __a, __b);
21806 __extension__ extern __inline void
21807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21808 vst1_f64 (float64_t *__a, float64x1_t __b)
21810 *__a = __b[0];
21813 __extension__ extern __inline void
21814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21815 vst1_p8 (poly8_t *__a, poly8x8_t __b)
21817 __builtin_aarch64_st1v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __b);
21820 __extension__ extern __inline void
21821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21822 vst1_p16 (poly16_t *__a, poly16x4_t __b)
21824 __builtin_aarch64_st1v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __b);
21827 __extension__ extern __inline void
21828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21829 vst1_p64 (poly64_t *__a, poly64x1_t __b)
21831 *__a = __b[0];
21834 __extension__ extern __inline void
21835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21836 vst1_s8 (int8_t *__a, int8x8_t __b)
21838 __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a, __b);
21841 __extension__ extern __inline void
21842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21843 vst1_s16 (int16_t *__a, int16x4_t __b)
21845 __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a, __b);
21848 __extension__ extern __inline void
21849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21850 vst1_s32 (int32_t *__a, int32x2_t __b)
21852 __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a, __b);
21855 __extension__ extern __inline void
21856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21857 vst1_s64 (int64_t *__a, int64x1_t __b)
21859 *__a = __b[0];
21862 __extension__ extern __inline void
21863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21864 vst1_u8 (uint8_t *__a, uint8x8_t __b)
21866 __builtin_aarch64_st1v8qi_su ((__builtin_aarch64_simd_qi *) __a, __b);
21869 __extension__ extern __inline void
21870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21871 vst1_u16 (uint16_t *__a, uint16x4_t __b)
21873 __builtin_aarch64_st1v4hi_su ((__builtin_aarch64_simd_hi *) __a, __b);
21876 __extension__ extern __inline void
21877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21878 vst1_u32 (uint32_t *__a, uint32x2_t __b)
21880 __builtin_aarch64_st1v2si_su ((__builtin_aarch64_simd_si *) __a, __b);
21883 __extension__ extern __inline void
21884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21885 vst1_u64 (uint64_t *__a, uint64x1_t __b)
21887 *__a = __b[0];
21890 /* vst1q */
21892 __extension__ extern __inline void
21893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21894 vst1q_f16 (float16_t *__a, float16x8_t __b)
21896 __builtin_aarch64_st1v8hf (__a, __b);
21899 __extension__ extern __inline void
21900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21901 vst1q_f32 (float32_t *__a, float32x4_t __b)
21903 __builtin_aarch64_st1v4sf ((__builtin_aarch64_simd_sf *) __a, __b);
21906 __extension__ extern __inline void
21907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21908 vst1q_f64 (float64_t *__a, float64x2_t __b)
21910 __builtin_aarch64_st1v2df ((__builtin_aarch64_simd_df *) __a, __b);
21913 __extension__ extern __inline void
21914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21915 vst1q_p8 (poly8_t *__a, poly8x16_t __b)
21917 __builtin_aarch64_st1v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __b);
21920 __extension__ extern __inline void
21921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21922 vst1q_p16 (poly16_t *__a, poly16x8_t __b)
21924 __builtin_aarch64_st1v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __b);
21927 __extension__ extern __inline void
21928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21929 vst1q_p64 (poly64_t *__a, poly64x2_t __b)
21931 __builtin_aarch64_st1v2di_sp ((__builtin_aarch64_simd_di *) __a, __b);
21934 __extension__ extern __inline void
21935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21936 vst1q_s8 (int8_t *__a, int8x16_t __b)
21938 __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a, __b);
21941 __extension__ extern __inline void
21942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21943 vst1q_s16 (int16_t *__a, int16x8_t __b)
21945 __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a, __b);
21948 __extension__ extern __inline void
21949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21950 vst1q_s32 (int32_t *__a, int32x4_t __b)
21952 __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a, __b);
21955 __extension__ extern __inline void
21956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21957 vst1q_s64 (int64_t *__a, int64x2_t __b)
21959 __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a, __b);
21962 __extension__ extern __inline void
21963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21964 vst1q_u8 (uint8_t *__a, uint8x16_t __b)
21966 __builtin_aarch64_st1v16qi_su ((__builtin_aarch64_simd_qi *) __a, __b);
21969 __extension__ extern __inline void
21970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21971 vst1q_u16 (uint16_t *__a, uint16x8_t __b)
21973 __builtin_aarch64_st1v8hi_su ((__builtin_aarch64_simd_hi *) __a, __b);
21976 __extension__ extern __inline void
21977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21978 vst1q_u32 (uint32_t *__a, uint32x4_t __b)
21980 __builtin_aarch64_st1v4si_su ((__builtin_aarch64_simd_si *) __a, __b);
21983 __extension__ extern __inline void
21984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21985 vst1q_u64 (uint64_t *__a, uint64x2_t __b)
21987 __builtin_aarch64_st1v2di_su ((__builtin_aarch64_simd_di *) __a, __b);
21990 /* vst1_lane */
21992 __extension__ extern __inline void
21993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21994 vst1_lane_f16 (float16_t *__a, float16x4_t __b, const int __lane)
21996 *__a = __aarch64_vget_lane_any (__b, __lane);
21999 __extension__ extern __inline void
22000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22001 vst1_lane_f32 (float32_t *__a, float32x2_t __b, const int __lane)
22003 *__a = __aarch64_vget_lane_any (__b, __lane);
22006 __extension__ extern __inline void
22007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22008 vst1_lane_f64 (float64_t *__a, float64x1_t __b, const int __lane)
22010 *__a = __aarch64_vget_lane_any (__b, __lane);
22013 __extension__ extern __inline void
22014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22015 vst1_lane_p8 (poly8_t *__a, poly8x8_t __b, const int __lane)
22017 *__a = __aarch64_vget_lane_any (__b, __lane);
22020 __extension__ extern __inline void
22021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22022 vst1_lane_p16 (poly16_t *__a, poly16x4_t __b, const int __lane)
22024 *__a = __aarch64_vget_lane_any (__b, __lane);
22027 __extension__ extern __inline void
22028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22029 vst1_lane_p64 (poly64_t *__a, poly64x1_t __b, const int __lane)
22031 *__a = __aarch64_vget_lane_any (__b, __lane);
22034 __extension__ extern __inline void
22035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22036 vst1_lane_s8 (int8_t *__a, int8x8_t __b, const int __lane)
22038 *__a = __aarch64_vget_lane_any (__b, __lane);
22041 __extension__ extern __inline void
22042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22043 vst1_lane_s16 (int16_t *__a, int16x4_t __b, const int __lane)
22045 *__a = __aarch64_vget_lane_any (__b, __lane);
22048 __extension__ extern __inline void
22049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22050 vst1_lane_s32 (int32_t *__a, int32x2_t __b, const int __lane)
22052 *__a = __aarch64_vget_lane_any (__b, __lane);
22055 __extension__ extern __inline void
22056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22057 vst1_lane_s64 (int64_t *__a, int64x1_t __b, const int __lane)
22059 *__a = __aarch64_vget_lane_any (__b, __lane);
22062 __extension__ extern __inline void
22063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22064 vst1_lane_u8 (uint8_t *__a, uint8x8_t __b, const int __lane)
22066 *__a = __aarch64_vget_lane_any (__b, __lane);
22069 __extension__ extern __inline void
22070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22071 vst1_lane_u16 (uint16_t *__a, uint16x4_t __b, const int __lane)
22073 *__a = __aarch64_vget_lane_any (__b, __lane);
22076 __extension__ extern __inline void
22077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22078 vst1_lane_u32 (uint32_t *__a, uint32x2_t __b, const int __lane)
22080 *__a = __aarch64_vget_lane_any (__b, __lane);
22083 __extension__ extern __inline void
22084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22085 vst1_lane_u64 (uint64_t *__a, uint64x1_t __b, const int __lane)
22087 *__a = __aarch64_vget_lane_any (__b, __lane);
22090 /* vst1q_lane */
22092 __extension__ extern __inline void
22093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22094 vst1q_lane_f16 (float16_t *__a, float16x8_t __b, const int __lane)
22096 *__a = __aarch64_vget_lane_any (__b, __lane);
22099 __extension__ extern __inline void
22100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22101 vst1q_lane_f32 (float32_t *__a, float32x4_t __b, const int __lane)
22103 *__a = __aarch64_vget_lane_any (__b, __lane);
22106 __extension__ extern __inline void
22107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22108 vst1q_lane_f64 (float64_t *__a, float64x2_t __b, const int __lane)
22110 *__a = __aarch64_vget_lane_any (__b, __lane);
22113 __extension__ extern __inline void
22114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22115 vst1q_lane_p8 (poly8_t *__a, poly8x16_t __b, const int __lane)
22117 *__a = __aarch64_vget_lane_any (__b, __lane);
22120 __extension__ extern __inline void
22121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22122 vst1q_lane_p16 (poly16_t *__a, poly16x8_t __b, const int __lane)
22124 *__a = __aarch64_vget_lane_any (__b, __lane);
22127 __extension__ extern __inline void
22128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22129 vst1q_lane_p64 (poly64_t *__a, poly64x2_t __b, const int __lane)
22131 *__a = __aarch64_vget_lane_any (__b, __lane);
22134 __extension__ extern __inline void
22135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22136 vst1q_lane_s8 (int8_t *__a, int8x16_t __b, const int __lane)
22138 *__a = __aarch64_vget_lane_any (__b, __lane);
22141 __extension__ extern __inline void
22142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22143 vst1q_lane_s16 (int16_t *__a, int16x8_t __b, const int __lane)
22145 *__a = __aarch64_vget_lane_any (__b, __lane);
22148 __extension__ extern __inline void
22149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22150 vst1q_lane_s32 (int32_t *__a, int32x4_t __b, const int __lane)
22152 *__a = __aarch64_vget_lane_any (__b, __lane);
22155 __extension__ extern __inline void
22156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22157 vst1q_lane_s64 (int64_t *__a, int64x2_t __b, const int __lane)
22159 *__a = __aarch64_vget_lane_any (__b, __lane);
22162 __extension__ extern __inline void
22163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22164 vst1q_lane_u8 (uint8_t *__a, uint8x16_t __b, const int __lane)
22166 *__a = __aarch64_vget_lane_any (__b, __lane);
22169 __extension__ extern __inline void
22170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22171 vst1q_lane_u16 (uint16_t *__a, uint16x8_t __b, const int __lane)
22173 *__a = __aarch64_vget_lane_any (__b, __lane);
22176 __extension__ extern __inline void
22177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22178 vst1q_lane_u32 (uint32_t *__a, uint32x4_t __b, const int __lane)
22180 *__a = __aarch64_vget_lane_any (__b, __lane);
22183 __extension__ extern __inline void
22184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22185 vst1q_lane_u64 (uint64_t *__a, uint64x2_t __b, const int __lane)
22187 *__a = __aarch64_vget_lane_any (__b, __lane);
22190 /* vst1x2 */
22192 __extension__ extern __inline void
22193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22194 vst1_s64_x2 (int64_t * __a, int64x1x2_t __val)
22196 __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __val);
22199 __extension__ extern __inline void
22200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22201 vst1_u64_x2 (uint64_t * __a, uint64x1x2_t __val)
22203 __builtin_aarch64_st1x2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22206 __extension__ extern __inline void
22207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22208 vst1_f64_x2 (float64_t * __a, float64x1x2_t __val)
22210 __builtin_aarch64_st1x2df ((__builtin_aarch64_simd_df *) __a, __val);
22213 __extension__ extern __inline void
22214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22215 vst1_s8_x2 (int8_t * __a, int8x8x2_t __val)
22217 __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
22220 __extension__ extern __inline void
22221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22222 vst1_p8_x2 (poly8_t * __a, poly8x8x2_t __val)
22224 __builtin_aarch64_st1x2v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22227 __extension__ extern __inline void
22228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22229 vst1_s16_x2 (int16_t * __a, int16x4x2_t __val)
22231 __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
22234 __extension__ extern __inline void
22235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22236 vst1_p16_x2 (poly16_t * __a, poly16x4x2_t __val)
22238 __builtin_aarch64_st1x2v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22241 __extension__ extern __inline void
22242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22243 vst1_s32_x2 (int32_t * __a, int32x2x2_t __val)
22245 __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __val);
22248 __extension__ extern __inline void
22249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22250 vst1_u8_x2 (uint8_t * __a, uint8x8x2_t __val)
22252 __builtin_aarch64_st1x2v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22255 __extension__ extern __inline void
22256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22257 vst1_u16_x2 (uint16_t * __a, uint16x4x2_t __val)
22259 __builtin_aarch64_st1x2v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22262 __extension__ extern __inline void
22263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22264 vst1_u32_x2 (uint32_t * __a, uint32x2x2_t __val)
22266 __builtin_aarch64_st1x2v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
22269 __extension__ extern __inline void
22270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22271 vst1_f16_x2 (float16_t * __a, float16x4x2_t __val)
22273 __builtin_aarch64_st1x2v4hf (__a, __val);
22276 __extension__ extern __inline void
22277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22278 vst1_f32_x2 (float32_t * __a, float32x2x2_t __val)
22280 __builtin_aarch64_st1x2v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
22283 __extension__ extern __inline void
22284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22285 vst1_p64_x2 (poly64_t * __a, poly64x1x2_t __val)
22287 __builtin_aarch64_st1x2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22290 __extension__ extern __inline void
22291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22292 vst1q_s8_x2 (int8_t * __a, int8x16x2_t __val)
22294 __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
22297 __extension__ extern __inline void
22298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22299 vst1q_p8_x2 (poly8_t * __a, poly8x16x2_t __val)
22301 __builtin_aarch64_st1x2v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22304 __extension__ extern __inline void
22305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22306 vst1q_s16_x2 (int16_t * __a, int16x8x2_t __val)
22308 __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
22311 __extension__ extern __inline void
22312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22313 vst1q_p16_x2 (poly16_t * __a, poly16x8x2_t __val)
22315 __builtin_aarch64_st1x2v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22318 __extension__ extern __inline void
22319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22320 vst1q_s32_x2 (int32_t * __a, int32x4x2_t __val)
22322 __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __val);
22325 __extension__ extern __inline void
22326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22327 vst1q_s64_x2 (int64_t * __a, int64x2x2_t __val)
22329 __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __val);
22332 __extension__ extern __inline void
22333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22334 vst1q_u8_x2 (uint8_t * __a, uint8x16x2_t __val)
22336 __builtin_aarch64_st1x2v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22339 __extension__ extern __inline void
22340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22341 vst1q_u16_x2 (uint16_t * __a, uint16x8x2_t __val)
22343 __builtin_aarch64_st1x2v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22346 __extension__ extern __inline void
22347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22348 vst1q_u32_x2 (uint32_t * __a, uint32x4x2_t __val)
22350 __builtin_aarch64_st1x2v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
22353 __extension__ extern __inline void
22354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22355 vst1q_u64_x2 (uint64_t * __a, uint64x2x2_t __val)
22357 __builtin_aarch64_st1x2v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22360 __extension__ extern __inline void
22361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22362 vst1q_f16_x2 (float16_t * __a, float16x8x2_t __val)
22364 __builtin_aarch64_st1x2v8hf (__a, __val);
22367 __extension__ extern __inline void
22368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22369 vst1q_f32_x2 (float32_t * __a, float32x4x2_t __val)
22371 __builtin_aarch64_st1x2v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
22374 __extension__ extern __inline void
22375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22376 vst1q_f64_x2 (float64_t * __a, float64x2x2_t __val)
22378 __builtin_aarch64_st1x2v2df ((__builtin_aarch64_simd_df *) __a, __val);
22381 __extension__ extern __inline void
22382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22383 vst1q_p64_x2 (poly64_t * __a, poly64x2x2_t __val)
22385 __builtin_aarch64_st1x2v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22388 /* vst1x3 */
22390 __extension__ extern __inline void
22391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22392 vst1_s64_x3 (int64_t * __a, int64x1x3_t __val)
22394 __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __val);
22397 __extension__ extern __inline void
22398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22399 vst1_u64_x3 (uint64_t * __a, uint64x1x3_t __val)
22401 __builtin_aarch64_st1x3di_su ((__builtin_aarch64_simd_di *) __a, __val);
22404 __extension__ extern __inline void
22405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22406 vst1_f64_x3 (float64_t * __a, float64x1x3_t __val)
22408 __builtin_aarch64_st1x3df ((__builtin_aarch64_simd_df *) __a, __val);
22411 __extension__ extern __inline void
22412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22413 vst1_s8_x3 (int8_t * __a, int8x8x3_t __val)
22415 __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
22418 __extension__ extern __inline void
22419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22420 vst1_p8_x3 (poly8_t * __a, poly8x8x3_t __val)
22422 __builtin_aarch64_st1x3v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22425 __extension__ extern __inline void
22426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22427 vst1_s16_x3 (int16_t * __a, int16x4x3_t __val)
22429 __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
22432 __extension__ extern __inline void
22433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22434 vst1_p16_x3 (poly16_t * __a, poly16x4x3_t __val)
22436 __builtin_aarch64_st1x3v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22439 __extension__ extern __inline void
22440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22441 vst1_s32_x3 (int32_t * __a, int32x2x3_t __val)
22443 __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __val);
22446 __extension__ extern __inline void
22447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22448 vst1_u8_x3 (uint8_t * __a, uint8x8x3_t __val)
22450 __builtin_aarch64_st1x3v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22453 __extension__ extern __inline void
22454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22455 vst1_u16_x3 (uint16_t * __a, uint16x4x3_t __val)
22457 __builtin_aarch64_st1x3v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22460 __extension__ extern __inline void
22461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22462 vst1_u32_x3 (uint32_t * __a, uint32x2x3_t __val)
22464 __builtin_aarch64_st1x3v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
22467 __extension__ extern __inline void
22468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22469 vst1_f16_x3 (float16_t * __a, float16x4x3_t __val)
22471 __builtin_aarch64_st1x3v4hf ((__builtin_aarch64_simd_hf *) __a, __val);
22474 __extension__ extern __inline void
22475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22476 vst1_f32_x3 (float32_t * __a, float32x2x3_t __val)
22478 __builtin_aarch64_st1x3v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
22481 __extension__ extern __inline void
22482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22483 vst1_p64_x3 (poly64_t * __a, poly64x1x3_t __val)
22485 __builtin_aarch64_st1x3di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22488 __extension__ extern __inline void
22489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22490 vst1q_s8_x3 (int8_t * __a, int8x16x3_t __val)
22492 __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
22495 __extension__ extern __inline void
22496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22497 vst1q_p8_x3 (poly8_t * __a, poly8x16x3_t __val)
22499 __builtin_aarch64_st1x3v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22502 __extension__ extern __inline void
22503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22504 vst1q_s16_x3 (int16_t * __a, int16x8x3_t __val)
22506 __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
22509 __extension__ extern __inline void
22510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22511 vst1q_p16_x3 (poly16_t * __a, poly16x8x3_t __val)
22513 __builtin_aarch64_st1x3v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22516 __extension__ extern __inline void
22517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22518 vst1q_s32_x3 (int32_t * __a, int32x4x3_t __val)
22520 __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __val);
22523 __extension__ extern __inline void
22524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22525 vst1q_s64_x3 (int64_t * __a, int64x2x3_t __val)
22527 __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a,
22528 (int64x2x3_t) __val);
22531 __extension__ extern __inline void
22532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22533 vst1q_u8_x3 (uint8_t * __a, uint8x16x3_t __val)
22535 __builtin_aarch64_st1x3v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22538 __extension__ extern __inline void
22539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22540 vst1q_u16_x3 (uint16_t * __a, uint16x8x3_t __val)
22542 __builtin_aarch64_st1x3v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22545 __extension__ extern __inline void
22546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22547 vst1q_u32_x3 (uint32_t * __a, uint32x4x3_t __val)
22549 __builtin_aarch64_st1x3v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
22552 __extension__ extern __inline void
22553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22554 vst1q_u64_x3 (uint64_t * __a, uint64x2x3_t __val)
22556 __builtin_aarch64_st1x3v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22559 __extension__ extern __inline void
22560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22561 vst1q_f16_x3 (float16_t * __a, float16x8x3_t __val)
22563 __builtin_aarch64_st1x3v8hf ((__builtin_aarch64_simd_hf *) __a, __val);
22566 __extension__ extern __inline void
22567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22568 vst1q_f32_x3 (float32_t * __a, float32x4x3_t __val)
22570 __builtin_aarch64_st1x3v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
22573 __extension__ extern __inline void
22574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22575 vst1q_f64_x3 (float64_t * __a, float64x2x3_t __val)
22577 __builtin_aarch64_st1x3v2df ((__builtin_aarch64_simd_df *) __a, __val);
22580 __extension__ extern __inline void
22581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22582 vst1q_p64_x3 (poly64_t * __a, poly64x2x3_t __val)
22584 __builtin_aarch64_st1x3v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22587 /* vst1(q)_x4. */
22589 __extension__ extern __inline void
22590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22591 vst1_s8_x4 (int8_t * __a, int8x8x4_t __val)
22593 __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
22596 __extension__ extern __inline void
22597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22598 vst1q_s8_x4 (int8_t * __a, int8x16x4_t __val)
22600 __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
22603 __extension__ extern __inline void
22604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22605 vst1_s16_x4 (int16_t * __a, int16x4x4_t __val)
22607 __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
22610 __extension__ extern __inline void
22611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22612 vst1q_s16_x4 (int16_t * __a, int16x8x4_t __val)
22614 __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
22617 __extension__ extern __inline void
22618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22619 vst1_s32_x4 (int32_t * __a, int32x2x4_t __val)
22621 __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __val);
22624 __extension__ extern __inline void
22625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22626 vst1q_s32_x4 (int32_t * __a, int32x4x4_t __val)
22628 __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __val);
22631 __extension__ extern __inline void
22632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22633 vst1_u8_x4 (uint8_t * __a, uint8x8x4_t __val)
22635 __builtin_aarch64_st1x4v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22638 __extension__ extern __inline void
22639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22640 vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t __val)
22642 __builtin_aarch64_st1x4v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22645 __extension__ extern __inline void
22646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22647 vst1_u16_x4 (uint16_t * __a, uint16x4x4_t __val)
22649 __builtin_aarch64_st1x4v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22652 __extension__ extern __inline void
22653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22654 vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t __val)
22656 __builtin_aarch64_st1x4v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22659 __extension__ extern __inline void
22660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22661 vst1_u32_x4 (uint32_t * __a, uint32x2x4_t __val)
22663 __builtin_aarch64_st1x4v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
22666 __extension__ extern __inline void
22667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22668 vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t __val)
22670 __builtin_aarch64_st1x4v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
22673 __extension__ extern __inline void
22674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22675 vst1_f16_x4 (float16_t * __a, float16x4x4_t __val)
22677 __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __val);
22680 __extension__ extern __inline void
22681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22682 vst1q_f16_x4 (float16_t * __a, float16x8x4_t __val)
22684 __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __val);
22687 __extension__ extern __inline void
22688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22689 vst1_f32_x4 (float32_t * __a, float32x2x4_t __val)
22691 __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
22694 __extension__ extern __inline void
22695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22696 vst1q_f32_x4 (float32_t * __a, float32x4x4_t __val)
22698 __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
22701 __extension__ extern __inline void
22702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22703 vst1_p8_x4 (poly8_t * __a, poly8x8x4_t __val)
22705 __builtin_aarch64_st1x4v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22708 __extension__ extern __inline void
22709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22710 vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t __val)
22712 __builtin_aarch64_st1x4v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22715 __extension__ extern __inline void
22716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22717 vst1_p16_x4 (poly16_t * __a, poly16x4x4_t __val)
22719 __builtin_aarch64_st1x4v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22722 __extension__ extern __inline void
22723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22724 vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t __val)
22726 __builtin_aarch64_st1x4v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22729 __extension__ extern __inline void
22730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22731 vst1_s64_x4 (int64_t * __a, int64x1x4_t __val)
22733 __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __val);
22736 __extension__ extern __inline void
22737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22738 vst1_u64_x4 (uint64_t * __a, uint64x1x4_t __val)
22740 __builtin_aarch64_st1x4di_su ((__builtin_aarch64_simd_di *) __a, __val);
22743 __extension__ extern __inline void
22744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22745 vst1_p64_x4 (poly64_t * __a, poly64x1x4_t __val)
22747 __builtin_aarch64_st1x4di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22750 __extension__ extern __inline void
22751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22752 vst1q_s64_x4 (int64_t * __a, int64x2x4_t __val)
22754 __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __val);
22757 __extension__ extern __inline void
22758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22759 vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t __val)
22761 __builtin_aarch64_st1x4v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22764 __extension__ extern __inline void
22765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22766 vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t __val)
22768 __builtin_aarch64_st1x4v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22771 __extension__ extern __inline void
22772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22773 vst1_f64_x4 (float64_t * __a, float64x1x4_t __val)
22775 __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __val);
22778 __extension__ extern __inline void
22779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22780 vst1q_f64_x4 (float64_t * __a, float64x2x4_t __val)
22782 __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __val);
22785 /* vstn */
22787 __extension__ extern __inline void
22788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22789 vst2_s64 (int64_t * __a, int64x1x2_t __val)
22791 __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __val);
22794 __extension__ extern __inline void
22795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22796 vst2_u64 (uint64_t * __a, uint64x1x2_t __val)
22798 __builtin_aarch64_st2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22801 __extension__ extern __inline void
22802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22803 vst2_f64 (float64_t * __a, float64x1x2_t __val)
22805 __builtin_aarch64_st2df ((__builtin_aarch64_simd_df *) __a, __val);
22808 __extension__ extern __inline void
22809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22810 vst2_s8 (int8_t * __a, int8x8x2_t __val)
22812 __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
22815 __extension__ extern __inline void
22816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22817 vst2_p8 (poly8_t * __a, poly8x8x2_t __val)
22819 __builtin_aarch64_st2v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22822 __extension__ extern __inline void
22823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22824 vst2_s16 (int16_t * __a, int16x4x2_t __val)
22826 __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
22829 __extension__ extern __inline void
22830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22831 vst2_p16 (poly16_t * __a, poly16x4x2_t __val)
22833 __builtin_aarch64_st2v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22836 __extension__ extern __inline void
22837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22838 vst2_s32 (int32_t * __a, int32x2x2_t __val)
22840 __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __val);
22843 __extension__ extern __inline void
22844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22845 vst2_u8 (uint8_t * __a, uint8x8x2_t __val)
22847 __builtin_aarch64_st2v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22850 __extension__ extern __inline void
22851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22852 vst2_u16 (uint16_t * __a, uint16x4x2_t __val)
22854 __builtin_aarch64_st2v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22857 __extension__ extern __inline void
22858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22859 vst2_u32 (uint32_t * __a, uint32x2x2_t __val)
22861 __builtin_aarch64_st2v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
22864 __extension__ extern __inline void
22865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22866 vst2_f16 (float16_t * __a, float16x4x2_t __val)
22868 __builtin_aarch64_st2v4hf ((__builtin_aarch64_simd_hf *) __a, __val);
22871 __extension__ extern __inline void
22872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22873 vst2_f32 (float32_t * __a, float32x2x2_t __val)
22875 __builtin_aarch64_st2v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
22878 __extension__ extern __inline void
22879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22880 vst2_p64 (poly64_t * __a, poly64x1x2_t __val)
22882 __builtin_aarch64_st2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22885 __extension__ extern __inline void
22886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22887 vst2q_s8 (int8_t * __a, int8x16x2_t __val)
22889 __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
22892 __extension__ extern __inline void
22893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22894 vst2q_p8 (poly8_t * __a, poly8x16x2_t __val)
22896 __builtin_aarch64_st2v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
22899 __extension__ extern __inline void
22900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22901 vst2q_s16 (int16_t * __a, int16x8x2_t __val)
22903 __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
22906 __extension__ extern __inline void
22907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22908 vst2q_p16 (poly16_t * __a, poly16x8x2_t __val)
22910 __builtin_aarch64_st2v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
22913 __extension__ extern __inline void
22914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22915 vst2q_s32 (int32_t * __a, int32x4x2_t __val)
22917 __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __val);
22920 __extension__ extern __inline void
22921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22922 vst2q_s64 (int64_t * __a, int64x2x2_t __val)
22924 __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __val);
22927 __extension__ extern __inline void
22928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22929 vst2q_u8 (uint8_t * __a, uint8x16x2_t __val)
22931 __builtin_aarch64_st2v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
22934 __extension__ extern __inline void
22935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22936 vst2q_u16 (uint16_t * __a, uint16x8x2_t __val)
22938 __builtin_aarch64_st2v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
22941 __extension__ extern __inline void
22942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22943 vst2q_u32 (uint32_t * __a, uint32x4x2_t __val)
22945 __builtin_aarch64_st2v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
22948 __extension__ extern __inline void
22949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22950 vst2q_u64 (uint64_t * __a, uint64x2x2_t __val)
22952 __builtin_aarch64_st2v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
22955 __extension__ extern __inline void
22956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22957 vst2q_f16 (float16_t * __a, float16x8x2_t __val)
22959 __builtin_aarch64_st2v8hf ((__builtin_aarch64_simd_hf *) __a, __val);
22962 __extension__ extern __inline void
22963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22964 vst2q_f32 (float32_t * __a, float32x4x2_t __val)
22966 __builtin_aarch64_st2v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
22969 __extension__ extern __inline void
22970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22971 vst2q_f64 (float64_t * __a, float64x2x2_t __val)
22973 __builtin_aarch64_st2v2df ((__builtin_aarch64_simd_df *) __a, __val);
22976 __extension__ extern __inline void
22977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22978 vst2q_p64 (poly64_t * __a, poly64x2x2_t __val)
22980 __builtin_aarch64_st2v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
22983 __extension__ extern __inline void
22984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22985 vst3_s64 (int64_t * __a, int64x1x3_t __val)
22987 __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __val);
22990 __extension__ extern __inline void
22991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22992 vst3_u64 (uint64_t * __a, uint64x1x3_t __val)
22994 __builtin_aarch64_st3di_su ((__builtin_aarch64_simd_di *) __a, __val);
22997 __extension__ extern __inline void
22998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
22999 vst3_f64 (float64_t * __a, float64x1x3_t __val)
23001 __builtin_aarch64_st3df ((__builtin_aarch64_simd_df *) __a, __val);
23004 __extension__ extern __inline void
23005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23006 vst3_s8 (int8_t * __a, int8x8x3_t __val)
23008 __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
23011 __extension__ extern __inline void
23012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23013 vst3_p8 (poly8_t * __a, poly8x8x3_t __val)
23015 __builtin_aarch64_st3v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
23018 __extension__ extern __inline void
23019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23020 vst3_s16 (int16_t * __a, int16x4x3_t __val)
23022 __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
23025 __extension__ extern __inline void
23026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23027 vst3_p16 (poly16_t * __a, poly16x4x3_t __val)
23029 __builtin_aarch64_st3v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
23032 __extension__ extern __inline void
23033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23034 vst3_s32 (int32_t * __a, int32x2x3_t __val)
23036 __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __val);
23039 __extension__ extern __inline void
23040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23041 vst3_u8 (uint8_t * __a, uint8x8x3_t __val)
23043 __builtin_aarch64_st3v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
23046 __extension__ extern __inline void
23047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23048 vst3_u16 (uint16_t * __a, uint16x4x3_t __val)
23050 __builtin_aarch64_st3v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
23053 __extension__ extern __inline void
23054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23055 vst3_u32 (uint32_t * __a, uint32x2x3_t __val)
23057 __builtin_aarch64_st3v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
23060 __extension__ extern __inline void
23061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23062 vst3_f16 (float16_t * __a, float16x4x3_t __val)
23064 __builtin_aarch64_st3v4hf ((__builtin_aarch64_simd_hf *) __a, __val);
23067 __extension__ extern __inline void
23068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23069 vst3_f32 (float32_t * __a, float32x2x3_t __val)
23071 __builtin_aarch64_st3v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
23074 __extension__ extern __inline void
23075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23076 vst3_p64 (poly64_t * __a, poly64x1x3_t __val)
23078 __builtin_aarch64_st3di_sp ((__builtin_aarch64_simd_di *) __a, __val);
23081 __extension__ extern __inline void
23082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23083 vst3q_s8 (int8_t * __a, int8x16x3_t __val)
23085 __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
23088 __extension__ extern __inline void
23089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23090 vst3q_p8 (poly8_t * __a, poly8x16x3_t __val)
23092 __builtin_aarch64_st3v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
23095 __extension__ extern __inline void
23096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23097 vst3q_s16 (int16_t * __a, int16x8x3_t __val)
23099 __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
23102 __extension__ extern __inline void
23103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23104 vst3q_p16 (poly16_t * __a, poly16x8x3_t __val)
23106 __builtin_aarch64_st3v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
23109 __extension__ extern __inline void
23110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23111 vst3q_s32 (int32_t * __a, int32x4x3_t __val)
23113 __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __val);
23116 __extension__ extern __inline void
23117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23118 vst3q_s64 (int64_t * __a, int64x2x3_t __val)
23120 __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __val);
23123 __extension__ extern __inline void
23124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23125 vst3q_u8 (uint8_t * __a, uint8x16x3_t __val)
23127 __builtin_aarch64_st3v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
23130 __extension__ extern __inline void
23131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23132 vst3q_u16 (uint16_t * __a, uint16x8x3_t __val)
23134 __builtin_aarch64_st3v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
23137 __extension__ extern __inline void
23138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23139 vst3q_u32 (uint32_t * __a, uint32x4x3_t __val)
23141 __builtin_aarch64_st3v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
23144 __extension__ extern __inline void
23145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23146 vst3q_u64 (uint64_t * __a, uint64x2x3_t __val)
23148 __builtin_aarch64_st3v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
23151 __extension__ extern __inline void
23152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23153 vst3q_f16 (float16_t * __a, float16x8x3_t __val)
23155 __builtin_aarch64_st3v8hf ((__builtin_aarch64_simd_hf *) __a, __val);
23158 __extension__ extern __inline void
23159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23160 vst3q_f32 (float32_t * __a, float32x4x3_t __val)
23162 __builtin_aarch64_st3v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
23165 __extension__ extern __inline void
23166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23167 vst3q_f64 (float64_t * __a, float64x2x3_t __val)
23169 __builtin_aarch64_st3v2df ((__builtin_aarch64_simd_df *) __a, __val);
23172 __extension__ extern __inline void
23173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23174 vst3q_p64 (poly64_t * __a, poly64x2x3_t __val)
23176 __builtin_aarch64_st3v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
23179 __extension__ extern __inline void
23180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23181 vst4_s64 (int64_t * __a, int64x1x4_t __val)
23183 __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __val);
23186 __extension__ extern __inline void
23187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23188 vst4_u64 (uint64_t * __a, uint64x1x4_t __val)
23190 __builtin_aarch64_st4di_su ((__builtin_aarch64_simd_di *) __a, __val);
23193 __extension__ extern __inline void
23194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23195 vst4_f64 (float64_t * __a, float64x1x4_t __val)
23197 __builtin_aarch64_st4df ((__builtin_aarch64_simd_df *) __a, __val);
23200 __extension__ extern __inline void
23201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23202 vst4_s8 (int8_t * __a, int8x8x4_t __val)
23204 __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __val);
23207 __extension__ extern __inline void
23208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23209 vst4_p8 (poly8_t * __a, poly8x8x4_t __val)
23211 __builtin_aarch64_st4v8qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
23214 __extension__ extern __inline void
23215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23216 vst4_s16 (int16_t * __a, int16x4x4_t __val)
23218 __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __val);
23221 __extension__ extern __inline void
23222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23223 vst4_p16 (poly16_t * __a, poly16x4x4_t __val)
23225 __builtin_aarch64_st4v4hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
23228 __extension__ extern __inline void
23229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23230 vst4_s32 (int32_t * __a, int32x2x4_t __val)
23232 __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __val);
23235 __extension__ extern __inline void
23236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23237 vst4_u8 (uint8_t * __a, uint8x8x4_t __val)
23239 __builtin_aarch64_st4v8qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
23242 __extension__ extern __inline void
23243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23244 vst4_u16 (uint16_t * __a, uint16x4x4_t __val)
23246 __builtin_aarch64_st4v4hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
23249 __extension__ extern __inline void
23250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23251 vst4_u32 (uint32_t * __a, uint32x2x4_t __val)
23253 __builtin_aarch64_st4v2si_su ((__builtin_aarch64_simd_si *) __a, __val);
23256 __extension__ extern __inline void
23257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23258 vst4_f16 (float16_t * __a, float16x4x4_t __val)
23260 __builtin_aarch64_st4v4hf ((__builtin_aarch64_simd_hf *) __a, __val);
23263 __extension__ extern __inline void
23264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23265 vst4_f32 (float32_t * __a, float32x2x4_t __val)
23267 __builtin_aarch64_st4v2sf ((__builtin_aarch64_simd_sf *) __a, __val);
23270 __extension__ extern __inline void
23271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23272 vst4_p64 (poly64_t * __a, poly64x1x4_t __val)
23274 __builtin_aarch64_st4di_sp ((__builtin_aarch64_simd_di *) __a, __val);
23277 __extension__ extern __inline void
23278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23279 vst4q_s8 (int8_t * __a, int8x16x4_t __val)
23281 __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __val);
23284 __extension__ extern __inline void
23285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23286 vst4q_p8 (poly8_t * __a, poly8x16x4_t __val)
23288 __builtin_aarch64_st4v16qi_sp ((__builtin_aarch64_simd_qi *) __a, __val);
23291 __extension__ extern __inline void
23292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23293 vst4q_s16 (int16_t * __a, int16x8x4_t __val)
23295 __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __val);
23298 __extension__ extern __inline void
23299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23300 vst4q_p16 (poly16_t * __a, poly16x8x4_t __val)
23302 __builtin_aarch64_st4v8hi_sp ((__builtin_aarch64_simd_hi *) __a, __val);
23305 __extension__ extern __inline void
23306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23307 vst4q_s32 (int32_t * __a, int32x4x4_t __val)
23309 __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __val);
23312 __extension__ extern __inline void
23313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23314 vst4q_s64 (int64_t * __a, int64x2x4_t __val)
23316 __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __val);
23319 __extension__ extern __inline void
23320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23321 vst4q_u8 (uint8_t * __a, uint8x16x4_t __val)
23323 __builtin_aarch64_st4v16qi_su ((__builtin_aarch64_simd_qi *) __a, __val);
23326 __extension__ extern __inline void
23327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23328 vst4q_u16 (uint16_t * __a, uint16x8x4_t __val)
23330 __builtin_aarch64_st4v8hi_su ((__builtin_aarch64_simd_hi *) __a, __val);
23333 __extension__ extern __inline void
23334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23335 vst4q_u32 (uint32_t * __a, uint32x4x4_t __val)
23337 __builtin_aarch64_st4v4si_su ((__builtin_aarch64_simd_si *) __a, __val);
23340 __extension__ extern __inline void
23341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23342 vst4q_u64 (uint64_t * __a, uint64x2x4_t __val)
23344 __builtin_aarch64_st4v2di_su ((__builtin_aarch64_simd_di *) __a, __val);
23347 __extension__ extern __inline void
23348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23349 vst4q_f16 (float16_t * __a, float16x8x4_t __val)
23351 __builtin_aarch64_st4v8hf ((__builtin_aarch64_simd_hf *) __a, __val);
23354 __extension__ extern __inline void
23355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23356 vst4q_f32 (float32_t * __a, float32x4x4_t __val)
23358 __builtin_aarch64_st4v4sf ((__builtin_aarch64_simd_sf *) __a, __val);
23361 __extension__ extern __inline void
23362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23363 vst4q_f64 (float64_t * __a, float64x2x4_t __val)
23365 __builtin_aarch64_st4v2df ((__builtin_aarch64_simd_df *) __a, __val);
23368 __extension__ extern __inline void
23369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23370 vst4q_p64 (poly64_t * __a, poly64x2x4_t __val)
23372 __builtin_aarch64_st4v2di_sp ((__builtin_aarch64_simd_di *) __a, __val);
23375 __extension__ extern __inline void
23376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23377 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
23379 *__ptr = __val;
23382 /* vsub */
23384 __extension__ extern __inline int64_t
23385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23386 vsubd_s64 (int64_t __a, int64_t __b)
23388 return __a - __b;
23391 __extension__ extern __inline uint64_t
23392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23393 vsubd_u64 (uint64_t __a, uint64_t __b)
23395 return __a - __b;
23398 /* vtbx1 */
23400 __extension__ extern __inline int8x8_t
23401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23402 vtbx1_s8 (int8x8_t __r, int8x8_t __tab, int8x8_t __idx)
23404 uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
23405 vmov_n_u8 (8));
23406 int8x8_t __tbl = vtbl1_s8 (__tab, __idx);
23408 return vbsl_s8 (__mask, __tbl, __r);
23411 __extension__ extern __inline uint8x8_t
23412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23413 vtbx1_u8 (uint8x8_t __r, uint8x8_t __tab, uint8x8_t __idx)
23415 uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
23416 uint8x8_t __tbl = vtbl1_u8 (__tab, __idx);
23418 return vbsl_u8 (__mask, __tbl, __r);
23421 __extension__ extern __inline poly8x8_t
23422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23423 vtbx1_p8 (poly8x8_t __r, poly8x8_t __tab, uint8x8_t __idx)
23425 uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
23426 poly8x8_t __tbl = vtbl1_p8 (__tab, __idx);
23428 return vbsl_p8 (__mask, __tbl, __r);
23431 /* vtbx3 */
23433 __extension__ extern __inline int8x8_t
23434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23435 vtbx3_s8 (int8x8_t __r, int8x8x3_t __tab, int8x8_t __idx)
23437 uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
23438 vmov_n_u8 (24));
23439 int8x8_t __tbl = vtbl3_s8 (__tab, __idx);
23441 return vbsl_s8 (__mask, __tbl, __r);
23444 __extension__ extern __inline uint8x8_t
23445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23446 vtbx3_u8 (uint8x8_t __r, uint8x8x3_t __tab, uint8x8_t __idx)
23448 uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
23449 uint8x8_t __tbl = vtbl3_u8 (__tab, __idx);
23451 return vbsl_u8 (__mask, __tbl, __r);
23454 __extension__ extern __inline poly8x8_t
23455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23456 vtbx3_p8 (poly8x8_t __r, poly8x8x3_t __tab, uint8x8_t __idx)
23458 uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
23459 poly8x8_t __tbl = vtbl3_p8 (__tab, __idx);
23461 return vbsl_p8 (__mask, __tbl, __r);
23464 /* vtbx4 */
23466 __extension__ extern __inline int8x8_t
23467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23468 vtbx4_s8 (int8x8_t __r, int8x8x4_t __tab, int8x8_t __idx)
23470 int8x16x2_t __temp;
23471 __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
23472 __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
23473 return __builtin_aarch64_qtbx2v8qi (__r, __temp, __idx);
23476 __extension__ extern __inline uint8x8_t
23477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23478 vtbx4_u8 (uint8x8_t __r, uint8x8x4_t __tab, uint8x8_t __idx)
23480 uint8x16x2_t __temp;
23481 __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
23482 __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
23483 return __builtin_aarch64_qtbx2v8qi_uuuu (__r, __temp, __idx);
23486 __extension__ extern __inline poly8x8_t
23487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23488 vtbx4_p8 (poly8x8_t __r, poly8x8x4_t __tab, uint8x8_t __idx)
23490 poly8x16x2_t __temp;
23491 __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
23492 __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
23493 return __builtin_aarch64_qtbx2v8qi_pppu (__r, __temp, __idx);
23496 /* vtrn */
23498 __extension__ extern __inline float16x4_t
23499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23500 vtrn1_f16 (float16x4_t __a, float16x4_t __b)
23502 #ifdef __AARCH64EB__
23503 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
23504 #else
23505 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
23506 #endif
23509 __extension__ extern __inline float32x2_t
23510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23511 vtrn1_f32 (float32x2_t __a, float32x2_t __b)
23513 #ifdef __AARCH64EB__
23514 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
23515 #else
23516 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
23517 #endif
23520 __extension__ extern __inline poly8x8_t
23521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23522 vtrn1_p8 (poly8x8_t __a, poly8x8_t __b)
23524 #ifdef __AARCH64EB__
23525 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23526 #else
23527 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23528 #endif
23531 __extension__ extern __inline poly16x4_t
23532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23533 vtrn1_p16 (poly16x4_t __a, poly16x4_t __b)
23535 #ifdef __AARCH64EB__
23536 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
23537 #else
23538 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
23539 #endif
23542 __extension__ extern __inline int8x8_t
23543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23544 vtrn1_s8 (int8x8_t __a, int8x8_t __b)
23546 #ifdef __AARCH64EB__
23547 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23548 #else
23549 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23550 #endif
23553 __extension__ extern __inline int16x4_t
23554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23555 vtrn1_s16 (int16x4_t __a, int16x4_t __b)
23557 #ifdef __AARCH64EB__
23558 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
23559 #else
23560 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
23561 #endif
23564 __extension__ extern __inline int32x2_t
23565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23566 vtrn1_s32 (int32x2_t __a, int32x2_t __b)
23568 #ifdef __AARCH64EB__
23569 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
23570 #else
23571 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
23572 #endif
23575 __extension__ extern __inline uint8x8_t
23576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23577 vtrn1_u8 (uint8x8_t __a, uint8x8_t __b)
23579 #ifdef __AARCH64EB__
23580 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23581 #else
23582 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23583 #endif
23586 __extension__ extern __inline uint16x4_t
23587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23588 vtrn1_u16 (uint16x4_t __a, uint16x4_t __b)
23590 #ifdef __AARCH64EB__
23591 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
23592 #else
23593 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
23594 #endif
23597 __extension__ extern __inline uint32x2_t
23598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23599 vtrn1_u32 (uint32x2_t __a, uint32x2_t __b)
23601 #ifdef __AARCH64EB__
23602 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
23603 #else
23604 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
23605 #endif
23608 __extension__ extern __inline float16x8_t
23609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23610 vtrn1q_f16 (float16x8_t __a, float16x8_t __b)
23612 #ifdef __AARCH64EB__
23613 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23614 #else
23615 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23616 #endif
23619 __extension__ extern __inline float32x4_t
23620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23621 vtrn1q_f32 (float32x4_t __a, float32x4_t __b)
23623 #ifdef __AARCH64EB__
23624 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
23625 #else
23626 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
23627 #endif
23630 __extension__ extern __inline float64x2_t
23631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23632 vtrn1q_f64 (float64x2_t __a, float64x2_t __b)
23634 #ifdef __AARCH64EB__
23635 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
23636 #else
23637 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
23638 #endif
23641 __extension__ extern __inline poly8x16_t
23642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23643 vtrn1q_p8 (poly8x16_t __a, poly8x16_t __b)
23645 #ifdef __AARCH64EB__
23646 return __builtin_shuffle (__a, __b,
23647 (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
23648 #else
23649 return __builtin_shuffle (__a, __b,
23650 (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
23651 #endif
23654 __extension__ extern __inline poly16x8_t
23655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23656 vtrn1q_p16 (poly16x8_t __a, poly16x8_t __b)
23658 #ifdef __AARCH64EB__
23659 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23660 #else
23661 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23662 #endif
23665 __extension__ extern __inline int8x16_t
23666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23667 vtrn1q_s8 (int8x16_t __a, int8x16_t __b)
23669 #ifdef __AARCH64EB__
23670 return __builtin_shuffle (__a, __b,
23671 (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
23672 #else
23673 return __builtin_shuffle (__a, __b,
23674 (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
23675 #endif
23678 __extension__ extern __inline int16x8_t
23679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23680 vtrn1q_s16 (int16x8_t __a, int16x8_t __b)
23682 #ifdef __AARCH64EB__
23683 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23684 #else
23685 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23686 #endif
23689 __extension__ extern __inline int32x4_t
23690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23691 vtrn1q_s32 (int32x4_t __a, int32x4_t __b)
23693 #ifdef __AARCH64EB__
23694 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
23695 #else
23696 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
23697 #endif
23700 __extension__ extern __inline int64x2_t
23701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23702 vtrn1q_s64 (int64x2_t __a, int64x2_t __b)
23704 #ifdef __AARCH64EB__
23705 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
23706 #else
23707 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
23708 #endif
23711 __extension__ extern __inline uint8x16_t
23712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23713 vtrn1q_u8 (uint8x16_t __a, uint8x16_t __b)
23715 #ifdef __AARCH64EB__
23716 return __builtin_shuffle (__a, __b,
23717 (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
23718 #else
23719 return __builtin_shuffle (__a, __b,
23720 (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
23721 #endif
23724 __extension__ extern __inline uint16x8_t
23725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23726 vtrn1q_u16 (uint16x8_t __a, uint16x8_t __b)
23728 #ifdef __AARCH64EB__
23729 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
23730 #else
23731 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
23732 #endif
23735 __extension__ extern __inline uint32x4_t
23736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23737 vtrn1q_u32 (uint32x4_t __a, uint32x4_t __b)
23739 #ifdef __AARCH64EB__
23740 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
23741 #else
23742 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
23743 #endif
23746 __extension__ extern __inline poly64x2_t
23747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23748 vtrn1q_p64 (poly64x2_t __a, poly64x2_t __b)
23750 #ifdef __AARCH64EB__
23751 return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
23752 #else
23753 return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
23754 #endif
23757 __extension__ extern __inline uint64x2_t
23758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23759 vtrn1q_u64 (uint64x2_t __a, uint64x2_t __b)
23761 #ifdef __AARCH64EB__
23762 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
23763 #else
23764 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
23765 #endif
23768 __extension__ extern __inline float16x4_t
23769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23770 vtrn2_f16 (float16x4_t __a, float16x4_t __b)
23772 #ifdef __AARCH64EB__
23773 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
23774 #else
23775 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
23776 #endif
23779 __extension__ extern __inline float32x2_t
23780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23781 vtrn2_f32 (float32x2_t __a, float32x2_t __b)
23783 #ifdef __AARCH64EB__
23784 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
23785 #else
23786 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
23787 #endif
23790 __extension__ extern __inline poly8x8_t
23791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23792 vtrn2_p8 (poly8x8_t __a, poly8x8_t __b)
23794 #ifdef __AARCH64EB__
23795 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23796 #else
23797 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23798 #endif
23801 __extension__ extern __inline poly16x4_t
23802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23803 vtrn2_p16 (poly16x4_t __a, poly16x4_t __b)
23805 #ifdef __AARCH64EB__
23806 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
23807 #else
23808 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
23809 #endif
23812 __extension__ extern __inline int8x8_t
23813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23814 vtrn2_s8 (int8x8_t __a, int8x8_t __b)
23816 #ifdef __AARCH64EB__
23817 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23818 #else
23819 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23820 #endif
23823 __extension__ extern __inline int16x4_t
23824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23825 vtrn2_s16 (int16x4_t __a, int16x4_t __b)
23827 #ifdef __AARCH64EB__
23828 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
23829 #else
23830 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
23831 #endif
23834 __extension__ extern __inline int32x2_t
23835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23836 vtrn2_s32 (int32x2_t __a, int32x2_t __b)
23838 #ifdef __AARCH64EB__
23839 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
23840 #else
23841 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
23842 #endif
23845 __extension__ extern __inline uint8x8_t
23846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23847 vtrn2_u8 (uint8x8_t __a, uint8x8_t __b)
23849 #ifdef __AARCH64EB__
23850 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23851 #else
23852 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23853 #endif
23856 __extension__ extern __inline uint16x4_t
23857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23858 vtrn2_u16 (uint16x4_t __a, uint16x4_t __b)
23860 #ifdef __AARCH64EB__
23861 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
23862 #else
23863 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
23864 #endif
23867 __extension__ extern __inline uint32x2_t
23868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23869 vtrn2_u32 (uint32x2_t __a, uint32x2_t __b)
23871 #ifdef __AARCH64EB__
23872 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
23873 #else
23874 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
23875 #endif
23878 __extension__ extern __inline float16x8_t
23879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23880 vtrn2q_f16 (float16x8_t __a, float16x8_t __b)
23882 #ifdef __AARCH64EB__
23883 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23884 #else
23885 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23886 #endif
23889 __extension__ extern __inline float32x4_t
23890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23891 vtrn2q_f32 (float32x4_t __a, float32x4_t __b)
23893 #ifdef __AARCH64EB__
23894 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
23895 #else
23896 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
23897 #endif
23900 __extension__ extern __inline float64x2_t
23901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23902 vtrn2q_f64 (float64x2_t __a, float64x2_t __b)
23904 #ifdef __AARCH64EB__
23905 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
23906 #else
23907 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
23908 #endif
23911 __extension__ extern __inline poly8x16_t
23912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23913 vtrn2q_p8 (poly8x16_t __a, poly8x16_t __b)
23915 #ifdef __AARCH64EB__
23916 return __builtin_shuffle (__a, __b,
23917 (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
23918 #else
23919 return __builtin_shuffle (__a, __b,
23920 (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
23921 #endif
23924 __extension__ extern __inline poly16x8_t
23925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23926 vtrn2q_p16 (poly16x8_t __a, poly16x8_t __b)
23928 #ifdef __AARCH64EB__
23929 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23930 #else
23931 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23932 #endif
23935 __extension__ extern __inline int8x16_t
23936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23937 vtrn2q_s8 (int8x16_t __a, int8x16_t __b)
23939 #ifdef __AARCH64EB__
23940 return __builtin_shuffle (__a, __b,
23941 (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
23942 #else
23943 return __builtin_shuffle (__a, __b,
23944 (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
23945 #endif
23948 __extension__ extern __inline int16x8_t
23949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23950 vtrn2q_s16 (int16x8_t __a, int16x8_t __b)
23952 #ifdef __AARCH64EB__
23953 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
23954 #else
23955 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
23956 #endif
23959 __extension__ extern __inline int32x4_t
23960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23961 vtrn2q_s32 (int32x4_t __a, int32x4_t __b)
23963 #ifdef __AARCH64EB__
23964 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
23965 #else
23966 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
23967 #endif
23970 __extension__ extern __inline int64x2_t
23971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23972 vtrn2q_s64 (int64x2_t __a, int64x2_t __b)
23974 #ifdef __AARCH64EB__
23975 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
23976 #else
23977 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
23978 #endif
23981 __extension__ extern __inline uint8x16_t
23982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23983 vtrn2q_u8 (uint8x16_t __a, uint8x16_t __b)
23985 #ifdef __AARCH64EB__
23986 return __builtin_shuffle (__a, __b,
23987 (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
23988 #else
23989 return __builtin_shuffle (__a, __b,
23990 (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
23991 #endif
23994 __extension__ extern __inline uint16x8_t
23995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
23996 vtrn2q_u16 (uint16x8_t __a, uint16x8_t __b)
23998 #ifdef __AARCH64EB__
23999 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
24000 #else
24001 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
24002 #endif
24005 __extension__ extern __inline uint32x4_t
24006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24007 vtrn2q_u32 (uint32x4_t __a, uint32x4_t __b)
24009 #ifdef __AARCH64EB__
24010 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
24011 #else
24012 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
24013 #endif
24016 __extension__ extern __inline uint64x2_t
24017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24018 vtrn2q_u64 (uint64x2_t __a, uint64x2_t __b)
24020 #ifdef __AARCH64EB__
24021 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
24022 #else
24023 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
24024 #endif
24028 __extension__ extern __inline poly64x2_t
24029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24030 vtrn2q_p64 (poly64x2_t __a, poly64x2_t __b)
24032 #ifdef __AARCH64EB__
24033 return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
24034 #else
24035 return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
24036 #endif
24039 __extension__ extern __inline float16x4x2_t
24040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24041 vtrn_f16 (float16x4_t __a, float16x4_t __b)
24043 return (float16x4x2_t) {vtrn1_f16 (__a, __b), vtrn2_f16 (__a, __b)};
24046 __extension__ extern __inline float32x2x2_t
24047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24048 vtrn_f32 (float32x2_t __a, float32x2_t __b)
24050 return (float32x2x2_t) {vtrn1_f32 (__a, __b), vtrn2_f32 (__a, __b)};
24053 __extension__ extern __inline poly8x8x2_t
24054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24055 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
24057 return (poly8x8x2_t) {vtrn1_p8 (__a, __b), vtrn2_p8 (__a, __b)};
24060 __extension__ extern __inline poly16x4x2_t
24061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24062 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
24064 return (poly16x4x2_t) {vtrn1_p16 (__a, __b), vtrn2_p16 (__a, __b)};
24067 __extension__ extern __inline int8x8x2_t
24068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24069 vtrn_s8 (int8x8_t __a, int8x8_t __b)
24071 return (int8x8x2_t) {vtrn1_s8 (__a, __b), vtrn2_s8 (__a, __b)};
24074 __extension__ extern __inline int16x4x2_t
24075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24076 vtrn_s16 (int16x4_t __a, int16x4_t __b)
24078 return (int16x4x2_t) {vtrn1_s16 (__a, __b), vtrn2_s16 (__a, __b)};
24081 __extension__ extern __inline int32x2x2_t
24082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24083 vtrn_s32 (int32x2_t __a, int32x2_t __b)
24085 return (int32x2x2_t) {vtrn1_s32 (__a, __b), vtrn2_s32 (__a, __b)};
24088 __extension__ extern __inline uint8x8x2_t
24089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24090 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
24092 return (uint8x8x2_t) {vtrn1_u8 (__a, __b), vtrn2_u8 (__a, __b)};
24095 __extension__ extern __inline uint16x4x2_t
24096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24097 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
24099 return (uint16x4x2_t) {vtrn1_u16 (__a, __b), vtrn2_u16 (__a, __b)};
24102 __extension__ extern __inline uint32x2x2_t
24103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24104 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
24106 return (uint32x2x2_t) {vtrn1_u32 (__a, __b), vtrn2_u32 (__a, __b)};
24109 __extension__ extern __inline float16x8x2_t
24110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24111 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
24113 return (float16x8x2_t) {vtrn1q_f16 (__a, __b), vtrn2q_f16 (__a, __b)};
24116 __extension__ extern __inline float32x4x2_t
24117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24118 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
24120 return (float32x4x2_t) {vtrn1q_f32 (__a, __b), vtrn2q_f32 (__a, __b)};
24123 __extension__ extern __inline poly8x16x2_t
24124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24125 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
24127 return (poly8x16x2_t) {vtrn1q_p8 (__a, __b), vtrn2q_p8 (__a, __b)};
24130 __extension__ extern __inline poly16x8x2_t
24131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24132 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
24134 return (poly16x8x2_t) {vtrn1q_p16 (__a, __b), vtrn2q_p16 (__a, __b)};
24137 __extension__ extern __inline int8x16x2_t
24138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24139 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
24141 return (int8x16x2_t) {vtrn1q_s8 (__a, __b), vtrn2q_s8 (__a, __b)};
24144 __extension__ extern __inline int16x8x2_t
24145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24146 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
24148 return (int16x8x2_t) {vtrn1q_s16 (__a, __b), vtrn2q_s16 (__a, __b)};
24151 __extension__ extern __inline int32x4x2_t
24152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24153 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
24155 return (int32x4x2_t) {vtrn1q_s32 (__a, __b), vtrn2q_s32 (__a, __b)};
24158 __extension__ extern __inline uint8x16x2_t
24159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24160 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
24162 return (uint8x16x2_t) {vtrn1q_u8 (__a, __b), vtrn2q_u8 (__a, __b)};
24165 __extension__ extern __inline uint16x8x2_t
24166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24167 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
24169 return (uint16x8x2_t) {vtrn1q_u16 (__a, __b), vtrn2q_u16 (__a, __b)};
24172 __extension__ extern __inline uint32x4x2_t
24173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24174 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
24176 return (uint32x4x2_t) {vtrn1q_u32 (__a, __b), vtrn2q_u32 (__a, __b)};
24179 /* vtst */
24181 __extension__ extern __inline uint8x8_t
24182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24183 vtst_s8 (int8x8_t __a, int8x8_t __b)
24185 return (uint8x8_t) ((__a & __b) != 0);
24188 __extension__ extern __inline uint16x4_t
24189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24190 vtst_s16 (int16x4_t __a, int16x4_t __b)
24192 return (uint16x4_t) ((__a & __b) != 0);
24195 __extension__ extern __inline uint32x2_t
24196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24197 vtst_s32 (int32x2_t __a, int32x2_t __b)
24199 return (uint32x2_t) ((__a & __b) != 0);
24202 __extension__ extern __inline uint64x1_t
24203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24204 vtst_s64 (int64x1_t __a, int64x1_t __b)
24206 return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
24209 __extension__ extern __inline uint8x8_t
24210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24211 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
24213 return ((__a & __b) != 0);
24216 __extension__ extern __inline uint16x4_t
24217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24218 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
24220 return ((__a & __b) != 0);
24223 __extension__ extern __inline uint32x2_t
24224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24225 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
24227 return ((__a & __b) != 0);
24230 __extension__ extern __inline uint64x1_t
24231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24232 vtst_u64 (uint64x1_t __a, uint64x1_t __b)
24234 return ((__a & __b) != __AARCH64_UINT64_C (0));
24237 __extension__ extern __inline uint8x16_t
24238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24239 vtstq_s8 (int8x16_t __a, int8x16_t __b)
24241 return (uint8x16_t) ((__a & __b) != 0);
24244 __extension__ extern __inline uint16x8_t
24245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24246 vtstq_s16 (int16x8_t __a, int16x8_t __b)
24248 return (uint16x8_t) ((__a & __b) != 0);
24251 __extension__ extern __inline uint32x4_t
24252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24253 vtstq_s32 (int32x4_t __a, int32x4_t __b)
24255 return (uint32x4_t) ((__a & __b) != 0);
24258 __extension__ extern __inline uint64x2_t
24259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24260 vtstq_s64 (int64x2_t __a, int64x2_t __b)
24262 return (uint64x2_t) ((__a & __b) != __AARCH64_INT64_C (0));
24265 __extension__ extern __inline uint8x16_t
24266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24267 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
24269 return ((__a & __b) != 0);
24272 __extension__ extern __inline uint16x8_t
24273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24274 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
24276 return ((__a & __b) != 0);
24279 __extension__ extern __inline uint32x4_t
24280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24281 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
24283 return ((__a & __b) != 0);
24286 __extension__ extern __inline uint64x2_t
24287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24288 vtstq_u64 (uint64x2_t __a, uint64x2_t __b)
24290 return ((__a & __b) != __AARCH64_UINT64_C (0));
24293 __extension__ extern __inline uint64_t
24294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24295 vtstd_s64 (int64_t __a, int64_t __b)
24297 return (__a & __b) ? -1ll : 0ll;
24300 __extension__ extern __inline uint64_t
24301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24302 vtstd_u64 (uint64_t __a, uint64_t __b)
24304 return (__a & __b) ? -1ll : 0ll;
24307 /* vuqadd */
24309 __extension__ extern __inline int8x8_t
24310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24311 vuqadd_s8 (int8x8_t __a, uint8x8_t __b)
24313 return __builtin_aarch64_suqaddv8qi_ssu (__a, __b);
24316 __extension__ extern __inline int16x4_t
24317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24318 vuqadd_s16 (int16x4_t __a, uint16x4_t __b)
24320 return __builtin_aarch64_suqaddv4hi_ssu (__a, __b);
24323 __extension__ extern __inline int32x2_t
24324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24325 vuqadd_s32 (int32x2_t __a, uint32x2_t __b)
24327 return __builtin_aarch64_suqaddv2si_ssu (__a, __b);
24330 __extension__ extern __inline int64x1_t
24331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24332 vuqadd_s64 (int64x1_t __a, uint64x1_t __b)
24334 return (int64x1_t) {__builtin_aarch64_suqadddi_ssu (__a[0], __b[0])};
24337 __extension__ extern __inline int8x16_t
24338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24339 vuqaddq_s8 (int8x16_t __a, uint8x16_t __b)
24341 return __builtin_aarch64_suqaddv16qi_ssu (__a, __b);
24344 __extension__ extern __inline int16x8_t
24345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24346 vuqaddq_s16 (int16x8_t __a, uint16x8_t __b)
24348 return __builtin_aarch64_suqaddv8hi_ssu (__a, __b);
24351 __extension__ extern __inline int32x4_t
24352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24353 vuqaddq_s32 (int32x4_t __a, uint32x4_t __b)
24355 return __builtin_aarch64_suqaddv4si_ssu (__a, __b);
24358 __extension__ extern __inline int64x2_t
24359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24360 vuqaddq_s64 (int64x2_t __a, uint64x2_t __b)
24362 return __builtin_aarch64_suqaddv2di_ssu (__a, __b);
24365 __extension__ extern __inline int8_t
24366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24367 vuqaddb_s8 (int8_t __a, uint8_t __b)
24369 return __builtin_aarch64_suqaddqi_ssu (__a, __b);
24372 __extension__ extern __inline int16_t
24373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24374 vuqaddh_s16 (int16_t __a, uint16_t __b)
24376 return __builtin_aarch64_suqaddhi_ssu (__a, __b);
24379 __extension__ extern __inline int32_t
24380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24381 vuqadds_s32 (int32_t __a, uint32_t __b)
24383 return __builtin_aarch64_suqaddsi_ssu (__a, __b);
24386 __extension__ extern __inline int64_t
24387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24388 vuqaddd_s64 (int64_t __a, uint64_t __b)
24390 return __builtin_aarch64_suqadddi_ssu (__a, __b);
24393 #define __DEFINTERLEAVE(op, rettype, intype, funcsuffix, Q) \
24394 __extension__ extern __inline rettype \
24395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
24396 v ## op ## Q ## _ ## funcsuffix (intype a, intype b) \
24398 return (rettype) {v ## op ## 1 ## Q ## _ ## funcsuffix (a, b), \
24399 v ## op ## 2 ## Q ## _ ## funcsuffix (a, b)}; \
24402 #define __INTERLEAVE_LIST(op) \
24403 __DEFINTERLEAVE (op, float16x4x2_t, float16x4_t, f16,) \
24404 __DEFINTERLEAVE (op, float32x2x2_t, float32x2_t, f32,) \
24405 __DEFINTERLEAVE (op, poly8x8x2_t, poly8x8_t, p8,) \
24406 __DEFINTERLEAVE (op, poly16x4x2_t, poly16x4_t, p16,) \
24407 __DEFINTERLEAVE (op, int8x8x2_t, int8x8_t, s8,) \
24408 __DEFINTERLEAVE (op, int16x4x2_t, int16x4_t, s16,) \
24409 __DEFINTERLEAVE (op, int32x2x2_t, int32x2_t, s32,) \
24410 __DEFINTERLEAVE (op, uint8x8x2_t, uint8x8_t, u8,) \
24411 __DEFINTERLEAVE (op, uint16x4x2_t, uint16x4_t, u16,) \
24412 __DEFINTERLEAVE (op, uint32x2x2_t, uint32x2_t, u32,) \
24413 __DEFINTERLEAVE (op, float16x8x2_t, float16x8_t, f16, q) \
24414 __DEFINTERLEAVE (op, float32x4x2_t, float32x4_t, f32, q) \
24415 __DEFINTERLEAVE (op, poly8x16x2_t, poly8x16_t, p8, q) \
24416 __DEFINTERLEAVE (op, poly16x8x2_t, poly16x8_t, p16, q) \
24417 __DEFINTERLEAVE (op, int8x16x2_t, int8x16_t, s8, q) \
24418 __DEFINTERLEAVE (op, int16x8x2_t, int16x8_t, s16, q) \
24419 __DEFINTERLEAVE (op, int32x4x2_t, int32x4_t, s32, q) \
24420 __DEFINTERLEAVE (op, uint8x16x2_t, uint8x16_t, u8, q) \
24421 __DEFINTERLEAVE (op, uint16x8x2_t, uint16x8_t, u16, q) \
24422 __DEFINTERLEAVE (op, uint32x4x2_t, uint32x4_t, u32, q)
24424 /* vuzp */
24426 __extension__ extern __inline float16x4_t
24427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24428 vuzp1_f16 (float16x4_t __a, float16x4_t __b)
24430 #ifdef __AARCH64EB__
24431 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
24432 #else
24433 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
24434 #endif
24437 __extension__ extern __inline float32x2_t
24438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24439 vuzp1_f32 (float32x2_t __a, float32x2_t __b)
24441 #ifdef __AARCH64EB__
24442 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
24443 #else
24444 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
24445 #endif
24448 __extension__ extern __inline poly8x8_t
24449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24450 vuzp1_p8 (poly8x8_t __a, poly8x8_t __b)
24452 #ifdef __AARCH64EB__
24453 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24454 #else
24455 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24456 #endif
24459 __extension__ extern __inline poly16x4_t
24460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24461 vuzp1_p16 (poly16x4_t __a, poly16x4_t __b)
24463 #ifdef __AARCH64EB__
24464 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
24465 #else
24466 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
24467 #endif
24470 __extension__ extern __inline int8x8_t
24471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24472 vuzp1_s8 (int8x8_t __a, int8x8_t __b)
24474 #ifdef __AARCH64EB__
24475 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24476 #else
24477 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24478 #endif
24481 __extension__ extern __inline int16x4_t
24482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24483 vuzp1_s16 (int16x4_t __a, int16x4_t __b)
24485 #ifdef __AARCH64EB__
24486 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
24487 #else
24488 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
24489 #endif
24492 __extension__ extern __inline int32x2_t
24493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24494 vuzp1_s32 (int32x2_t __a, int32x2_t __b)
24496 #ifdef __AARCH64EB__
24497 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
24498 #else
24499 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
24500 #endif
24503 __extension__ extern __inline uint8x8_t
24504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24505 vuzp1_u8 (uint8x8_t __a, uint8x8_t __b)
24507 #ifdef __AARCH64EB__
24508 return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24509 #else
24510 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24511 #endif
24514 __extension__ extern __inline uint16x4_t
24515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24516 vuzp1_u16 (uint16x4_t __a, uint16x4_t __b)
24518 #ifdef __AARCH64EB__
24519 return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
24520 #else
24521 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
24522 #endif
24525 __extension__ extern __inline uint32x2_t
24526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24527 vuzp1_u32 (uint32x2_t __a, uint32x2_t __b)
24529 #ifdef __AARCH64EB__
24530 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
24531 #else
24532 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
24533 #endif
24536 __extension__ extern __inline float16x8_t
24537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24538 vuzp1q_f16 (float16x8_t __a, float16x8_t __b)
24540 #ifdef __AARCH64EB__
24541 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24542 #else
24543 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24544 #endif
24547 __extension__ extern __inline float32x4_t
24548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24549 vuzp1q_f32 (float32x4_t __a, float32x4_t __b)
24551 #ifdef __AARCH64EB__
24552 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
24553 #else
24554 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
24555 #endif
24558 __extension__ extern __inline float64x2_t
24559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24560 vuzp1q_f64 (float64x2_t __a, float64x2_t __b)
24562 #ifdef __AARCH64EB__
24563 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
24564 #else
24565 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
24566 #endif
24569 __extension__ extern __inline poly8x16_t
24570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24571 vuzp1q_p8 (poly8x16_t __a, poly8x16_t __b)
24573 #ifdef __AARCH64EB__
24574 return __builtin_shuffle (__a, __b, (uint8x16_t)
24575 {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
24576 #else
24577 return __builtin_shuffle (__a, __b, (uint8x16_t)
24578 {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
24579 #endif
24582 __extension__ extern __inline poly16x8_t
24583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24584 vuzp1q_p16 (poly16x8_t __a, poly16x8_t __b)
24586 #ifdef __AARCH64EB__
24587 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24588 #else
24589 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24590 #endif
24593 __extension__ extern __inline int8x16_t
24594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24595 vuzp1q_s8 (int8x16_t __a, int8x16_t __b)
24597 #ifdef __AARCH64EB__
24598 return __builtin_shuffle (__a, __b,
24599 (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
24600 #else
24601 return __builtin_shuffle (__a, __b,
24602 (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
24603 #endif
24606 __extension__ extern __inline int16x8_t
24607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24608 vuzp1q_s16 (int16x8_t __a, int16x8_t __b)
24610 #ifdef __AARCH64EB__
24611 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24612 #else
24613 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24614 #endif
24617 __extension__ extern __inline int32x4_t
24618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24619 vuzp1q_s32 (int32x4_t __a, int32x4_t __b)
24621 #ifdef __AARCH64EB__
24622 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
24623 #else
24624 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
24625 #endif
24628 __extension__ extern __inline int64x2_t
24629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24630 vuzp1q_s64 (int64x2_t __a, int64x2_t __b)
24632 #ifdef __AARCH64EB__
24633 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
24634 #else
24635 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
24636 #endif
24639 __extension__ extern __inline uint8x16_t
24640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24641 vuzp1q_u8 (uint8x16_t __a, uint8x16_t __b)
24643 #ifdef __AARCH64EB__
24644 return __builtin_shuffle (__a, __b,
24645 (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
24646 #else
24647 return __builtin_shuffle (__a, __b,
24648 (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
24649 #endif
24652 __extension__ extern __inline uint16x8_t
24653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24654 vuzp1q_u16 (uint16x8_t __a, uint16x8_t __b)
24656 #ifdef __AARCH64EB__
24657 return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
24658 #else
24659 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
24660 #endif
24663 __extension__ extern __inline uint32x4_t
24664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24665 vuzp1q_u32 (uint32x4_t __a, uint32x4_t __b)
24667 #ifdef __AARCH64EB__
24668 return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
24669 #else
24670 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
24671 #endif
24674 __extension__ extern __inline uint64x2_t
24675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24676 vuzp1q_u64 (uint64x2_t __a, uint64x2_t __b)
24678 #ifdef __AARCH64EB__
24679 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
24680 #else
24681 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
24682 #endif
24685 __extension__ extern __inline poly64x2_t
24686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24687 vuzp1q_p64 (poly64x2_t __a, poly64x2_t __b)
24689 #ifdef __AARCH64EB__
24690 return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
24691 #else
24692 return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
24693 #endif
24696 __extension__ extern __inline float16x4_t
24697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24698 vuzp2_f16 (float16x4_t __a, float16x4_t __b)
24700 #ifdef __AARCH64EB__
24701 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
24702 #else
24703 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
24704 #endif
24707 __extension__ extern __inline float32x2_t
24708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24709 vuzp2_f32 (float32x2_t __a, float32x2_t __b)
24711 #ifdef __AARCH64EB__
24712 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
24713 #else
24714 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
24715 #endif
24718 __extension__ extern __inline poly8x8_t
24719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24720 vuzp2_p8 (poly8x8_t __a, poly8x8_t __b)
24722 #ifdef __AARCH64EB__
24723 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24724 #else
24725 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24726 #endif
24729 __extension__ extern __inline poly16x4_t
24730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24731 vuzp2_p16 (poly16x4_t __a, poly16x4_t __b)
24733 #ifdef __AARCH64EB__
24734 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
24735 #else
24736 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
24737 #endif
24740 __extension__ extern __inline int8x8_t
24741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24742 vuzp2_s8 (int8x8_t __a, int8x8_t __b)
24744 #ifdef __AARCH64EB__
24745 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24746 #else
24747 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24748 #endif
24751 __extension__ extern __inline int16x4_t
24752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24753 vuzp2_s16 (int16x4_t __a, int16x4_t __b)
24755 #ifdef __AARCH64EB__
24756 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
24757 #else
24758 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
24759 #endif
24762 __extension__ extern __inline int32x2_t
24763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24764 vuzp2_s32 (int32x2_t __a, int32x2_t __b)
24766 #ifdef __AARCH64EB__
24767 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
24768 #else
24769 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
24770 #endif
24773 __extension__ extern __inline uint8x8_t
24774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24775 vuzp2_u8 (uint8x8_t __a, uint8x8_t __b)
24777 #ifdef __AARCH64EB__
24778 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24779 #else
24780 return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24781 #endif
24784 __extension__ extern __inline uint16x4_t
24785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24786 vuzp2_u16 (uint16x4_t __a, uint16x4_t __b)
24788 #ifdef __AARCH64EB__
24789 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
24790 #else
24791 return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
24792 #endif
24795 __extension__ extern __inline uint32x2_t
24796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24797 vuzp2_u32 (uint32x2_t __a, uint32x2_t __b)
24799 #ifdef __AARCH64EB__
24800 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
24801 #else
24802 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
24803 #endif
24806 __extension__ extern __inline float16x8_t
24807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24808 vuzp2q_f16 (float16x8_t __a, float16x8_t __b)
24810 #ifdef __AARCH64EB__
24811 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24812 #else
24813 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24814 #endif
24817 __extension__ extern __inline float32x4_t
24818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24819 vuzp2q_f32 (float32x4_t __a, float32x4_t __b)
24821 #ifdef __AARCH64EB__
24822 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
24823 #else
24824 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
24825 #endif
24828 __extension__ extern __inline float64x2_t
24829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24830 vuzp2q_f64 (float64x2_t __a, float64x2_t __b)
24832 #ifdef __AARCH64EB__
24833 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
24834 #else
24835 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
24836 #endif
24839 __extension__ extern __inline poly8x16_t
24840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24841 vuzp2q_p8 (poly8x16_t __a, poly8x16_t __b)
24843 #ifdef __AARCH64EB__
24844 return __builtin_shuffle (__a, __b,
24845 (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
24846 #else
24847 return __builtin_shuffle (__a, __b,
24848 (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
24849 #endif
24852 __extension__ extern __inline poly16x8_t
24853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24854 vuzp2q_p16 (poly16x8_t __a, poly16x8_t __b)
24856 #ifdef __AARCH64EB__
24857 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24858 #else
24859 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24860 #endif
24863 __extension__ extern __inline int8x16_t
24864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24865 vuzp2q_s8 (int8x16_t __a, int8x16_t __b)
24867 #ifdef __AARCH64EB__
24868 return __builtin_shuffle (__a, __b,
24869 (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
24870 #else
24871 return __builtin_shuffle (__a, __b,
24872 (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
24873 #endif
24876 __extension__ extern __inline int16x8_t
24877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24878 vuzp2q_s16 (int16x8_t __a, int16x8_t __b)
24880 #ifdef __AARCH64EB__
24881 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24882 #else
24883 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24884 #endif
24887 __extension__ extern __inline int32x4_t
24888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24889 vuzp2q_s32 (int32x4_t __a, int32x4_t __b)
24891 #ifdef __AARCH64EB__
24892 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
24893 #else
24894 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
24895 #endif
24898 __extension__ extern __inline int64x2_t
24899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24900 vuzp2q_s64 (int64x2_t __a, int64x2_t __b)
24902 #ifdef __AARCH64EB__
24903 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
24904 #else
24905 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
24906 #endif
24909 __extension__ extern __inline uint8x16_t
24910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24911 vuzp2q_u8 (uint8x16_t __a, uint8x16_t __b)
24913 #ifdef __AARCH64EB__
24914 return __builtin_shuffle (__a, __b, (uint8x16_t)
24915 {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
24916 #else
24917 return __builtin_shuffle (__a, __b, (uint8x16_t)
24918 {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
24919 #endif
24922 __extension__ extern __inline uint16x8_t
24923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24924 vuzp2q_u16 (uint16x8_t __a, uint16x8_t __b)
24926 #ifdef __AARCH64EB__
24927 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
24928 #else
24929 return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
24930 #endif
24933 __extension__ extern __inline uint32x4_t
24934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24935 vuzp2q_u32 (uint32x4_t __a, uint32x4_t __b)
24937 #ifdef __AARCH64EB__
24938 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
24939 #else
24940 return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
24941 #endif
24944 __extension__ extern __inline uint64x2_t
24945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24946 vuzp2q_u64 (uint64x2_t __a, uint64x2_t __b)
24948 #ifdef __AARCH64EB__
24949 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
24950 #else
24951 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
24952 #endif
24955 __extension__ extern __inline poly64x2_t
24956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24957 vuzp2q_p64 (poly64x2_t __a, poly64x2_t __b)
24959 #ifdef __AARCH64EB__
24960 return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
24961 #else
24962 return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
24963 #endif
24966 __INTERLEAVE_LIST (uzp)
24968 /* vzip */
24970 __extension__ extern __inline float16x4_t
24971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24972 vzip1_f16 (float16x4_t __a, float16x4_t __b)
24974 #ifdef __AARCH64EB__
24975 return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
24976 #else
24977 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
24978 #endif
24981 __extension__ extern __inline float32x2_t
24982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24983 vzip1_f32 (float32x2_t __a, float32x2_t __b)
24985 #ifdef __AARCH64EB__
24986 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
24987 #else
24988 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
24989 #endif
24992 __extension__ extern __inline poly8x8_t
24993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
24994 vzip1_p8 (poly8x8_t __a, poly8x8_t __b)
24996 #ifdef __AARCH64EB__
24997 return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
24998 #else
24999 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25000 #endif
25003 __extension__ extern __inline poly16x4_t
25004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25005 vzip1_p16 (poly16x4_t __a, poly16x4_t __b)
25007 #ifdef __AARCH64EB__
25008 return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
25009 #else
25010 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
25011 #endif
25014 __extension__ extern __inline int8x8_t
25015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25016 vzip1_s8 (int8x8_t __a, int8x8_t __b)
25018 #ifdef __AARCH64EB__
25019 return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
25020 #else
25021 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25022 #endif
25025 __extension__ extern __inline int16x4_t
25026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25027 vzip1_s16 (int16x4_t __a, int16x4_t __b)
25029 #ifdef __AARCH64EB__
25030 return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
25031 #else
25032 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
25033 #endif
25036 __extension__ extern __inline int32x2_t
25037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25038 vzip1_s32 (int32x2_t __a, int32x2_t __b)
25040 #ifdef __AARCH64EB__
25041 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
25042 #else
25043 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
25044 #endif
25047 __extension__ extern __inline uint8x8_t
25048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25049 vzip1_u8 (uint8x8_t __a, uint8x8_t __b)
25051 #ifdef __AARCH64EB__
25052 return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
25053 #else
25054 return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25055 #endif
25058 __extension__ extern __inline uint16x4_t
25059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25060 vzip1_u16 (uint16x4_t __a, uint16x4_t __b)
25062 #ifdef __AARCH64EB__
25063 return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
25064 #else
25065 return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
25066 #endif
25069 __extension__ extern __inline uint32x2_t
25070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25071 vzip1_u32 (uint32x2_t __a, uint32x2_t __b)
25073 #ifdef __AARCH64EB__
25074 return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
25075 #else
25076 return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
25077 #endif
25080 __extension__ extern __inline float16x8_t
25081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25082 vzip1q_f16 (float16x8_t __a, float16x8_t __b)
25084 #ifdef __AARCH64EB__
25085 return __builtin_shuffle (__a, __b,
25086 (uint16x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
25087 #else
25088 return __builtin_shuffle (__a, __b,
25089 (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25090 #endif
25093 __extension__ extern __inline float32x4_t
25094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25095 vzip1q_f32 (float32x4_t __a, float32x4_t __b)
25097 #ifdef __AARCH64EB__
25098 return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
25099 #else
25100 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
25101 #endif
25104 __extension__ extern __inline float64x2_t
25105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25106 vzip1q_f64 (float64x2_t __a, float64x2_t __b)
25108 #ifdef __AARCH64EB__
25109 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
25110 #else
25111 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
25112 #endif
25115 __extension__ extern __inline poly8x16_t
25116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25117 vzip1q_p8 (poly8x16_t __a, poly8x16_t __b)
25119 #ifdef __AARCH64EB__
25120 return __builtin_shuffle (__a, __b, (uint8x16_t)
25121 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
25122 #else
25123 return __builtin_shuffle (__a, __b, (uint8x16_t)
25124 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
25125 #endif
25128 __extension__ extern __inline poly16x8_t
25129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25130 vzip1q_p16 (poly16x8_t __a, poly16x8_t __b)
25132 #ifdef __AARCH64EB__
25133 return __builtin_shuffle (__a, __b, (uint16x8_t)
25134 {12, 4, 13, 5, 14, 6, 15, 7});
25135 #else
25136 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25137 #endif
25140 __extension__ extern __inline int8x16_t
25141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25142 vzip1q_s8 (int8x16_t __a, int8x16_t __b)
25144 #ifdef __AARCH64EB__
25145 return __builtin_shuffle (__a, __b, (uint8x16_t)
25146 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
25147 #else
25148 return __builtin_shuffle (__a, __b, (uint8x16_t)
25149 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
25150 #endif
25153 __extension__ extern __inline int16x8_t
25154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25155 vzip1q_s16 (int16x8_t __a, int16x8_t __b)
25157 #ifdef __AARCH64EB__
25158 return __builtin_shuffle (__a, __b, (uint16x8_t)
25159 {12, 4, 13, 5, 14, 6, 15, 7});
25160 #else
25161 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25162 #endif
25165 __extension__ extern __inline int32x4_t
25166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25167 vzip1q_s32 (int32x4_t __a, int32x4_t __b)
25169 #ifdef __AARCH64EB__
25170 return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
25171 #else
25172 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
25173 #endif
25176 __extension__ extern __inline int64x2_t
25177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25178 vzip1q_s64 (int64x2_t __a, int64x2_t __b)
25180 #ifdef __AARCH64EB__
25181 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
25182 #else
25183 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
25184 #endif
25187 __extension__ extern __inline uint8x16_t
25188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25189 vzip1q_u8 (uint8x16_t __a, uint8x16_t __b)
25191 #ifdef __AARCH64EB__
25192 return __builtin_shuffle (__a, __b, (uint8x16_t)
25193 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
25194 #else
25195 return __builtin_shuffle (__a, __b, (uint8x16_t)
25196 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
25197 #endif
25200 __extension__ extern __inline uint16x8_t
25201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25202 vzip1q_u16 (uint16x8_t __a, uint16x8_t __b)
25204 #ifdef __AARCH64EB__
25205 return __builtin_shuffle (__a, __b, (uint16x8_t)
25206 {12, 4, 13, 5, 14, 6, 15, 7});
25207 #else
25208 return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
25209 #endif
25212 __extension__ extern __inline uint32x4_t
25213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25214 vzip1q_u32 (uint32x4_t __a, uint32x4_t __b)
25216 #ifdef __AARCH64EB__
25217 return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
25218 #else
25219 return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
25220 #endif
25223 __extension__ extern __inline uint64x2_t
25224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25225 vzip1q_u64 (uint64x2_t __a, uint64x2_t __b)
25227 #ifdef __AARCH64EB__
25228 return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
25229 #else
25230 return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
25231 #endif
25234 __extension__ extern __inline poly64x2_t
25235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25236 vzip1q_p64 (poly64x2_t __a, poly64x2_t __b)
25238 #ifdef __AARCH64EB__
25239 return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
25240 #else
25241 return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
25242 #endif
25245 __extension__ extern __inline float16x4_t
25246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25247 vzip2_f16 (float16x4_t __a, float16x4_t __b)
25249 #ifdef __AARCH64EB__
25250 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
25251 #else
25252 return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
25253 #endif
25256 __extension__ extern __inline float32x2_t
25257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25258 vzip2_f32 (float32x2_t __a, float32x2_t __b)
25260 #ifdef __AARCH64EB__
25261 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
25262 #else
25263 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
25264 #endif
25267 __extension__ extern __inline poly8x8_t
25268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25269 vzip2_p8 (poly8x8_t __a, poly8x8_t __b)
25271 #ifdef __AARCH64EB__
25272 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25273 #else
25274 return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
25275 #endif
25278 __extension__ extern __inline poly16x4_t
25279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25280 vzip2_p16 (poly16x4_t __a, poly16x4_t __b)
25282 #ifdef __AARCH64EB__
25283 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
25284 #else
25285 return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
25286 #endif
25289 __extension__ extern __inline int8x8_t
25290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25291 vzip2_s8 (int8x8_t __a, int8x8_t __b)
25293 #ifdef __AARCH64EB__
25294 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25295 #else
25296 return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
25297 #endif
25300 __extension__ extern __inline int16x4_t
25301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25302 vzip2_s16 (int16x4_t __a, int16x4_t __b)
25304 #ifdef __AARCH64EB__
25305 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
25306 #else
25307 return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
25308 #endif
25311 __extension__ extern __inline int32x2_t
25312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25313 vzip2_s32 (int32x2_t __a, int32x2_t __b)
25315 #ifdef __AARCH64EB__
25316 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
25317 #else
25318 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
25319 #endif
25322 __extension__ extern __inline uint8x8_t
25323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25324 vzip2_u8 (uint8x8_t __a, uint8x8_t __b)
25326 #ifdef __AARCH64EB__
25327 return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25328 #else
25329 return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
25330 #endif
25333 __extension__ extern __inline uint16x4_t
25334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25335 vzip2_u16 (uint16x4_t __a, uint16x4_t __b)
25337 #ifdef __AARCH64EB__
25338 return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
25339 #else
25340 return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
25341 #endif
25344 __extension__ extern __inline uint32x2_t
25345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25346 vzip2_u32 (uint32x2_t __a, uint32x2_t __b)
25348 #ifdef __AARCH64EB__
25349 return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
25350 #else
25351 return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
25352 #endif
25355 __extension__ extern __inline float16x8_t
25356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25357 vzip2q_f16 (float16x8_t __a, float16x8_t __b)
25359 #ifdef __AARCH64EB__
25360 return __builtin_shuffle (__a, __b,
25361 (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25362 #else
25363 return __builtin_shuffle (__a, __b,
25364 (uint16x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
25365 #endif
25368 __extension__ extern __inline float32x4_t
25369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25370 vzip2q_f32 (float32x4_t __a, float32x4_t __b)
25372 #ifdef __AARCH64EB__
25373 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
25374 #else
25375 return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
25376 #endif
25379 __extension__ extern __inline float64x2_t
25380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25381 vzip2q_f64 (float64x2_t __a, float64x2_t __b)
25383 #ifdef __AARCH64EB__
25384 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
25385 #else
25386 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
25387 #endif
25390 __extension__ extern __inline poly8x16_t
25391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25392 vzip2q_p8 (poly8x16_t __a, poly8x16_t __b)
25394 #ifdef __AARCH64EB__
25395 return __builtin_shuffle (__a, __b, (uint8x16_t)
25396 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
25397 #else
25398 return __builtin_shuffle (__a, __b, (uint8x16_t)
25399 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
25400 #endif
25403 __extension__ extern __inline poly16x8_t
25404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25405 vzip2q_p16 (poly16x8_t __a, poly16x8_t __b)
25407 #ifdef __AARCH64EB__
25408 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25409 #else
25410 return __builtin_shuffle (__a, __b, (uint16x8_t)
25411 {4, 12, 5, 13, 6, 14, 7, 15});
25412 #endif
25415 __extension__ extern __inline int8x16_t
25416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25417 vzip2q_s8 (int8x16_t __a, int8x16_t __b)
25419 #ifdef __AARCH64EB__
25420 return __builtin_shuffle (__a, __b, (uint8x16_t)
25421 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
25422 #else
25423 return __builtin_shuffle (__a, __b, (uint8x16_t)
25424 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
25425 #endif
25428 __extension__ extern __inline int16x8_t
25429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25430 vzip2q_s16 (int16x8_t __a, int16x8_t __b)
25432 #ifdef __AARCH64EB__
25433 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25434 #else
25435 return __builtin_shuffle (__a, __b, (uint16x8_t)
25436 {4, 12, 5, 13, 6, 14, 7, 15});
25437 #endif
25440 __extension__ extern __inline int32x4_t
25441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25442 vzip2q_s32 (int32x4_t __a, int32x4_t __b)
25444 #ifdef __AARCH64EB__
25445 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
25446 #else
25447 return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
25448 #endif
25451 __extension__ extern __inline int64x2_t
25452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25453 vzip2q_s64 (int64x2_t __a, int64x2_t __b)
25455 #ifdef __AARCH64EB__
25456 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
25457 #else
25458 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
25459 #endif
25462 __extension__ extern __inline uint8x16_t
25463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25464 vzip2q_u8 (uint8x16_t __a, uint8x16_t __b)
25466 #ifdef __AARCH64EB__
25467 return __builtin_shuffle (__a, __b, (uint8x16_t)
25468 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
25469 #else
25470 return __builtin_shuffle (__a, __b, (uint8x16_t)
25471 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
25472 #endif
25475 __extension__ extern __inline uint16x8_t
25476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25477 vzip2q_u16 (uint16x8_t __a, uint16x8_t __b)
25479 #ifdef __AARCH64EB__
25480 return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
25481 #else
25482 return __builtin_shuffle (__a, __b, (uint16x8_t)
25483 {4, 12, 5, 13, 6, 14, 7, 15});
25484 #endif
25487 __extension__ extern __inline uint32x4_t
25488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25489 vzip2q_u32 (uint32x4_t __a, uint32x4_t __b)
25491 #ifdef __AARCH64EB__
25492 return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
25493 #else
25494 return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
25495 #endif
25498 __extension__ extern __inline uint64x2_t
25499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25500 vzip2q_u64 (uint64x2_t __a, uint64x2_t __b)
25502 #ifdef __AARCH64EB__
25503 return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
25504 #else
25505 return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
25506 #endif
25509 __extension__ extern __inline poly64x2_t
25510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25511 vzip2q_p64 (poly64x2_t __a, poly64x2_t __b)
25513 #ifdef __AARCH64EB__
25514 return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
25515 #else
25516 return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
25517 #endif
25520 __INTERLEAVE_LIST (zip)
25522 #undef __INTERLEAVE_LIST
25523 #undef __DEFINTERLEAVE
25525 /* End of optimal implementations in approved order. */
25527 #pragma GCC pop_options
25529 /* ARMv8.2-A FP16 intrinsics. */
25531 #include "arm_fp16.h"
25533 #pragma GCC push_options
25534 #pragma GCC target ("+nothing+simd+fp16")
25536 /* ARMv8.2-A FP16 one operand vector intrinsics. */
25538 __extension__ extern __inline float16x4_t
25539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25540 vabs_f16 (float16x4_t __a)
25542 return __builtin_aarch64_absv4hf (__a);
25545 __extension__ extern __inline float16x8_t
25546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25547 vabsq_f16 (float16x8_t __a)
25549 return __builtin_aarch64_absv8hf (__a);
25552 __extension__ extern __inline uint16x4_t
25553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25554 vceqz_f16 (float16x4_t __a)
25556 return __builtin_aarch64_cmeqv4hf_uss (__a, vdup_n_f16 (0.0f));
25559 __extension__ extern __inline uint16x8_t
25560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25561 vceqzq_f16 (float16x8_t __a)
25563 return __builtin_aarch64_cmeqv8hf_uss (__a, vdupq_n_f16 (0.0f));
25566 __extension__ extern __inline uint16x4_t
25567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25568 vcgez_f16 (float16x4_t __a)
25570 return __builtin_aarch64_cmgev4hf_uss (__a, vdup_n_f16 (0.0f));
25573 __extension__ extern __inline uint16x8_t
25574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25575 vcgezq_f16 (float16x8_t __a)
25577 return __builtin_aarch64_cmgev8hf_uss (__a, vdupq_n_f16 (0.0f));
25580 __extension__ extern __inline uint16x4_t
25581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25582 vcgtz_f16 (float16x4_t __a)
25584 return __builtin_aarch64_cmgtv4hf_uss (__a, vdup_n_f16 (0.0f));
25587 __extension__ extern __inline uint16x8_t
25588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25589 vcgtzq_f16 (float16x8_t __a)
25591 return __builtin_aarch64_cmgtv8hf_uss (__a, vdupq_n_f16 (0.0f));
25594 __extension__ extern __inline uint16x4_t
25595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25596 vclez_f16 (float16x4_t __a)
25598 return __builtin_aarch64_cmlev4hf_uss (__a, vdup_n_f16 (0.0f));
25601 __extension__ extern __inline uint16x8_t
25602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25603 vclezq_f16 (float16x8_t __a)
25605 return __builtin_aarch64_cmlev8hf_uss (__a, vdupq_n_f16 (0.0f));
25608 __extension__ extern __inline uint16x4_t
25609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25610 vcltz_f16 (float16x4_t __a)
25612 return __builtin_aarch64_cmltv4hf_uss (__a, vdup_n_f16 (0.0f));
25615 __extension__ extern __inline uint16x8_t
25616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25617 vcltzq_f16 (float16x8_t __a)
25619 return __builtin_aarch64_cmltv8hf_uss (__a, vdupq_n_f16 (0.0f));
25622 __extension__ extern __inline float16x4_t
25623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25624 vcvt_f16_s16 (int16x4_t __a)
25626 return __builtin_aarch64_floatv4hiv4hf (__a);
25629 __extension__ extern __inline float16x8_t
25630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25631 vcvtq_f16_s16 (int16x8_t __a)
25633 return __builtin_aarch64_floatv8hiv8hf (__a);
25636 __extension__ extern __inline float16x4_t
25637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25638 vcvt_f16_u16 (uint16x4_t __a)
25640 return __builtin_aarch64_floatunsv4hiv4hf ((int16x4_t) __a);
25643 __extension__ extern __inline float16x8_t
25644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25645 vcvtq_f16_u16 (uint16x8_t __a)
25647 return __builtin_aarch64_floatunsv8hiv8hf ((int16x8_t) __a);
25650 __extension__ extern __inline int16x4_t
25651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25652 vcvt_s16_f16 (float16x4_t __a)
25654 return __builtin_aarch64_lbtruncv4hfv4hi (__a);
25657 __extension__ extern __inline int16x8_t
25658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25659 vcvtq_s16_f16 (float16x8_t __a)
25661 return __builtin_aarch64_lbtruncv8hfv8hi (__a);
25664 __extension__ extern __inline uint16x4_t
25665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25666 vcvt_u16_f16 (float16x4_t __a)
25668 return __builtin_aarch64_lbtruncuv4hfv4hi_us (__a);
25671 __extension__ extern __inline uint16x8_t
25672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25673 vcvtq_u16_f16 (float16x8_t __a)
25675 return __builtin_aarch64_lbtruncuv8hfv8hi_us (__a);
25678 __extension__ extern __inline int16x4_t
25679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25680 vcvta_s16_f16 (float16x4_t __a)
25682 return __builtin_aarch64_lroundv4hfv4hi (__a);
25685 __extension__ extern __inline int16x8_t
25686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25687 vcvtaq_s16_f16 (float16x8_t __a)
25689 return __builtin_aarch64_lroundv8hfv8hi (__a);
25692 __extension__ extern __inline uint16x4_t
25693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25694 vcvta_u16_f16 (float16x4_t __a)
25696 return __builtin_aarch64_lrounduv4hfv4hi_us (__a);
25699 __extension__ extern __inline uint16x8_t
25700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25701 vcvtaq_u16_f16 (float16x8_t __a)
25703 return __builtin_aarch64_lrounduv8hfv8hi_us (__a);
25706 __extension__ extern __inline int16x4_t
25707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25708 vcvtm_s16_f16 (float16x4_t __a)
25710 return __builtin_aarch64_lfloorv4hfv4hi (__a);
25713 __extension__ extern __inline int16x8_t
25714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25715 vcvtmq_s16_f16 (float16x8_t __a)
25717 return __builtin_aarch64_lfloorv8hfv8hi (__a);
25720 __extension__ extern __inline uint16x4_t
25721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25722 vcvtm_u16_f16 (float16x4_t __a)
25724 return __builtin_aarch64_lflooruv4hfv4hi_us (__a);
25727 __extension__ extern __inline uint16x8_t
25728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25729 vcvtmq_u16_f16 (float16x8_t __a)
25731 return __builtin_aarch64_lflooruv8hfv8hi_us (__a);
25734 __extension__ extern __inline int16x4_t
25735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25736 vcvtn_s16_f16 (float16x4_t __a)
25738 return __builtin_aarch64_lfrintnv4hfv4hi (__a);
25741 __extension__ extern __inline int16x8_t
25742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25743 vcvtnq_s16_f16 (float16x8_t __a)
25745 return __builtin_aarch64_lfrintnv8hfv8hi (__a);
25748 __extension__ extern __inline uint16x4_t
25749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25750 vcvtn_u16_f16 (float16x4_t __a)
25752 return __builtin_aarch64_lfrintnuv4hfv4hi_us (__a);
25755 __extension__ extern __inline uint16x8_t
25756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25757 vcvtnq_u16_f16 (float16x8_t __a)
25759 return __builtin_aarch64_lfrintnuv8hfv8hi_us (__a);
25762 __extension__ extern __inline int16x4_t
25763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25764 vcvtp_s16_f16 (float16x4_t __a)
25766 return __builtin_aarch64_lceilv4hfv4hi (__a);
25769 __extension__ extern __inline int16x8_t
25770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25771 vcvtpq_s16_f16 (float16x8_t __a)
25773 return __builtin_aarch64_lceilv8hfv8hi (__a);
25776 __extension__ extern __inline uint16x4_t
25777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25778 vcvtp_u16_f16 (float16x4_t __a)
25780 return __builtin_aarch64_lceiluv4hfv4hi_us (__a);
25783 __extension__ extern __inline uint16x8_t
25784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25785 vcvtpq_u16_f16 (float16x8_t __a)
25787 return __builtin_aarch64_lceiluv8hfv8hi_us (__a);
25790 __extension__ extern __inline float16x4_t
25791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25792 vneg_f16 (float16x4_t __a)
25794 return -__a;
25797 __extension__ extern __inline float16x8_t
25798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25799 vnegq_f16 (float16x8_t __a)
25801 return -__a;
25804 __extension__ extern __inline float16x4_t
25805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25806 vrecpe_f16 (float16x4_t __a)
25808 return __builtin_aarch64_frecpev4hf (__a);
25811 __extension__ extern __inline float16x8_t
25812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25813 vrecpeq_f16 (float16x8_t __a)
25815 return __builtin_aarch64_frecpev8hf (__a);
25818 __extension__ extern __inline float16x4_t
25819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25820 vrnd_f16 (float16x4_t __a)
25822 return __builtin_aarch64_btruncv4hf (__a);
25825 __extension__ extern __inline float16x8_t
25826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25827 vrndq_f16 (float16x8_t __a)
25829 return __builtin_aarch64_btruncv8hf (__a);
25832 __extension__ extern __inline float16x4_t
25833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25834 vrnda_f16 (float16x4_t __a)
25836 return __builtin_aarch64_roundv4hf (__a);
25839 __extension__ extern __inline float16x8_t
25840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25841 vrndaq_f16 (float16x8_t __a)
25843 return __builtin_aarch64_roundv8hf (__a);
25846 __extension__ extern __inline float16x4_t
25847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25848 vrndi_f16 (float16x4_t __a)
25850 return __builtin_aarch64_nearbyintv4hf (__a);
25853 __extension__ extern __inline float16x8_t
25854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25855 vrndiq_f16 (float16x8_t __a)
25857 return __builtin_aarch64_nearbyintv8hf (__a);
25860 __extension__ extern __inline float16x4_t
25861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25862 vrndm_f16 (float16x4_t __a)
25864 return __builtin_aarch64_floorv4hf (__a);
25867 __extension__ extern __inline float16x8_t
25868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25869 vrndmq_f16 (float16x8_t __a)
25871 return __builtin_aarch64_floorv8hf (__a);
25874 __extension__ extern __inline float16x4_t
25875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25876 vrndn_f16 (float16x4_t __a)
25878 return __builtin_aarch64_roundevenv4hf (__a);
25881 __extension__ extern __inline float16x8_t
25882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25883 vrndnq_f16 (float16x8_t __a)
25885 return __builtin_aarch64_roundevenv8hf (__a);
25888 __extension__ extern __inline float16x4_t
25889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25890 vrndp_f16 (float16x4_t __a)
25892 return __builtin_aarch64_ceilv4hf (__a);
25895 __extension__ extern __inline float16x8_t
25896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25897 vrndpq_f16 (float16x8_t __a)
25899 return __builtin_aarch64_ceilv8hf (__a);
25902 __extension__ extern __inline float16x4_t
25903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25904 vrndx_f16 (float16x4_t __a)
25906 return __builtin_aarch64_rintv4hf (__a);
25909 __extension__ extern __inline float16x8_t
25910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25911 vrndxq_f16 (float16x8_t __a)
25913 return __builtin_aarch64_rintv8hf (__a);
25916 __extension__ extern __inline float16x4_t
25917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25918 vrsqrte_f16 (float16x4_t __a)
25920 return __builtin_aarch64_rsqrtev4hf (__a);
25923 __extension__ extern __inline float16x8_t
25924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25925 vrsqrteq_f16 (float16x8_t __a)
25927 return __builtin_aarch64_rsqrtev8hf (__a);
25930 __extension__ extern __inline float16x4_t
25931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25932 vsqrt_f16 (float16x4_t __a)
25934 return __builtin_aarch64_sqrtv4hf (__a);
25937 __extension__ extern __inline float16x8_t
25938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25939 vsqrtq_f16 (float16x8_t __a)
25941 return __builtin_aarch64_sqrtv8hf (__a);
25944 /* ARMv8.2-A FP16 two operands vector intrinsics. */
25946 __extension__ extern __inline float16x4_t
25947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25948 vadd_f16 (float16x4_t __a, float16x4_t __b)
25950 return __a + __b;
25953 __extension__ extern __inline float16x8_t
25954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25955 vaddq_f16 (float16x8_t __a, float16x8_t __b)
25957 return __a + __b;
25960 __extension__ extern __inline float16x4_t
25961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25962 vabd_f16 (float16x4_t __a, float16x4_t __b)
25964 return __builtin_aarch64_fabdv4hf (__a, __b);
25967 __extension__ extern __inline float16x8_t
25968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25969 vabdq_f16 (float16x8_t __a, float16x8_t __b)
25971 return __builtin_aarch64_fabdv8hf (__a, __b);
25974 __extension__ extern __inline uint16x4_t
25975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25976 vcage_f16 (float16x4_t __a, float16x4_t __b)
25978 return __builtin_aarch64_facgev4hf_uss (__a, __b);
25981 __extension__ extern __inline uint16x8_t
25982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25983 vcageq_f16 (float16x8_t __a, float16x8_t __b)
25985 return __builtin_aarch64_facgev8hf_uss (__a, __b);
25988 __extension__ extern __inline uint16x4_t
25989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25990 vcagt_f16 (float16x4_t __a, float16x4_t __b)
25992 return __builtin_aarch64_facgtv4hf_uss (__a, __b);
25995 __extension__ extern __inline uint16x8_t
25996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
25997 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
25999 return __builtin_aarch64_facgtv8hf_uss (__a, __b);
26002 __extension__ extern __inline uint16x4_t
26003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26004 vcale_f16 (float16x4_t __a, float16x4_t __b)
26006 return __builtin_aarch64_faclev4hf_uss (__a, __b);
26009 __extension__ extern __inline uint16x8_t
26010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26011 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
26013 return __builtin_aarch64_faclev8hf_uss (__a, __b);
26016 __extension__ extern __inline uint16x4_t
26017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26018 vcalt_f16 (float16x4_t __a, float16x4_t __b)
26020 return __builtin_aarch64_facltv4hf_uss (__a, __b);
26023 __extension__ extern __inline uint16x8_t
26024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26025 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
26027 return __builtin_aarch64_facltv8hf_uss (__a, __b);
26030 __extension__ extern __inline uint16x4_t
26031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26032 vceq_f16 (float16x4_t __a, float16x4_t __b)
26034 return __builtin_aarch64_cmeqv4hf_uss (__a, __b);
26037 __extension__ extern __inline uint16x8_t
26038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26039 vceqq_f16 (float16x8_t __a, float16x8_t __b)
26041 return __builtin_aarch64_cmeqv8hf_uss (__a, __b);
26044 __extension__ extern __inline uint16x4_t
26045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26046 vcge_f16 (float16x4_t __a, float16x4_t __b)
26048 return __builtin_aarch64_cmgev4hf_uss (__a, __b);
26051 __extension__ extern __inline uint16x8_t
26052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26053 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
26055 return __builtin_aarch64_cmgev8hf_uss (__a, __b);
26058 __extension__ extern __inline uint16x4_t
26059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26060 vcgt_f16 (float16x4_t __a, float16x4_t __b)
26062 return __builtin_aarch64_cmgtv4hf_uss (__a, __b);
26065 __extension__ extern __inline uint16x8_t
26066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26067 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
26069 return __builtin_aarch64_cmgtv8hf_uss (__a, __b);
26072 __extension__ extern __inline uint16x4_t
26073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26074 vcle_f16 (float16x4_t __a, float16x4_t __b)
26076 return __builtin_aarch64_cmlev4hf_uss (__a, __b);
26079 __extension__ extern __inline uint16x8_t
26080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26081 vcleq_f16 (float16x8_t __a, float16x8_t __b)
26083 return __builtin_aarch64_cmlev8hf_uss (__a, __b);
26086 __extension__ extern __inline uint16x4_t
26087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26088 vclt_f16 (float16x4_t __a, float16x4_t __b)
26090 return __builtin_aarch64_cmltv4hf_uss (__a, __b);
26093 __extension__ extern __inline uint16x8_t
26094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26095 vcltq_f16 (float16x8_t __a, float16x8_t __b)
26097 return __builtin_aarch64_cmltv8hf_uss (__a, __b);
26100 __extension__ extern __inline float16x4_t
26101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26102 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
26104 return __builtin_aarch64_scvtfv4hi (__a, __b);
26107 __extension__ extern __inline float16x8_t
26108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26109 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
26111 return __builtin_aarch64_scvtfv8hi (__a, __b);
26114 __extension__ extern __inline float16x4_t
26115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26116 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
26118 return __builtin_aarch64_ucvtfv4hi_sus (__a, __b);
26121 __extension__ extern __inline float16x8_t
26122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26123 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
26125 return __builtin_aarch64_ucvtfv8hi_sus (__a, __b);
26128 __extension__ extern __inline int16x4_t
26129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26130 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
26132 return __builtin_aarch64_fcvtzsv4hf (__a, __b);
26135 __extension__ extern __inline int16x8_t
26136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26137 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
26139 return __builtin_aarch64_fcvtzsv8hf (__a, __b);
26142 __extension__ extern __inline uint16x4_t
26143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26144 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
26146 return __builtin_aarch64_fcvtzuv4hf_uss (__a, __b);
26149 __extension__ extern __inline uint16x8_t
26150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26151 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
26153 return __builtin_aarch64_fcvtzuv8hf_uss (__a, __b);
26156 __extension__ extern __inline float16x4_t
26157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26158 vdiv_f16 (float16x4_t __a, float16x4_t __b)
26160 return __a / __b;
26163 __extension__ extern __inline float16x8_t
26164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26165 vdivq_f16 (float16x8_t __a, float16x8_t __b)
26167 return __a / __b;
26170 __extension__ extern __inline float16x4_t
26171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26172 vmax_f16 (float16x4_t __a, float16x4_t __b)
26174 return __builtin_aarch64_fmax_nanv4hf (__a, __b);
26177 __extension__ extern __inline float16x8_t
26178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26179 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
26181 return __builtin_aarch64_fmax_nanv8hf (__a, __b);
26184 __extension__ extern __inline float16x4_t
26185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26186 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
26188 return __builtin_aarch64_fmaxv4hf (__a, __b);
26191 __extension__ extern __inline float16x8_t
26192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26193 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
26195 return __builtin_aarch64_fmaxv8hf (__a, __b);
26198 __extension__ extern __inline float16x4_t
26199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26200 vmin_f16 (float16x4_t __a, float16x4_t __b)
26202 return __builtin_aarch64_fmin_nanv4hf (__a, __b);
26205 __extension__ extern __inline float16x8_t
26206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26207 vminq_f16 (float16x8_t __a, float16x8_t __b)
26209 return __builtin_aarch64_fmin_nanv8hf (__a, __b);
26212 __extension__ extern __inline float16x4_t
26213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26214 vminnm_f16 (float16x4_t __a, float16x4_t __b)
26216 return __builtin_aarch64_fminv4hf (__a, __b);
26219 __extension__ extern __inline float16x8_t
26220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26221 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
26223 return __builtin_aarch64_fminv8hf (__a, __b);
26226 __extension__ extern __inline float16x4_t
26227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26228 vmul_f16 (float16x4_t __a, float16x4_t __b)
26230 return __a * __b;
26233 __extension__ extern __inline float16x8_t
26234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26235 vmulq_f16 (float16x8_t __a, float16x8_t __b)
26237 return __a * __b;
26240 __extension__ extern __inline float16x4_t
26241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26242 vmulx_f16 (float16x4_t __a, float16x4_t __b)
26244 return __builtin_aarch64_fmulxv4hf (__a, __b);
26247 __extension__ extern __inline float16x8_t
26248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26249 vmulxq_f16 (float16x8_t __a, float16x8_t __b)
26251 return __builtin_aarch64_fmulxv8hf (__a, __b);
26254 __extension__ extern __inline float16x4_t
26255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26256 vpadd_f16 (float16x4_t __a, float16x4_t __b)
26258 return __builtin_aarch64_faddpv4hf (__a, __b);
26261 __extension__ extern __inline float16x8_t
26262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26263 vpaddq_f16 (float16x8_t __a, float16x8_t __b)
26265 return __builtin_aarch64_faddpv8hf (__a, __b);
26268 __extension__ extern __inline float16x4_t
26269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26270 vpmax_f16 (float16x4_t __a, float16x4_t __b)
26272 return __builtin_aarch64_smax_nanpv4hf (__a, __b);
26275 __extension__ extern __inline float16x8_t
26276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26277 vpmaxq_f16 (float16x8_t __a, float16x8_t __b)
26279 return __builtin_aarch64_smax_nanpv8hf (__a, __b);
26282 __extension__ extern __inline float16x4_t
26283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26284 vpmaxnm_f16 (float16x4_t __a, float16x4_t __b)
26286 return __builtin_aarch64_smaxpv4hf (__a, __b);
26289 __extension__ extern __inline float16x8_t
26290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26291 vpmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
26293 return __builtin_aarch64_smaxpv8hf (__a, __b);
26296 __extension__ extern __inline float16x4_t
26297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26298 vpmin_f16 (float16x4_t __a, float16x4_t __b)
26300 return __builtin_aarch64_smin_nanpv4hf (__a, __b);
26303 __extension__ extern __inline float16x8_t
26304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26305 vpminq_f16 (float16x8_t __a, float16x8_t __b)
26307 return __builtin_aarch64_smin_nanpv8hf (__a, __b);
26310 __extension__ extern __inline float16x4_t
26311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26312 vpminnm_f16 (float16x4_t __a, float16x4_t __b)
26314 return __builtin_aarch64_sminpv4hf (__a, __b);
26317 __extension__ extern __inline float16x8_t
26318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26319 vpminnmq_f16 (float16x8_t __a, float16x8_t __b)
26321 return __builtin_aarch64_sminpv8hf (__a, __b);
26324 __extension__ extern __inline float16x4_t
26325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26326 vrecps_f16 (float16x4_t __a, float16x4_t __b)
26328 return __builtin_aarch64_frecpsv4hf (__a, __b);
26331 __extension__ extern __inline float16x8_t
26332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26333 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
26335 return __builtin_aarch64_frecpsv8hf (__a, __b);
26338 __extension__ extern __inline float16x4_t
26339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26340 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
26342 return __builtin_aarch64_rsqrtsv4hf (__a, __b);
26345 __extension__ extern __inline float16x8_t
26346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26347 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
26349 return __builtin_aarch64_rsqrtsv8hf (__a, __b);
26352 __extension__ extern __inline float16x4_t
26353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26354 vsub_f16 (float16x4_t __a, float16x4_t __b)
26356 return __a - __b;
26359 __extension__ extern __inline float16x8_t
26360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26361 vsubq_f16 (float16x8_t __a, float16x8_t __b)
26363 return __a - __b;
26366 /* ARMv8.2-A FP16 three operands vector intrinsics. */
26368 __extension__ extern __inline float16x4_t
26369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26370 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
26372 return __builtin_aarch64_fmav4hf (__b, __c, __a);
26375 __extension__ extern __inline float16x8_t
26376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26377 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
26379 return __builtin_aarch64_fmav8hf (__b, __c, __a);
26382 __extension__ extern __inline float16x4_t
26383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26384 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
26386 return __builtin_aarch64_fnmav4hf (__b, __c, __a);
26389 __extension__ extern __inline float16x8_t
26390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26391 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
26393 return __builtin_aarch64_fnmav8hf (__b, __c, __a);
26396 /* ARMv8.2-A FP16 lane vector intrinsics. */
26398 __extension__ extern __inline float16_t
26399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26400 vfmah_lane_f16 (float16_t __a, float16_t __b,
26401 float16x4_t __c, const int __lane)
26403 return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
26406 __extension__ extern __inline float16_t
26407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26408 vfmah_laneq_f16 (float16_t __a, float16_t __b,
26409 float16x8_t __c, const int __lane)
26411 return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
26414 __extension__ extern __inline float16x4_t
26415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26416 vfma_lane_f16 (float16x4_t __a, float16x4_t __b,
26417 float16x4_t __c, const int __lane)
26419 return vfma_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
26422 __extension__ extern __inline float16x8_t
26423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26424 vfmaq_lane_f16 (float16x8_t __a, float16x8_t __b,
26425 float16x4_t __c, const int __lane)
26427 return vfmaq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
26430 __extension__ extern __inline float16x4_t
26431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26432 vfma_laneq_f16 (float16x4_t __a, float16x4_t __b,
26433 float16x8_t __c, const int __lane)
26435 return vfma_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
26438 __extension__ extern __inline float16x8_t
26439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26440 vfmaq_laneq_f16 (float16x8_t __a, float16x8_t __b,
26441 float16x8_t __c, const int __lane)
26443 return vfmaq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
26446 __extension__ extern __inline float16x4_t
26447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26448 vfma_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
26450 return vfma_f16 (__a, __b, vdup_n_f16 (__c));
26453 __extension__ extern __inline float16x8_t
26454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26455 vfmaq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
26457 return vfmaq_f16 (__a, __b, vdupq_n_f16 (__c));
26460 __extension__ extern __inline float16_t
26461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26462 vfmsh_lane_f16 (float16_t __a, float16_t __b,
26463 float16x4_t __c, const int __lane)
26465 return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
26468 __extension__ extern __inline float16_t
26469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26470 vfmsh_laneq_f16 (float16_t __a, float16_t __b,
26471 float16x8_t __c, const int __lane)
26473 return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
26476 __extension__ extern __inline float16x4_t
26477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26478 vfms_lane_f16 (float16x4_t __a, float16x4_t __b,
26479 float16x4_t __c, const int __lane)
26481 return vfms_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
26484 __extension__ extern __inline float16x8_t
26485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26486 vfmsq_lane_f16 (float16x8_t __a, float16x8_t __b,
26487 float16x4_t __c, const int __lane)
26489 return vfmsq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
26492 __extension__ extern __inline float16x4_t
26493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26494 vfms_laneq_f16 (float16x4_t __a, float16x4_t __b,
26495 float16x8_t __c, const int __lane)
26497 return vfms_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
26500 __extension__ extern __inline float16x8_t
26501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26502 vfmsq_laneq_f16 (float16x8_t __a, float16x8_t __b,
26503 float16x8_t __c, const int __lane)
26505 return vfmsq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
26508 __extension__ extern __inline float16x4_t
26509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26510 vfms_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
26512 return vfms_f16 (__a, __b, vdup_n_f16 (__c));
26515 __extension__ extern __inline float16x8_t
26516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26517 vfmsq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
26519 return vfmsq_f16 (__a, __b, vdupq_n_f16 (__c));
26522 __extension__ extern __inline float16_t
26523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26524 vmulh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
26526 return __a * __aarch64_vget_lane_any (__b, __lane);
26529 __extension__ extern __inline float16x4_t
26530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26531 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
26533 return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
26536 __extension__ extern __inline float16x8_t
26537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26538 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
26540 return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
26543 __extension__ extern __inline float16_t
26544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26545 vmulh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
26547 return __a * __aarch64_vget_lane_any (__b, __lane);
26550 __extension__ extern __inline float16x4_t
26551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26552 vmul_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
26554 return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
26557 __extension__ extern __inline float16x8_t
26558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26559 vmulq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
26561 return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
26564 __extension__ extern __inline float16x4_t
26565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26566 vmul_n_f16 (float16x4_t __a, float16_t __b)
26568 return vmul_lane_f16 (__a, vdup_n_f16 (__b), 0);
26571 __extension__ extern __inline float16x8_t
26572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26573 vmulq_n_f16 (float16x8_t __a, float16_t __b)
26575 return vmulq_laneq_f16 (__a, vdupq_n_f16 (__b), 0);
26578 __extension__ extern __inline float16_t
26579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26580 vmulxh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
26582 return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
26585 __extension__ extern __inline float16x4_t
26586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26587 vmulx_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
26589 return vmulx_f16 (__a, __aarch64_vdup_lane_f16 (__b, __lane));
26592 __extension__ extern __inline float16x8_t
26593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26594 vmulxq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
26596 return vmulxq_f16 (__a, __aarch64_vdupq_lane_f16 (__b, __lane));
26599 __extension__ extern __inline float16_t
26600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26601 vmulxh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
26603 return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
26606 __extension__ extern __inline float16x4_t
26607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26608 vmulx_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
26610 return vmulx_f16 (__a, __aarch64_vdup_laneq_f16 (__b, __lane));
26613 __extension__ extern __inline float16x8_t
26614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26615 vmulxq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
26617 return vmulxq_f16 (__a, __aarch64_vdupq_laneq_f16 (__b, __lane));
26620 __extension__ extern __inline float16x4_t
26621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26622 vmulx_n_f16 (float16x4_t __a, float16_t __b)
26624 return vmulx_f16 (__a, vdup_n_f16 (__b));
26627 __extension__ extern __inline float16x8_t
26628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26629 vmulxq_n_f16 (float16x8_t __a, float16_t __b)
26631 return vmulxq_f16 (__a, vdupq_n_f16 (__b));
26634 /* ARMv8.2-A FP16 reduction vector intrinsics. */
26636 __extension__ extern __inline float16_t
26637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26638 vmaxv_f16 (float16x4_t __a)
26640 return __builtin_aarch64_reduc_smax_nan_scal_v4hf (__a);
26643 __extension__ extern __inline float16_t
26644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26645 vmaxvq_f16 (float16x8_t __a)
26647 return __builtin_aarch64_reduc_smax_nan_scal_v8hf (__a);
26650 __extension__ extern __inline float16_t
26651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26652 vminv_f16 (float16x4_t __a)
26654 return __builtin_aarch64_reduc_smin_nan_scal_v4hf (__a);
26657 __extension__ extern __inline float16_t
26658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26659 vminvq_f16 (float16x8_t __a)
26661 return __builtin_aarch64_reduc_smin_nan_scal_v8hf (__a);
26664 __extension__ extern __inline float16_t
26665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26666 vmaxnmv_f16 (float16x4_t __a)
26668 return __builtin_aarch64_reduc_smax_scal_v4hf (__a);
26671 __extension__ extern __inline float16_t
26672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26673 vmaxnmvq_f16 (float16x8_t __a)
26675 return __builtin_aarch64_reduc_smax_scal_v8hf (__a);
26678 __extension__ extern __inline float16_t
26679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26680 vminnmv_f16 (float16x4_t __a)
26682 return __builtin_aarch64_reduc_smin_scal_v4hf (__a);
26685 __extension__ extern __inline float16_t
26686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26687 vminnmvq_f16 (float16x8_t __a)
26689 return __builtin_aarch64_reduc_smin_scal_v8hf (__a);
26692 #pragma GCC pop_options
26694 /* AdvSIMD Dot Product intrinsics. */
26696 #pragma GCC push_options
26697 #pragma GCC target ("+nothing+dotprod")
26699 __extension__ extern __inline uint32x2_t
26700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26701 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
26703 return __builtin_aarch64_udot_prodv8qi_uuuu (__a, __b, __r);
26706 __extension__ extern __inline uint32x4_t
26707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26708 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
26710 return __builtin_aarch64_udot_prodv16qi_uuuu (__a, __b, __r);
26713 __extension__ extern __inline int32x2_t
26714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26715 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
26717 return __builtin_aarch64_sdot_prodv8qi (__a, __b, __r);
26720 __extension__ extern __inline int32x4_t
26721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26722 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
26724 return __builtin_aarch64_sdot_prodv16qi (__a, __b, __r);
26727 __extension__ extern __inline uint32x2_t
26728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26729 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
26731 return __builtin_aarch64_udot_lanev8qi_uuuus (__r, __a, __b, __index);
26734 __extension__ extern __inline uint32x2_t
26735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26736 vdot_laneq_u32 (uint32x2_t __r, uint8x8_t __a, uint8x16_t __b,
26737 const int __index)
26739 return __builtin_aarch64_udot_laneqv8qi_uuuus (__r, __a, __b, __index);
26742 __extension__ extern __inline uint32x4_t
26743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26744 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
26745 const int __index)
26747 return __builtin_aarch64_udot_lanev16qi_uuuus (__r, __a, __b, __index);
26750 __extension__ extern __inline uint32x4_t
26751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26752 vdotq_laneq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b,
26753 const int __index)
26755 return __builtin_aarch64_udot_laneqv16qi_uuuus (__r, __a, __b, __index);
26758 __extension__ extern __inline int32x2_t
26759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26760 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
26762 return __builtin_aarch64_sdot_lanev8qi (__r, __a, __b, __index);
26765 __extension__ extern __inline int32x2_t
26766 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26767 vdot_laneq_s32 (int32x2_t __r, int8x8_t __a, int8x16_t __b, const int __index)
26769 return __builtin_aarch64_sdot_laneqv8qi (__r, __a, __b, __index);
26772 __extension__ extern __inline int32x4_t
26773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26774 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
26776 return __builtin_aarch64_sdot_lanev16qi (__r, __a, __b, __index);
26779 __extension__ extern __inline int32x4_t
26780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26781 vdotq_laneq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b, const int __index)
26783 return __builtin_aarch64_sdot_laneqv16qi (__r, __a, __b, __index);
26785 #pragma GCC pop_options
26787 #pragma GCC push_options
26788 #pragma GCC target ("+nothing+sm4")
26790 __extension__ extern __inline uint32x4_t
26791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26792 vsm3ss1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
26794 return __builtin_aarch64_sm3ss1qv4si_uuuu (__a, __b, __c);
26797 __extension__ extern __inline uint32x4_t
26798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26799 vsm3tt1aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
26801 return __builtin_aarch64_sm3tt1aqv4si_uuuus (__a, __b, __c, __imm2);
26804 __extension__ extern __inline uint32x4_t
26805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26806 vsm3tt1bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
26808 return __builtin_aarch64_sm3tt1bqv4si_uuuus (__a, __b, __c, __imm2);
26811 __extension__ extern __inline uint32x4_t
26812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26813 vsm3tt2aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
26815 return __builtin_aarch64_sm3tt2aqv4si_uuuus (__a, __b, __c, __imm2);
26818 __extension__ extern __inline uint32x4_t
26819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26820 vsm3tt2bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
26822 return __builtin_aarch64_sm3tt2bqv4si_uuuus (__a, __b, __c, __imm2);
26825 __extension__ extern __inline uint32x4_t
26826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26827 vsm3partw1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
26829 return __builtin_aarch64_sm3partw1qv4si_uuuu (__a, __b, __c);
26831 __extension__ extern __inline uint32x4_t
26832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26833 vsm3partw2q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
26835 return __builtin_aarch64_sm3partw2qv4si_uuuu (__a, __b, __c);
26838 __extension__ extern __inline uint32x4_t
26839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26840 vsm4eq_u32 (uint32x4_t __a, uint32x4_t __b)
26842 return __builtin_aarch64_sm4eqv4si_uuu (__a, __b);
26845 __extension__ extern __inline uint32x4_t
26846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26847 vsm4ekeyq_u32 (uint32x4_t __a, uint32x4_t __b)
26849 return __builtin_aarch64_sm4ekeyqv4si_uuu (__a, __b);
26852 #pragma GCC pop_options
26854 #pragma GCC push_options
26855 #pragma GCC target ("+nothing+sha3")
26857 __extension__ extern __inline uint64x2_t
26858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26859 vsha512hq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
26861 return __builtin_aarch64_crypto_sha512hqv2di_uuuu (__a, __b, __c);
26864 __extension__ extern __inline uint64x2_t
26865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26866 vsha512h2q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
26868 return __builtin_aarch64_crypto_sha512h2qv2di_uuuu (__a, __b, __c);
26871 __extension__ extern __inline uint64x2_t
26872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26873 vsha512su0q_u64 (uint64x2_t __a, uint64x2_t __b)
26875 return __builtin_aarch64_crypto_sha512su0qv2di_uuu (__a, __b);
26878 __extension__ extern __inline uint64x2_t
26879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26880 vsha512su1q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
26882 return __builtin_aarch64_crypto_sha512su1qv2di_uuuu (__a, __b, __c);
26885 __extension__ extern __inline uint8x16_t
26886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26887 veor3q_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
26889 return __builtin_aarch64_eor3qv16qi_uuuu (__a, __b, __c);
26892 __extension__ extern __inline uint16x8_t
26893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26894 veor3q_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
26896 return __builtin_aarch64_eor3qv8hi_uuuu (__a, __b, __c);
26899 __extension__ extern __inline uint32x4_t
26900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26901 veor3q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
26903 return __builtin_aarch64_eor3qv4si_uuuu (__a, __b, __c);
26906 __extension__ extern __inline uint64x2_t
26907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26908 veor3q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
26910 return __builtin_aarch64_eor3qv2di_uuuu (__a, __b, __c);
26914 __extension__ extern __inline int8x16_t
26915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26916 veor3q_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
26918 return __builtin_aarch64_eor3qv16qi (__a, __b, __c);
26921 __extension__ extern __inline int16x8_t
26922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26923 veor3q_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
26925 return __builtin_aarch64_eor3qv8hi (__a, __b, __c);
26928 __extension__ extern __inline int32x4_t
26929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26930 veor3q_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
26932 return __builtin_aarch64_eor3qv4si (__a, __b, __c);
26935 __extension__ extern __inline int64x2_t
26936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26937 veor3q_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
26939 return __builtin_aarch64_eor3qv2di (__a, __b, __c);
26942 __extension__ extern __inline uint64x2_t
26943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26944 vrax1q_u64 (uint64x2_t __a, uint64x2_t __b)
26946 return __builtin_aarch64_rax1qv2di_uuu (__a, __b);
26949 __extension__ extern __inline uint64x2_t
26950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26951 vxarq_u64 (uint64x2_t __a, uint64x2_t __b, const int imm6)
26953 return __builtin_aarch64_xarqv2di_uuus (__a, __b,imm6);
26956 __extension__ extern __inline uint8x16_t
26957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26958 vbcaxq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
26960 return __builtin_aarch64_bcaxqv16qi_uuuu (__a, __b, __c);
26963 __extension__ extern __inline uint16x8_t
26964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26965 vbcaxq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
26967 return __builtin_aarch64_bcaxqv8hi_uuuu (__a, __b, __c);
26970 __extension__ extern __inline uint32x4_t
26971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26972 vbcaxq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
26974 return __builtin_aarch64_bcaxqv4si_uuuu (__a, __b, __c);
26977 __extension__ extern __inline uint64x2_t
26978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26979 vbcaxq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
26981 return __builtin_aarch64_bcaxqv2di_uuuu (__a, __b, __c);
26984 __extension__ extern __inline int8x16_t
26985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26986 vbcaxq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
26988 return __builtin_aarch64_bcaxqv16qi (__a, __b, __c);
26991 __extension__ extern __inline int16x8_t
26992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
26993 vbcaxq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
26995 return __builtin_aarch64_bcaxqv8hi (__a, __b, __c);
26998 __extension__ extern __inline int32x4_t
26999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27000 vbcaxq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
27002 return __builtin_aarch64_bcaxqv4si (__a, __b, __c);
27005 __extension__ extern __inline int64x2_t
27006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27007 vbcaxq_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
27009 return __builtin_aarch64_bcaxqv2di (__a, __b, __c);
27012 #pragma GCC pop_options
27014 /* AdvSIMD Complex numbers intrinsics. */
27016 #pragma GCC push_options
27017 #pragma GCC target ("arch=armv8.3-a")
27019 #pragma GCC push_options
27020 #pragma GCC target ("+fp16")
27021 __extension__ extern __inline float16x4_t
27022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27023 vcadd_rot90_f16 (float16x4_t __a, float16x4_t __b)
27025 return __builtin_aarch64_fcadd90v4hf (__a, __b);
27028 __extension__ extern __inline float16x8_t
27029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27030 vcaddq_rot90_f16 (float16x8_t __a, float16x8_t __b)
27032 return __builtin_aarch64_fcadd90v8hf (__a, __b);
27035 __extension__ extern __inline float16x4_t
27036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27037 vcadd_rot270_f16 (float16x4_t __a, float16x4_t __b)
27039 return __builtin_aarch64_fcadd270v4hf (__a, __b);
27042 __extension__ extern __inline float16x8_t
27043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27044 vcaddq_rot270_f16 (float16x8_t __a, float16x8_t __b)
27046 return __builtin_aarch64_fcadd270v8hf (__a, __b);
27049 __extension__ extern __inline float16x4_t
27050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27051 vcmla_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
27053 return __builtin_aarch64_fcmla0v4hf (__r, __a, __b);
27056 __extension__ extern __inline float16x8_t
27057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27058 vcmlaq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
27060 return __builtin_aarch64_fcmla0v8hf (__r, __a, __b);
27063 __extension__ extern __inline float16x4_t
27064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27065 vcmla_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
27066 const int __index)
27068 return __builtin_aarch64_fcmla_lane0v4hf (__r, __a, __b, __index);
27071 __extension__ extern __inline float16x4_t
27072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27073 vcmla_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
27074 const int __index)
27076 return __builtin_aarch64_fcmla_laneq0v4hf (__r, __a, __b, __index);
27079 __extension__ extern __inline float16x8_t
27080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27081 vcmlaq_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
27082 const int __index)
27084 return __builtin_aarch64_fcmlaq_lane0v8hf (__r, __a, __b, __index);
27087 __extension__ extern __inline float16x8_t
27088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27089 vcmlaq_rot90_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
27090 const int __index)
27092 return __builtin_aarch64_fcmlaq_lane90v8hf (__r, __a, __b, __index);
27095 __extension__ extern __inline float16x4_t
27096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27097 vcmla_rot90_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
27098 const int __index)
27100 return __builtin_aarch64_fcmla_laneq90v4hf (__r, __a, __b, __index);
27103 __extension__ extern __inline float16x4_t
27104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27105 vcmla_rot90_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
27106 const int __index)
27108 return __builtin_aarch64_fcmla_lane90v4hf (__r, __a, __b, __index);
27111 __extension__ extern __inline float16x8_t
27112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27113 vcmlaq_rot90_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
27115 return __builtin_aarch64_fcmla90v8hf (__r, __a, __b);
27118 __extension__ extern __inline float16x4_t
27119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27120 vcmla_rot90_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
27122 return __builtin_aarch64_fcmla90v4hf (__r, __a, __b);
27125 __extension__ extern __inline float16x8_t
27126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27127 vcmlaq_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
27128 const int __index)
27130 return __builtin_aarch64_fcmla_lane0v8hf (__r, __a, __b, __index);
27133 __extension__ extern __inline float16x4_t
27134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27135 vcmla_rot180_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
27136 const int __index)
27138 return __builtin_aarch64_fcmla_laneq180v4hf (__r, __a, __b, __index);
27141 __extension__ extern __inline float16x4_t
27142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27143 vcmla_rot180_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
27144 const int __index)
27146 return __builtin_aarch64_fcmla_lane180v4hf (__r, __a, __b, __index);
27149 __extension__ extern __inline float16x8_t
27150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27151 vcmlaq_rot180_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
27153 return __builtin_aarch64_fcmla180v8hf (__r, __a, __b);
27156 __extension__ extern __inline float16x4_t
27157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27158 vcmla_rot180_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
27160 return __builtin_aarch64_fcmla180v4hf (__r, __a, __b);
27163 __extension__ extern __inline float16x8_t
27164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27165 vcmlaq_rot90_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
27166 const int __index)
27168 return __builtin_aarch64_fcmla_lane90v8hf (__r, __a, __b, __index);
27171 __extension__ extern __inline float16x8_t
27172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27173 vcmlaq_rot270_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
27174 const int __index)
27176 return __builtin_aarch64_fcmla_lane270v8hf (__r, __a, __b, __index);
27179 __extension__ extern __inline float16x8_t
27180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27181 vcmlaq_rot270_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
27182 const int __index)
27184 return __builtin_aarch64_fcmlaq_lane270v8hf (__r, __a, __b, __index);
27187 __extension__ extern __inline float16x4_t
27188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27189 vcmla_rot270_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
27190 const int __index)
27192 return __builtin_aarch64_fcmla_laneq270v4hf (__r, __a, __b, __index);
27195 __extension__ extern __inline float16x8_t
27196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27197 vcmlaq_rot270_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
27199 return __builtin_aarch64_fcmla270v8hf (__r, __a, __b);
27202 __extension__ extern __inline float16x4_t
27203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27204 vcmla_rot270_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
27206 return __builtin_aarch64_fcmla270v4hf (__r, __a, __b);
27209 __extension__ extern __inline float16x8_t
27210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27211 vcmlaq_rot180_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
27212 const int __index)
27214 return __builtin_aarch64_fcmla_lane180v8hf (__r, __a, __b, __index);
27217 __extension__ extern __inline float16x8_t
27218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27219 vcmlaq_rot180_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
27220 const int __index)
27222 return __builtin_aarch64_fcmlaq_lane180v8hf (__r, __a, __b, __index);
27225 __extension__ extern __inline float16x4_t
27226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27227 vcmla_rot270_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
27228 const int __index)
27230 return __builtin_aarch64_fcmla_lane270v4hf (__r, __a, __b, __index);
27232 #pragma GCC pop_options
27234 __extension__ extern __inline float32x2_t
27235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27236 vcadd_rot90_f32 (float32x2_t __a, float32x2_t __b)
27238 return __builtin_aarch64_fcadd90v2sf (__a, __b);
27241 __extension__ extern __inline float32x4_t
27242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27243 vcaddq_rot90_f32 (float32x4_t __a, float32x4_t __b)
27245 return __builtin_aarch64_fcadd90v4sf (__a, __b);
27248 __extension__ extern __inline float64x2_t
27249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27250 vcaddq_rot90_f64 (float64x2_t __a, float64x2_t __b)
27252 return __builtin_aarch64_fcadd90v2df (__a, __b);
27255 __extension__ extern __inline float32x2_t
27256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27257 vcadd_rot270_f32 (float32x2_t __a, float32x2_t __b)
27259 return __builtin_aarch64_fcadd270v2sf (__a, __b);
27262 __extension__ extern __inline float32x4_t
27263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27264 vcaddq_rot270_f32 (float32x4_t __a, float32x4_t __b)
27266 return __builtin_aarch64_fcadd270v4sf (__a, __b);
27269 __extension__ extern __inline float64x2_t
27270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27271 vcaddq_rot270_f64 (float64x2_t __a, float64x2_t __b)
27273 return __builtin_aarch64_fcadd270v2df (__a, __b);
27276 __extension__ extern __inline float32x2_t
27277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27278 vcmla_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
27280 return __builtin_aarch64_fcmla0v2sf (__r, __a, __b);
27283 __extension__ extern __inline float32x4_t
27284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27285 vcmlaq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
27287 return __builtin_aarch64_fcmla0v4sf (__r, __a, __b);
27290 __extension__ extern __inline float64x2_t
27291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27292 vcmlaq_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
27294 return __builtin_aarch64_fcmla0v2df (__r, __a, __b);
27297 __extension__ extern __inline float32x2_t
27298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27299 vcmla_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
27300 const int __index)
27302 return __builtin_aarch64_fcmla_lane0v2sf (__r, __a, __b, __index);
27305 __extension__ extern __inline float32x2_t
27306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27307 vcmla_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
27308 const int __index)
27310 return __builtin_aarch64_fcmla_laneq0v2sf (__r, __a, __b, __index);
27313 __extension__ extern __inline float32x4_t
27314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27315 vcmlaq_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
27316 const int __index)
27318 return __builtin_aarch64_fcmlaq_lane0v4sf (__r, __a, __b, __index);
27321 __extension__ extern __inline float32x4_t
27322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27323 vcmlaq_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
27324 const int __index)
27326 return __builtin_aarch64_fcmla_lane0v4sf (__r, __a, __b, __index);
27329 __extension__ extern __inline float32x2_t
27330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27331 vcmla_rot90_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
27333 return __builtin_aarch64_fcmla90v2sf (__r, __a, __b);
27336 __extension__ extern __inline float32x4_t
27337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27338 vcmlaq_rot90_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
27340 return __builtin_aarch64_fcmla90v4sf (__r, __a, __b);
27343 __extension__ extern __inline float64x2_t
27344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27345 vcmlaq_rot90_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
27347 return __builtin_aarch64_fcmla90v2df (__r, __a, __b);
27350 __extension__ extern __inline float32x2_t
27351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27352 vcmla_rot90_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
27353 const int __index)
27355 return __builtin_aarch64_fcmla_lane90v2sf (__r, __a, __b, __index);
27358 __extension__ extern __inline float32x2_t
27359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27360 vcmla_rot90_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
27361 const int __index)
27363 return __builtin_aarch64_fcmla_laneq90v2sf (__r, __a, __b, __index);
27366 __extension__ extern __inline float32x4_t
27367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27368 vcmlaq_rot90_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
27369 const int __index)
27371 return __builtin_aarch64_fcmlaq_lane90v4sf (__r, __a, __b, __index);
27374 __extension__ extern __inline float32x4_t
27375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27376 vcmlaq_rot90_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
27377 const int __index)
27379 return __builtin_aarch64_fcmla_lane90v4sf (__r, __a, __b, __index);
27382 __extension__ extern __inline float32x2_t
27383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27384 vcmla_rot180_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
27386 return __builtin_aarch64_fcmla180v2sf (__r, __a, __b);
27389 __extension__ extern __inline float32x4_t
27390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27391 vcmlaq_rot180_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
27393 return __builtin_aarch64_fcmla180v4sf (__r, __a, __b);
27396 __extension__ extern __inline float64x2_t
27397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27398 vcmlaq_rot180_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
27400 return __builtin_aarch64_fcmla180v2df (__r, __a, __b);
27403 __extension__ extern __inline float32x2_t
27404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27405 vcmla_rot180_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
27406 const int __index)
27408 return __builtin_aarch64_fcmla_lane180v2sf (__r, __a, __b, __index);
27411 __extension__ extern __inline float32x2_t
27412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27413 vcmla_rot180_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
27414 const int __index)
27416 return __builtin_aarch64_fcmla_laneq180v2sf (__r, __a, __b, __index);
27419 __extension__ extern __inline float32x4_t
27420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27421 vcmlaq_rot180_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
27422 const int __index)
27424 return __builtin_aarch64_fcmlaq_lane180v4sf (__r, __a, __b, __index);
27427 __extension__ extern __inline float32x4_t
27428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27429 vcmlaq_rot180_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
27430 const int __index)
27432 return __builtin_aarch64_fcmla_lane180v4sf (__r, __a, __b, __index);
27435 __extension__ extern __inline float32x2_t
27436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27437 vcmla_rot270_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
27439 return __builtin_aarch64_fcmla270v2sf (__r, __a, __b);
27442 __extension__ extern __inline float32x4_t
27443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27444 vcmlaq_rot270_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
27446 return __builtin_aarch64_fcmla270v4sf (__r, __a, __b);
27449 __extension__ extern __inline float64x2_t
27450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27451 vcmlaq_rot270_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
27453 return __builtin_aarch64_fcmla270v2df (__r, __a, __b);
27456 __extension__ extern __inline float32x2_t
27457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27458 vcmla_rot270_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
27459 const int __index)
27461 return __builtin_aarch64_fcmla_lane270v2sf (__r, __a, __b, __index);
27464 __extension__ extern __inline float32x2_t
27465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27466 vcmla_rot270_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
27467 const int __index)
27469 return __builtin_aarch64_fcmla_laneq270v2sf (__r, __a, __b, __index);
27472 __extension__ extern __inline float32x4_t
27473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27474 vcmlaq_rot270_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
27475 const int __index)
27477 return __builtin_aarch64_fcmlaq_lane270v4sf (__r, __a, __b, __index);
27480 __extension__ extern __inline float32x4_t
27481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27482 vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
27483 const int __index)
27485 return __builtin_aarch64_fcmla_lane270v4sf (__r, __a, __b, __index);
27488 #pragma GCC pop_options
27490 #pragma GCC push_options
27491 #pragma GCC target ("+nothing+fp16fml")
27493 __extension__ extern __inline float32x2_t
27494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27495 vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
27497 return __builtin_aarch64_fmlal_lowv2sf (__r, __a, __b);
27500 __extension__ extern __inline float32x2_t
27501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27502 vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
27504 return __builtin_aarch64_fmlsl_lowv2sf (__r, __a, __b);
27507 __extension__ extern __inline float32x4_t
27508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27509 vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
27511 return __builtin_aarch64_fmlalq_lowv4sf (__r, __a, __b);
27514 __extension__ extern __inline float32x4_t
27515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27516 vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
27518 return __builtin_aarch64_fmlslq_lowv4sf (__r, __a, __b);
27521 __extension__ extern __inline float32x2_t
27522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27523 vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
27525 return __builtin_aarch64_fmlal_highv2sf (__r, __a, __b);
27528 __extension__ extern __inline float32x2_t
27529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27530 vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
27532 return __builtin_aarch64_fmlsl_highv2sf (__r, __a, __b);
27535 __extension__ extern __inline float32x4_t
27536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27537 vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
27539 return __builtin_aarch64_fmlalq_highv4sf (__r, __a, __b);
27542 __extension__ extern __inline float32x4_t
27543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27544 vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
27546 return __builtin_aarch64_fmlslq_highv4sf (__r, __a, __b);
27549 __extension__ extern __inline float32x2_t
27550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27551 vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
27552 const int __lane)
27554 return __builtin_aarch64_fmlal_lane_lowv2sf (__r, __a, __b, __lane);
27557 __extension__ extern __inline float32x2_t
27558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27559 vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
27560 const int __lane)
27562 return __builtin_aarch64_fmlsl_lane_lowv2sf (__r, __a, __b, __lane);
27565 __extension__ extern __inline float32x2_t
27566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27567 vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
27568 const int __lane)
27570 return __builtin_aarch64_fmlal_laneq_lowv2sf (__r, __a, __b, __lane);
27573 __extension__ extern __inline float32x2_t
27574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27575 vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
27576 const int __lane)
27578 return __builtin_aarch64_fmlsl_laneq_lowv2sf (__r, __a, __b, __lane);
27581 __extension__ extern __inline float32x4_t
27582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27583 vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
27584 const int __lane)
27586 return __builtin_aarch64_fmlalq_lane_lowv4sf (__r, __a, __b, __lane);
27589 __extension__ extern __inline float32x4_t
27590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27591 vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
27592 const int __lane)
27594 return __builtin_aarch64_fmlslq_lane_lowv4sf (__r, __a, __b, __lane);
27597 __extension__ extern __inline float32x4_t
27598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27599 vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
27600 const int __lane)
27602 return __builtin_aarch64_fmlalq_laneq_lowv4sf (__r, __a, __b, __lane);
27605 __extension__ extern __inline float32x4_t
27606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27607 vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
27608 const int __lane)
27610 return __builtin_aarch64_fmlslq_laneq_lowv4sf (__r, __a, __b, __lane);
27613 __extension__ extern __inline float32x2_t
27614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27615 vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
27616 const int __lane)
27618 return __builtin_aarch64_fmlal_lane_highv2sf (__r, __a, __b, __lane);
27621 __extension__ extern __inline float32x2_t
27622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27623 vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
27624 const int __lane)
27626 return __builtin_aarch64_fmlsl_lane_highv2sf (__r, __a, __b, __lane);
27629 __extension__ extern __inline float32x2_t
27630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27631 vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
27632 const int __lane)
27634 return __builtin_aarch64_fmlal_laneq_highv2sf (__r, __a, __b, __lane);
27637 __extension__ extern __inline float32x2_t
27638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27639 vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
27640 const int __lane)
27642 return __builtin_aarch64_fmlsl_laneq_highv2sf (__r, __a, __b, __lane);
27645 __extension__ extern __inline float32x4_t
27646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27647 vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
27648 const int __lane)
27650 return __builtin_aarch64_fmlalq_lane_highv4sf (__r, __a, __b, __lane);
27653 __extension__ extern __inline float32x4_t
27654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27655 vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
27656 const int __lane)
27658 return __builtin_aarch64_fmlslq_lane_highv4sf (__r, __a, __b, __lane);
27661 __extension__ extern __inline float32x4_t
27662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27663 vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
27664 const int __lane)
27666 return __builtin_aarch64_fmlalq_laneq_highv4sf (__r, __a, __b, __lane);
27669 __extension__ extern __inline float32x4_t
27670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27671 vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
27672 const int __lane)
27674 return __builtin_aarch64_fmlslq_laneq_highv4sf (__r, __a, __b, __lane);
27677 #pragma GCC pop_options
27679 #pragma GCC push_options
27680 #pragma GCC target ("arch=armv8.5-a")
27682 __extension__ extern __inline float32x2_t
27683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27684 vrnd32z_f32 (float32x2_t __a)
27686 return __builtin_aarch64_frint32zv2sf (__a);
27689 __extension__ extern __inline float32x4_t
27690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27691 vrnd32zq_f32 (float32x4_t __a)
27693 return __builtin_aarch64_frint32zv4sf (__a);
27696 __extension__ extern __inline float64x1_t
27697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27698 vrnd32z_f64 (float64x1_t __a)
27700 return (float64x1_t)
27701 {__builtin_aarch64_frint32zdf (vget_lane_f64 (__a, 0))};
27704 __extension__ extern __inline float64x2_t
27705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27706 vrnd32zq_f64 (float64x2_t __a)
27708 return __builtin_aarch64_frint32zv2df (__a);
27711 __extension__ extern __inline float32x2_t
27712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27713 vrnd32x_f32 (float32x2_t __a)
27715 return __builtin_aarch64_frint32xv2sf (__a);
27718 __extension__ extern __inline float32x4_t
27719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27720 vrnd32xq_f32 (float32x4_t __a)
27722 return __builtin_aarch64_frint32xv4sf (__a);
27725 __extension__ extern __inline float64x1_t
27726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27727 vrnd32x_f64 (float64x1_t __a)
27729 return (float64x1_t) {__builtin_aarch64_frint32xdf (vget_lane_f64 (__a, 0))};
27732 __extension__ extern __inline float64x2_t
27733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27734 vrnd32xq_f64 (float64x2_t __a)
27736 return __builtin_aarch64_frint32xv2df (__a);
27739 __extension__ extern __inline float32x2_t
27740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27741 vrnd64z_f32 (float32x2_t __a)
27743 return __builtin_aarch64_frint64zv2sf (__a);
27746 __extension__ extern __inline float32x4_t
27747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27748 vrnd64zq_f32 (float32x4_t __a)
27750 return __builtin_aarch64_frint64zv4sf (__a);
27753 __extension__ extern __inline float64x1_t
27754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27755 vrnd64z_f64 (float64x1_t __a)
27757 return (float64x1_t) {__builtin_aarch64_frint64zdf (vget_lane_f64 (__a, 0))};
27760 __extension__ extern __inline float64x2_t
27761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27762 vrnd64zq_f64 (float64x2_t __a)
27764 return __builtin_aarch64_frint64zv2df (__a);
27767 __extension__ extern __inline float32x2_t
27768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27769 vrnd64x_f32 (float32x2_t __a)
27771 return __builtin_aarch64_frint64xv2sf (__a);
27774 __extension__ extern __inline float32x4_t
27775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27776 vrnd64xq_f32 (float32x4_t __a)
27778 return __builtin_aarch64_frint64xv4sf (__a);
27781 __extension__ extern __inline float64x1_t
27782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27783 vrnd64x_f64 (float64x1_t __a)
27785 return (float64x1_t) {__builtin_aarch64_frint64xdf (vget_lane_f64 (__a, 0))};
27788 __extension__ extern __inline float64x2_t
27789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27790 vrnd64xq_f64 (float64x2_t __a)
27792 return __builtin_aarch64_frint64xv2df (__a);
27795 #pragma GCC pop_options
27797 #include "arm_bf16.h"
27799 #pragma GCC push_options
27800 #pragma GCC target ("+nothing+bf16")
27802 __extension__ extern __inline bfloat16x4_t
27803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27804 vset_lane_bf16 (bfloat16_t __elem, bfloat16x4_t __vec, const int __index)
27806 return __aarch64_vset_lane_any (__elem, __vec, __index);
27809 __extension__ extern __inline bfloat16x8_t
27810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27811 vsetq_lane_bf16 (bfloat16_t __elem, bfloat16x8_t __vec, const int __index)
27813 return __aarch64_vset_lane_any (__elem, __vec, __index);
27816 __extension__ extern __inline bfloat16_t
27817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27818 vget_lane_bf16 (bfloat16x4_t __a, const int __b)
27820 return __aarch64_vget_lane_any (__a, __b);
27823 __extension__ extern __inline bfloat16_t
27824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27825 vgetq_lane_bf16 (bfloat16x8_t __a, const int __b)
27827 return __aarch64_vget_lane_any (__a, __b);
27830 __extension__ extern __inline bfloat16x4_t
27831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27832 vcreate_bf16 (uint64_t __a)
27834 return (bfloat16x4_t) __a;
27837 __extension__ extern __inline bfloat16x8_t
27838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27839 vcombine_bf16 (bfloat16x4_t __a, bfloat16x4_t __b)
27841 return __builtin_aarch64_combinev4bf (__a, __b);
27844 /* vdup */
27846 __extension__ extern __inline bfloat16x4_t
27847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27848 vdup_n_bf16 (bfloat16_t __a)
27850 return (bfloat16x4_t) {__a, __a, __a, __a};
27853 __extension__ extern __inline bfloat16x8_t
27854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27855 vdupq_n_bf16 (bfloat16_t __a)
27857 return (bfloat16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
27860 __extension__ extern __inline bfloat16x4_t
27861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27862 vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
27864 return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
27867 __extension__ extern __inline bfloat16x4_t
27868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27869 vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
27871 return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
27874 __extension__ extern __inline bfloat16x8_t
27875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27876 vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
27878 return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
27881 __extension__ extern __inline bfloat16x8_t
27882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27883 vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
27885 return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
27888 __extension__ extern __inline bfloat16_t
27889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27890 vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
27892 return __aarch64_vget_lane_any (__a, __b);
27895 __extension__ extern __inline bfloat16_t
27896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27897 vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
27899 return __aarch64_vget_lane_any (__a, __b);
27902 /* vld */
27904 __extension__ extern __inline bfloat16x4_t
27905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27906 vld1_bf16 (const bfloat16_t *__a)
27908 return (bfloat16x4_t) __builtin_aarch64_ld1v4bf (__a);
27911 __extension__ extern __inline bfloat16x8_t
27912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27913 vld1q_bf16 (const bfloat16_t *__a)
27915 return __builtin_aarch64_ld1v8bf (__a);
27918 __extension__ extern __inline bfloat16x4x2_t
27919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27920 vld1_bf16_x2 (const bfloat16_t *__a)
27922 return __builtin_aarch64_ld1x2v4bf ((const __builtin_aarch64_simd_bf *) __a);
27925 __extension__ extern __inline bfloat16x8x2_t
27926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27927 vld1q_bf16_x2 (const bfloat16_t *__a)
27929 return __builtin_aarch64_ld1x2v8bf (
27930 (const __builtin_aarch64_simd_bf *) __a);
27933 __extension__ extern __inline bfloat16x4x3_t
27934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27935 vld1_bf16_x3 (const bfloat16_t *__a)
27937 return __builtin_aarch64_ld1x3v4bf ((const __builtin_aarch64_simd_bf *) __a);
27940 __extension__ extern __inline bfloat16x8x3_t
27941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27942 vld1q_bf16_x3 (const bfloat16_t *__a)
27944 return __builtin_aarch64_ld1x3v8bf ((const __builtin_aarch64_simd_bf *) __a);
27946 __extension__ extern __inline bfloat16x4x4_t
27947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27948 vld1_bf16_x4 (const bfloat16_t *__a)
27950 return __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
27953 __extension__ extern __inline bfloat16x8x4_t
27954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27955 vld1q_bf16_x4 (const bfloat16_t *__a)
27957 return __builtin_aarch64_ld1x4v8bf ((const __builtin_aarch64_simd_bf *) __a);
27960 __extension__ extern __inline bfloat16x4_t
27961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27962 vld1_lane_bf16 (const bfloat16_t *__src, bfloat16x4_t __vec, const int __lane)
27964 return __aarch64_vset_lane_any (*__src, __vec, __lane);
27967 __extension__ extern __inline bfloat16x8_t
27968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27969 vld1q_lane_bf16 (const bfloat16_t *__src, bfloat16x8_t __vec, const int __lane)
27971 return __aarch64_vset_lane_any (*__src, __vec, __lane);
27974 __extension__ extern __inline bfloat16x4_t
27975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27976 vld1_dup_bf16 (const bfloat16_t* __a)
27978 return vdup_n_bf16 (*__a);
27981 __extension__ extern __inline bfloat16x8_t
27982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27983 vld1q_dup_bf16 (const bfloat16_t* __a)
27985 return vdupq_n_bf16 (*__a);
27988 __extension__ extern __inline bfloat16x4x2_t
27989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27990 vld2_bf16 (const bfloat16_t * __a)
27992 return __builtin_aarch64_ld2v4bf (__a);
27995 __extension__ extern __inline bfloat16x8x2_t
27996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
27997 vld2q_bf16 (const bfloat16_t * __a)
27999 return __builtin_aarch64_ld2v8bf ((const __builtin_aarch64_simd_bf *) __a);
28002 __extension__ extern __inline bfloat16x4x2_t
28003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28004 vld2_dup_bf16 (const bfloat16_t * __a)
28006 return __builtin_aarch64_ld2rv4bf ((const __builtin_aarch64_simd_bf *) __a);
28009 __extension__ extern __inline bfloat16x8x2_t
28010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28011 vld2q_dup_bf16 (const bfloat16_t * __a)
28013 return __builtin_aarch64_ld2rv8bf ((const __builtin_aarch64_simd_bf *) __a);
28016 __extension__ extern __inline bfloat16x4x3_t
28017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28018 vld3_bf16 (const bfloat16_t * __a)
28020 return __builtin_aarch64_ld3v4bf ((const __builtin_aarch64_simd_bf *) __a);
28023 __extension__ extern __inline bfloat16x8x3_t
28024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28025 vld3q_bf16 (const bfloat16_t * __a)
28027 return __builtin_aarch64_ld3v8bf ((const __builtin_aarch64_simd_bf *) __a);
28030 __extension__ extern __inline bfloat16x4x3_t
28031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28032 vld3_dup_bf16 (const bfloat16_t * __a)
28034 return __builtin_aarch64_ld3rv4bf ((const __builtin_aarch64_simd_bf *) __a);
28037 __extension__ extern __inline bfloat16x8x3_t
28038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28039 vld3q_dup_bf16 (const bfloat16_t * __a)
28041 return __builtin_aarch64_ld3rv8bf ((const __builtin_aarch64_simd_bf *) __a);
28044 __extension__ extern __inline bfloat16x4x4_t
28045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28046 vld4_bf16 (const bfloat16_t * __a)
28048 return __builtin_aarch64_ld4v4bf ((const __builtin_aarch64_simd_bf *) __a);
28051 __extension__ extern __inline bfloat16x8x4_t
28052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28053 vld4q_bf16 (const bfloat16_t * __a)
28055 return __builtin_aarch64_ld4v8bf ((const __builtin_aarch64_simd_bf *) __a);
28058 __extension__ extern __inline bfloat16x4x4_t
28059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28060 vld4_dup_bf16 (const bfloat16_t * __a)
28062 return __builtin_aarch64_ld4rv4bf ((const __builtin_aarch64_simd_bf *) __a);
28065 __extension__ extern __inline bfloat16x8x4_t
28066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28067 vld4q_dup_bf16 (const bfloat16_t * __a)
28069 return __builtin_aarch64_ld4rv8bf ((const __builtin_aarch64_simd_bf *) __a);
28072 /* vst */
28074 __extension__ extern __inline void
28075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28076 vst1_bf16 (bfloat16_t *__a, bfloat16x4_t __b)
28078 __builtin_aarch64_st1v4bf (__a, __b);
28081 __extension__ extern __inline void
28082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28083 vst1_bf16_x2 (bfloat16_t * __a, bfloat16x4x2_t __val)
28085 __builtin_aarch64_st1x2v4bf (__a, __val);
28088 __extension__ extern __inline void
28089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28090 vst1q_bf16_x2 (bfloat16_t * __a, bfloat16x8x2_t __val)
28092 __builtin_aarch64_st1x2v8bf (__a, __val);
28095 __extension__ extern __inline void
28096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28097 vst1_bf16_x3 (bfloat16_t * __a, bfloat16x4x3_t __val)
28099 __builtin_aarch64_st1x3v4bf ((__builtin_aarch64_simd_bf *) __a, __val);
28102 __extension__ extern __inline void
28103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28104 vst1q_bf16_x3 (bfloat16_t * __a, bfloat16x8x3_t __val)
28106 __builtin_aarch64_st1x3v8bf ((__builtin_aarch64_simd_bf *) __a, __val);
28109 __extension__ extern __inline void
28110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28111 vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t __val)
28113 __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __val);
28116 __extension__ extern __inline void
28117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28118 vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t __val)
28120 __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __val);
28123 __extension__ extern __inline void
28124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28125 vst1q_bf16 (bfloat16_t *__a, bfloat16x8_t __b)
28127 __builtin_aarch64_st1v8bf (__a, __b);
28130 __extension__ extern __inline void
28131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28132 vst1_lane_bf16 (bfloat16_t *__a, bfloat16x4_t __b, const int __lane)
28134 *__a = __aarch64_vget_lane_any (__b, __lane);
28137 __extension__ extern __inline void
28138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28139 vst1q_lane_bf16 (bfloat16_t *__a, bfloat16x8_t __b, const int __lane)
28141 *__a = __aarch64_vget_lane_any (__b, __lane);
28144 __extension__ extern __inline void
28145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28146 vst2_bf16 (bfloat16_t * __a, bfloat16x4x2_t __val)
28148 __builtin_aarch64_st2v4bf (__a, __val);
28151 __extension__ extern __inline void
28152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28153 vst2q_bf16 (bfloat16_t * __a, bfloat16x8x2_t __val)
28155 __builtin_aarch64_st2v8bf (__a, __val);
28158 __extension__ extern __inline void
28159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28160 vst3_bf16 (bfloat16_t * __a, bfloat16x4x3_t __val)
28162 __builtin_aarch64_st3v4bf ((__builtin_aarch64_simd_bf *) __a, __val);
28165 __extension__ extern __inline void
28166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28167 vst3q_bf16 (bfloat16_t * __a, bfloat16x8x3_t __val)
28169 __builtin_aarch64_st3v8bf ((__builtin_aarch64_simd_bf *) __a, __val);
28172 __extension__ extern __inline void
28173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28174 vst4_bf16 (bfloat16_t * __a, bfloat16x4x4_t __val)
28176 __builtin_aarch64_st4v4bf ((__builtin_aarch64_simd_bf *) __a, __val);
28179 __extension__ extern __inline void
28180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28181 vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val)
28183 __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __val);
28186 __extension__ extern __inline float32x2_t
28187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28188 vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
28190 return __builtin_aarch64_bfdotv2sf (__r, __a, __b);
28193 __extension__ extern __inline float32x4_t
28194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28195 vbfdotq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
28197 return __builtin_aarch64_bfdotv4sf (__r, __a, __b);
28200 __extension__ extern __inline float32x2_t
28201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28202 vbfdot_lane_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b,
28203 const int __index)
28205 return __builtin_aarch64_bfdot_lanev2sf (__r, __a, __b, __index);
28208 __extension__ extern __inline float32x4_t
28209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28210 vbfdotq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
28211 const int __index)
28213 return __builtin_aarch64_bfdot_lanev4sf (__r, __a, __b, __index);
28216 __extension__ extern __inline float32x2_t
28217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28218 vbfdot_laneq_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x8_t __b,
28219 const int __index)
28221 return __builtin_aarch64_bfdot_laneqv2sf (__r, __a, __b, __index);
28224 __extension__ extern __inline float32x4_t
28225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28226 vbfdotq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
28227 const int __index)
28229 return __builtin_aarch64_bfdot_laneqv4sf (__r, __a, __b, __index);
28232 __extension__ extern __inline float32x4_t
28233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28234 vbfmmlaq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
28237 return __builtin_aarch64_bfmmlaqv4sf (__r, __a, __b);
28240 __extension__ extern __inline float32x4_t
28241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28242 vbfmlalbq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
28244 return __builtin_aarch64_bfmlalbv4sf (__r, __a, __b);
28247 __extension__ extern __inline float32x4_t
28248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28249 vbfmlaltq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
28251 return __builtin_aarch64_bfmlaltv4sf (__r, __a, __b);
28254 __extension__ extern __inline float32x4_t
28255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28256 vbfmlalbq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
28257 const int __index)
28259 return __builtin_aarch64_bfmlalb_lanev4sf (__r, __a, __b, __index);
28262 __extension__ extern __inline float32x4_t
28263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28264 vbfmlaltq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
28265 const int __index)
28267 return __builtin_aarch64_bfmlalt_lanev4sf (__r, __a, __b, __index);
28270 __extension__ extern __inline float32x4_t
28271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28272 vbfmlalbq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
28273 const int __index)
28275 return __builtin_aarch64_bfmlalb_lane_qv4sf (__r, __a, __b, __index);
28278 __extension__ extern __inline float32x4_t
28279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28280 vbfmlaltq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
28281 const int __index)
28283 return __builtin_aarch64_bfmlalt_lane_qv4sf (__r, __a, __b, __index);
28286 __extension__ extern __inline float32x4_t
28287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28288 vcvt_f32_bf16 (bfloat16x4_t __a)
28290 return __builtin_aarch64_vbfcvtv4bf (__a);
28293 __extension__ extern __inline float32x4_t
28294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28295 vcvtq_low_f32_bf16 (bfloat16x8_t __a)
28297 return __builtin_aarch64_vbfcvtv8bf (__a);
28300 __extension__ extern __inline float32x4_t
28301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28302 vcvtq_high_f32_bf16 (bfloat16x8_t __a)
28304 return __builtin_aarch64_vbfcvt_highv8bf (__a);
28307 __extension__ extern __inline bfloat16x4_t
28308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28309 vcvt_bf16_f32 (float32x4_t __a)
28311 return __builtin_aarch64_bfcvtnv4bf (__a);
28314 __extension__ extern __inline bfloat16x8_t
28315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28316 vcvtq_low_bf16_f32 (float32x4_t __a)
28318 return __builtin_aarch64_bfcvtn_qv8bf (__a);
28321 __extension__ extern __inline bfloat16x8_t
28322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28323 vcvtq_high_bf16_f32 (bfloat16x8_t __inactive, float32x4_t __a)
28325 return __builtin_aarch64_bfcvtn2v8bf (__inactive, __a);
28328 __extension__ extern __inline bfloat16x4_t
28329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28330 vcopy_lane_bf16 (bfloat16x4_t __a, const int __lane1,
28331 bfloat16x4_t __b, const int __lane2)
28333 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
28334 __a, __lane1);
28337 __extension__ extern __inline bfloat16x8_t
28338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28339 vcopyq_lane_bf16 (bfloat16x8_t __a, const int __lane1,
28340 bfloat16x4_t __b, const int __lane2)
28342 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
28343 __a, __lane1);
28346 __extension__ extern __inline bfloat16x4_t
28347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28348 vcopy_laneq_bf16 (bfloat16x4_t __a, const int __lane1,
28349 bfloat16x8_t __b, const int __lane2)
28351 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
28352 __a, __lane1);
28355 __extension__ extern __inline bfloat16x8_t
28356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28357 vcopyq_laneq_bf16 (bfloat16x8_t __a, const int __lane1,
28358 bfloat16x8_t __b, const int __lane2)
28360 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
28361 __a, __lane1);
28364 __extension__ extern __inline bfloat16x4x2_t
28365 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28366 vld2_lane_bf16 (const bfloat16_t * __ptr, bfloat16x4x2_t __b, const int __c)
28368 return __builtin_aarch64_ld2_lanev4bf (
28369 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28372 __extension__ extern __inline bfloat16x8x2_t
28373 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28374 vld2q_lane_bf16 (const bfloat16_t * __ptr, bfloat16x8x2_t __b, const int __c)
28376 return __builtin_aarch64_ld2_lanev8bf (
28377 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28380 __extension__ extern __inline bfloat16x4x3_t
28381 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28382 vld3_lane_bf16 (const bfloat16_t * __ptr, bfloat16x4x3_t __b, const int __c)
28384 return __builtin_aarch64_ld3_lanev4bf (
28385 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28388 __extension__ extern __inline bfloat16x8x3_t
28389 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28390 vld3q_lane_bf16 (const bfloat16_t * __ptr, bfloat16x8x3_t __b, const int __c)
28392 return __builtin_aarch64_ld3_lanev8bf (
28393 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28396 __extension__ extern __inline bfloat16x4x4_t
28397 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28398 vld4_lane_bf16 (const bfloat16_t * __ptr, bfloat16x4x4_t __b, const int __c)
28400 return __builtin_aarch64_ld4_lanev4bf (
28401 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28404 __extension__ extern __inline bfloat16x8x4_t
28405 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
28406 vld4q_lane_bf16 (const bfloat16_t * __ptr, bfloat16x8x4_t __b, const int __c)
28408 return __builtin_aarch64_ld4_lanev8bf (
28409 (__builtin_aarch64_simd_bf *) __ptr, __b, __c);
28412 __extension__ extern __inline void
28413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28414 vst2_lane_bf16 (bfloat16_t *__ptr, bfloat16x4x2_t __val, const int __lane)
28416 __builtin_aarch64_st2_lanev4bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28417 __lane);
28420 __extension__ extern __inline void
28421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28422 vst2q_lane_bf16 (bfloat16_t *__ptr, bfloat16x8x2_t __val, const int __lane)
28424 __builtin_aarch64_st2_lanev8bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28425 __lane);
28428 __extension__ extern __inline void
28429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28430 vst3_lane_bf16 (bfloat16_t *__ptr, bfloat16x4x3_t __val, const int __lane)
28432 __builtin_aarch64_st3_lanev4bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28433 __lane);
28436 __extension__ extern __inline void
28437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28438 vst3q_lane_bf16 (bfloat16_t *__ptr, bfloat16x8x3_t __val, const int __lane)
28440 __builtin_aarch64_st3_lanev8bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28441 __lane);
28444 __extension__ extern __inline void
28445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28446 vst4_lane_bf16 (bfloat16_t *__ptr, bfloat16x4x4_t __val, const int __lane)
28448 __builtin_aarch64_st4_lanev4bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28449 __lane);
28452 __extension__ extern __inline void
28453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28454 vst4q_lane_bf16 (bfloat16_t *__ptr, bfloat16x8x4_t __val, const int __lane)
28456 __builtin_aarch64_st4_lanev8bf ((__builtin_aarch64_simd_bf *) __ptr, __val,
28457 __lane);
28460 #pragma GCC pop_options
28462 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics. */
28464 #pragma GCC push_options
28465 #pragma GCC target ("+nothing+i8mm")
28467 __extension__ extern __inline int32x2_t
28468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28469 vusdot_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b)
28471 return __builtin_aarch64_usdot_prodv8qi_suss (__a, __b, __r);
28474 __extension__ extern __inline int32x4_t
28475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28476 vusdotq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
28478 return __builtin_aarch64_usdot_prodv16qi_suss (__a, __b, __r);
28481 __extension__ extern __inline int32x2_t
28482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28483 vusdot_lane_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b, const int __index)
28485 return __builtin_aarch64_usdot_lanev8qi_ssuss (__r, __a, __b, __index);
28488 __extension__ extern __inline int32x2_t
28489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28490 vusdot_laneq_s32 (int32x2_t __r, uint8x8_t __a, int8x16_t __b,
28491 const int __index)
28493 return __builtin_aarch64_usdot_laneqv8qi_ssuss (__r, __a, __b, __index);
28496 __extension__ extern __inline int32x4_t
28497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28498 vusdotq_lane_s32 (int32x4_t __r, uint8x16_t __a, int8x8_t __b,
28499 const int __index)
28501 return __builtin_aarch64_usdot_lanev16qi_ssuss (__r, __a, __b, __index);
28504 __extension__ extern __inline int32x4_t
28505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28506 vusdotq_laneq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b,
28507 const int __index)
28509 return __builtin_aarch64_usdot_laneqv16qi_ssuss (__r, __a, __b, __index);
28512 __extension__ extern __inline int32x2_t
28513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28514 vsudot_lane_s32 (int32x2_t __r, int8x8_t __a, uint8x8_t __b, const int __index)
28516 return __builtin_aarch64_sudot_lanev8qi_sssus (__r, __a, __b, __index);
28519 __extension__ extern __inline int32x2_t
28520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28521 vsudot_laneq_s32 (int32x2_t __r, int8x8_t __a, uint8x16_t __b,
28522 const int __index)
28524 return __builtin_aarch64_sudot_laneqv8qi_sssus (__r, __a, __b, __index);
28527 __extension__ extern __inline int32x4_t
28528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28529 vsudotq_lane_s32 (int32x4_t __r, int8x16_t __a, uint8x8_t __b,
28530 const int __index)
28532 return __builtin_aarch64_sudot_lanev16qi_sssus (__r, __a, __b, __index);
28535 __extension__ extern __inline int32x4_t
28536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28537 vsudotq_laneq_s32 (int32x4_t __r, int8x16_t __a, uint8x16_t __b,
28538 const int __index)
28540 return __builtin_aarch64_sudot_laneqv16qi_sssus (__r, __a, __b, __index);
28543 /* Matrix Multiply-Accumulate. */
28545 __extension__ extern __inline int32x4_t
28546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28547 vmmlaq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
28549 return __builtin_aarch64_simd_smmlav16qi (__r, __a, __b);
28552 __extension__ extern __inline uint32x4_t
28553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28554 vmmlaq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
28556 return __builtin_aarch64_simd_ummlav16qi_uuuu (__r, __a, __b);
28559 __extension__ extern __inline int32x4_t
28560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
28561 vusmmlaq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
28563 return __builtin_aarch64_simd_usmmlav16qi_ssus (__r, __a, __b);
28566 #pragma GCC pop_options
28568 __extension__ extern __inline poly8x8_t
28569 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28570 vadd_p8 (poly8x8_t __a, poly8x8_t __b)
28572 return __a ^ __b;
28575 __extension__ extern __inline poly16x4_t
28576 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28577 vadd_p16 (poly16x4_t __a, poly16x4_t __b)
28579 return __a ^ __b;
28582 __extension__ extern __inline poly64x1_t
28583 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28584 vadd_p64 (poly64x1_t __a, poly64x1_t __b)
28586 return __a ^ __b;
28589 __extension__ extern __inline poly8x16_t
28590 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28591 vaddq_p8 (poly8x16_t __a, poly8x16_t __b)
28593 return __a ^ __b;
28596 __extension__ extern __inline poly16x8_t
28597 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28598 vaddq_p16 (poly16x8_t __a, poly16x8_t __b)
28600 return __a ^__b;
28603 __extension__ extern __inline poly64x2_t
28604 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28605 vaddq_p64 (poly64x2_t __a, poly64x2_t __b)
28607 return __a ^ __b;
28610 __extension__ extern __inline poly128_t
28611 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
28612 vaddq_p128 (poly128_t __a, poly128_t __b)
28614 return __a ^ __b;
28617 #undef __aarch64_vget_lane_any
28619 #undef __aarch64_vdup_lane_any
28620 #undef __aarch64_vdup_lane_f16
28621 #undef __aarch64_vdup_lane_f32
28622 #undef __aarch64_vdup_lane_f64
28623 #undef __aarch64_vdup_lane_p8
28624 #undef __aarch64_vdup_lane_p16
28625 #undef __aarch64_vdup_lane_s8
28626 #undef __aarch64_vdup_lane_s16
28627 #undef __aarch64_vdup_lane_s32
28628 #undef __aarch64_vdup_lane_s64
28629 #undef __aarch64_vdup_lane_u8
28630 #undef __aarch64_vdup_lane_u16
28631 #undef __aarch64_vdup_lane_u32
28632 #undef __aarch64_vdup_lane_u64
28633 #undef __aarch64_vdup_laneq_f16
28634 #undef __aarch64_vdup_laneq_f32
28635 #undef __aarch64_vdup_laneq_f64
28636 #undef __aarch64_vdup_laneq_p8
28637 #undef __aarch64_vdup_laneq_p16
28638 #undef __aarch64_vdup_laneq_s8
28639 #undef __aarch64_vdup_laneq_s16
28640 #undef __aarch64_vdup_laneq_s32
28641 #undef __aarch64_vdup_laneq_s64
28642 #undef __aarch64_vdup_laneq_u8
28643 #undef __aarch64_vdup_laneq_u16
28644 #undef __aarch64_vdup_laneq_u32
28645 #undef __aarch64_vdup_laneq_u64
28646 #undef __aarch64_vdupq_lane_f16
28647 #undef __aarch64_vdupq_lane_f32
28648 #undef __aarch64_vdupq_lane_f64
28649 #undef __aarch64_vdupq_lane_p8
28650 #undef __aarch64_vdupq_lane_p16
28651 #undef __aarch64_vdupq_lane_s8
28652 #undef __aarch64_vdupq_lane_s16
28653 #undef __aarch64_vdupq_lane_s32
28654 #undef __aarch64_vdupq_lane_s64
28655 #undef __aarch64_vdupq_lane_u8
28656 #undef __aarch64_vdupq_lane_u16
28657 #undef __aarch64_vdupq_lane_u32
28658 #undef __aarch64_vdupq_lane_u64
28659 #undef __aarch64_vdupq_laneq_f16
28660 #undef __aarch64_vdupq_laneq_f32
28661 #undef __aarch64_vdupq_laneq_f64
28662 #undef __aarch64_vdupq_laneq_p8
28663 #undef __aarch64_vdupq_laneq_p16
28664 #undef __aarch64_vdupq_laneq_s8
28665 #undef __aarch64_vdupq_laneq_s16
28666 #undef __aarch64_vdupq_laneq_s32
28667 #undef __aarch64_vdupq_laneq_s64
28668 #undef __aarch64_vdupq_laneq_u8
28669 #undef __aarch64_vdupq_laneq_u16
28670 #undef __aarch64_vdupq_laneq_u32
28671 #undef __aarch64_vdupq_laneq_u64
28673 #endif