1 /* Arm MVE intrinsics include file.
2 
3    Copyright (C) 2020-2022 Free Software Foundation, Inc.
4    Contributed by Arm.
5 
6    This file is part of GCC.
7 
8    GCC is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published
10    by the Free Software Foundation; either version 3, or (at your
11    option) any later version.
12 
13    GCC is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with GCC; see the file COPYING3.  If not see
20    <http://www.gnu.org/licenses/>.  */
21 
22 #ifndef _GCC_ARM_MVE_TYPES_H
23 #define _GCC_ARM_MVE_TYPES_H
24 
25 #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point.  */
26 typedef __fp16 float16_t;
27 typedef float float32_t;
28 #endif
29 
30 #pragma GCC arm "arm_mve_types.h"
31 
32 __extension__ extern __inline int16x8_t
33 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_s32(int32x4_t __a)34 __arm_vreinterpretq_s16_s32 (int32x4_t __a)
35 {
36   return (int16x8_t)  __a;
37 }
38 
39 __extension__ extern __inline int16x8_t
40 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_s64(int64x2_t __a)41 __arm_vreinterpretq_s16_s64 (int64x2_t __a)
42 {
43   return (int16x8_t)  __a;
44 }
45 
46 __extension__ extern __inline int16x8_t
47 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_s8(int8x16_t __a)48 __arm_vreinterpretq_s16_s8 (int8x16_t __a)
49 {
50   return (int16x8_t)  __a;
51 }
52 
53 __extension__ extern __inline int16x8_t
54 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_u16(uint16x8_t __a)55 __arm_vreinterpretq_s16_u16 (uint16x8_t __a)
56 {
57   return (int16x8_t)  __a;
58 }
59 
60 __extension__ extern __inline int16x8_t
61 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_u32(uint32x4_t __a)62 __arm_vreinterpretq_s16_u32 (uint32x4_t __a)
63 {
64   return (int16x8_t)  __a;
65 }
66 
67 __extension__ extern __inline int16x8_t
68 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_u64(uint64x2_t __a)69 __arm_vreinterpretq_s16_u64 (uint64x2_t __a)
70 {
71   return (int16x8_t)  __a;
72 }
73 
74 __extension__ extern __inline int16x8_t
75 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_u8(uint8x16_t __a)76 __arm_vreinterpretq_s16_u8 (uint8x16_t __a)
77 {
78   return (int16x8_t)  __a;
79 }
80 
81 __extension__ extern __inline int32x4_t
82 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_s16(int16x8_t __a)83 __arm_vreinterpretq_s32_s16 (int16x8_t __a)
84 {
85   return (int32x4_t)  __a;
86 }
87 
88 __extension__ extern __inline int32x4_t
89 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_s64(int64x2_t __a)90 __arm_vreinterpretq_s32_s64 (int64x2_t __a)
91 {
92   return (int32x4_t)  __a;
93 }
94 
95 __extension__ extern __inline int32x4_t
96 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_s8(int8x16_t __a)97 __arm_vreinterpretq_s32_s8 (int8x16_t __a)
98 {
99   return (int32x4_t)  __a;
100 }
101 
102 __extension__ extern __inline int32x4_t
103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_u16(uint16x8_t __a)104 __arm_vreinterpretq_s32_u16 (uint16x8_t __a)
105 {
106   return (int32x4_t)  __a;
107 }
108 
109 __extension__ extern __inline int32x4_t
110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_u32(uint32x4_t __a)111 __arm_vreinterpretq_s32_u32 (uint32x4_t __a)
112 {
113   return (int32x4_t)  __a;
114 }
115 
116 __extension__ extern __inline int32x4_t
117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_u64(uint64x2_t __a)118 __arm_vreinterpretq_s32_u64 (uint64x2_t __a)
119 {
120   return (int32x4_t)  __a;
121 }
122 
123 __extension__ extern __inline int32x4_t
124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_u8(uint8x16_t __a)125 __arm_vreinterpretq_s32_u8 (uint8x16_t __a)
126 {
127   return (int32x4_t)  __a;
128 }
129 
130 __extension__ extern __inline int64x2_t
131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_s16(int16x8_t __a)132 __arm_vreinterpretq_s64_s16 (int16x8_t __a)
133 {
134   return (int64x2_t)  __a;
135 }
136 
137 __extension__ extern __inline int64x2_t
138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_s32(int32x4_t __a)139 __arm_vreinterpretq_s64_s32 (int32x4_t __a)
140 {
141   return (int64x2_t)  __a;
142 }
143 
144 __extension__ extern __inline int64x2_t
145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_s8(int8x16_t __a)146 __arm_vreinterpretq_s64_s8 (int8x16_t __a)
147 {
148   return (int64x2_t)  __a;
149 }
150 
151 __extension__ extern __inline int64x2_t
152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_u16(uint16x8_t __a)153 __arm_vreinterpretq_s64_u16 (uint16x8_t __a)
154 {
155   return (int64x2_t)  __a;
156 }
157 
158 __extension__ extern __inline int64x2_t
159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_u32(uint32x4_t __a)160 __arm_vreinterpretq_s64_u32 (uint32x4_t __a)
161 {
162   return (int64x2_t)  __a;
163 }
164 
165 __extension__ extern __inline int64x2_t
166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_u64(uint64x2_t __a)167 __arm_vreinterpretq_s64_u64 (uint64x2_t __a)
168 {
169   return (int64x2_t)  __a;
170 }
171 
172 __extension__ extern __inline int64x2_t
173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_u8(uint8x16_t __a)174 __arm_vreinterpretq_s64_u8 (uint8x16_t __a)
175 {
176   return (int64x2_t)  __a;
177 }
178 
179 __extension__ extern __inline int8x16_t
180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_s16(int16x8_t __a)181 __arm_vreinterpretq_s8_s16 (int16x8_t __a)
182 {
183   return (int8x16_t)  __a;
184 }
185 
186 __extension__ extern __inline int8x16_t
187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_s32(int32x4_t __a)188 __arm_vreinterpretq_s8_s32 (int32x4_t __a)
189 {
190   return (int8x16_t)  __a;
191 }
192 
193 __extension__ extern __inline int8x16_t
194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_s64(int64x2_t __a)195 __arm_vreinterpretq_s8_s64 (int64x2_t __a)
196 {
197   return (int8x16_t)  __a;
198 }
199 
200 __extension__ extern __inline int8x16_t
201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_u16(uint16x8_t __a)202 __arm_vreinterpretq_s8_u16 (uint16x8_t __a)
203 {
204   return (int8x16_t)  __a;
205 }
206 
207 __extension__ extern __inline int8x16_t
208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_u32(uint32x4_t __a)209 __arm_vreinterpretq_s8_u32 (uint32x4_t __a)
210 {
211   return (int8x16_t)  __a;
212 }
213 
214 __extension__ extern __inline int8x16_t
215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_u64(uint64x2_t __a)216 __arm_vreinterpretq_s8_u64 (uint64x2_t __a)
217 {
218   return (int8x16_t)  __a;
219 }
220 
221 __extension__ extern __inline int8x16_t
222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_u8(uint8x16_t __a)223 __arm_vreinterpretq_s8_u8 (uint8x16_t __a)
224 {
225   return (int8x16_t)  __a;
226 }
227 
228 __extension__ extern __inline uint16x8_t
229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_s16(int16x8_t __a)230 __arm_vreinterpretq_u16_s16 (int16x8_t __a)
231 {
232   return (uint16x8_t)  __a;
233 }
234 
235 __extension__ extern __inline uint16x8_t
236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_s32(int32x4_t __a)237 __arm_vreinterpretq_u16_s32 (int32x4_t __a)
238 {
239   return (uint16x8_t)  __a;
240 }
241 
242 __extension__ extern __inline uint16x8_t
243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_s64(int64x2_t __a)244 __arm_vreinterpretq_u16_s64 (int64x2_t __a)
245 {
246   return (uint16x8_t)  __a;
247 }
248 
249 __extension__ extern __inline uint16x8_t
250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_s8(int8x16_t __a)251 __arm_vreinterpretq_u16_s8 (int8x16_t __a)
252 {
253   return (uint16x8_t)  __a;
254 }
255 
256 __extension__ extern __inline uint16x8_t
257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_u32(uint32x4_t __a)258 __arm_vreinterpretq_u16_u32 (uint32x4_t __a)
259 {
260   return (uint16x8_t)  __a;
261 }
262 
263 __extension__ extern __inline uint16x8_t
264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_u64(uint64x2_t __a)265 __arm_vreinterpretq_u16_u64 (uint64x2_t __a)
266 {
267   return (uint16x8_t)  __a;
268 }
269 
270 __extension__ extern __inline uint16x8_t
271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_u8(uint8x16_t __a)272 __arm_vreinterpretq_u16_u8 (uint8x16_t __a)
273 {
274   return (uint16x8_t)  __a;
275 }
276 
277 
278 __extension__ extern __inline uint32x4_t
279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_s16(int16x8_t __a)280 __arm_vreinterpretq_u32_s16 (int16x8_t __a)
281 {
282   return (uint32x4_t)  __a;
283 }
284 
285 __extension__ extern __inline uint32x4_t
286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_s32(int32x4_t __a)287 __arm_vreinterpretq_u32_s32 (int32x4_t __a)
288 {
289   return (uint32x4_t)  __a;
290 }
291 
292 __extension__ extern __inline uint32x4_t
293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_s64(int64x2_t __a)294 __arm_vreinterpretq_u32_s64 (int64x2_t __a)
295 {
296   return (uint32x4_t)  __a;
297 }
298 
299 __extension__ extern __inline uint32x4_t
300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_s8(int8x16_t __a)301 __arm_vreinterpretq_u32_s8 (int8x16_t __a)
302 {
303   return (uint32x4_t)  __a;
304 }
305 
306 __extension__ extern __inline uint32x4_t
307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_u16(uint16x8_t __a)308 __arm_vreinterpretq_u32_u16 (uint16x8_t __a)
309 {
310   return (uint32x4_t)  __a;
311 }
312 
313 __extension__ extern __inline uint32x4_t
314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_u64(uint64x2_t __a)315 __arm_vreinterpretq_u32_u64 (uint64x2_t __a)
316 {
317   return (uint32x4_t)  __a;
318 }
319 
320 __extension__ extern __inline uint32x4_t
321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_u8(uint8x16_t __a)322 __arm_vreinterpretq_u32_u8 (uint8x16_t __a)
323 {
324   return (uint32x4_t)  __a;
325 }
326 
327 __extension__ extern __inline uint64x2_t
328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_s16(int16x8_t __a)329 __arm_vreinterpretq_u64_s16 (int16x8_t __a)
330 {
331   return (uint64x2_t)  __a;
332 }
333 
334 __extension__ extern __inline uint64x2_t
335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_s32(int32x4_t __a)336 __arm_vreinterpretq_u64_s32 (int32x4_t __a)
337 {
338   return (uint64x2_t)  __a;
339 }
340 
341 __extension__ extern __inline uint64x2_t
342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_s64(int64x2_t __a)343 __arm_vreinterpretq_u64_s64 (int64x2_t __a)
344 {
345   return (uint64x2_t)  __a;
346 }
347 
348 __extension__ extern __inline uint64x2_t
349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_s8(int8x16_t __a)350 __arm_vreinterpretq_u64_s8 (int8x16_t __a)
351 {
352   return (uint64x2_t)  __a;
353 }
354 
355 __extension__ extern __inline uint64x2_t
356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_u16(uint16x8_t __a)357 __arm_vreinterpretq_u64_u16 (uint16x8_t __a)
358 {
359   return (uint64x2_t)  __a;
360 }
361 
362 __extension__ extern __inline uint64x2_t
363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_u32(uint32x4_t __a)364 __arm_vreinterpretq_u64_u32 (uint32x4_t __a)
365 {
366   return (uint64x2_t)  __a;
367 }
368 
369 __extension__ extern __inline uint64x2_t
370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_u8(uint8x16_t __a)371 __arm_vreinterpretq_u64_u8 (uint8x16_t __a)
372 {
373   return (uint64x2_t)  __a;
374 }
375 
376 __extension__ extern __inline uint8x16_t
377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_s16(int16x8_t __a)378 __arm_vreinterpretq_u8_s16 (int16x8_t __a)
379 {
380   return (uint8x16_t)  __a;
381 }
382 
383 __extension__ extern __inline uint8x16_t
384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_s32(int32x4_t __a)385 __arm_vreinterpretq_u8_s32 (int32x4_t __a)
386 {
387   return (uint8x16_t)  __a;
388 }
389 
390 __extension__ extern __inline uint8x16_t
391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_s64(int64x2_t __a)392 __arm_vreinterpretq_u8_s64 (int64x2_t __a)
393 {
394   return (uint8x16_t)  __a;
395 }
396 
397 __extension__ extern __inline uint8x16_t
398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_s8(int8x16_t __a)399 __arm_vreinterpretq_u8_s8 (int8x16_t __a)
400 {
401   return (uint8x16_t)  __a;
402 }
403 
404 __extension__ extern __inline uint8x16_t
405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_u16(uint16x8_t __a)406 __arm_vreinterpretq_u8_u16 (uint16x8_t __a)
407 {
408   return (uint8x16_t)  __a;
409 }
410 
411 __extension__ extern __inline uint8x16_t
412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_u32(uint32x4_t __a)413 __arm_vreinterpretq_u8_u32 (uint32x4_t __a)
414 {
415   return (uint8x16_t)  __a;
416 }
417 
418 __extension__ extern __inline uint8x16_t
419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_u64(uint64x2_t __a)420 __arm_vreinterpretq_u8_u64 (uint64x2_t __a)
421 {
422   return (uint8x16_t)  __a;
423 }
424 
425 __extension__ extern __inline uint8x16_t
426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_u8(void)427 __arm_vuninitializedq_u8 (void)
428 {
429   uint8x16_t __uninit;
430   __asm__ ("": "=w"(__uninit));
431   return __uninit;
432 }
433 
434 __extension__ extern __inline uint16x8_t
435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_u16(void)436 __arm_vuninitializedq_u16 (void)
437 {
438   uint16x8_t __uninit;
439   __asm__ ("": "=w"(__uninit));
440   return __uninit;
441 }
442 
443 __extension__ extern __inline uint32x4_t
444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_u32(void)445 __arm_vuninitializedq_u32 (void)
446 {
447   uint32x4_t __uninit;
448   __asm__ ("": "=w"(__uninit));
449   return __uninit;
450 }
451 
452 __extension__ extern __inline uint64x2_t
453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_u64(void)454 __arm_vuninitializedq_u64 (void)
455 {
456   uint64x2_t __uninit;
457   __asm__ ("": "=w"(__uninit));
458   return __uninit;
459 }
460 
461 __extension__ extern __inline int8x16_t
462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_s8(void)463 __arm_vuninitializedq_s8 (void)
464 {
465   int8x16_t __uninit;
466   __asm__ ("": "=w"(__uninit));
467   return __uninit;
468 }
469 
470 __extension__ extern __inline int16x8_t
471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_s16(void)472 __arm_vuninitializedq_s16 (void)
473 {
474   int16x8_t __uninit;
475   __asm__ ("": "=w"(__uninit));
476   return __uninit;
477 }
478 
479 __extension__ extern __inline int32x4_t
480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_s32(void)481 __arm_vuninitializedq_s32 (void)
482 {
483   int32x4_t __uninit;
484   __asm__ ("": "=w"(__uninit));
485   return __uninit;
486 }
487 
488 __extension__ extern __inline int64x2_t
489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_s64(void)490 __arm_vuninitializedq_s64 (void)
491 {
492   int64x2_t __uninit;
493   __asm__ ("": "=w"(__uninit));
494   return __uninit;
495 }
496 
497 #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point.  */
498 
499 __extension__ extern __inline int32x4_t
500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_f16(float16x8_t __a)501 __arm_vreinterpretq_s32_f16 (float16x8_t __a)
502 {
503   return (int32x4_t)  __a;
504 }
505 
506 __extension__ extern __inline int32x4_t
507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32_f32(float32x4_t __a)508 __arm_vreinterpretq_s32_f32 (float32x4_t __a)
509 {
510   return (int32x4_t)  __a;
511 }
512 
513 __extension__ extern __inline int16x8_t
514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_f16(float16x8_t __a)515 __arm_vreinterpretq_s16_f16 (float16x8_t __a)
516 {
517   return (int16x8_t)  __a;
518 }
519 
520 __extension__ extern __inline int16x8_t
521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16_f32(float32x4_t __a)522 __arm_vreinterpretq_s16_f32 (float32x4_t __a)
523 {
524   return (int16x8_t)  __a;
525 }
526 
527 __extension__ extern __inline int64x2_t
528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_f16(float16x8_t __a)529 __arm_vreinterpretq_s64_f16 (float16x8_t __a)
530 {
531   return (int64x2_t)  __a;
532 }
533 
534 __extension__ extern __inline int64x2_t
535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64_f32(float32x4_t __a)536 __arm_vreinterpretq_s64_f32 (float32x4_t __a)
537 {
538   return (int64x2_t)  __a;
539 }
540 
541 __extension__ extern __inline int8x16_t
542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_f16(float16x8_t __a)543 __arm_vreinterpretq_s8_f16 (float16x8_t __a)
544 {
545   return (int8x16_t)  __a;
546 }
547 
548 __extension__ extern __inline int8x16_t
549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8_f32(float32x4_t __a)550 __arm_vreinterpretq_s8_f32 (float32x4_t __a)
551 {
552   return (int8x16_t)  __a;
553 }
554 
555 __extension__ extern __inline uint16x8_t
556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_f16(float16x8_t __a)557 __arm_vreinterpretq_u16_f16 (float16x8_t __a)
558 {
559   return (uint16x8_t)  __a;
560 }
561 
562 __extension__ extern __inline uint16x8_t
563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16_f32(float32x4_t __a)564 __arm_vreinterpretq_u16_f32 (float32x4_t __a)
565 {
566   return (uint16x8_t)  __a;
567 }
568 
569 __extension__ extern __inline uint32x4_t
570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_f16(float16x8_t __a)571 __arm_vreinterpretq_u32_f16 (float16x8_t __a)
572 {
573   return (uint32x4_t)  __a;
574 }
575 
576 __extension__ extern __inline uint32x4_t
577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32_f32(float32x4_t __a)578 __arm_vreinterpretq_u32_f32 (float32x4_t __a)
579 {
580   return (uint32x4_t)  __a;
581 }
582 
583 __extension__ extern __inline uint64x2_t
584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_f16(float16x8_t __a)585 __arm_vreinterpretq_u64_f16 (float16x8_t __a)
586 {
587   return (uint64x2_t)  __a;
588 }
589 
590 __extension__ extern __inline uint64x2_t
591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64_f32(float32x4_t __a)592 __arm_vreinterpretq_u64_f32 (float32x4_t __a)
593 {
594   return (uint64x2_t)  __a;
595 }
596 
597 __extension__ extern __inline uint8x16_t
598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_f16(float16x8_t __a)599 __arm_vreinterpretq_u8_f16 (float16x8_t __a)
600 {
601   return (uint8x16_t)  __a;
602 }
603 
604 __extension__ extern __inline uint8x16_t
605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8_f32(float32x4_t __a)606 __arm_vreinterpretq_u8_f32 (float32x4_t __a)
607 {
608   return (uint8x16_t)  __a;
609 }
610 
611 __extension__ extern __inline float16x8_t
612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_f32(float32x4_t __a)613 __arm_vreinterpretq_f16_f32 (float32x4_t __a)
614 {
615   return (float16x8_t)  __a;
616 }
617 
618 __extension__ extern __inline float16x8_t
619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_s16(int16x8_t __a)620 __arm_vreinterpretq_f16_s16 (int16x8_t __a)
621 {
622   return (float16x8_t)  __a;
623 }
624 
625 __extension__ extern __inline float16x8_t
626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_s32(int32x4_t __a)627 __arm_vreinterpretq_f16_s32 (int32x4_t __a)
628 {
629   return (float16x8_t)  __a;
630 }
631 
632 __extension__ extern __inline float16x8_t
633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_s64(int64x2_t __a)634 __arm_vreinterpretq_f16_s64 (int64x2_t __a)
635 {
636   return (float16x8_t)  __a;
637 }
638 
639 __extension__ extern __inline float16x8_t
640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_s8(int8x16_t __a)641 __arm_vreinterpretq_f16_s8 (int8x16_t __a)
642 {
643   return (float16x8_t)  __a;
644 }
645 
646 __extension__ extern __inline float16x8_t
647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_u16(uint16x8_t __a)648 __arm_vreinterpretq_f16_u16 (uint16x8_t __a)
649 {
650   return (float16x8_t)  __a;
651 }
652 
653 __extension__ extern __inline float16x8_t
654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_u32(uint32x4_t __a)655 __arm_vreinterpretq_f16_u32 (uint32x4_t __a)
656 {
657   return (float16x8_t)  __a;
658 }
659 
660 __extension__ extern __inline float16x8_t
661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_u64(uint64x2_t __a)662 __arm_vreinterpretq_f16_u64 (uint64x2_t __a)
663 {
664   return (float16x8_t)  __a;
665 }
666 
667 __extension__ extern __inline float16x8_t
668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16_u8(uint8x16_t __a)669 __arm_vreinterpretq_f16_u8 (uint8x16_t __a)
670 {
671   return (float16x8_t)  __a;
672 }
673 
674 __extension__ extern __inline float32x4_t
675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_f16(float16x8_t __a)676 __arm_vreinterpretq_f32_f16 (float16x8_t __a)
677 {
678   return (float32x4_t)  __a;
679 }
680 
681 __extension__ extern __inline float32x4_t
682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_s16(int16x8_t __a)683 __arm_vreinterpretq_f32_s16 (int16x8_t __a)
684 {
685   return (float32x4_t)  __a;
686 }
687 
688 __extension__ extern __inline float32x4_t
689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_s32(int32x4_t __a)690 __arm_vreinterpretq_f32_s32 (int32x4_t __a)
691 {
692   return (float32x4_t)  __a;
693 }
694 
695 __extension__ extern __inline float32x4_t
696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_s64(int64x2_t __a)697 __arm_vreinterpretq_f32_s64 (int64x2_t __a)
698 {
699   return (float32x4_t)  __a;
700 }
701 
702 __extension__ extern __inline float32x4_t
703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_s8(int8x16_t __a)704 __arm_vreinterpretq_f32_s8 (int8x16_t __a)
705 {
706   return (float32x4_t)  __a;
707 }
708 
709 __extension__ extern __inline float32x4_t
710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_u16(uint16x8_t __a)711 __arm_vreinterpretq_f32_u16 (uint16x8_t __a)
712 {
713   return (float32x4_t)  __a;
714 }
715 
716 __extension__ extern __inline float32x4_t
717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_u32(uint32x4_t __a)718 __arm_vreinterpretq_f32_u32 (uint32x4_t __a)
719 {
720   return (float32x4_t)  __a;
721 }
722 
723 __extension__ extern __inline float32x4_t
724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_u64(uint64x2_t __a)725 __arm_vreinterpretq_f32_u64 (uint64x2_t __a)
726 {
727   return (float32x4_t)  __a;
728 }
729 
730 __extension__ extern __inline float32x4_t
731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32_u8(uint8x16_t __a)732 __arm_vreinterpretq_f32_u8 (uint8x16_t __a)
733 {
734   return (float32x4_t)  __a;
735 }
736 
737 __extension__ extern __inline float16x8_t
738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_f16(void)739 __arm_vuninitializedq_f16 (void)
740 {
741   float16x8_t __uninit;
742   __asm__ ("": "=w" (__uninit));
743   return __uninit;
744 }
745 
746 __extension__ extern __inline float32x4_t
747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq_f32(void)748 __arm_vuninitializedq_f32 (void)
749 {
750   float32x4_t __uninit;
751   __asm__ ("": "=w" (__uninit));
752   return __uninit;
753 }
754 
755 #endif
756 
757 #ifdef __cplusplus
758 
759 __extension__ extern __inline int16x8_t
760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(int32x4_t __a)761 __arm_vreinterpretq_s16 (int32x4_t __a)
762 {
763  return __arm_vreinterpretq_s16_s32 (__a);
764 }
765 
766 __extension__ extern __inline int16x8_t
767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(int64x2_t __a)768 __arm_vreinterpretq_s16 (int64x2_t __a)
769 {
770  return __arm_vreinterpretq_s16_s64 (__a);
771 }
772 
773 __extension__ extern __inline int16x8_t
774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(int8x16_t __a)775 __arm_vreinterpretq_s16 (int8x16_t __a)
776 {
777  return __arm_vreinterpretq_s16_s8 (__a);
778 }
779 
780 __extension__ extern __inline int16x8_t
781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(uint16x8_t __a)782 __arm_vreinterpretq_s16 (uint16x8_t __a)
783 {
784  return __arm_vreinterpretq_s16_u16 (__a);
785 }
786 
787 __extension__ extern __inline int16x8_t
788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(uint32x4_t __a)789 __arm_vreinterpretq_s16 (uint32x4_t __a)
790 {
791  return __arm_vreinterpretq_s16_u32 (__a);
792 }
793 
794 __extension__ extern __inline int16x8_t
795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(uint64x2_t __a)796 __arm_vreinterpretq_s16 (uint64x2_t __a)
797 {
798  return __arm_vreinterpretq_s16_u64 (__a);
799 }
800 
801 __extension__ extern __inline int16x8_t
802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(uint8x16_t __a)803 __arm_vreinterpretq_s16 (uint8x16_t __a)
804 {
805  return __arm_vreinterpretq_s16_u8 (__a);
806 }
807 
808 __extension__ extern __inline int32x4_t
809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(int16x8_t __a)810 __arm_vreinterpretq_s32 (int16x8_t __a)
811 {
812  return __arm_vreinterpretq_s32_s16 (__a);
813 }
814 
815 __extension__ extern __inline int32x4_t
816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(int64x2_t __a)817 __arm_vreinterpretq_s32 (int64x2_t __a)
818 {
819  return __arm_vreinterpretq_s32_s64 (__a);
820 }
821 
822 __extension__ extern __inline int32x4_t
823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(int8x16_t __a)824 __arm_vreinterpretq_s32 (int8x16_t __a)
825 {
826  return __arm_vreinterpretq_s32_s8 (__a);
827 }
828 
829 __extension__ extern __inline int32x4_t
830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(uint16x8_t __a)831 __arm_vreinterpretq_s32 (uint16x8_t __a)
832 {
833  return __arm_vreinterpretq_s32_u16 (__a);
834 }
835 
836 __extension__ extern __inline int32x4_t
837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(uint32x4_t __a)838 __arm_vreinterpretq_s32 (uint32x4_t __a)
839 {
840  return __arm_vreinterpretq_s32_u32 (__a);
841 }
842 
843 __extension__ extern __inline int32x4_t
844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(uint64x2_t __a)845 __arm_vreinterpretq_s32 (uint64x2_t __a)
846 {
847  return __arm_vreinterpretq_s32_u64 (__a);
848 }
849 
850 __extension__ extern __inline int32x4_t
851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(uint8x16_t __a)852 __arm_vreinterpretq_s32 (uint8x16_t __a)
853 {
854  return __arm_vreinterpretq_s32_u8 (__a);
855 }
856 
857 __extension__ extern __inline int64x2_t
858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(int16x8_t __a)859 __arm_vreinterpretq_s64 (int16x8_t __a)
860 {
861  return __arm_vreinterpretq_s64_s16 (__a);
862 }
863 
864 __extension__ extern __inline int64x2_t
865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(int32x4_t __a)866 __arm_vreinterpretq_s64 (int32x4_t __a)
867 {
868  return __arm_vreinterpretq_s64_s32 (__a);
869 }
870 
871 __extension__ extern __inline int64x2_t
872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(int8x16_t __a)873 __arm_vreinterpretq_s64 (int8x16_t __a)
874 {
875  return __arm_vreinterpretq_s64_s8 (__a);
876 }
877 
878 __extension__ extern __inline int64x2_t
879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(uint16x8_t __a)880 __arm_vreinterpretq_s64 (uint16x8_t __a)
881 {
882  return __arm_vreinterpretq_s64_u16 (__a);
883 }
884 
885 __extension__ extern __inline int64x2_t
886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(uint32x4_t __a)887 __arm_vreinterpretq_s64 (uint32x4_t __a)
888 {
889  return __arm_vreinterpretq_s64_u32 (__a);
890 }
891 
892 __extension__ extern __inline int64x2_t
893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(uint64x2_t __a)894 __arm_vreinterpretq_s64 (uint64x2_t __a)
895 {
896  return __arm_vreinterpretq_s64_u64 (__a);
897 }
898 
899 __extension__ extern __inline int64x2_t
900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(uint8x16_t __a)901 __arm_vreinterpretq_s64 (uint8x16_t __a)
902 {
903  return __arm_vreinterpretq_s64_u8 (__a);
904 }
905 
906 __extension__ extern __inline int8x16_t
907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(int16x8_t __a)908 __arm_vreinterpretq_s8 (int16x8_t __a)
909 {
910  return __arm_vreinterpretq_s8_s16 (__a);
911 }
912 
913 __extension__ extern __inline int8x16_t
914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(int32x4_t __a)915 __arm_vreinterpretq_s8 (int32x4_t __a)
916 {
917  return __arm_vreinterpretq_s8_s32 (__a);
918 }
919 
920 __extension__ extern __inline int8x16_t
921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(int64x2_t __a)922 __arm_vreinterpretq_s8 (int64x2_t __a)
923 {
924  return __arm_vreinterpretq_s8_s64 (__a);
925 }
926 
927 __extension__ extern __inline int8x16_t
928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(uint16x8_t __a)929 __arm_vreinterpretq_s8 (uint16x8_t __a)
930 {
931  return __arm_vreinterpretq_s8_u16 (__a);
932 }
933 
934 __extension__ extern __inline int8x16_t
935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(uint32x4_t __a)936 __arm_vreinterpretq_s8 (uint32x4_t __a)
937 {
938  return __arm_vreinterpretq_s8_u32 (__a);
939 }
940 
941 __extension__ extern __inline int8x16_t
942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(uint64x2_t __a)943 __arm_vreinterpretq_s8 (uint64x2_t __a)
944 {
945  return __arm_vreinterpretq_s8_u64 (__a);
946 }
947 
948 __extension__ extern __inline int8x16_t
949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(uint8x16_t __a)950 __arm_vreinterpretq_s8 (uint8x16_t __a)
951 {
952  return __arm_vreinterpretq_s8_u8 (__a);
953 }
954 
955 __extension__ extern __inline uint16x8_t
956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(int16x8_t __a)957 __arm_vreinterpretq_u16 (int16x8_t __a)
958 {
959  return __arm_vreinterpretq_u16_s16 (__a);
960 }
961 
962 __extension__ extern __inline uint16x8_t
963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(int32x4_t __a)964 __arm_vreinterpretq_u16 (int32x4_t __a)
965 {
966  return __arm_vreinterpretq_u16_s32 (__a);
967 }
968 
969 __extension__ extern __inline uint16x8_t
970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(int64x2_t __a)971 __arm_vreinterpretq_u16 (int64x2_t __a)
972 {
973  return __arm_vreinterpretq_u16_s64 (__a);
974 }
975 
976 __extension__ extern __inline uint16x8_t
977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(int8x16_t __a)978 __arm_vreinterpretq_u16 (int8x16_t __a)
979 {
980  return __arm_vreinterpretq_u16_s8 (__a);
981 }
982 
983 __extension__ extern __inline uint16x8_t
984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(uint32x4_t __a)985 __arm_vreinterpretq_u16 (uint32x4_t __a)
986 {
987  return __arm_vreinterpretq_u16_u32 (__a);
988 }
989 
990 __extension__ extern __inline uint16x8_t
991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(uint64x2_t __a)992 __arm_vreinterpretq_u16 (uint64x2_t __a)
993 {
994  return __arm_vreinterpretq_u16_u64 (__a);
995 }
996 
997 __extension__ extern __inline uint16x8_t
998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(uint8x16_t __a)999 __arm_vreinterpretq_u16 (uint8x16_t __a)
1000 {
1001  return __arm_vreinterpretq_u16_u8 (__a);
1002 }
1003 
1004 __extension__ extern __inline uint32x4_t
1005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(int16x8_t __a)1006 __arm_vreinterpretq_u32 (int16x8_t __a)
1007 {
1008  return __arm_vreinterpretq_u32_s16 (__a);
1009 }
1010 
1011 __extension__ extern __inline uint32x4_t
1012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(int32x4_t __a)1013 __arm_vreinterpretq_u32 (int32x4_t __a)
1014 {
1015  return __arm_vreinterpretq_u32_s32 (__a);
1016 }
1017 
1018 __extension__ extern __inline uint32x4_t
1019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(int64x2_t __a)1020 __arm_vreinterpretq_u32 (int64x2_t __a)
1021 {
1022  return __arm_vreinterpretq_u32_s64 (__a);
1023 }
1024 
1025 __extension__ extern __inline uint32x4_t
1026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(int8x16_t __a)1027 __arm_vreinterpretq_u32 (int8x16_t __a)
1028 {
1029  return __arm_vreinterpretq_u32_s8 (__a);
1030 }
1031 
1032 __extension__ extern __inline uint32x4_t
1033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(uint16x8_t __a)1034 __arm_vreinterpretq_u32 (uint16x8_t __a)
1035 {
1036  return __arm_vreinterpretq_u32_u16 (__a);
1037 }
1038 
1039 __extension__ extern __inline uint32x4_t
1040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(uint64x2_t __a)1041 __arm_vreinterpretq_u32 (uint64x2_t __a)
1042 {
1043  return __arm_vreinterpretq_u32_u64 (__a);
1044 }
1045 
1046 __extension__ extern __inline uint32x4_t
1047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(uint8x16_t __a)1048 __arm_vreinterpretq_u32 (uint8x16_t __a)
1049 {
1050  return __arm_vreinterpretq_u32_u8 (__a);
1051 }
1052 
1053 __extension__ extern __inline uint64x2_t
1054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(int16x8_t __a)1055 __arm_vreinterpretq_u64 (int16x8_t __a)
1056 {
1057  return __arm_vreinterpretq_u64_s16 (__a);
1058 }
1059 
1060 __extension__ extern __inline uint64x2_t
1061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(int32x4_t __a)1062 __arm_vreinterpretq_u64 (int32x4_t __a)
1063 {
1064  return __arm_vreinterpretq_u64_s32 (__a);
1065 }
1066 
1067 __extension__ extern __inline uint64x2_t
1068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(int64x2_t __a)1069 __arm_vreinterpretq_u64 (int64x2_t __a)
1070 {
1071  return __arm_vreinterpretq_u64_s64 (__a);
1072 }
1073 
1074 __extension__ extern __inline uint64x2_t
1075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(int8x16_t __a)1076 __arm_vreinterpretq_u64 (int8x16_t __a)
1077 {
1078  return __arm_vreinterpretq_u64_s8 (__a);
1079 }
1080 
1081 __extension__ extern __inline uint64x2_t
1082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(uint16x8_t __a)1083 __arm_vreinterpretq_u64 (uint16x8_t __a)
1084 {
1085  return __arm_vreinterpretq_u64_u16 (__a);
1086 }
1087 
1088 __extension__ extern __inline uint64x2_t
1089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(uint32x4_t __a)1090 __arm_vreinterpretq_u64 (uint32x4_t __a)
1091 {
1092  return __arm_vreinterpretq_u64_u32 (__a);
1093 }
1094 
1095 __extension__ extern __inline uint64x2_t
1096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(uint8x16_t __a)1097 __arm_vreinterpretq_u64 (uint8x16_t __a)
1098 {
1099  return __arm_vreinterpretq_u64_u8 (__a);
1100 }
1101 
1102 __extension__ extern __inline uint8x16_t
1103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(int16x8_t __a)1104 __arm_vreinterpretq_u8 (int16x8_t __a)
1105 {
1106  return __arm_vreinterpretq_u8_s16 (__a);
1107 }
1108 
1109 __extension__ extern __inline uint8x16_t
1110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(int32x4_t __a)1111 __arm_vreinterpretq_u8 (int32x4_t __a)
1112 {
1113  return __arm_vreinterpretq_u8_s32 (__a);
1114 }
1115 
1116 __extension__ extern __inline uint8x16_t
1117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(int64x2_t __a)1118 __arm_vreinterpretq_u8 (int64x2_t __a)
1119 {
1120  return __arm_vreinterpretq_u8_s64 (__a);
1121 }
1122 
1123 __extension__ extern __inline uint8x16_t
1124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(int8x16_t __a)1125 __arm_vreinterpretq_u8 (int8x16_t __a)
1126 {
1127  return __arm_vreinterpretq_u8_s8 (__a);
1128 }
1129 
1130 __extension__ extern __inline uint8x16_t
1131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(uint16x8_t __a)1132 __arm_vreinterpretq_u8 (uint16x8_t __a)
1133 {
1134  return __arm_vreinterpretq_u8_u16 (__a);
1135 }
1136 
1137 __extension__ extern __inline uint8x16_t
1138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(uint32x4_t __a)1139 __arm_vreinterpretq_u8 (uint32x4_t __a)
1140 {
1141  return __arm_vreinterpretq_u8_u32 (__a);
1142 }
1143 
1144 __extension__ extern __inline uint8x16_t
1145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(uint64x2_t __a)1146 __arm_vreinterpretq_u8 (uint64x2_t __a)
1147 {
1148  return __arm_vreinterpretq_u8_u64 (__a);
1149 }
1150 
1151 __extension__ extern __inline uint8x16_t
1152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(uint8x16_t)1153 __arm_vuninitializedq (uint8x16_t /* __v ATTRIBUTE UNUSED */)
1154 {
1155  return __arm_vuninitializedq_u8 ();
1156 }
1157 
1158 __extension__ extern __inline uint16x8_t
1159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(uint16x8_t)1160 __arm_vuninitializedq (uint16x8_t /* __v ATTRIBUTE UNUSED */)
1161 {
1162  return __arm_vuninitializedq_u16 ();
1163 }
1164 
1165 __extension__ extern __inline uint32x4_t
1166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(uint32x4_t)1167 __arm_vuninitializedq (uint32x4_t /* __v ATTRIBUTE UNUSED */)
1168 {
1169  return __arm_vuninitializedq_u32 ();
1170 }
1171 
1172 __extension__ extern __inline uint64x2_t
1173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(uint64x2_t)1174 __arm_vuninitializedq (uint64x2_t /* __v ATTRIBUTE UNUSED */)
1175 {
1176  return __arm_vuninitializedq_u64 ();
1177 }
1178 
1179 __extension__ extern __inline int8x16_t
1180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(int8x16_t)1181 __arm_vuninitializedq (int8x16_t /* __v ATTRIBUTE UNUSED */)
1182 {
1183  return __arm_vuninitializedq_s8 ();
1184 }
1185 
1186 __extension__ extern __inline int16x8_t
1187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(int16x8_t)1188 __arm_vuninitializedq (int16x8_t /* __v ATTRIBUTE UNUSED */)
1189 {
1190  return __arm_vuninitializedq_s16 ();
1191 }
1192 
1193 __extension__ extern __inline int32x4_t
1194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(int32x4_t)1195 __arm_vuninitializedq (int32x4_t /* __v ATTRIBUTE UNUSED */)
1196 {
1197  return __arm_vuninitializedq_s32 ();
1198 }
1199 
1200 __extension__ extern __inline int64x2_t
1201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(int64x2_t)1202 __arm_vuninitializedq (int64x2_t /* __v ATTRIBUTE UNUSED */)
1203 {
1204  return __arm_vuninitializedq_s64 ();
1205 }
1206 
1207 #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point.  */
1208 __extension__ extern __inline int32x4_t
1209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(float16x8_t __a)1210 __arm_vreinterpretq_s32 (float16x8_t __a)
1211 {
1212  return __arm_vreinterpretq_s32_f16 (__a);
1213 }
1214 
1215 __extension__ extern __inline int32x4_t
1216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s32(float32x4_t __a)1217 __arm_vreinterpretq_s32 (float32x4_t __a)
1218 {
1219  return __arm_vreinterpretq_s32_f32 (__a);
1220 }
1221 
1222 __extension__ extern __inline int16x8_t
1223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(float16x8_t __a)1224 __arm_vreinterpretq_s16 (float16x8_t __a)
1225 {
1226  return __arm_vreinterpretq_s16_f16 (__a);
1227 }
1228 
1229 __extension__ extern __inline int16x8_t
1230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s16(float32x4_t __a)1231 __arm_vreinterpretq_s16 (float32x4_t __a)
1232 {
1233  return __arm_vreinterpretq_s16_f32 (__a);
1234 }
1235 
1236 __extension__ extern __inline int64x2_t
1237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(float16x8_t __a)1238 __arm_vreinterpretq_s64 (float16x8_t __a)
1239 {
1240  return __arm_vreinterpretq_s64_f16 (__a);
1241 }
1242 
1243 __extension__ extern __inline int64x2_t
1244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s64(float32x4_t __a)1245 __arm_vreinterpretq_s64 (float32x4_t __a)
1246 {
1247  return __arm_vreinterpretq_s64_f32 (__a);
1248 }
1249 
1250 __extension__ extern __inline int8x16_t
1251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(float16x8_t __a)1252 __arm_vreinterpretq_s8 (float16x8_t __a)
1253 {
1254  return __arm_vreinterpretq_s8_f16 (__a);
1255 }
1256 
1257 __extension__ extern __inline int8x16_t
1258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_s8(float32x4_t __a)1259 __arm_vreinterpretq_s8 (float32x4_t __a)
1260 {
1261  return __arm_vreinterpretq_s8_f32 (__a);
1262 }
1263 
1264 __extension__ extern __inline uint16x8_t
1265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(float16x8_t __a)1266 __arm_vreinterpretq_u16 (float16x8_t __a)
1267 {
1268  return __arm_vreinterpretq_u16_f16 (__a);
1269 }
1270 
1271 __extension__ extern __inline uint16x8_t
1272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u16(float32x4_t __a)1273 __arm_vreinterpretq_u16 (float32x4_t __a)
1274 {
1275  return __arm_vreinterpretq_u16_f32 (__a);
1276 }
1277 
1278 __extension__ extern __inline uint32x4_t
1279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(float16x8_t __a)1280 __arm_vreinterpretq_u32 (float16x8_t __a)
1281 {
1282  return __arm_vreinterpretq_u32_f16 (__a);
1283 }
1284 
1285 __extension__ extern __inline uint32x4_t
1286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u32(float32x4_t __a)1287 __arm_vreinterpretq_u32 (float32x4_t __a)
1288 {
1289  return __arm_vreinterpretq_u32_f32 (__a);
1290 }
1291 
1292 __extension__ extern __inline uint64x2_t
1293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(float16x8_t __a)1294 __arm_vreinterpretq_u64 (float16x8_t __a)
1295 {
1296  return __arm_vreinterpretq_u64_f16 (__a);
1297 }
1298 
1299 __extension__ extern __inline uint64x2_t
1300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u64(float32x4_t __a)1301 __arm_vreinterpretq_u64 (float32x4_t __a)
1302 {
1303  return __arm_vreinterpretq_u64_f32 (__a);
1304 }
1305 
1306 __extension__ extern __inline uint8x16_t
1307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(float16x8_t __a)1308 __arm_vreinterpretq_u8 (float16x8_t __a)
1309 {
1310  return __arm_vreinterpretq_u8_f16 (__a);
1311 }
1312 
1313 __extension__ extern __inline uint8x16_t
1314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_u8(float32x4_t __a)1315 __arm_vreinterpretq_u8 (float32x4_t __a)
1316 {
1317  return __arm_vreinterpretq_u8_f32 (__a);
1318 }
1319 
1320 __extension__ extern __inline float16x8_t
1321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(float32x4_t __a)1322 __arm_vreinterpretq_f16 (float32x4_t __a)
1323 {
1324  return __arm_vreinterpretq_f16_f32 (__a);
1325 }
1326 
1327 __extension__ extern __inline float16x8_t
1328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(int16x8_t __a)1329 __arm_vreinterpretq_f16 (int16x8_t __a)
1330 {
1331  return __arm_vreinterpretq_f16_s16 (__a);
1332 }
1333 
1334 __extension__ extern __inline float16x8_t
1335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(int32x4_t __a)1336 __arm_vreinterpretq_f16 (int32x4_t __a)
1337 {
1338  return __arm_vreinterpretq_f16_s32 (__a);
1339 }
1340 
1341 __extension__ extern __inline float16x8_t
1342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(int64x2_t __a)1343 __arm_vreinterpretq_f16 (int64x2_t __a)
1344 {
1345  return __arm_vreinterpretq_f16_s64 (__a);
1346 }
1347 
1348 __extension__ extern __inline float16x8_t
1349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(int8x16_t __a)1350 __arm_vreinterpretq_f16 (int8x16_t __a)
1351 {
1352  return __arm_vreinterpretq_f16_s8 (__a);
1353 }
1354 
1355 __extension__ extern __inline float16x8_t
1356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(uint16x8_t __a)1357 __arm_vreinterpretq_f16 (uint16x8_t __a)
1358 {
1359  return __arm_vreinterpretq_f16_u16 (__a);
1360 }
1361 
1362 __extension__ extern __inline float16x8_t
1363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(uint32x4_t __a)1364 __arm_vreinterpretq_f16 (uint32x4_t __a)
1365 {
1366  return __arm_vreinterpretq_f16_u32 (__a);
1367 }
1368 
1369 __extension__ extern __inline float16x8_t
1370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(uint64x2_t __a)1371 __arm_vreinterpretq_f16 (uint64x2_t __a)
1372 {
1373  return __arm_vreinterpretq_f16_u64 (__a);
1374 }
1375 
1376 __extension__ extern __inline float16x8_t
1377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f16(uint8x16_t __a)1378 __arm_vreinterpretq_f16 (uint8x16_t __a)
1379 {
1380  return __arm_vreinterpretq_f16_u8 (__a);
1381 }
1382 
1383 __extension__ extern __inline float32x4_t
1384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(float16x8_t __a)1385 __arm_vreinterpretq_f32 (float16x8_t __a)
1386 {
1387  return __arm_vreinterpretq_f32_f16 (__a);
1388 }
1389 
1390 __extension__ extern __inline float32x4_t
1391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(int16x8_t __a)1392 __arm_vreinterpretq_f32 (int16x8_t __a)
1393 {
1394  return __arm_vreinterpretq_f32_s16 (__a);
1395 }
1396 
1397 __extension__ extern __inline float32x4_t
1398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(int32x4_t __a)1399 __arm_vreinterpretq_f32 (int32x4_t __a)
1400 {
1401  return __arm_vreinterpretq_f32_s32 (__a);
1402 }
1403 
1404 __extension__ extern __inline float32x4_t
1405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(int64x2_t __a)1406 __arm_vreinterpretq_f32 (int64x2_t __a)
1407 {
1408  return __arm_vreinterpretq_f32_s64 (__a);
1409 }
1410 
1411 __extension__ extern __inline float32x4_t
1412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(int8x16_t __a)1413 __arm_vreinterpretq_f32 (int8x16_t __a)
1414 {
1415  return __arm_vreinterpretq_f32_s8 (__a);
1416 }
1417 
1418 __extension__ extern __inline float32x4_t
1419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(uint16x8_t __a)1420 __arm_vreinterpretq_f32 (uint16x8_t __a)
1421 {
1422  return __arm_vreinterpretq_f32_u16 (__a);
1423 }
1424 
1425 __extension__ extern __inline float32x4_t
1426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(uint32x4_t __a)1427 __arm_vreinterpretq_f32 (uint32x4_t __a)
1428 {
1429  return __arm_vreinterpretq_f32_u32 (__a);
1430 }
1431 
1432 __extension__ extern __inline float32x4_t
1433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(uint64x2_t __a)1434 __arm_vreinterpretq_f32 (uint64x2_t __a)
1435 {
1436  return __arm_vreinterpretq_f32_u64 (__a);
1437 }
1438 
1439 __extension__ extern __inline float32x4_t
1440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vreinterpretq_f32(uint8x16_t __a)1441 __arm_vreinterpretq_f32 (uint8x16_t __a)
1442 {
1443  return __arm_vreinterpretq_f32_u8 (__a);
1444 }
1445 
1446 __extension__ extern __inline float16x8_t
1447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(float16x8_t)1448 __arm_vuninitializedq (float16x8_t /* __v ATTRIBUTE UNUSED */)
1449 {
1450  return __arm_vuninitializedq_f16 ();
1451 }
1452 
1453 __extension__ extern __inline float32x4_t
1454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__arm_vuninitializedq(float32x4_t)1455 __arm_vuninitializedq (float32x4_t /* __v ATTRIBUTE UNUSED */)
1456 {
1457  return __arm_vuninitializedq_f32 ();
1458 }
1459 #endif /* __ARM_FEATURE_MVE & 2 (MVE floating point)  */
1460 #endif /* __cplusplus */
1461 
1462 #endif /* _GCC_ARM_MVE_H.  */
1463