1 /* ARM NEON intrinsics include file.
3 Copyright (C) 2011-2021 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")
35 #define __AARCH64_UINT64_C(__C) ((uint64_t) __C)
36 #define __AARCH64_INT64_C(__C) ((int64_t) __C)
38 typedef __Int8x8_t int8x8_t
;
39 typedef __Int16x4_t int16x4_t
;
40 typedef __Int32x2_t int32x2_t
;
41 typedef __Int64x1_t int64x1_t
;
42 typedef __Float16x4_t float16x4_t
;
43 typedef __Float32x2_t float32x2_t
;
44 typedef __Poly8x8_t poly8x8_t
;
45 typedef __Poly16x4_t poly16x4_t
;
46 typedef __Uint8x8_t uint8x8_t
;
47 typedef __Uint16x4_t uint16x4_t
;
48 typedef __Uint32x2_t uint32x2_t
;
49 typedef __Float64x1_t float64x1_t
;
50 typedef __Uint64x1_t uint64x1_t
;
51 typedef __Int8x16_t int8x16_t
;
52 typedef __Int16x8_t int16x8_t
;
53 typedef __Int32x4_t int32x4_t
;
54 typedef __Int64x2_t int64x2_t
;
55 typedef __Float16x8_t float16x8_t
;
56 typedef __Float32x4_t float32x4_t
;
57 typedef __Float64x2_t float64x2_t
;
58 typedef __Poly8x16_t poly8x16_t
;
59 typedef __Poly16x8_t poly16x8_t
;
60 typedef __Poly64x2_t poly64x2_t
;
61 typedef __Poly64x1_t poly64x1_t
;
62 typedef __Uint8x16_t uint8x16_t
;
63 typedef __Uint16x8_t uint16x8_t
;
64 typedef __Uint32x4_t uint32x4_t
;
65 typedef __Uint64x2_t uint64x2_t
;
67 typedef __Poly8_t poly8_t
;
68 typedef __Poly16_t poly16_t
;
69 typedef __Poly64_t poly64_t
;
70 typedef __Poly128_t poly128_t
;
72 typedef __fp16 float16_t
;
73 typedef float float32_t
;
74 typedef double float64_t
;
76 typedef __Bfloat16x4_t bfloat16x4_t
;
77 typedef __Bfloat16x8_t bfloat16x8_t
;
79 typedef struct bfloat16x4x2_t
84 typedef struct bfloat16x8x2_t
89 typedef struct bfloat16x4x3_t
94 typedef struct bfloat16x8x3_t
99 typedef struct bfloat16x4x4_t
104 typedef struct bfloat16x8x4_t
109 typedef struct int8x8x2_t
114 typedef struct int8x16x2_t
119 typedef struct int16x4x2_t
124 typedef struct int16x8x2_t
129 typedef struct int32x2x2_t
134 typedef struct int32x4x2_t
139 typedef struct int64x1x2_t
144 typedef struct int64x2x2_t
149 typedef struct uint8x8x2_t
154 typedef struct uint8x16x2_t
159 typedef struct uint16x4x2_t
164 typedef struct uint16x8x2_t
169 typedef struct uint32x2x2_t
174 typedef struct uint32x4x2_t
179 typedef struct uint64x1x2_t
184 typedef struct uint64x2x2_t
189 typedef struct float16x4x2_t
194 typedef struct float16x8x2_t
199 typedef struct float32x2x2_t
204 typedef struct float32x4x2_t
209 typedef struct float64x2x2_t
214 typedef struct float64x1x2_t
219 typedef struct poly8x8x2_t
224 typedef struct poly8x16x2_t
229 typedef struct poly16x4x2_t
234 typedef struct poly16x8x2_t
239 typedef struct poly64x1x2_t
244 typedef struct poly64x1x3_t
249 typedef struct poly64x1x4_t
254 typedef struct poly64x2x2_t
259 typedef struct poly64x2x3_t
264 typedef struct poly64x2x4_t
269 typedef struct int8x8x3_t
274 typedef struct int8x16x3_t
279 typedef struct int16x4x3_t
284 typedef struct int16x8x3_t
289 typedef struct int32x2x3_t
294 typedef struct int32x4x3_t
299 typedef struct int64x1x3_t
304 typedef struct int64x2x3_t
309 typedef struct uint8x8x3_t
314 typedef struct uint8x16x3_t
319 typedef struct uint16x4x3_t
324 typedef struct uint16x8x3_t
329 typedef struct uint32x2x3_t
334 typedef struct uint32x4x3_t
339 typedef struct uint64x1x3_t
344 typedef struct uint64x2x3_t
349 typedef struct float16x4x3_t
354 typedef struct float16x8x3_t
359 typedef struct float32x2x3_t
364 typedef struct float32x4x3_t
369 typedef struct float64x2x3_t
374 typedef struct float64x1x3_t
379 typedef struct poly8x8x3_t
384 typedef struct poly8x16x3_t
389 typedef struct poly16x4x3_t
394 typedef struct poly16x8x3_t
399 typedef struct int8x8x4_t
404 typedef struct int8x16x4_t
409 typedef struct int16x4x4_t
414 typedef struct int16x8x4_t
419 typedef struct int32x2x4_t
424 typedef struct int32x4x4_t
429 typedef struct int64x1x4_t
434 typedef struct int64x2x4_t
439 typedef struct uint8x8x4_t
444 typedef struct uint8x16x4_t
449 typedef struct uint16x4x4_t
454 typedef struct uint16x8x4_t
459 typedef struct uint32x2x4_t
464 typedef struct uint32x4x4_t
469 typedef struct uint64x1x4_t
474 typedef struct uint64x2x4_t
479 typedef struct float16x4x4_t
484 typedef struct float16x8x4_t
489 typedef struct float32x2x4_t
494 typedef struct float32x4x4_t
499 typedef struct float64x2x4_t
504 typedef struct float64x1x4_t
509 typedef struct poly8x8x4_t
514 typedef struct poly8x16x4_t
519 typedef struct poly16x4x4_t
524 typedef struct poly16x8x4_t
529 /* __aarch64_vdup_lane internal macros. */
530 #define __aarch64_vdup_lane_any(__size, __q, __a, __b) \
531 vdup##__q##_n_##__size (__aarch64_vget_lane_any (__a, __b))
533 #define __aarch64_vdup_lane_f16(__a, __b) \
534 __aarch64_vdup_lane_any (f16, , __a, __b)
535 #define __aarch64_vdup_lane_f32(__a, __b) \
536 __aarch64_vdup_lane_any (f32, , __a, __b)
537 #define __aarch64_vdup_lane_f64(__a, __b) \
538 __aarch64_vdup_lane_any (f64, , __a, __b)
539 #define __aarch64_vdup_lane_p8(__a, __b) \
540 __aarch64_vdup_lane_any (p8, , __a, __b)
541 #define __aarch64_vdup_lane_p16(__a, __b) \
542 __aarch64_vdup_lane_any (p16, , __a, __b)
543 #define __aarch64_vdup_lane_p64(__a, __b) \
544 __aarch64_vdup_lane_any (p64, , __a, __b)
545 #define __aarch64_vdup_lane_s8(__a, __b) \
546 __aarch64_vdup_lane_any (s8, , __a, __b)
547 #define __aarch64_vdup_lane_s16(__a, __b) \
548 __aarch64_vdup_lane_any (s16, , __a, __b)
549 #define __aarch64_vdup_lane_s32(__a, __b) \
550 __aarch64_vdup_lane_any (s32, , __a, __b)
551 #define __aarch64_vdup_lane_s64(__a, __b) \
552 __aarch64_vdup_lane_any (s64, , __a, __b)
553 #define __aarch64_vdup_lane_u8(__a, __b) \
554 __aarch64_vdup_lane_any (u8, , __a, __b)
555 #define __aarch64_vdup_lane_u16(__a, __b) \
556 __aarch64_vdup_lane_any (u16, , __a, __b)
557 #define __aarch64_vdup_lane_u32(__a, __b) \
558 __aarch64_vdup_lane_any (u32, , __a, __b)
559 #define __aarch64_vdup_lane_u64(__a, __b) \
560 __aarch64_vdup_lane_any (u64, , __a, __b)
562 /* __aarch64_vdup_laneq internal macros. */
563 #define __aarch64_vdup_laneq_f16(__a, __b) \
564 __aarch64_vdup_lane_any (f16, , __a, __b)
565 #define __aarch64_vdup_laneq_f32(__a, __b) \
566 __aarch64_vdup_lane_any (f32, , __a, __b)
567 #define __aarch64_vdup_laneq_f64(__a, __b) \
568 __aarch64_vdup_lane_any (f64, , __a, __b)
569 #define __aarch64_vdup_laneq_p8(__a, __b) \
570 __aarch64_vdup_lane_any (p8, , __a, __b)
571 #define __aarch64_vdup_laneq_p16(__a, __b) \
572 __aarch64_vdup_lane_any (p16, , __a, __b)
573 #define __aarch64_vdup_laneq_p64(__a, __b) \
574 __aarch64_vdup_lane_any (p64, , __a, __b)
575 #define __aarch64_vdup_laneq_s8(__a, __b) \
576 __aarch64_vdup_lane_any (s8, , __a, __b)
577 #define __aarch64_vdup_laneq_s16(__a, __b) \
578 __aarch64_vdup_lane_any (s16, , __a, __b)
579 #define __aarch64_vdup_laneq_s32(__a, __b) \
580 __aarch64_vdup_lane_any (s32, , __a, __b)
581 #define __aarch64_vdup_laneq_s64(__a, __b) \
582 __aarch64_vdup_lane_any (s64, , __a, __b)
583 #define __aarch64_vdup_laneq_u8(__a, __b) \
584 __aarch64_vdup_lane_any (u8, , __a, __b)
585 #define __aarch64_vdup_laneq_u16(__a, __b) \
586 __aarch64_vdup_lane_any (u16, , __a, __b)
587 #define __aarch64_vdup_laneq_u32(__a, __b) \
588 __aarch64_vdup_lane_any (u32, , __a, __b)
589 #define __aarch64_vdup_laneq_u64(__a, __b) \
590 __aarch64_vdup_lane_any (u64, , __a, __b)
592 /* __aarch64_vdupq_lane internal macros. */
593 #define __aarch64_vdupq_lane_f16(__a, __b) \
594 __aarch64_vdup_lane_any (f16, q, __a, __b)
595 #define __aarch64_vdupq_lane_f32(__a, __b) \
596 __aarch64_vdup_lane_any (f32, q, __a, __b)
597 #define __aarch64_vdupq_lane_f64(__a, __b) \
598 __aarch64_vdup_lane_any (f64, q, __a, __b)
599 #define __aarch64_vdupq_lane_p8(__a, __b) \
600 __aarch64_vdup_lane_any (p8, q, __a, __b)
601 #define __aarch64_vdupq_lane_p16(__a, __b) \
602 __aarch64_vdup_lane_any (p16, q, __a, __b)
603 #define __aarch64_vdupq_lane_p64(__a, __b) \
604 __aarch64_vdup_lane_any (p64, q, __a, __b)
605 #define __aarch64_vdupq_lane_s8(__a, __b) \
606 __aarch64_vdup_lane_any (s8, q, __a, __b)
607 #define __aarch64_vdupq_lane_s16(__a, __b) \
608 __aarch64_vdup_lane_any (s16, q, __a, __b)
609 #define __aarch64_vdupq_lane_s32(__a, __b) \
610 __aarch64_vdup_lane_any (s32, q, __a, __b)
611 #define __aarch64_vdupq_lane_s64(__a, __b) \
612 __aarch64_vdup_lane_any (s64, q, __a, __b)
613 #define __aarch64_vdupq_lane_u8(__a, __b) \
614 __aarch64_vdup_lane_any (u8, q, __a, __b)
615 #define __aarch64_vdupq_lane_u16(__a, __b) \
616 __aarch64_vdup_lane_any (u16, q, __a, __b)
617 #define __aarch64_vdupq_lane_u32(__a, __b) \
618 __aarch64_vdup_lane_any (u32, q, __a, __b)
619 #define __aarch64_vdupq_lane_u64(__a, __b) \
620 __aarch64_vdup_lane_any (u64, q, __a, __b)
622 /* __aarch64_vdupq_laneq internal macros. */
623 #define __aarch64_vdupq_laneq_f16(__a, __b) \
624 __aarch64_vdup_lane_any (f16, q, __a, __b)
625 #define __aarch64_vdupq_laneq_f32(__a, __b) \
626 __aarch64_vdup_lane_any (f32, q, __a, __b)
627 #define __aarch64_vdupq_laneq_f64(__a, __b) \
628 __aarch64_vdup_lane_any (f64, q, __a, __b)
629 #define __aarch64_vdupq_laneq_p8(__a, __b) \
630 __aarch64_vdup_lane_any (p8, q, __a, __b)
631 #define __aarch64_vdupq_laneq_p16(__a, __b) \
632 __aarch64_vdup_lane_any (p16, q, __a, __b)
633 #define __aarch64_vdupq_laneq_p64(__a, __b) \
634 __aarch64_vdup_lane_any (p64, q, __a, __b)
635 #define __aarch64_vdupq_laneq_s8(__a, __b) \
636 __aarch64_vdup_lane_any (s8, q, __a, __b)
637 #define __aarch64_vdupq_laneq_s16(__a, __b) \
638 __aarch64_vdup_lane_any (s16, q, __a, __b)
639 #define __aarch64_vdupq_laneq_s32(__a, __b) \
640 __aarch64_vdup_lane_any (s32, q, __a, __b)
641 #define __aarch64_vdupq_laneq_s64(__a, __b) \
642 __aarch64_vdup_lane_any (s64, q, __a, __b)
643 #define __aarch64_vdupq_laneq_u8(__a, __b) \
644 __aarch64_vdup_lane_any (u8, q, __a, __b)
645 #define __aarch64_vdupq_laneq_u16(__a, __b) \
646 __aarch64_vdup_lane_any (u16, q, __a, __b)
647 #define __aarch64_vdupq_laneq_u32(__a, __b) \
648 __aarch64_vdup_lane_any (u32, q, __a, __b)
649 #define __aarch64_vdupq_laneq_u64(__a, __b) \
650 __aarch64_vdup_lane_any (u64, q, __a, __b)
652 /* Internal macro for lane indices. */
654 #define __AARCH64_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
655 #define __AARCH64_LANE_CHECK(__vec, __idx) \
656 __builtin_aarch64_im_lane_boundsi (sizeof(__vec), sizeof(__vec[0]), __idx)
658 /* For big-endian, GCC's vector indices are the opposite way around
659 to the architectural lane indices used by Neon intrinsics. */
661 #define __aarch64_lane(__vec, __idx) (__AARCH64_NUM_LANES (__vec) - 1 - __idx)
663 #define __aarch64_lane(__vec, __idx) __idx
666 /* vget_lane internal macro. */
667 #define __aarch64_vget_lane_any(__vec, __index) \
670 __AARCH64_LANE_CHECK (__vec, __index); \
671 __vec[__aarch64_lane (__vec, __index)]; \
674 /* vset_lane and vld1_lane internal macro. */
675 #define __aarch64_vset_lane_any(__elem, __vec, __index) \
678 __AARCH64_LANE_CHECK (__vec, __index); \
679 __vec[__aarch64_lane (__vec, __index)] = __elem; \
684 __extension__
extern __inline int8x8_t
685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
686 vadd_s8 (int8x8_t __a
, int8x8_t __b
)
691 __extension__
extern __inline int16x4_t
692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
693 vadd_s16 (int16x4_t __a
, int16x4_t __b
)
698 __extension__
extern __inline int32x2_t
699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
700 vadd_s32 (int32x2_t __a
, int32x2_t __b
)
705 __extension__
extern __inline float32x2_t
706 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
707 vadd_f32 (float32x2_t __a
, float32x2_t __b
)
712 __extension__
extern __inline float64x1_t
713 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
714 vadd_f64 (float64x1_t __a
, float64x1_t __b
)
719 __extension__
extern __inline uint8x8_t
720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
721 vadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
726 __extension__
extern __inline uint16x4_t
727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
728 vadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
733 __extension__
extern __inline uint32x2_t
734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
735 vadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
740 __extension__
extern __inline int64x1_t
741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
742 vadd_s64 (int64x1_t __a
, int64x1_t __b
)
747 __extension__
extern __inline uint64x1_t
748 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
749 vadd_u64 (uint64x1_t __a
, uint64x1_t __b
)
754 __extension__
extern __inline int8x16_t
755 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
756 vaddq_s8 (int8x16_t __a
, int8x16_t __b
)
761 __extension__
extern __inline int16x8_t
762 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
763 vaddq_s16 (int16x8_t __a
, int16x8_t __b
)
768 __extension__
extern __inline int32x4_t
769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
770 vaddq_s32 (int32x4_t __a
, int32x4_t __b
)
775 __extension__
extern __inline int64x2_t
776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
777 vaddq_s64 (int64x2_t __a
, int64x2_t __b
)
782 __extension__
extern __inline float32x4_t
783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
784 vaddq_f32 (float32x4_t __a
, float32x4_t __b
)
789 __extension__
extern __inline float64x2_t
790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
791 vaddq_f64 (float64x2_t __a
, float64x2_t __b
)
796 __extension__
extern __inline uint8x16_t
797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
798 vaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
803 __extension__
extern __inline uint16x8_t
804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
805 vaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
810 __extension__
extern __inline uint32x4_t
811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
812 vaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
817 __extension__
extern __inline uint64x2_t
818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
819 vaddq_u64 (uint64x2_t __a
, uint64x2_t __b
)
824 __extension__
extern __inline int16x8_t
825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
826 vaddl_s8 (int8x8_t __a
, int8x8_t __b
)
828 return (int16x8_t
) __builtin_aarch64_saddlv8qi (__a
, __b
);
831 __extension__
extern __inline int32x4_t
832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
833 vaddl_s16 (int16x4_t __a
, int16x4_t __b
)
835 return (int32x4_t
) __builtin_aarch64_saddlv4hi (__a
, __b
);
838 __extension__
extern __inline int64x2_t
839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
840 vaddl_s32 (int32x2_t __a
, int32x2_t __b
)
842 return (int64x2_t
) __builtin_aarch64_saddlv2si (__a
, __b
);
845 __extension__
extern __inline uint16x8_t
846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
847 vaddl_u8 (uint8x8_t __a
, uint8x8_t __b
)
849 return (uint16x8_t
) __builtin_aarch64_uaddlv8qi ((int8x8_t
) __a
,
853 __extension__
extern __inline uint32x4_t
854 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
855 vaddl_u16 (uint16x4_t __a
, uint16x4_t __b
)
857 return (uint32x4_t
) __builtin_aarch64_uaddlv4hi ((int16x4_t
) __a
,
861 __extension__
extern __inline uint64x2_t
862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
863 vaddl_u32 (uint32x2_t __a
, uint32x2_t __b
)
865 return (uint64x2_t
) __builtin_aarch64_uaddlv2si ((int32x2_t
) __a
,
869 __extension__
extern __inline int16x8_t
870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
871 vaddl_high_s8 (int8x16_t __a
, int8x16_t __b
)
873 return (int16x8_t
) __builtin_aarch64_saddl2v16qi (__a
, __b
);
876 __extension__
extern __inline int32x4_t
877 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
878 vaddl_high_s16 (int16x8_t __a
, int16x8_t __b
)
880 return (int32x4_t
) __builtin_aarch64_saddl2v8hi (__a
, __b
);
883 __extension__
extern __inline int64x2_t
884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
885 vaddl_high_s32 (int32x4_t __a
, int32x4_t __b
)
887 return (int64x2_t
) __builtin_aarch64_saddl2v4si (__a
, __b
);
890 __extension__
extern __inline uint16x8_t
891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
892 vaddl_high_u8 (uint8x16_t __a
, uint8x16_t __b
)
894 return (uint16x8_t
) __builtin_aarch64_uaddl2v16qi ((int8x16_t
) __a
,
898 __extension__
extern __inline uint32x4_t
899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
900 vaddl_high_u16 (uint16x8_t __a
, uint16x8_t __b
)
902 return (uint32x4_t
) __builtin_aarch64_uaddl2v8hi ((int16x8_t
) __a
,
906 __extension__
extern __inline uint64x2_t
907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
908 vaddl_high_u32 (uint32x4_t __a
, uint32x4_t __b
)
910 return (uint64x2_t
) __builtin_aarch64_uaddl2v4si ((int32x4_t
) __a
,
914 __extension__
extern __inline int16x8_t
915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
916 vaddw_s8 (int16x8_t __a
, int8x8_t __b
)
918 return (int16x8_t
) __builtin_aarch64_saddwv8qi (__a
, __b
);
921 __extension__
extern __inline int32x4_t
922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
923 vaddw_s16 (int32x4_t __a
, int16x4_t __b
)
925 return (int32x4_t
) __builtin_aarch64_saddwv4hi (__a
, __b
);
928 __extension__
extern __inline int64x2_t
929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
930 vaddw_s32 (int64x2_t __a
, int32x2_t __b
)
932 return (int64x2_t
) __builtin_aarch64_saddwv2si (__a
, __b
);
935 __extension__
extern __inline uint16x8_t
936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
937 vaddw_u8 (uint16x8_t __a
, uint8x8_t __b
)
939 return (uint16x8_t
) __builtin_aarch64_uaddwv8qi ((int16x8_t
) __a
,
943 __extension__
extern __inline uint32x4_t
944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
945 vaddw_u16 (uint32x4_t __a
, uint16x4_t __b
)
947 return (uint32x4_t
) __builtin_aarch64_uaddwv4hi ((int32x4_t
) __a
,
951 __extension__
extern __inline uint64x2_t
952 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
953 vaddw_u32 (uint64x2_t __a
, uint32x2_t __b
)
955 return (uint64x2_t
) __builtin_aarch64_uaddwv2si ((int64x2_t
) __a
,
959 __extension__
extern __inline int16x8_t
960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
961 vaddw_high_s8 (int16x8_t __a
, int8x16_t __b
)
963 return (int16x8_t
) __builtin_aarch64_saddw2v16qi (__a
, __b
);
966 __extension__
extern __inline int32x4_t
967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
968 vaddw_high_s16 (int32x4_t __a
, int16x8_t __b
)
970 return (int32x4_t
) __builtin_aarch64_saddw2v8hi (__a
, __b
);
973 __extension__
extern __inline int64x2_t
974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
975 vaddw_high_s32 (int64x2_t __a
, int32x4_t __b
)
977 return (int64x2_t
) __builtin_aarch64_saddw2v4si (__a
, __b
);
980 __extension__
extern __inline uint16x8_t
981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
982 vaddw_high_u8 (uint16x8_t __a
, uint8x16_t __b
)
984 return (uint16x8_t
) __builtin_aarch64_uaddw2v16qi ((int16x8_t
) __a
,
988 __extension__
extern __inline uint32x4_t
989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
990 vaddw_high_u16 (uint32x4_t __a
, uint16x8_t __b
)
992 return (uint32x4_t
) __builtin_aarch64_uaddw2v8hi ((int32x4_t
) __a
,
996 __extension__
extern __inline uint64x2_t
997 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
998 vaddw_high_u32 (uint64x2_t __a
, uint32x4_t __b
)
1000 return (uint64x2_t
) __builtin_aarch64_uaddw2v4si ((int64x2_t
) __a
,
1004 __extension__
extern __inline int8x8_t
1005 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1006 vhadd_s8 (int8x8_t __a
, int8x8_t __b
)
1008 return (int8x8_t
) __builtin_aarch64_shaddv8qi (__a
, __b
);
1011 __extension__
extern __inline int16x4_t
1012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1013 vhadd_s16 (int16x4_t __a
, int16x4_t __b
)
1015 return (int16x4_t
) __builtin_aarch64_shaddv4hi (__a
, __b
);
1018 __extension__
extern __inline int32x2_t
1019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1020 vhadd_s32 (int32x2_t __a
, int32x2_t __b
)
1022 return (int32x2_t
) __builtin_aarch64_shaddv2si (__a
, __b
);
1025 __extension__
extern __inline uint8x8_t
1026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1027 vhadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
1029 return (uint8x8_t
) __builtin_aarch64_uhaddv8qi ((int8x8_t
) __a
,
1033 __extension__
extern __inline uint16x4_t
1034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1035 vhadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
1037 return (uint16x4_t
) __builtin_aarch64_uhaddv4hi ((int16x4_t
) __a
,
1041 __extension__
extern __inline uint32x2_t
1042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1043 vhadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
1045 return (uint32x2_t
) __builtin_aarch64_uhaddv2si ((int32x2_t
) __a
,
1049 __extension__
extern __inline int8x16_t
1050 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1051 vhaddq_s8 (int8x16_t __a
, int8x16_t __b
)
1053 return (int8x16_t
) __builtin_aarch64_shaddv16qi (__a
, __b
);
1056 __extension__
extern __inline int16x8_t
1057 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1058 vhaddq_s16 (int16x8_t __a
, int16x8_t __b
)
1060 return (int16x8_t
) __builtin_aarch64_shaddv8hi (__a
, __b
);
1063 __extension__
extern __inline int32x4_t
1064 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1065 vhaddq_s32 (int32x4_t __a
, int32x4_t __b
)
1067 return (int32x4_t
) __builtin_aarch64_shaddv4si (__a
, __b
);
1070 __extension__
extern __inline uint8x16_t
1071 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1072 vhaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1074 return (uint8x16_t
) __builtin_aarch64_uhaddv16qi ((int8x16_t
) __a
,
1078 __extension__
extern __inline uint16x8_t
1079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1080 vhaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1082 return (uint16x8_t
) __builtin_aarch64_uhaddv8hi ((int16x8_t
) __a
,
1086 __extension__
extern __inline uint32x4_t
1087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1088 vhaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1090 return (uint32x4_t
) __builtin_aarch64_uhaddv4si ((int32x4_t
) __a
,
1094 __extension__
extern __inline int8x8_t
1095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1096 vrhadd_s8 (int8x8_t __a
, int8x8_t __b
)
1098 return (int8x8_t
) __builtin_aarch64_srhaddv8qi (__a
, __b
);
1101 __extension__
extern __inline int16x4_t
1102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1103 vrhadd_s16 (int16x4_t __a
, int16x4_t __b
)
1105 return (int16x4_t
) __builtin_aarch64_srhaddv4hi (__a
, __b
);
1108 __extension__
extern __inline int32x2_t
1109 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1110 vrhadd_s32 (int32x2_t __a
, int32x2_t __b
)
1112 return (int32x2_t
) __builtin_aarch64_srhaddv2si (__a
, __b
);
1115 __extension__
extern __inline uint8x8_t
1116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1117 vrhadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
1119 return (uint8x8_t
) __builtin_aarch64_urhaddv8qi ((int8x8_t
) __a
,
1123 __extension__
extern __inline uint16x4_t
1124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1125 vrhadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
1127 return (uint16x4_t
) __builtin_aarch64_urhaddv4hi ((int16x4_t
) __a
,
1131 __extension__
extern __inline uint32x2_t
1132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1133 vrhadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
1135 return (uint32x2_t
) __builtin_aarch64_urhaddv2si ((int32x2_t
) __a
,
1139 __extension__
extern __inline int8x16_t
1140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1141 vrhaddq_s8 (int8x16_t __a
, int8x16_t __b
)
1143 return (int8x16_t
) __builtin_aarch64_srhaddv16qi (__a
, __b
);
1146 __extension__
extern __inline int16x8_t
1147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1148 vrhaddq_s16 (int16x8_t __a
, int16x8_t __b
)
1150 return (int16x8_t
) __builtin_aarch64_srhaddv8hi (__a
, __b
);
1153 __extension__
extern __inline int32x4_t
1154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1155 vrhaddq_s32 (int32x4_t __a
, int32x4_t __b
)
1157 return (int32x4_t
) __builtin_aarch64_srhaddv4si (__a
, __b
);
1160 __extension__
extern __inline uint8x16_t
1161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1162 vrhaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1164 return (uint8x16_t
) __builtin_aarch64_urhaddv16qi ((int8x16_t
) __a
,
1168 __extension__
extern __inline uint16x8_t
1169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1170 vrhaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1172 return (uint16x8_t
) __builtin_aarch64_urhaddv8hi ((int16x8_t
) __a
,
1176 __extension__
extern __inline uint32x4_t
1177 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1178 vrhaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1180 return (uint32x4_t
) __builtin_aarch64_urhaddv4si ((int32x4_t
) __a
,
1184 __extension__
extern __inline int8x8_t
1185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1186 vaddhn_s16 (int16x8_t __a
, int16x8_t __b
)
1188 return (int8x8_t
) __builtin_aarch64_addhnv8hi (__a
, __b
);
1191 __extension__
extern __inline int16x4_t
1192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1193 vaddhn_s32 (int32x4_t __a
, int32x4_t __b
)
1195 return (int16x4_t
) __builtin_aarch64_addhnv4si (__a
, __b
);
1198 __extension__
extern __inline int32x2_t
1199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1200 vaddhn_s64 (int64x2_t __a
, int64x2_t __b
)
1202 return (int32x2_t
) __builtin_aarch64_addhnv2di (__a
, __b
);
1205 __extension__
extern __inline uint8x8_t
1206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1207 vaddhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
1209 return (uint8x8_t
) __builtin_aarch64_addhnv8hi ((int16x8_t
) __a
,
1213 __extension__
extern __inline uint16x4_t
1214 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1215 vaddhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
1217 return (uint16x4_t
) __builtin_aarch64_addhnv4si ((int32x4_t
) __a
,
1221 __extension__
extern __inline uint32x2_t
1222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1223 vaddhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
1225 return (uint32x2_t
) __builtin_aarch64_addhnv2di ((int64x2_t
) __a
,
1229 __extension__
extern __inline int8x8_t
1230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1231 vraddhn_s16 (int16x8_t __a
, int16x8_t __b
)
1233 return (int8x8_t
) __builtin_aarch64_raddhnv8hi (__a
, __b
);
1236 __extension__
extern __inline int16x4_t
1237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1238 vraddhn_s32 (int32x4_t __a
, int32x4_t __b
)
1240 return (int16x4_t
) __builtin_aarch64_raddhnv4si (__a
, __b
);
1243 __extension__
extern __inline int32x2_t
1244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1245 vraddhn_s64 (int64x2_t __a
, int64x2_t __b
)
1247 return (int32x2_t
) __builtin_aarch64_raddhnv2di (__a
, __b
);
1250 __extension__
extern __inline uint8x8_t
1251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1252 vraddhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
1254 return (uint8x8_t
) __builtin_aarch64_raddhnv8hi ((int16x8_t
) __a
,
1258 __extension__
extern __inline uint16x4_t
1259 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1260 vraddhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
1262 return (uint16x4_t
) __builtin_aarch64_raddhnv4si ((int32x4_t
) __a
,
1266 __extension__
extern __inline uint32x2_t
1267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1268 vraddhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
1270 return (uint32x2_t
) __builtin_aarch64_raddhnv2di ((int64x2_t
) __a
,
1274 __extension__
extern __inline int8x16_t
1275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1276 vaddhn_high_s16 (int8x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1278 return (int8x16_t
) __builtin_aarch64_addhn2v8hi (__a
, __b
, __c
);
1281 __extension__
extern __inline int16x8_t
1282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1283 vaddhn_high_s32 (int16x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1285 return (int16x8_t
) __builtin_aarch64_addhn2v4si (__a
, __b
, __c
);
1288 __extension__
extern __inline int32x4_t
1289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1290 vaddhn_high_s64 (int32x2_t __a
, int64x2_t __b
, int64x2_t __c
)
1292 return (int32x4_t
) __builtin_aarch64_addhn2v2di (__a
, __b
, __c
);
1295 __extension__
extern __inline uint8x16_t
1296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1297 vaddhn_high_u16 (uint8x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
1299 return (uint8x16_t
) __builtin_aarch64_addhn2v8hi ((int8x8_t
) __a
,
1304 __extension__
extern __inline uint16x8_t
1305 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1306 vaddhn_high_u32 (uint16x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
1308 return (uint16x8_t
) __builtin_aarch64_addhn2v4si ((int16x4_t
) __a
,
1313 __extension__
extern __inline uint32x4_t
1314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1315 vaddhn_high_u64 (uint32x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
1317 return (uint32x4_t
) __builtin_aarch64_addhn2v2di ((int32x2_t
) __a
,
1322 __extension__
extern __inline int8x16_t
1323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1324 vraddhn_high_s16 (int8x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1326 return (int8x16_t
) __builtin_aarch64_raddhn2v8hi (__a
, __b
, __c
);
1329 __extension__
extern __inline int16x8_t
1330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1331 vraddhn_high_s32 (int16x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1333 return (int16x8_t
) __builtin_aarch64_raddhn2v4si (__a
, __b
, __c
);
1336 __extension__
extern __inline int32x4_t
1337 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1338 vraddhn_high_s64 (int32x2_t __a
, int64x2_t __b
, int64x2_t __c
)
1340 return (int32x4_t
) __builtin_aarch64_raddhn2v2di (__a
, __b
, __c
);
1343 __extension__
extern __inline uint8x16_t
1344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1345 vraddhn_high_u16 (uint8x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
1347 return (uint8x16_t
) __builtin_aarch64_raddhn2v8hi ((int8x8_t
) __a
,
1352 __extension__
extern __inline uint16x8_t
1353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1354 vraddhn_high_u32 (uint16x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
1356 return (uint16x8_t
) __builtin_aarch64_raddhn2v4si ((int16x4_t
) __a
,
1361 __extension__
extern __inline uint32x4_t
1362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1363 vraddhn_high_u64 (uint32x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
1365 return (uint32x4_t
) __builtin_aarch64_raddhn2v2di ((int32x2_t
) __a
,
1370 __extension__
extern __inline float32x2_t
1371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1372 vdiv_f32 (float32x2_t __a
, float32x2_t __b
)
1377 __extension__
extern __inline float64x1_t
1378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1379 vdiv_f64 (float64x1_t __a
, float64x1_t __b
)
1384 __extension__
extern __inline float32x4_t
1385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1386 vdivq_f32 (float32x4_t __a
, float32x4_t __b
)
1391 __extension__
extern __inline float64x2_t
1392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1393 vdivq_f64 (float64x2_t __a
, float64x2_t __b
)
1398 __extension__
extern __inline int8x8_t
1399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1400 vmul_s8 (int8x8_t __a
, int8x8_t __b
)
1405 __extension__
extern __inline int16x4_t
1406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1407 vmul_s16 (int16x4_t __a
, int16x4_t __b
)
1412 __extension__
extern __inline int32x2_t
1413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1414 vmul_s32 (int32x2_t __a
, int32x2_t __b
)
1419 __extension__
extern __inline float32x2_t
1420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1421 vmul_f32 (float32x2_t __a
, float32x2_t __b
)
1426 __extension__
extern __inline float64x1_t
1427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1428 vmul_f64 (float64x1_t __a
, float64x1_t __b
)
1433 __extension__
extern __inline uint8x8_t
1434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1435 vmul_u8 (uint8x8_t __a
, uint8x8_t __b
)
1440 __extension__
extern __inline uint16x4_t
1441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1442 vmul_u16 (uint16x4_t __a
, uint16x4_t __b
)
1447 __extension__
extern __inline uint32x2_t
1448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1449 vmul_u32 (uint32x2_t __a
, uint32x2_t __b
)
1454 __extension__
extern __inline poly8x8_t
1455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1456 vmul_p8 (poly8x8_t __a
, poly8x8_t __b
)
1458 return (poly8x8_t
) __builtin_aarch64_pmulv8qi ((int8x8_t
) __a
,
1462 __extension__
extern __inline int8x16_t
1463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1464 vmulq_s8 (int8x16_t __a
, int8x16_t __b
)
1469 __extension__
extern __inline int16x8_t
1470 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1471 vmulq_s16 (int16x8_t __a
, int16x8_t __b
)
1476 __extension__
extern __inline int32x4_t
1477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1478 vmulq_s32 (int32x4_t __a
, int32x4_t __b
)
1483 __extension__
extern __inline float32x4_t
1484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1485 vmulq_f32 (float32x4_t __a
, float32x4_t __b
)
1490 __extension__
extern __inline float64x2_t
1491 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1492 vmulq_f64 (float64x2_t __a
, float64x2_t __b
)
1497 __extension__
extern __inline uint8x16_t
1498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1499 vmulq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1504 __extension__
extern __inline uint16x8_t
1505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1506 vmulq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1511 __extension__
extern __inline uint32x4_t
1512 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1513 vmulq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1518 __extension__
extern __inline poly8x16_t
1519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1520 vmulq_p8 (poly8x16_t __a
, poly8x16_t __b
)
1522 return (poly8x16_t
) __builtin_aarch64_pmulv16qi ((int8x16_t
) __a
,
1526 __extension__
extern __inline int8x8_t
1527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1528 vand_s8 (int8x8_t __a
, int8x8_t __b
)
1533 __extension__
extern __inline int16x4_t
1534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1535 vand_s16 (int16x4_t __a
, int16x4_t __b
)
1540 __extension__
extern __inline int32x2_t
1541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1542 vand_s32 (int32x2_t __a
, int32x2_t __b
)
1547 __extension__
extern __inline uint8x8_t
1548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1549 vand_u8 (uint8x8_t __a
, uint8x8_t __b
)
1554 __extension__
extern __inline uint16x4_t
1555 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1556 vand_u16 (uint16x4_t __a
, uint16x4_t __b
)
1561 __extension__
extern __inline uint32x2_t
1562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1563 vand_u32 (uint32x2_t __a
, uint32x2_t __b
)
1568 __extension__
extern __inline int64x1_t
1569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1570 vand_s64 (int64x1_t __a
, int64x1_t __b
)
1575 __extension__
extern __inline uint64x1_t
1576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1577 vand_u64 (uint64x1_t __a
, uint64x1_t __b
)
1582 __extension__
extern __inline int8x16_t
1583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1584 vandq_s8 (int8x16_t __a
, int8x16_t __b
)
1589 __extension__
extern __inline int16x8_t
1590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1591 vandq_s16 (int16x8_t __a
, int16x8_t __b
)
1596 __extension__
extern __inline int32x4_t
1597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1598 vandq_s32 (int32x4_t __a
, int32x4_t __b
)
1603 __extension__
extern __inline int64x2_t
1604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1605 vandq_s64 (int64x2_t __a
, int64x2_t __b
)
1610 __extension__
extern __inline uint8x16_t
1611 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1612 vandq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1617 __extension__
extern __inline uint16x8_t
1618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1619 vandq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1624 __extension__
extern __inline uint32x4_t
1625 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1626 vandq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1631 __extension__
extern __inline uint64x2_t
1632 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1633 vandq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1638 __extension__
extern __inline int8x8_t
1639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1640 vorr_s8 (int8x8_t __a
, int8x8_t __b
)
1645 __extension__
extern __inline int16x4_t
1646 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1647 vorr_s16 (int16x4_t __a
, int16x4_t __b
)
1652 __extension__
extern __inline int32x2_t
1653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1654 vorr_s32 (int32x2_t __a
, int32x2_t __b
)
1659 __extension__
extern __inline uint8x8_t
1660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1661 vorr_u8 (uint8x8_t __a
, uint8x8_t __b
)
1666 __extension__
extern __inline uint16x4_t
1667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1668 vorr_u16 (uint16x4_t __a
, uint16x4_t __b
)
1673 __extension__
extern __inline uint32x2_t
1674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1675 vorr_u32 (uint32x2_t __a
, uint32x2_t __b
)
1680 __extension__
extern __inline int64x1_t
1681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1682 vorr_s64 (int64x1_t __a
, int64x1_t __b
)
1687 __extension__
extern __inline uint64x1_t
1688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1689 vorr_u64 (uint64x1_t __a
, uint64x1_t __b
)
1694 __extension__
extern __inline int8x16_t
1695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1696 vorrq_s8 (int8x16_t __a
, int8x16_t __b
)
1701 __extension__
extern __inline int16x8_t
1702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1703 vorrq_s16 (int16x8_t __a
, int16x8_t __b
)
1708 __extension__
extern __inline int32x4_t
1709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1710 vorrq_s32 (int32x4_t __a
, int32x4_t __b
)
1715 __extension__
extern __inline int64x2_t
1716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1717 vorrq_s64 (int64x2_t __a
, int64x2_t __b
)
1722 __extension__
extern __inline uint8x16_t
1723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1724 vorrq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1729 __extension__
extern __inline uint16x8_t
1730 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1731 vorrq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1736 __extension__
extern __inline uint32x4_t
1737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1738 vorrq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1743 __extension__
extern __inline uint64x2_t
1744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1745 vorrq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1750 __extension__
extern __inline int8x8_t
1751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1752 veor_s8 (int8x8_t __a
, int8x8_t __b
)
1757 __extension__
extern __inline int16x4_t
1758 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1759 veor_s16 (int16x4_t __a
, int16x4_t __b
)
1764 __extension__
extern __inline int32x2_t
1765 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1766 veor_s32 (int32x2_t __a
, int32x2_t __b
)
1771 __extension__
extern __inline uint8x8_t
1772 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1773 veor_u8 (uint8x8_t __a
, uint8x8_t __b
)
1778 __extension__
extern __inline uint16x4_t
1779 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1780 veor_u16 (uint16x4_t __a
, uint16x4_t __b
)
1785 __extension__
extern __inline uint32x2_t
1786 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1787 veor_u32 (uint32x2_t __a
, uint32x2_t __b
)
1792 __extension__
extern __inline int64x1_t
1793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1794 veor_s64 (int64x1_t __a
, int64x1_t __b
)
1799 __extension__
extern __inline uint64x1_t
1800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1801 veor_u64 (uint64x1_t __a
, uint64x1_t __b
)
1806 __extension__
extern __inline int8x16_t
1807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1808 veorq_s8 (int8x16_t __a
, int8x16_t __b
)
1813 __extension__
extern __inline int16x8_t
1814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1815 veorq_s16 (int16x8_t __a
, int16x8_t __b
)
1820 __extension__
extern __inline int32x4_t
1821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1822 veorq_s32 (int32x4_t __a
, int32x4_t __b
)
1827 __extension__
extern __inline int64x2_t
1828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1829 veorq_s64 (int64x2_t __a
, int64x2_t __b
)
1834 __extension__
extern __inline uint8x16_t
1835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1836 veorq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1841 __extension__
extern __inline uint16x8_t
1842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1843 veorq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1848 __extension__
extern __inline uint32x4_t
1849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1850 veorq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1855 __extension__
extern __inline uint64x2_t
1856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1857 veorq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1862 __extension__
extern __inline int8x8_t
1863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1864 vbic_s8 (int8x8_t __a
, int8x8_t __b
)
1869 __extension__
extern __inline int16x4_t
1870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1871 vbic_s16 (int16x4_t __a
, int16x4_t __b
)
1876 __extension__
extern __inline int32x2_t
1877 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1878 vbic_s32 (int32x2_t __a
, int32x2_t __b
)
1883 __extension__
extern __inline uint8x8_t
1884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1885 vbic_u8 (uint8x8_t __a
, uint8x8_t __b
)
1890 __extension__
extern __inline uint16x4_t
1891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1892 vbic_u16 (uint16x4_t __a
, uint16x4_t __b
)
1897 __extension__
extern __inline uint32x2_t
1898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1899 vbic_u32 (uint32x2_t __a
, uint32x2_t __b
)
1904 __extension__
extern __inline int64x1_t
1905 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1906 vbic_s64 (int64x1_t __a
, int64x1_t __b
)
1911 __extension__
extern __inline uint64x1_t
1912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1913 vbic_u64 (uint64x1_t __a
, uint64x1_t __b
)
1918 __extension__
extern __inline int8x16_t
1919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1920 vbicq_s8 (int8x16_t __a
, int8x16_t __b
)
1925 __extension__
extern __inline int16x8_t
1926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1927 vbicq_s16 (int16x8_t __a
, int16x8_t __b
)
1932 __extension__
extern __inline int32x4_t
1933 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1934 vbicq_s32 (int32x4_t __a
, int32x4_t __b
)
1939 __extension__
extern __inline int64x2_t
1940 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1941 vbicq_s64 (int64x2_t __a
, int64x2_t __b
)
1946 __extension__
extern __inline uint8x16_t
1947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1948 vbicq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1953 __extension__
extern __inline uint16x8_t
1954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1955 vbicq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1960 __extension__
extern __inline uint32x4_t
1961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1962 vbicq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1967 __extension__
extern __inline uint64x2_t
1968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1969 vbicq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1974 __extension__
extern __inline int8x8_t
1975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1976 vorn_s8 (int8x8_t __a
, int8x8_t __b
)
1981 __extension__
extern __inline int16x4_t
1982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1983 vorn_s16 (int16x4_t __a
, int16x4_t __b
)
1988 __extension__
extern __inline int32x2_t
1989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1990 vorn_s32 (int32x2_t __a
, int32x2_t __b
)
1995 __extension__
extern __inline uint8x8_t
1996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1997 vorn_u8 (uint8x8_t __a
, uint8x8_t __b
)
2002 __extension__
extern __inline uint16x4_t
2003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2004 vorn_u16 (uint16x4_t __a
, uint16x4_t __b
)
2009 __extension__
extern __inline uint32x2_t
2010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2011 vorn_u32 (uint32x2_t __a
, uint32x2_t __b
)
2016 __extension__
extern __inline int64x1_t
2017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2018 vorn_s64 (int64x1_t __a
, int64x1_t __b
)
2023 __extension__
extern __inline uint64x1_t
2024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2025 vorn_u64 (uint64x1_t __a
, uint64x1_t __b
)
2030 __extension__
extern __inline int8x16_t
2031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2032 vornq_s8 (int8x16_t __a
, int8x16_t __b
)
2037 __extension__
extern __inline int16x8_t
2038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2039 vornq_s16 (int16x8_t __a
, int16x8_t __b
)
2044 __extension__
extern __inline int32x4_t
2045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2046 vornq_s32 (int32x4_t __a
, int32x4_t __b
)
2051 __extension__
extern __inline int64x2_t
2052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2053 vornq_s64 (int64x2_t __a
, int64x2_t __b
)
2058 __extension__
extern __inline uint8x16_t
2059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2060 vornq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2065 __extension__
extern __inline uint16x8_t
2066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2067 vornq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2072 __extension__
extern __inline uint32x4_t
2073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2074 vornq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2079 __extension__
extern __inline uint64x2_t
2080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2081 vornq_u64 (uint64x2_t __a
, uint64x2_t __b
)
2086 __extension__
extern __inline int8x8_t
2087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2088 vsub_s8 (int8x8_t __a
, int8x8_t __b
)
2093 __extension__
extern __inline int16x4_t
2094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2095 vsub_s16 (int16x4_t __a
, int16x4_t __b
)
2100 __extension__
extern __inline int32x2_t
2101 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2102 vsub_s32 (int32x2_t __a
, int32x2_t __b
)
2107 __extension__
extern __inline float32x2_t
2108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2109 vsub_f32 (float32x2_t __a
, float32x2_t __b
)
2114 __extension__
extern __inline float64x1_t
2115 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2116 vsub_f64 (float64x1_t __a
, float64x1_t __b
)
2121 __extension__
extern __inline uint8x8_t
2122 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2123 vsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
2128 __extension__
extern __inline uint16x4_t
2129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2130 vsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
2135 __extension__
extern __inline uint32x2_t
2136 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2137 vsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
2142 __extension__
extern __inline int64x1_t
2143 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2144 vsub_s64 (int64x1_t __a
, int64x1_t __b
)
2149 __extension__
extern __inline uint64x1_t
2150 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2151 vsub_u64 (uint64x1_t __a
, uint64x1_t __b
)
2156 __extension__
extern __inline int8x16_t
2157 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2158 vsubq_s8 (int8x16_t __a
, int8x16_t __b
)
2163 __extension__
extern __inline int16x8_t
2164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2165 vsubq_s16 (int16x8_t __a
, int16x8_t __b
)
2170 __extension__
extern __inline int32x4_t
2171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2172 vsubq_s32 (int32x4_t __a
, int32x4_t __b
)
2177 __extension__
extern __inline int64x2_t
2178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2179 vsubq_s64 (int64x2_t __a
, int64x2_t __b
)
2184 __extension__
extern __inline float32x4_t
2185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2186 vsubq_f32 (float32x4_t __a
, float32x4_t __b
)
2191 __extension__
extern __inline float64x2_t
2192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2193 vsubq_f64 (float64x2_t __a
, float64x2_t __b
)
2198 __extension__
extern __inline uint8x16_t
2199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2200 vsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2205 __extension__
extern __inline uint16x8_t
2206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2207 vsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2212 __extension__
extern __inline uint32x4_t
2213 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2214 vsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2219 __extension__
extern __inline uint64x2_t
2220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2221 vsubq_u64 (uint64x2_t __a
, uint64x2_t __b
)
2226 __extension__
extern __inline int16x8_t
2227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2228 vsubl_s8 (int8x8_t __a
, int8x8_t __b
)
2230 return (int16x8_t
) __builtin_aarch64_ssublv8qi (__a
, __b
);
2233 __extension__
extern __inline int32x4_t
2234 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2235 vsubl_s16 (int16x4_t __a
, int16x4_t __b
)
2237 return (int32x4_t
) __builtin_aarch64_ssublv4hi (__a
, __b
);
2240 __extension__
extern __inline int64x2_t
2241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2242 vsubl_s32 (int32x2_t __a
, int32x2_t __b
)
2244 return (int64x2_t
) __builtin_aarch64_ssublv2si (__a
, __b
);
2247 __extension__
extern __inline uint16x8_t
2248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2249 vsubl_u8 (uint8x8_t __a
, uint8x8_t __b
)
2251 return (uint16x8_t
) __builtin_aarch64_usublv8qi ((int8x8_t
) __a
,
2255 __extension__
extern __inline uint32x4_t
2256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2257 vsubl_u16 (uint16x4_t __a
, uint16x4_t __b
)
2259 return (uint32x4_t
) __builtin_aarch64_usublv4hi ((int16x4_t
) __a
,
2263 __extension__
extern __inline uint64x2_t
2264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2265 vsubl_u32 (uint32x2_t __a
, uint32x2_t __b
)
2267 return (uint64x2_t
) __builtin_aarch64_usublv2si ((int32x2_t
) __a
,
2271 __extension__
extern __inline int16x8_t
2272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2273 vsubl_high_s8 (int8x16_t __a
, int8x16_t __b
)
2275 return (int16x8_t
) __builtin_aarch64_ssubl2v16qi (__a
, __b
);
2278 __extension__
extern __inline int32x4_t
2279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2280 vsubl_high_s16 (int16x8_t __a
, int16x8_t __b
)
2282 return (int32x4_t
) __builtin_aarch64_ssubl2v8hi (__a
, __b
);
2285 __extension__
extern __inline int64x2_t
2286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2287 vsubl_high_s32 (int32x4_t __a
, int32x4_t __b
)
2289 return (int64x2_t
) __builtin_aarch64_ssubl2v4si (__a
, __b
);
2292 __extension__
extern __inline uint16x8_t
2293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2294 vsubl_high_u8 (uint8x16_t __a
, uint8x16_t __b
)
2296 return (uint16x8_t
) __builtin_aarch64_usubl2v16qi ((int8x16_t
) __a
,
2300 __extension__
extern __inline uint32x4_t
2301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2302 vsubl_high_u16 (uint16x8_t __a
, uint16x8_t __b
)
2304 return (uint32x4_t
) __builtin_aarch64_usubl2v8hi ((int16x8_t
) __a
,
2308 __extension__
extern __inline uint64x2_t
2309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2310 vsubl_high_u32 (uint32x4_t __a
, uint32x4_t __b
)
2312 return (uint64x2_t
) __builtin_aarch64_usubl2v4si ((int32x4_t
) __a
,
2316 __extension__
extern __inline int16x8_t
2317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2318 vsubw_s8 (int16x8_t __a
, int8x8_t __b
)
2320 return (int16x8_t
) __builtin_aarch64_ssubwv8qi (__a
, __b
);
2323 __extension__
extern __inline int32x4_t
2324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2325 vsubw_s16 (int32x4_t __a
, int16x4_t __b
)
2327 return (int32x4_t
) __builtin_aarch64_ssubwv4hi (__a
, __b
);
2330 __extension__
extern __inline int64x2_t
2331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2332 vsubw_s32 (int64x2_t __a
, int32x2_t __b
)
2334 return (int64x2_t
) __builtin_aarch64_ssubwv2si (__a
, __b
);
2337 __extension__
extern __inline uint16x8_t
2338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2339 vsubw_u8 (uint16x8_t __a
, uint8x8_t __b
)
2341 return (uint16x8_t
) __builtin_aarch64_usubwv8qi ((int16x8_t
) __a
,
2345 __extension__
extern __inline uint32x4_t
2346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2347 vsubw_u16 (uint32x4_t __a
, uint16x4_t __b
)
2349 return (uint32x4_t
) __builtin_aarch64_usubwv4hi ((int32x4_t
) __a
,
2353 __extension__
extern __inline uint64x2_t
2354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2355 vsubw_u32 (uint64x2_t __a
, uint32x2_t __b
)
2357 return (uint64x2_t
) __builtin_aarch64_usubwv2si ((int64x2_t
) __a
,
2361 __extension__
extern __inline int16x8_t
2362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2363 vsubw_high_s8 (int16x8_t __a
, int8x16_t __b
)
2365 return (int16x8_t
) __builtin_aarch64_ssubw2v16qi (__a
, __b
);
2368 __extension__
extern __inline int32x4_t
2369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2370 vsubw_high_s16 (int32x4_t __a
, int16x8_t __b
)
2372 return (int32x4_t
) __builtin_aarch64_ssubw2v8hi (__a
, __b
);
2375 __extension__
extern __inline int64x2_t
2376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2377 vsubw_high_s32 (int64x2_t __a
, int32x4_t __b
)
2379 return (int64x2_t
) __builtin_aarch64_ssubw2v4si (__a
, __b
);
2382 __extension__
extern __inline uint16x8_t
2383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2384 vsubw_high_u8 (uint16x8_t __a
, uint8x16_t __b
)
2386 return (uint16x8_t
) __builtin_aarch64_usubw2v16qi ((int16x8_t
) __a
,
2390 __extension__
extern __inline uint32x4_t
2391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2392 vsubw_high_u16 (uint32x4_t __a
, uint16x8_t __b
)
2394 return (uint32x4_t
) __builtin_aarch64_usubw2v8hi ((int32x4_t
) __a
,
2398 __extension__
extern __inline uint64x2_t
2399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2400 vsubw_high_u32 (uint64x2_t __a
, uint32x4_t __b
)
2402 return (uint64x2_t
) __builtin_aarch64_usubw2v4si ((int64x2_t
) __a
,
2406 __extension__
extern __inline int8x8_t
2407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2408 vqadd_s8 (int8x8_t __a
, int8x8_t __b
)
2410 return (int8x8_t
) __builtin_aarch64_sqaddv8qi (__a
, __b
);
2413 __extension__
extern __inline int16x4_t
2414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2415 vqadd_s16 (int16x4_t __a
, int16x4_t __b
)
2417 return (int16x4_t
) __builtin_aarch64_sqaddv4hi (__a
, __b
);
2420 __extension__
extern __inline int32x2_t
2421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2422 vqadd_s32 (int32x2_t __a
, int32x2_t __b
)
2424 return (int32x2_t
) __builtin_aarch64_sqaddv2si (__a
, __b
);
2427 __extension__
extern __inline int64x1_t
2428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2429 vqadd_s64 (int64x1_t __a
, int64x1_t __b
)
2431 return (int64x1_t
) {__builtin_aarch64_sqadddi (__a
[0], __b
[0])};
2434 __extension__
extern __inline uint8x8_t
2435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2436 vqadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
2438 return __builtin_aarch64_uqaddv8qi_uuu (__a
, __b
);
2441 __extension__
extern __inline int8x8_t
2442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2443 vhsub_s8 (int8x8_t __a
, int8x8_t __b
)
2445 return (int8x8_t
)__builtin_aarch64_shsubv8qi (__a
, __b
);
2448 __extension__
extern __inline int16x4_t
2449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2450 vhsub_s16 (int16x4_t __a
, int16x4_t __b
)
2452 return (int16x4_t
) __builtin_aarch64_shsubv4hi (__a
, __b
);
2455 __extension__
extern __inline int32x2_t
2456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2457 vhsub_s32 (int32x2_t __a
, int32x2_t __b
)
2459 return (int32x2_t
) __builtin_aarch64_shsubv2si (__a
, __b
);
2462 __extension__
extern __inline uint8x8_t
2463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2464 vhsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
2466 return (uint8x8_t
) __builtin_aarch64_uhsubv8qi ((int8x8_t
) __a
,
2470 __extension__
extern __inline uint16x4_t
2471 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2472 vhsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
2474 return (uint16x4_t
) __builtin_aarch64_uhsubv4hi ((int16x4_t
) __a
,
2478 __extension__
extern __inline uint32x2_t
2479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2480 vhsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
2482 return (uint32x2_t
) __builtin_aarch64_uhsubv2si ((int32x2_t
) __a
,
2486 __extension__
extern __inline int8x16_t
2487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2488 vhsubq_s8 (int8x16_t __a
, int8x16_t __b
)
2490 return (int8x16_t
) __builtin_aarch64_shsubv16qi (__a
, __b
);
2493 __extension__
extern __inline int16x8_t
2494 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2495 vhsubq_s16 (int16x8_t __a
, int16x8_t __b
)
2497 return (int16x8_t
) __builtin_aarch64_shsubv8hi (__a
, __b
);
2500 __extension__
extern __inline int32x4_t
2501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2502 vhsubq_s32 (int32x4_t __a
, int32x4_t __b
)
2504 return (int32x4_t
) __builtin_aarch64_shsubv4si (__a
, __b
);
2507 __extension__
extern __inline uint8x16_t
2508 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2509 vhsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2511 return (uint8x16_t
) __builtin_aarch64_uhsubv16qi ((int8x16_t
) __a
,
2515 __extension__
extern __inline uint16x8_t
2516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2517 vhsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2519 return (uint16x8_t
) __builtin_aarch64_uhsubv8hi ((int16x8_t
) __a
,
2523 __extension__
extern __inline uint32x4_t
2524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2525 vhsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2527 return (uint32x4_t
) __builtin_aarch64_uhsubv4si ((int32x4_t
) __a
,
2531 __extension__
extern __inline int8x8_t
2532 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2533 vsubhn_s16 (int16x8_t __a
, int16x8_t __b
)
2535 return (int8x8_t
) __builtin_aarch64_subhnv8hi (__a
, __b
);
2538 __extension__
extern __inline int16x4_t
2539 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2540 vsubhn_s32 (int32x4_t __a
, int32x4_t __b
)
2542 return (int16x4_t
) __builtin_aarch64_subhnv4si (__a
, __b
);
2545 __extension__
extern __inline int32x2_t
2546 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2547 vsubhn_s64 (int64x2_t __a
, int64x2_t __b
)
2549 return (int32x2_t
) __builtin_aarch64_subhnv2di (__a
, __b
);
2552 __extension__
extern __inline uint8x8_t
2553 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2554 vsubhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
2556 return (uint8x8_t
) __builtin_aarch64_subhnv8hi ((int16x8_t
) __a
,
2560 __extension__
extern __inline uint16x4_t
2561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2562 vsubhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
2564 return (uint16x4_t
) __builtin_aarch64_subhnv4si ((int32x4_t
) __a
,
2568 __extension__
extern __inline uint32x2_t
2569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2570 vsubhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
2572 return (uint32x2_t
) __builtin_aarch64_subhnv2di ((int64x2_t
) __a
,
2576 __extension__
extern __inline int8x8_t
2577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2578 vrsubhn_s16 (int16x8_t __a
, int16x8_t __b
)
2580 return (int8x8_t
) __builtin_aarch64_rsubhnv8hi (__a
, __b
);
2583 __extension__
extern __inline int16x4_t
2584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2585 vrsubhn_s32 (int32x4_t __a
, int32x4_t __b
)
2587 return (int16x4_t
) __builtin_aarch64_rsubhnv4si (__a
, __b
);
2590 __extension__
extern __inline int32x2_t
2591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2592 vrsubhn_s64 (int64x2_t __a
, int64x2_t __b
)
2594 return (int32x2_t
) __builtin_aarch64_rsubhnv2di (__a
, __b
);
2597 __extension__
extern __inline uint8x8_t
2598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2599 vrsubhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
2601 return (uint8x8_t
) __builtin_aarch64_rsubhnv8hi ((int16x8_t
) __a
,
2605 __extension__
extern __inline uint16x4_t
2606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2607 vrsubhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
2609 return (uint16x4_t
) __builtin_aarch64_rsubhnv4si ((int32x4_t
) __a
,
2613 __extension__
extern __inline uint32x2_t
2614 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2615 vrsubhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
2617 return (uint32x2_t
) __builtin_aarch64_rsubhnv2di ((int64x2_t
) __a
,
2621 __extension__
extern __inline int8x16_t
2622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2623 vrsubhn_high_s16 (int8x8_t __a
, int16x8_t __b
, int16x8_t __c
)
2625 return (int8x16_t
) __builtin_aarch64_rsubhn2v8hi (__a
, __b
, __c
);
2628 __extension__
extern __inline int16x8_t
2629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2630 vrsubhn_high_s32 (int16x4_t __a
, int32x4_t __b
, int32x4_t __c
)
2632 return (int16x8_t
) __builtin_aarch64_rsubhn2v4si (__a
, __b
, __c
);
2635 __extension__
extern __inline int32x4_t
2636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2637 vrsubhn_high_s64 (int32x2_t __a
, int64x2_t __b
, int64x2_t __c
)
2639 return (int32x4_t
) __builtin_aarch64_rsubhn2v2di (__a
, __b
, __c
);
2642 __extension__
extern __inline uint8x16_t
2643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2644 vrsubhn_high_u16 (uint8x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
2646 return (uint8x16_t
) __builtin_aarch64_rsubhn2v8hi ((int8x8_t
) __a
,
2651 __extension__
extern __inline uint16x8_t
2652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2653 vrsubhn_high_u32 (uint16x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
2655 return (uint16x8_t
) __builtin_aarch64_rsubhn2v4si ((int16x4_t
) __a
,
2660 __extension__
extern __inline uint32x4_t
2661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2662 vrsubhn_high_u64 (uint32x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
2664 return (uint32x4_t
) __builtin_aarch64_rsubhn2v2di ((int32x2_t
) __a
,
2669 __extension__
extern __inline int8x16_t
2670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2671 vsubhn_high_s16 (int8x8_t __a
, int16x8_t __b
, int16x8_t __c
)
2673 return (int8x16_t
) __builtin_aarch64_subhn2v8hi (__a
, __b
, __c
);
2676 __extension__
extern __inline int16x8_t
2677 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2678 vsubhn_high_s32 (int16x4_t __a
, int32x4_t __b
, int32x4_t __c
)
2680 return (int16x8_t
) __builtin_aarch64_subhn2v4si (__a
, __b
, __c
);;
2683 __extension__
extern __inline int32x4_t
2684 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2685 vsubhn_high_s64 (int32x2_t __a
, int64x2_t __b
, int64x2_t __c
)
2687 return (int32x4_t
) __builtin_aarch64_subhn2v2di (__a
, __b
, __c
);
2690 __extension__
extern __inline uint8x16_t
2691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2692 vsubhn_high_u16 (uint8x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
2694 return (uint8x16_t
) __builtin_aarch64_subhn2v8hi ((int8x8_t
) __a
,
2699 __extension__
extern __inline uint16x8_t
2700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2701 vsubhn_high_u32 (uint16x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
2703 return (uint16x8_t
) __builtin_aarch64_subhn2v4si ((int16x4_t
) __a
,
2708 __extension__
extern __inline uint32x4_t
2709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2710 vsubhn_high_u64 (uint32x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
2712 return (uint32x4_t
) __builtin_aarch64_subhn2v2di ((int32x2_t
) __a
,
2717 __extension__
extern __inline uint16x4_t
2718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2719 vqadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
2721 return __builtin_aarch64_uqaddv4hi_uuu (__a
, __b
);
2724 __extension__
extern __inline uint32x2_t
2725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2726 vqadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
2728 return __builtin_aarch64_uqaddv2si_uuu (__a
, __b
);
2731 __extension__
extern __inline uint64x1_t
2732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2733 vqadd_u64 (uint64x1_t __a
, uint64x1_t __b
)
2735 return (uint64x1_t
) {__builtin_aarch64_uqadddi_uuu (__a
[0], __b
[0])};
2738 __extension__
extern __inline int8x16_t
2739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2740 vqaddq_s8 (int8x16_t __a
, int8x16_t __b
)
2742 return (int8x16_t
) __builtin_aarch64_sqaddv16qi (__a
, __b
);
2745 __extension__
extern __inline int16x8_t
2746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2747 vqaddq_s16 (int16x8_t __a
, int16x8_t __b
)
2749 return (int16x8_t
) __builtin_aarch64_sqaddv8hi (__a
, __b
);
2752 __extension__
extern __inline int32x4_t
2753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2754 vqaddq_s32 (int32x4_t __a
, int32x4_t __b
)
2756 return (int32x4_t
) __builtin_aarch64_sqaddv4si (__a
, __b
);
2759 __extension__
extern __inline int64x2_t
2760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2761 vqaddq_s64 (int64x2_t __a
, int64x2_t __b
)
2763 return (int64x2_t
) __builtin_aarch64_sqaddv2di (__a
, __b
);
2766 __extension__
extern __inline uint8x16_t
2767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2768 vqaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2770 return __builtin_aarch64_uqaddv16qi_uuu (__a
, __b
);
2773 __extension__
extern __inline uint16x8_t
2774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2775 vqaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2777 return __builtin_aarch64_uqaddv8hi_uuu (__a
, __b
);
2780 __extension__
extern __inline uint32x4_t
2781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2782 vqaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2784 return __builtin_aarch64_uqaddv4si_uuu (__a
, __b
);
2787 __extension__
extern __inline uint64x2_t
2788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2789 vqaddq_u64 (uint64x2_t __a
, uint64x2_t __b
)
2791 return __builtin_aarch64_uqaddv2di_uuu (__a
, __b
);
2794 __extension__
extern __inline int8x8_t
2795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2796 vqsub_s8 (int8x8_t __a
, int8x8_t __b
)
2798 return (int8x8_t
) __builtin_aarch64_sqsubv8qi (__a
, __b
);
2801 __extension__
extern __inline int16x4_t
2802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2803 vqsub_s16 (int16x4_t __a
, int16x4_t __b
)
2805 return (int16x4_t
) __builtin_aarch64_sqsubv4hi (__a
, __b
);
2808 __extension__
extern __inline int32x2_t
2809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2810 vqsub_s32 (int32x2_t __a
, int32x2_t __b
)
2812 return (int32x2_t
) __builtin_aarch64_sqsubv2si (__a
, __b
);
2815 __extension__
extern __inline int64x1_t
2816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2817 vqsub_s64 (int64x1_t __a
, int64x1_t __b
)
2819 return (int64x1_t
) {__builtin_aarch64_sqsubdi (__a
[0], __b
[0])};
2822 __extension__
extern __inline uint8x8_t
2823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2824 vqsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
2826 return __builtin_aarch64_uqsubv8qi_uuu (__a
, __b
);
2829 __extension__
extern __inline uint16x4_t
2830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2831 vqsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
2833 return __builtin_aarch64_uqsubv4hi_uuu (__a
, __b
);
2836 __extension__
extern __inline uint32x2_t
2837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2838 vqsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
2840 return __builtin_aarch64_uqsubv2si_uuu (__a
, __b
);
2843 __extension__
extern __inline uint64x1_t
2844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2845 vqsub_u64 (uint64x1_t __a
, uint64x1_t __b
)
2847 return (uint64x1_t
) {__builtin_aarch64_uqsubdi_uuu (__a
[0], __b
[0])};
2850 __extension__
extern __inline int8x16_t
2851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2852 vqsubq_s8 (int8x16_t __a
, int8x16_t __b
)
2854 return (int8x16_t
) __builtin_aarch64_sqsubv16qi (__a
, __b
);
2857 __extension__
extern __inline int16x8_t
2858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2859 vqsubq_s16 (int16x8_t __a
, int16x8_t __b
)
2861 return (int16x8_t
) __builtin_aarch64_sqsubv8hi (__a
, __b
);
2864 __extension__
extern __inline int32x4_t
2865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2866 vqsubq_s32 (int32x4_t __a
, int32x4_t __b
)
2868 return (int32x4_t
) __builtin_aarch64_sqsubv4si (__a
, __b
);
2871 __extension__
extern __inline int64x2_t
2872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2873 vqsubq_s64 (int64x2_t __a
, int64x2_t __b
)
2875 return (int64x2_t
) __builtin_aarch64_sqsubv2di (__a
, __b
);
2878 __extension__
extern __inline uint8x16_t
2879 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2880 vqsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2882 return __builtin_aarch64_uqsubv16qi_uuu (__a
, __b
);
2885 __extension__
extern __inline uint16x8_t
2886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2887 vqsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2889 return __builtin_aarch64_uqsubv8hi_uuu (__a
, __b
);
2892 __extension__
extern __inline uint32x4_t
2893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2894 vqsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2896 return __builtin_aarch64_uqsubv4si_uuu (__a
, __b
);
2899 __extension__
extern __inline uint64x2_t
2900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2901 vqsubq_u64 (uint64x2_t __a
, uint64x2_t __b
)
2903 return __builtin_aarch64_uqsubv2di_uuu (__a
, __b
);
2906 __extension__
extern __inline int8x8_t
2907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2908 vqneg_s8 (int8x8_t __a
)
2910 return (int8x8_t
) __builtin_aarch64_sqnegv8qi (__a
);
2913 __extension__
extern __inline int16x4_t
2914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2915 vqneg_s16 (int16x4_t __a
)
2917 return (int16x4_t
) __builtin_aarch64_sqnegv4hi (__a
);
2920 __extension__
extern __inline int32x2_t
2921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2922 vqneg_s32 (int32x2_t __a
)
2924 return (int32x2_t
) __builtin_aarch64_sqnegv2si (__a
);
2927 __extension__
extern __inline int64x1_t
2928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2929 vqneg_s64 (int64x1_t __a
)
2931 return (int64x1_t
) {__builtin_aarch64_sqnegdi (__a
[0])};
2934 __extension__
extern __inline int8x16_t
2935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2936 vqnegq_s8 (int8x16_t __a
)
2938 return (int8x16_t
) __builtin_aarch64_sqnegv16qi (__a
);
2941 __extension__
extern __inline int16x8_t
2942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2943 vqnegq_s16 (int16x8_t __a
)
2945 return (int16x8_t
) __builtin_aarch64_sqnegv8hi (__a
);
2948 __extension__
extern __inline int32x4_t
2949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2950 vqnegq_s32 (int32x4_t __a
)
2952 return (int32x4_t
) __builtin_aarch64_sqnegv4si (__a
);
2955 __extension__
extern __inline int8x8_t
2956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2957 vqabs_s8 (int8x8_t __a
)
2959 return (int8x8_t
) __builtin_aarch64_sqabsv8qi (__a
);
2962 __extension__
extern __inline int16x4_t
2963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2964 vqabs_s16 (int16x4_t __a
)
2966 return (int16x4_t
) __builtin_aarch64_sqabsv4hi (__a
);
2969 __extension__
extern __inline int32x2_t
2970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2971 vqabs_s32 (int32x2_t __a
)
2973 return (int32x2_t
) __builtin_aarch64_sqabsv2si (__a
);
2976 __extension__
extern __inline int64x1_t
2977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2978 vqabs_s64 (int64x1_t __a
)
2980 return (int64x1_t
) {__builtin_aarch64_sqabsdi (__a
[0])};
2983 __extension__
extern __inline int8x16_t
2984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2985 vqabsq_s8 (int8x16_t __a
)
2987 return (int8x16_t
) __builtin_aarch64_sqabsv16qi (__a
);
2990 __extension__
extern __inline int16x8_t
2991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2992 vqabsq_s16 (int16x8_t __a
)
2994 return (int16x8_t
) __builtin_aarch64_sqabsv8hi (__a
);
2997 __extension__
extern __inline int32x4_t
2998 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2999 vqabsq_s32 (int32x4_t __a
)
3001 return (int32x4_t
) __builtin_aarch64_sqabsv4si (__a
);
3004 __extension__
extern __inline int16x4_t
3005 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3006 vqdmulh_s16 (int16x4_t __a
, int16x4_t __b
)
3008 return (int16x4_t
) __builtin_aarch64_sqdmulhv4hi (__a
, __b
);
3011 __extension__
extern __inline int32x2_t
3012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3013 vqdmulh_s32 (int32x2_t __a
, int32x2_t __b
)
3015 return (int32x2_t
) __builtin_aarch64_sqdmulhv2si (__a
, __b
);
3018 __extension__
extern __inline int16x8_t
3019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3020 vqdmulhq_s16 (int16x8_t __a
, int16x8_t __b
)
3022 return (int16x8_t
) __builtin_aarch64_sqdmulhv8hi (__a
, __b
);
3025 __extension__
extern __inline int32x4_t
3026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3027 vqdmulhq_s32 (int32x4_t __a
, int32x4_t __b
)
3029 return (int32x4_t
) __builtin_aarch64_sqdmulhv4si (__a
, __b
);
3032 __extension__
extern __inline int16x4_t
3033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3034 vqrdmulh_s16 (int16x4_t __a
, int16x4_t __b
)
3036 return (int16x4_t
) __builtin_aarch64_sqrdmulhv4hi (__a
, __b
);
3039 __extension__
extern __inline int32x2_t
3040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3041 vqrdmulh_s32 (int32x2_t __a
, int32x2_t __b
)
3043 return (int32x2_t
) __builtin_aarch64_sqrdmulhv2si (__a
, __b
);
3046 __extension__
extern __inline int16x8_t
3047 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3048 vqrdmulhq_s16 (int16x8_t __a
, int16x8_t __b
)
3050 return (int16x8_t
) __builtin_aarch64_sqrdmulhv8hi (__a
, __b
);
3053 __extension__
extern __inline int32x4_t
3054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3055 vqrdmulhq_s32 (int32x4_t __a
, int32x4_t __b
)
3057 return (int32x4_t
) __builtin_aarch64_sqrdmulhv4si (__a
, __b
);
3060 __extension__
extern __inline int8x8_t
3061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3062 vcreate_s8 (uint64_t __a
)
3064 return (int8x8_t
) __a
;
3067 __extension__
extern __inline int16x4_t
3068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3069 vcreate_s16 (uint64_t __a
)
3071 return (int16x4_t
) __a
;
3074 __extension__
extern __inline int32x2_t
3075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3076 vcreate_s32 (uint64_t __a
)
3078 return (int32x2_t
) __a
;
3081 __extension__
extern __inline int64x1_t
3082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3083 vcreate_s64 (uint64_t __a
)
3085 return (int64x1_t
) {__a
};
3088 __extension__
extern __inline float16x4_t
3089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3090 vcreate_f16 (uint64_t __a
)
3092 return (float16x4_t
) __a
;
3095 __extension__
extern __inline float32x2_t
3096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3097 vcreate_f32 (uint64_t __a
)
3099 return (float32x2_t
) __a
;
3102 __extension__
extern __inline uint8x8_t
3103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3104 vcreate_u8 (uint64_t __a
)
3106 return (uint8x8_t
) __a
;
3109 __extension__
extern __inline uint16x4_t
3110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3111 vcreate_u16 (uint64_t __a
)
3113 return (uint16x4_t
) __a
;
3116 __extension__
extern __inline uint32x2_t
3117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3118 vcreate_u32 (uint64_t __a
)
3120 return (uint32x2_t
) __a
;
3123 __extension__
extern __inline uint64x1_t
3124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3125 vcreate_u64 (uint64_t __a
)
3127 return (uint64x1_t
) {__a
};
3130 __extension__
extern __inline float64x1_t
3131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3132 vcreate_f64 (uint64_t __a
)
3134 return (float64x1_t
) __a
;
3137 __extension__
extern __inline poly8x8_t
3138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3139 vcreate_p8 (uint64_t __a
)
3141 return (poly8x8_t
) __a
;
3144 __extension__
extern __inline poly16x4_t
3145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3146 vcreate_p16 (uint64_t __a
)
3148 return (poly16x4_t
) __a
;
3151 __extension__
extern __inline poly64x1_t
3152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3153 vcreate_p64 (uint64_t __a
)
3155 return (poly64x1_t
) __a
;
3160 __extension__
extern __inline float16_t
3161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3162 vget_lane_f16 (float16x4_t __a
, const int __b
)
3164 return __aarch64_vget_lane_any (__a
, __b
);
3167 __extension__
extern __inline float32_t
3168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3169 vget_lane_f32 (float32x2_t __a
, const int __b
)
3171 return __aarch64_vget_lane_any (__a
, __b
);
3174 __extension__
extern __inline float64_t
3175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3176 vget_lane_f64 (float64x1_t __a
, const int __b
)
3178 return __aarch64_vget_lane_any (__a
, __b
);
3181 __extension__
extern __inline poly8_t
3182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3183 vget_lane_p8 (poly8x8_t __a
, const int __b
)
3185 return __aarch64_vget_lane_any (__a
, __b
);
3188 __extension__
extern __inline poly16_t
3189 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3190 vget_lane_p16 (poly16x4_t __a
, const int __b
)
3192 return __aarch64_vget_lane_any (__a
, __b
);
3195 __extension__
extern __inline poly64_t
3196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3197 vget_lane_p64 (poly64x1_t __a
, const int __b
)
3199 return __aarch64_vget_lane_any (__a
, __b
);
3202 __extension__
extern __inline
int8_t
3203 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3204 vget_lane_s8 (int8x8_t __a
, const int __b
)
3206 return __aarch64_vget_lane_any (__a
, __b
);
3209 __extension__
extern __inline
int16_t
3210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3211 vget_lane_s16 (int16x4_t __a
, const int __b
)
3213 return __aarch64_vget_lane_any (__a
, __b
);
3216 __extension__
extern __inline
int32_t
3217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3218 vget_lane_s32 (int32x2_t __a
, const int __b
)
3220 return __aarch64_vget_lane_any (__a
, __b
);
3223 __extension__
extern __inline
int64_t
3224 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3225 vget_lane_s64 (int64x1_t __a
, const int __b
)
3227 return __aarch64_vget_lane_any (__a
, __b
);
3230 __extension__
extern __inline
uint8_t
3231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3232 vget_lane_u8 (uint8x8_t __a
, const int __b
)
3234 return __aarch64_vget_lane_any (__a
, __b
);
3237 __extension__
extern __inline
uint16_t
3238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3239 vget_lane_u16 (uint16x4_t __a
, const int __b
)
3241 return __aarch64_vget_lane_any (__a
, __b
);
3244 __extension__
extern __inline
uint32_t
3245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3246 vget_lane_u32 (uint32x2_t __a
, const int __b
)
3248 return __aarch64_vget_lane_any (__a
, __b
);
3251 __extension__
extern __inline
uint64_t
3252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3253 vget_lane_u64 (uint64x1_t __a
, const int __b
)
3255 return __aarch64_vget_lane_any (__a
, __b
);
3260 __extension__
extern __inline float16_t
3261 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3262 vgetq_lane_f16 (float16x8_t __a
, const int __b
)
3264 return __aarch64_vget_lane_any (__a
, __b
);
3267 __extension__
extern __inline float32_t
3268 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3269 vgetq_lane_f32 (float32x4_t __a
, const int __b
)
3271 return __aarch64_vget_lane_any (__a
, __b
);
3274 __extension__
extern __inline float64_t
3275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3276 vgetq_lane_f64 (float64x2_t __a
, const int __b
)
3278 return __aarch64_vget_lane_any (__a
, __b
);
3281 __extension__
extern __inline poly8_t
3282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3283 vgetq_lane_p8 (poly8x16_t __a
, const int __b
)
3285 return __aarch64_vget_lane_any (__a
, __b
);
3288 __extension__
extern __inline poly16_t
3289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3290 vgetq_lane_p16 (poly16x8_t __a
, const int __b
)
3292 return __aarch64_vget_lane_any (__a
, __b
);
3295 __extension__
extern __inline poly64_t
3296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3297 vgetq_lane_p64 (poly64x2_t __a
, const int __b
)
3299 return __aarch64_vget_lane_any (__a
, __b
);
3302 __extension__
extern __inline
int8_t
3303 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3304 vgetq_lane_s8 (int8x16_t __a
, const int __b
)
3306 return __aarch64_vget_lane_any (__a
, __b
);
3309 __extension__
extern __inline
int16_t
3310 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3311 vgetq_lane_s16 (int16x8_t __a
, const int __b
)
3313 return __aarch64_vget_lane_any (__a
, __b
);
3316 __extension__
extern __inline
int32_t
3317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3318 vgetq_lane_s32 (int32x4_t __a
, const int __b
)
3320 return __aarch64_vget_lane_any (__a
, __b
);
3323 __extension__
extern __inline
int64_t
3324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3325 vgetq_lane_s64 (int64x2_t __a
, const int __b
)
3327 return __aarch64_vget_lane_any (__a
, __b
);
3330 __extension__
extern __inline
uint8_t
3331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3332 vgetq_lane_u8 (uint8x16_t __a
, const int __b
)
3334 return __aarch64_vget_lane_any (__a
, __b
);
3337 __extension__
extern __inline
uint16_t
3338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3339 vgetq_lane_u16 (uint16x8_t __a
, const int __b
)
3341 return __aarch64_vget_lane_any (__a
, __b
);
3344 __extension__
extern __inline
uint32_t
3345 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3346 vgetq_lane_u32 (uint32x4_t __a
, const int __b
)
3348 return __aarch64_vget_lane_any (__a
, __b
);
3351 __extension__
extern __inline
uint64_t
3352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3353 vgetq_lane_u64 (uint64x2_t __a
, const int __b
)
3355 return __aarch64_vget_lane_any (__a
, __b
);
3360 __extension__
extern __inline poly8x8_t
3361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3362 vreinterpret_p8_f16 (float16x4_t __a
)
3364 return (poly8x8_t
) __a
;
3367 __extension__
extern __inline poly8x8_t
3368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3369 vreinterpret_p8_f64 (float64x1_t __a
)
3371 return (poly8x8_t
) __a
;
3374 __extension__
extern __inline poly8x8_t
3375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3376 vreinterpret_p8_s8 (int8x8_t __a
)
3378 return (poly8x8_t
) __a
;
3381 __extension__
extern __inline poly8x8_t
3382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3383 vreinterpret_p8_s16 (int16x4_t __a
)
3385 return (poly8x8_t
) __a
;
3388 __extension__
extern __inline poly8x8_t
3389 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3390 vreinterpret_p8_s32 (int32x2_t __a
)
3392 return (poly8x8_t
) __a
;
3395 __extension__
extern __inline poly8x8_t
3396 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3397 vreinterpret_p8_s64 (int64x1_t __a
)
3399 return (poly8x8_t
) __a
;
3402 __extension__
extern __inline poly8x8_t
3403 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3404 vreinterpret_p8_f32 (float32x2_t __a
)
3406 return (poly8x8_t
) __a
;
3409 __extension__
extern __inline poly8x8_t
3410 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3411 vreinterpret_p8_u8 (uint8x8_t __a
)
3413 return (poly8x8_t
) __a
;
3416 __extension__
extern __inline poly8x8_t
3417 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3418 vreinterpret_p8_u16 (uint16x4_t __a
)
3420 return (poly8x8_t
) __a
;
3423 __extension__
extern __inline poly8x8_t
3424 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3425 vreinterpret_p8_u32 (uint32x2_t __a
)
3427 return (poly8x8_t
) __a
;
3430 __extension__
extern __inline poly8x8_t
3431 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3432 vreinterpret_p8_u64 (uint64x1_t __a
)
3434 return (poly8x8_t
) __a
;
3437 __extension__
extern __inline poly8x8_t
3438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3439 vreinterpret_p8_p16 (poly16x4_t __a
)
3441 return (poly8x8_t
) __a
;
3444 __extension__
extern __inline poly8x8_t
3445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3446 vreinterpret_p8_p64 (poly64x1_t __a
)
3448 return (poly8x8_t
) __a
;
3451 __extension__
extern __inline poly8x16_t
3452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3453 vreinterpretq_p8_f64 (float64x2_t __a
)
3455 return (poly8x16_t
) __a
;
3458 __extension__
extern __inline poly8x16_t
3459 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3460 vreinterpretq_p8_s8 (int8x16_t __a
)
3462 return (poly8x16_t
) __a
;
3465 __extension__
extern __inline poly8x16_t
3466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3467 vreinterpretq_p8_s16 (int16x8_t __a
)
3469 return (poly8x16_t
) __a
;
3472 __extension__
extern __inline poly8x16_t
3473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3474 vreinterpretq_p8_s32 (int32x4_t __a
)
3476 return (poly8x16_t
) __a
;
3479 __extension__
extern __inline poly8x16_t
3480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3481 vreinterpretq_p8_s64 (int64x2_t __a
)
3483 return (poly8x16_t
) __a
;
3486 __extension__
extern __inline poly8x16_t
3487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3488 vreinterpretq_p8_f16 (float16x8_t __a
)
3490 return (poly8x16_t
) __a
;
3493 __extension__
extern __inline poly8x16_t
3494 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3495 vreinterpretq_p8_f32 (float32x4_t __a
)
3497 return (poly8x16_t
) __a
;
3500 __extension__
extern __inline poly8x16_t
3501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3502 vreinterpretq_p8_u8 (uint8x16_t __a
)
3504 return (poly8x16_t
) __a
;
3507 __extension__
extern __inline poly8x16_t
3508 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3509 vreinterpretq_p8_u16 (uint16x8_t __a
)
3511 return (poly8x16_t
) __a
;
3514 __extension__
extern __inline poly8x16_t
3515 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3516 vreinterpretq_p8_u32 (uint32x4_t __a
)
3518 return (poly8x16_t
) __a
;
3521 __extension__
extern __inline poly8x16_t
3522 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3523 vreinterpretq_p8_u64 (uint64x2_t __a
)
3525 return (poly8x16_t
) __a
;
3528 __extension__
extern __inline poly8x16_t
3529 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3530 vreinterpretq_p8_p16 (poly16x8_t __a
)
3532 return (poly8x16_t
) __a
;
3535 __extension__
extern __inline poly8x16_t
3536 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3537 vreinterpretq_p8_p64 (poly64x2_t __a
)
3539 return (poly8x16_t
) __a
;
3542 __extension__
extern __inline poly8x16_t
3543 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3544 vreinterpretq_p8_p128 (poly128_t __a
)
3546 return (poly8x16_t
)__a
;
3549 __extension__
extern __inline poly16x4_t
3550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3551 vreinterpret_p16_f16 (float16x4_t __a
)
3553 return (poly16x4_t
) __a
;
3556 __extension__
extern __inline poly16x4_t
3557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3558 vreinterpret_p16_f64 (float64x1_t __a
)
3560 return (poly16x4_t
) __a
;
3563 __extension__
extern __inline poly16x4_t
3564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3565 vreinterpret_p16_s8 (int8x8_t __a
)
3567 return (poly16x4_t
) __a
;
3570 __extension__
extern __inline poly16x4_t
3571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3572 vreinterpret_p16_s16 (int16x4_t __a
)
3574 return (poly16x4_t
) __a
;
3577 __extension__
extern __inline poly16x4_t
3578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3579 vreinterpret_p16_s32 (int32x2_t __a
)
3581 return (poly16x4_t
) __a
;
3584 __extension__
extern __inline poly16x4_t
3585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3586 vreinterpret_p16_s64 (int64x1_t __a
)
3588 return (poly16x4_t
) __a
;
3591 __extension__
extern __inline poly16x4_t
3592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3593 vreinterpret_p16_f32 (float32x2_t __a
)
3595 return (poly16x4_t
) __a
;
3598 __extension__
extern __inline poly16x4_t
3599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3600 vreinterpret_p16_u8 (uint8x8_t __a
)
3602 return (poly16x4_t
) __a
;
3605 __extension__
extern __inline poly16x4_t
3606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3607 vreinterpret_p16_u16 (uint16x4_t __a
)
3609 return (poly16x4_t
) __a
;
3612 __extension__
extern __inline poly16x4_t
3613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3614 vreinterpret_p16_u32 (uint32x2_t __a
)
3616 return (poly16x4_t
) __a
;
3619 __extension__
extern __inline poly16x4_t
3620 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3621 vreinterpret_p16_u64 (uint64x1_t __a
)
3623 return (poly16x4_t
) __a
;
3626 __extension__
extern __inline poly16x4_t
3627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3628 vreinterpret_p16_p8 (poly8x8_t __a
)
3630 return (poly16x4_t
) __a
;
3633 __extension__
extern __inline poly16x4_t
3634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3635 vreinterpret_p16_p64 (poly64x1_t __a
)
3637 return (poly16x4_t
) __a
;
3640 __extension__
extern __inline poly16x8_t
3641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3642 vreinterpretq_p16_f64 (float64x2_t __a
)
3644 return (poly16x8_t
) __a
;
3647 __extension__
extern __inline poly16x8_t
3648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3649 vreinterpretq_p16_s8 (int8x16_t __a
)
3651 return (poly16x8_t
) __a
;
3654 __extension__
extern __inline poly16x8_t
3655 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3656 vreinterpretq_p16_s16 (int16x8_t __a
)
3658 return (poly16x8_t
) __a
;
3661 __extension__
extern __inline poly16x8_t
3662 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3663 vreinterpretq_p16_s32 (int32x4_t __a
)
3665 return (poly16x8_t
) __a
;
3668 __extension__
extern __inline poly16x8_t
3669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3670 vreinterpretq_p16_s64 (int64x2_t __a
)
3672 return (poly16x8_t
) __a
;
3675 __extension__
extern __inline poly16x8_t
3676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3677 vreinterpretq_p16_f16 (float16x8_t __a
)
3679 return (poly16x8_t
) __a
;
3682 __extension__
extern __inline poly16x8_t
3683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3684 vreinterpretq_p16_f32 (float32x4_t __a
)
3686 return (poly16x8_t
) __a
;
3689 __extension__
extern __inline poly16x8_t
3690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3691 vreinterpretq_p16_u8 (uint8x16_t __a
)
3693 return (poly16x8_t
) __a
;
3696 __extension__
extern __inline poly16x8_t
3697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3698 vreinterpretq_p16_u16 (uint16x8_t __a
)
3700 return (poly16x8_t
) __a
;
3703 __extension__
extern __inline poly16x8_t
3704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3705 vreinterpretq_p16_u32 (uint32x4_t __a
)
3707 return (poly16x8_t
) __a
;
3710 __extension__
extern __inline poly16x8_t
3711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3712 vreinterpretq_p16_u64 (uint64x2_t __a
)
3714 return (poly16x8_t
) __a
;
3717 __extension__
extern __inline poly16x8_t
3718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3719 vreinterpretq_p16_p8 (poly8x16_t __a
)
3721 return (poly16x8_t
) __a
;
3724 __extension__
extern __inline poly16x8_t
3725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3726 vreinterpretq_p16_p64 (poly64x2_t __a
)
3728 return (poly16x8_t
) __a
;
3731 __extension__
extern __inline poly16x8_t
3732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3733 vreinterpretq_p16_p128 (poly128_t __a
)
3735 return (poly16x8_t
)__a
;
3738 __extension__
extern __inline poly64x1_t
3739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3740 vreinterpret_p64_f16 (float16x4_t __a
)
3742 return (poly64x1_t
) __a
;
3745 __extension__
extern __inline poly64x1_t
3746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3747 vreinterpret_p64_f64 (float64x1_t __a
)
3749 return (poly64x1_t
) __a
;
3752 __extension__
extern __inline poly64x1_t
3753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3754 vreinterpret_p64_s8 (int8x8_t __a
)
3756 return (poly64x1_t
) __a
;
3759 __extension__
extern __inline poly64x1_t
3760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3761 vreinterpret_p64_s16 (int16x4_t __a
)
3763 return (poly64x1_t
) __a
;
3766 __extension__
extern __inline poly64x1_t
3767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3768 vreinterpret_p64_s32 (int32x2_t __a
)
3770 return (poly64x1_t
) __a
;
3773 __extension__
extern __inline poly64x1_t
3774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3775 vreinterpret_p64_s64 (int64x1_t __a
)
3777 return (poly64x1_t
) __a
;
3780 __extension__
extern __inline poly64x1_t
3781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3782 vreinterpret_p64_f32 (float32x2_t __a
)
3784 return (poly64x1_t
) __a
;
3787 __extension__
extern __inline poly64x1_t
3788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3789 vreinterpret_p64_u8 (uint8x8_t __a
)
3791 return (poly64x1_t
) __a
;
3794 __extension__
extern __inline poly64x1_t
3795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3796 vreinterpret_p64_u16 (uint16x4_t __a
)
3798 return (poly64x1_t
) __a
;
3801 __extension__
extern __inline poly64x1_t
3802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3803 vreinterpret_p64_u32 (uint32x2_t __a
)
3805 return (poly64x1_t
) __a
;
3808 __extension__
extern __inline poly64x1_t
3809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3810 vreinterpret_p64_u64 (uint64x1_t __a
)
3812 return (poly64x1_t
) __a
;
3815 __extension__
extern __inline poly64x1_t
3816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3817 vreinterpret_p64_p8 (poly8x8_t __a
)
3819 return (poly64x1_t
) __a
;
3822 __extension__
extern __inline poly64x1_t
3823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3824 vreinterpret_p64_p16 (poly16x4_t __a
)
3826 return (poly64x1_t
)__a
;
3829 __extension__
extern __inline poly64x2_t
3830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3831 vreinterpretq_p64_f64 (float64x2_t __a
)
3833 return (poly64x2_t
) __a
;
3836 __extension__
extern __inline poly64x2_t
3837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3838 vreinterpretq_p64_s8 (int8x16_t __a
)
3840 return (poly64x2_t
) __a
;
3843 __extension__
extern __inline poly64x2_t
3844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3845 vreinterpretq_p64_s16 (int16x8_t __a
)
3847 return (poly64x2_t
) __a
;
3850 __extension__
extern __inline poly64x2_t
3851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3852 vreinterpretq_p64_s32 (int32x4_t __a
)
3854 return (poly64x2_t
) __a
;
3857 __extension__
extern __inline poly64x2_t
3858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3859 vreinterpretq_p64_s64 (int64x2_t __a
)
3861 return (poly64x2_t
) __a
;
3864 __extension__
extern __inline poly64x2_t
3865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3866 vreinterpretq_p64_f16 (float16x8_t __a
)
3868 return (poly64x2_t
) __a
;
3871 __extension__
extern __inline poly64x2_t
3872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3873 vreinterpretq_p64_f32 (float32x4_t __a
)
3875 return (poly64x2_t
) __a
;
3878 __extension__
extern __inline poly64x2_t
3879 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3880 vreinterpretq_p64_p128 (poly128_t __a
)
3882 return (poly64x2_t
)__a
;
3885 __extension__
extern __inline poly64x2_t
3886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3887 vreinterpretq_p64_u8 (uint8x16_t __a
)
3889 return (poly64x2_t
) __a
;
3892 __extension__
extern __inline poly64x2_t
3893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3894 vreinterpretq_p64_u16 (uint16x8_t __a
)
3896 return (poly64x2_t
) __a
;
3899 __extension__
extern __inline poly64x2_t
3900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3901 vreinterpretq_p64_p16 (poly16x8_t __a
)
3903 return (poly64x2_t
)__a
;
3906 __extension__
extern __inline poly64x2_t
3907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3908 vreinterpretq_p64_u32 (uint32x4_t __a
)
3910 return (poly64x2_t
) __a
;
3913 __extension__
extern __inline poly64x2_t
3914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3915 vreinterpretq_p64_u64 (uint64x2_t __a
)
3917 return (poly64x2_t
) __a
;
3920 __extension__
extern __inline poly64x2_t
3921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3922 vreinterpretq_p64_p8 (poly8x16_t __a
)
3924 return (poly64x2_t
) __a
;
3927 __extension__
extern __inline poly128_t
3928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3929 vreinterpretq_p128_p8 (poly8x16_t __a
)
3931 return (poly128_t
)__a
;
3934 __extension__
extern __inline poly128_t
3935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3936 vreinterpretq_p128_p16 (poly16x8_t __a
)
3938 return (poly128_t
)__a
;
3941 __extension__
extern __inline poly128_t
3942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3943 vreinterpretq_p128_f16 (float16x8_t __a
)
3945 return (poly128_t
) __a
;
3948 __extension__
extern __inline poly128_t
3949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3950 vreinterpretq_p128_f32 (float32x4_t __a
)
3952 return (poly128_t
)__a
;
3955 __extension__
extern __inline poly128_t
3956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3957 vreinterpretq_p128_p64 (poly64x2_t __a
)
3959 return (poly128_t
)__a
;
3962 __extension__
extern __inline poly128_t
3963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3964 vreinterpretq_p128_s64 (int64x2_t __a
)
3966 return (poly128_t
)__a
;
3969 __extension__
extern __inline poly128_t
3970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3971 vreinterpretq_p128_u64 (uint64x2_t __a
)
3973 return (poly128_t
)__a
;
3976 __extension__
extern __inline poly128_t
3977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3978 vreinterpretq_p128_s8 (int8x16_t __a
)
3980 return (poly128_t
)__a
;
3983 __extension__
extern __inline poly128_t
3984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3985 vreinterpretq_p128_s16 (int16x8_t __a
)
3987 return (poly128_t
)__a
;
3990 __extension__
extern __inline poly128_t
3991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3992 vreinterpretq_p128_s32 (int32x4_t __a
)
3994 return (poly128_t
)__a
;
3997 __extension__
extern __inline poly128_t
3998 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3999 vreinterpretq_p128_u8 (uint8x16_t __a
)
4001 return (poly128_t
)__a
;
4004 __extension__
extern __inline poly128_t
4005 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4006 vreinterpretq_p128_u16 (uint16x8_t __a
)
4008 return (poly128_t
)__a
;
4011 __extension__
extern __inline poly128_t
4012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4013 vreinterpretq_p128_u32 (uint32x4_t __a
)
4015 return (poly128_t
)__a
;
4018 __extension__
extern __inline float16x4_t
4019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4020 vreinterpret_f16_f64 (float64x1_t __a
)
4022 return (float16x4_t
) __a
;
4025 __extension__
extern __inline float16x4_t
4026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4027 vreinterpret_f16_s8 (int8x8_t __a
)
4029 return (float16x4_t
) __a
;
4032 __extension__
extern __inline float16x4_t
4033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4034 vreinterpret_f16_s16 (int16x4_t __a
)
4036 return (float16x4_t
) __a
;
4039 __extension__
extern __inline float16x4_t
4040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4041 vreinterpret_f16_s32 (int32x2_t __a
)
4043 return (float16x4_t
) __a
;
4046 __extension__
extern __inline float16x4_t
4047 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4048 vreinterpret_f16_s64 (int64x1_t __a
)
4050 return (float16x4_t
) __a
;
4053 __extension__
extern __inline float16x4_t
4054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4055 vreinterpret_f16_f32 (float32x2_t __a
)
4057 return (float16x4_t
) __a
;
4060 __extension__
extern __inline float16x4_t
4061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4062 vreinterpret_f16_u8 (uint8x8_t __a
)
4064 return (float16x4_t
) __a
;
4067 __extension__
extern __inline float16x4_t
4068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4069 vreinterpret_f16_u16 (uint16x4_t __a
)
4071 return (float16x4_t
) __a
;
4074 __extension__
extern __inline float16x4_t
4075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4076 vreinterpret_f16_u32 (uint32x2_t __a
)
4078 return (float16x4_t
) __a
;
4081 __extension__
extern __inline float16x4_t
4082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4083 vreinterpret_f16_u64 (uint64x1_t __a
)
4085 return (float16x4_t
) __a
;
4088 __extension__
extern __inline float16x4_t
4089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4090 vreinterpret_f16_p8 (poly8x8_t __a
)
4092 return (float16x4_t
) __a
;
4095 __extension__
extern __inline float16x4_t
4096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4097 vreinterpret_f16_p16 (poly16x4_t __a
)
4099 return (float16x4_t
) __a
;
4102 __extension__
extern __inline float16x4_t
4103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4104 vreinterpret_f16_p64 (poly64x1_t __a
)
4106 return (float16x4_t
) __a
;
4109 __extension__
extern __inline float16x8_t
4110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4111 vreinterpretq_f16_f64 (float64x2_t __a
)
4113 return (float16x8_t
) __a
;
4116 __extension__
extern __inline float16x8_t
4117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4118 vreinterpretq_f16_s8 (int8x16_t __a
)
4120 return (float16x8_t
) __a
;
4123 __extension__
extern __inline float16x8_t
4124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4125 vreinterpretq_f16_s16 (int16x8_t __a
)
4127 return (float16x8_t
) __a
;
4130 __extension__
extern __inline float16x8_t
4131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4132 vreinterpretq_f16_s32 (int32x4_t __a
)
4134 return (float16x8_t
) __a
;
4137 __extension__
extern __inline float16x8_t
4138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4139 vreinterpretq_f16_s64 (int64x2_t __a
)
4141 return (float16x8_t
) __a
;
4144 __extension__
extern __inline float16x8_t
4145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4146 vreinterpretq_f16_f32 (float32x4_t __a
)
4148 return (float16x8_t
) __a
;
4151 __extension__
extern __inline float16x8_t
4152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4153 vreinterpretq_f16_u8 (uint8x16_t __a
)
4155 return (float16x8_t
) __a
;
4158 __extension__
extern __inline float16x8_t
4159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4160 vreinterpretq_f16_u16 (uint16x8_t __a
)
4162 return (float16x8_t
) __a
;
4165 __extension__
extern __inline float16x8_t
4166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4167 vreinterpretq_f16_u32 (uint32x4_t __a
)
4169 return (float16x8_t
) __a
;
4172 __extension__
extern __inline float16x8_t
4173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4174 vreinterpretq_f16_u64 (uint64x2_t __a
)
4176 return (float16x8_t
) __a
;
4179 __extension__
extern __inline float16x8_t
4180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4181 vreinterpretq_f16_p8 (poly8x16_t __a
)
4183 return (float16x8_t
) __a
;
4186 __extension__
extern __inline float16x8_t
4187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4188 vreinterpretq_f16_p128 (poly128_t __a
)
4190 return (float16x8_t
) __a
;
4193 __extension__
extern __inline float16x8_t
4194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4195 vreinterpretq_f16_p16 (poly16x8_t __a
)
4197 return (float16x8_t
) __a
;
4200 __extension__
extern __inline float16x8_t
4201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4202 vreinterpretq_f16_p64 (poly64x2_t __a
)
4204 return (float16x8_t
) __a
;
4207 __extension__
extern __inline float32x2_t
4208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4209 vreinterpret_f32_f16 (float16x4_t __a
)
4211 return (float32x2_t
) __a
;
4214 __extension__
extern __inline float32x2_t
4215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4216 vreinterpret_f32_f64 (float64x1_t __a
)
4218 return (float32x2_t
) __a
;
4221 __extension__
extern __inline float32x2_t
4222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4223 vreinterpret_f32_s8 (int8x8_t __a
)
4225 return (float32x2_t
) __a
;
4228 __extension__
extern __inline float32x2_t
4229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4230 vreinterpret_f32_s16 (int16x4_t __a
)
4232 return (float32x2_t
) __a
;
4235 __extension__
extern __inline float32x2_t
4236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4237 vreinterpret_f32_s32 (int32x2_t __a
)
4239 return (float32x2_t
) __a
;
4242 __extension__
extern __inline float32x2_t
4243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4244 vreinterpret_f32_s64 (int64x1_t __a
)
4246 return (float32x2_t
) __a
;
4249 __extension__
extern __inline float32x2_t
4250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4251 vreinterpret_f32_u8 (uint8x8_t __a
)
4253 return (float32x2_t
) __a
;
4256 __extension__
extern __inline float32x2_t
4257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4258 vreinterpret_f32_u16 (uint16x4_t __a
)
4260 return (float32x2_t
) __a
;
4263 __extension__
extern __inline float32x2_t
4264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4265 vreinterpret_f32_u32 (uint32x2_t __a
)
4267 return (float32x2_t
) __a
;
4270 __extension__
extern __inline float32x2_t
4271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4272 vreinterpret_f32_u64 (uint64x1_t __a
)
4274 return (float32x2_t
) __a
;
4277 __extension__
extern __inline float32x2_t
4278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4279 vreinterpret_f32_p8 (poly8x8_t __a
)
4281 return (float32x2_t
) __a
;
4284 __extension__
extern __inline float32x2_t
4285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4286 vreinterpret_f32_p16 (poly16x4_t __a
)
4288 return (float32x2_t
) __a
;
4291 __extension__
extern __inline float32x2_t
4292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4293 vreinterpret_f32_p64 (poly64x1_t __a
)
4295 return (float32x2_t
) __a
;
4298 __extension__
extern __inline float32x4_t
4299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4300 vreinterpretq_f32_f16 (float16x8_t __a
)
4302 return (float32x4_t
) __a
;
4305 __extension__
extern __inline float32x4_t
4306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4307 vreinterpretq_f32_f64 (float64x2_t __a
)
4309 return (float32x4_t
) __a
;
4312 __extension__
extern __inline float32x4_t
4313 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4314 vreinterpretq_f32_s8 (int8x16_t __a
)
4316 return (float32x4_t
) __a
;
4319 __extension__
extern __inline float32x4_t
4320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4321 vreinterpretq_f32_s16 (int16x8_t __a
)
4323 return (float32x4_t
) __a
;
4326 __extension__
extern __inline float32x4_t
4327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4328 vreinterpretq_f32_s32 (int32x4_t __a
)
4330 return (float32x4_t
) __a
;
4333 __extension__
extern __inline float32x4_t
4334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4335 vreinterpretq_f32_s64 (int64x2_t __a
)
4337 return (float32x4_t
) __a
;
4340 __extension__
extern __inline float32x4_t
4341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4342 vreinterpretq_f32_u8 (uint8x16_t __a
)
4344 return (float32x4_t
) __a
;
4347 __extension__
extern __inline float32x4_t
4348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4349 vreinterpretq_f32_u16 (uint16x8_t __a
)
4351 return (float32x4_t
) __a
;
4354 __extension__
extern __inline float32x4_t
4355 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4356 vreinterpretq_f32_u32 (uint32x4_t __a
)
4358 return (float32x4_t
) __a
;
4361 __extension__
extern __inline float32x4_t
4362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4363 vreinterpretq_f32_u64 (uint64x2_t __a
)
4365 return (float32x4_t
) __a
;
4368 __extension__
extern __inline float32x4_t
4369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4370 vreinterpretq_f32_p8 (poly8x16_t __a
)
4372 return (float32x4_t
) __a
;
4375 __extension__
extern __inline float32x4_t
4376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4377 vreinterpretq_f32_p16 (poly16x8_t __a
)
4379 return (float32x4_t
) __a
;
4382 __extension__
extern __inline float32x4_t
4383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4384 vreinterpretq_f32_p64 (poly64x2_t __a
)
4386 return (float32x4_t
) __a
;
4389 __extension__
extern __inline float32x4_t
4390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4391 vreinterpretq_f32_p128 (poly128_t __a
)
4393 return (float32x4_t
)__a
;
4397 __extension__
extern __inline float64x1_t
4398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4399 vreinterpret_f64_f16 (float16x4_t __a
)
4401 return (float64x1_t
) __a
;
4404 __extension__
extern __inline float64x1_t
4405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4406 vreinterpret_f64_f32 (float32x2_t __a
)
4408 return (float64x1_t
) __a
;
4411 __extension__
extern __inline float64x1_t
4412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4413 vreinterpret_f64_p8 (poly8x8_t __a
)
4415 return (float64x1_t
) __a
;
4418 __extension__
extern __inline float64x1_t
4419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4420 vreinterpret_f64_p16 (poly16x4_t __a
)
4422 return (float64x1_t
) __a
;
4425 __extension__
extern __inline float64x1_t
4426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4427 vreinterpret_f64_p64 (poly64x1_t __a
)
4429 return (float64x1_t
) __a
;
4432 __extension__
extern __inline float64x1_t
4433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4434 vreinterpret_f64_s8 (int8x8_t __a
)
4436 return (float64x1_t
) __a
;
4439 __extension__
extern __inline float64x1_t
4440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4441 vreinterpret_f64_s16 (int16x4_t __a
)
4443 return (float64x1_t
) __a
;
4446 __extension__
extern __inline float64x1_t
4447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4448 vreinterpret_f64_s32 (int32x2_t __a
)
4450 return (float64x1_t
) __a
;
4453 __extension__
extern __inline float64x1_t
4454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4455 vreinterpret_f64_s64 (int64x1_t __a
)
4457 return (float64x1_t
) __a
;
4460 __extension__
extern __inline float64x1_t
4461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4462 vreinterpret_f64_u8 (uint8x8_t __a
)
4464 return (float64x1_t
) __a
;
4467 __extension__
extern __inline float64x1_t
4468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4469 vreinterpret_f64_u16 (uint16x4_t __a
)
4471 return (float64x1_t
) __a
;
4474 __extension__
extern __inline float64x1_t
4475 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4476 vreinterpret_f64_u32 (uint32x2_t __a
)
4478 return (float64x1_t
) __a
;
4481 __extension__
extern __inline float64x1_t
4482 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4483 vreinterpret_f64_u64 (uint64x1_t __a
)
4485 return (float64x1_t
) __a
;
4488 __extension__
extern __inline float64x2_t
4489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4490 vreinterpretq_f64_f16 (float16x8_t __a
)
4492 return (float64x2_t
) __a
;
4495 __extension__
extern __inline float64x2_t
4496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4497 vreinterpretq_f64_f32 (float32x4_t __a
)
4499 return (float64x2_t
) __a
;
4502 __extension__
extern __inline float64x2_t
4503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4504 vreinterpretq_f64_p8 (poly8x16_t __a
)
4506 return (float64x2_t
) __a
;
4509 __extension__
extern __inline float64x2_t
4510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4511 vreinterpretq_f64_p16 (poly16x8_t __a
)
4513 return (float64x2_t
) __a
;
4516 __extension__
extern __inline float64x2_t
4517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4518 vreinterpretq_f64_p64 (poly64x2_t __a
)
4520 return (float64x2_t
) __a
;
4523 __extension__
extern __inline float64x2_t
4524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4525 vreinterpretq_f64_s8 (int8x16_t __a
)
4527 return (float64x2_t
) __a
;
4530 __extension__
extern __inline float64x2_t
4531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4532 vreinterpretq_f64_s16 (int16x8_t __a
)
4534 return (float64x2_t
) __a
;
4537 __extension__
extern __inline float64x2_t
4538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4539 vreinterpretq_f64_s32 (int32x4_t __a
)
4541 return (float64x2_t
) __a
;
4544 __extension__
extern __inline float64x2_t
4545 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4546 vreinterpretq_f64_s64 (int64x2_t __a
)
4548 return (float64x2_t
) __a
;
4551 __extension__
extern __inline float64x2_t
4552 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4553 vreinterpretq_f64_u8 (uint8x16_t __a
)
4555 return (float64x2_t
) __a
;
4558 __extension__
extern __inline float64x2_t
4559 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4560 vreinterpretq_f64_u16 (uint16x8_t __a
)
4562 return (float64x2_t
) __a
;
4565 __extension__
extern __inline float64x2_t
4566 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4567 vreinterpretq_f64_u32 (uint32x4_t __a
)
4569 return (float64x2_t
) __a
;
4572 __extension__
extern __inline float64x2_t
4573 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4574 vreinterpretq_f64_u64 (uint64x2_t __a
)
4576 return (float64x2_t
) __a
;
4579 __extension__
extern __inline int64x1_t
4580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4581 vreinterpret_s64_f16 (float16x4_t __a
)
4583 return (int64x1_t
) __a
;
4586 __extension__
extern __inline int64x1_t
4587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4588 vreinterpret_s64_f64 (float64x1_t __a
)
4590 return (int64x1_t
) __a
;
4593 __extension__
extern __inline int64x1_t
4594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4595 vreinterpret_s64_s8 (int8x8_t __a
)
4597 return (int64x1_t
) __a
;
4600 __extension__
extern __inline int64x1_t
4601 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4602 vreinterpret_s64_s16 (int16x4_t __a
)
4604 return (int64x1_t
) __a
;
4607 __extension__
extern __inline int64x1_t
4608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4609 vreinterpret_s64_s32 (int32x2_t __a
)
4611 return (int64x1_t
) __a
;
4614 __extension__
extern __inline int64x1_t
4615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4616 vreinterpret_s64_f32 (float32x2_t __a
)
4618 return (int64x1_t
) __a
;
4621 __extension__
extern __inline int64x1_t
4622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4623 vreinterpret_s64_u8 (uint8x8_t __a
)
4625 return (int64x1_t
) __a
;
4628 __extension__
extern __inline int64x1_t
4629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4630 vreinterpret_s64_u16 (uint16x4_t __a
)
4632 return (int64x1_t
) __a
;
4635 __extension__
extern __inline int64x1_t
4636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4637 vreinterpret_s64_u32 (uint32x2_t __a
)
4639 return (int64x1_t
) __a
;
4642 __extension__
extern __inline int64x1_t
4643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4644 vreinterpret_s64_u64 (uint64x1_t __a
)
4646 return (int64x1_t
) __a
;
4649 __extension__
extern __inline int64x1_t
4650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4651 vreinterpret_s64_p8 (poly8x8_t __a
)
4653 return (int64x1_t
) __a
;
4656 __extension__
extern __inline int64x1_t
4657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4658 vreinterpret_s64_p16 (poly16x4_t __a
)
4660 return (int64x1_t
) __a
;
4663 __extension__
extern __inline int64x1_t
4664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4665 vreinterpret_s64_p64 (poly64x1_t __a
)
4667 return (int64x1_t
) __a
;
4670 __extension__
extern __inline int64x2_t
4671 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4672 vreinterpretq_s64_f64 (float64x2_t __a
)
4674 return (int64x2_t
) __a
;
4677 __extension__
extern __inline int64x2_t
4678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4679 vreinterpretq_s64_s8 (int8x16_t __a
)
4681 return (int64x2_t
) __a
;
4684 __extension__
extern __inline int64x2_t
4685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4686 vreinterpretq_s64_s16 (int16x8_t __a
)
4688 return (int64x2_t
) __a
;
4691 __extension__
extern __inline int64x2_t
4692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4693 vreinterpretq_s64_s32 (int32x4_t __a
)
4695 return (int64x2_t
) __a
;
4698 __extension__
extern __inline int64x2_t
4699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4700 vreinterpretq_s64_f16 (float16x8_t __a
)
4702 return (int64x2_t
) __a
;
4705 __extension__
extern __inline int64x2_t
4706 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4707 vreinterpretq_s64_f32 (float32x4_t __a
)
4709 return (int64x2_t
) __a
;
4712 __extension__
extern __inline int64x2_t
4713 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4714 vreinterpretq_s64_u8 (uint8x16_t __a
)
4716 return (int64x2_t
) __a
;
4719 __extension__
extern __inline int64x2_t
4720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4721 vreinterpretq_s64_u16 (uint16x8_t __a
)
4723 return (int64x2_t
) __a
;
4726 __extension__
extern __inline int64x2_t
4727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4728 vreinterpretq_s64_u32 (uint32x4_t __a
)
4730 return (int64x2_t
) __a
;
4733 __extension__
extern __inline int64x2_t
4734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4735 vreinterpretq_s64_u64 (uint64x2_t __a
)
4737 return (int64x2_t
) __a
;
4740 __extension__
extern __inline int64x2_t
4741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4742 vreinterpretq_s64_p8 (poly8x16_t __a
)
4744 return (int64x2_t
) __a
;
4747 __extension__
extern __inline int64x2_t
4748 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4749 vreinterpretq_s64_p16 (poly16x8_t __a
)
4751 return (int64x2_t
) __a
;
4754 __extension__
extern __inline int64x2_t
4755 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4756 vreinterpretq_s64_p64 (poly64x2_t __a
)
4758 return (int64x2_t
) __a
;
4761 __extension__
extern __inline int64x2_t
4762 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4763 vreinterpretq_s64_p128 (poly128_t __a
)
4765 return (int64x2_t
)__a
;
4768 __extension__
extern __inline uint64x1_t
4769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4770 vreinterpret_u64_f16 (float16x4_t __a
)
4772 return (uint64x1_t
) __a
;
4775 __extension__
extern __inline uint64x1_t
4776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4777 vreinterpret_u64_f64 (float64x1_t __a
)
4779 return (uint64x1_t
) __a
;
4782 __extension__
extern __inline uint64x1_t
4783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4784 vreinterpret_u64_s8 (int8x8_t __a
)
4786 return (uint64x1_t
) __a
;
4789 __extension__
extern __inline uint64x1_t
4790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4791 vreinterpret_u64_s16 (int16x4_t __a
)
4793 return (uint64x1_t
) __a
;
4796 __extension__
extern __inline uint64x1_t
4797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4798 vreinterpret_u64_s32 (int32x2_t __a
)
4800 return (uint64x1_t
) __a
;
4803 __extension__
extern __inline uint64x1_t
4804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4805 vreinterpret_u64_s64 (int64x1_t __a
)
4807 return (uint64x1_t
) __a
;
4810 __extension__
extern __inline uint64x1_t
4811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4812 vreinterpret_u64_f32 (float32x2_t __a
)
4814 return (uint64x1_t
) __a
;
4817 __extension__
extern __inline uint64x1_t
4818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4819 vreinterpret_u64_u8 (uint8x8_t __a
)
4821 return (uint64x1_t
) __a
;
4824 __extension__
extern __inline uint64x1_t
4825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4826 vreinterpret_u64_u16 (uint16x4_t __a
)
4828 return (uint64x1_t
) __a
;
4831 __extension__
extern __inline uint64x1_t
4832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4833 vreinterpret_u64_u32 (uint32x2_t __a
)
4835 return (uint64x1_t
) __a
;
4838 __extension__
extern __inline uint64x1_t
4839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4840 vreinterpret_u64_p8 (poly8x8_t __a
)
4842 return (uint64x1_t
) __a
;
4845 __extension__
extern __inline uint64x1_t
4846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4847 vreinterpret_u64_p16 (poly16x4_t __a
)
4849 return (uint64x1_t
) __a
;
4852 __extension__
extern __inline uint64x1_t
4853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4854 vreinterpret_u64_p64 (poly64x1_t __a
)
4856 return (uint64x1_t
) __a
;
4859 __extension__
extern __inline uint64x2_t
4860 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4861 vreinterpretq_u64_f64 (float64x2_t __a
)
4863 return (uint64x2_t
) __a
;
4866 __extension__
extern __inline uint64x2_t
4867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4868 vreinterpretq_u64_s8 (int8x16_t __a
)
4870 return (uint64x2_t
) __a
;
4873 __extension__
extern __inline uint64x2_t
4874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4875 vreinterpretq_u64_s16 (int16x8_t __a
)
4877 return (uint64x2_t
) __a
;
4880 __extension__
extern __inline uint64x2_t
4881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4882 vreinterpretq_u64_s32 (int32x4_t __a
)
4884 return (uint64x2_t
) __a
;
4887 __extension__
extern __inline uint64x2_t
4888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4889 vreinterpretq_u64_s64 (int64x2_t __a
)
4891 return (uint64x2_t
) __a
;
4894 __extension__
extern __inline uint64x2_t
4895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4896 vreinterpretq_u64_f16 (float16x8_t __a
)
4898 return (uint64x2_t
) __a
;
4901 __extension__
extern __inline uint64x2_t
4902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4903 vreinterpretq_u64_f32 (float32x4_t __a
)
4905 return (uint64x2_t
) __a
;
4908 __extension__
extern __inline uint64x2_t
4909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4910 vreinterpretq_u64_u8 (uint8x16_t __a
)
4912 return (uint64x2_t
) __a
;
4915 __extension__
extern __inline uint64x2_t
4916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4917 vreinterpretq_u64_u16 (uint16x8_t __a
)
4919 return (uint64x2_t
) __a
;
4922 __extension__
extern __inline uint64x2_t
4923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4924 vreinterpretq_u64_u32 (uint32x4_t __a
)
4926 return (uint64x2_t
) __a
;
4929 __extension__
extern __inline uint64x2_t
4930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4931 vreinterpretq_u64_p8 (poly8x16_t __a
)
4933 return (uint64x2_t
) __a
;
4936 __extension__
extern __inline uint64x2_t
4937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4938 vreinterpretq_u64_p16 (poly16x8_t __a
)
4940 return (uint64x2_t
) __a
;
4943 __extension__
extern __inline uint64x2_t
4944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4945 vreinterpretq_u64_p64 (poly64x2_t __a
)
4947 return (uint64x2_t
) __a
;
4950 __extension__
extern __inline uint64x2_t
4951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4952 vreinterpretq_u64_p128 (poly128_t __a
)
4954 return (uint64x2_t
)__a
;
4957 __extension__
extern __inline int8x8_t
4958 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4959 vreinterpret_s8_f16 (float16x4_t __a
)
4961 return (int8x8_t
) __a
;
4964 __extension__
extern __inline int8x8_t
4965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4966 vreinterpret_s8_f64 (float64x1_t __a
)
4968 return (int8x8_t
) __a
;
4971 __extension__
extern __inline int8x8_t
4972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4973 vreinterpret_s8_s16 (int16x4_t __a
)
4975 return (int8x8_t
) __a
;
4978 __extension__
extern __inline int8x8_t
4979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4980 vreinterpret_s8_s32 (int32x2_t __a
)
4982 return (int8x8_t
) __a
;
4985 __extension__
extern __inline int8x8_t
4986 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4987 vreinterpret_s8_s64 (int64x1_t __a
)
4989 return (int8x8_t
) __a
;
4992 __extension__
extern __inline int8x8_t
4993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4994 vreinterpret_s8_f32 (float32x2_t __a
)
4996 return (int8x8_t
) __a
;
4999 __extension__
extern __inline int8x8_t
5000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5001 vreinterpret_s8_u8 (uint8x8_t __a
)
5003 return (int8x8_t
) __a
;
5006 __extension__
extern __inline int8x8_t
5007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5008 vreinterpret_s8_u16 (uint16x4_t __a
)
5010 return (int8x8_t
) __a
;
5013 __extension__
extern __inline int8x8_t
5014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5015 vreinterpret_s8_u32 (uint32x2_t __a
)
5017 return (int8x8_t
) __a
;
5020 __extension__
extern __inline int8x8_t
5021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5022 vreinterpret_s8_u64 (uint64x1_t __a
)
5024 return (int8x8_t
) __a
;
5027 __extension__
extern __inline int8x8_t
5028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5029 vreinterpret_s8_p8 (poly8x8_t __a
)
5031 return (int8x8_t
) __a
;
5034 __extension__
extern __inline int8x8_t
5035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5036 vreinterpret_s8_p16 (poly16x4_t __a
)
5038 return (int8x8_t
) __a
;
5041 __extension__
extern __inline int8x8_t
5042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5043 vreinterpret_s8_p64 (poly64x1_t __a
)
5045 return (int8x8_t
) __a
;
5048 __extension__
extern __inline int8x16_t
5049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5050 vreinterpretq_s8_f64 (float64x2_t __a
)
5052 return (int8x16_t
) __a
;
5055 __extension__
extern __inline int8x16_t
5056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5057 vreinterpretq_s8_s16 (int16x8_t __a
)
5059 return (int8x16_t
) __a
;
5062 __extension__
extern __inline int8x16_t
5063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5064 vreinterpretq_s8_s32 (int32x4_t __a
)
5066 return (int8x16_t
) __a
;
5069 __extension__
extern __inline int8x16_t
5070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5071 vreinterpretq_s8_s64 (int64x2_t __a
)
5073 return (int8x16_t
) __a
;
5076 __extension__
extern __inline int8x16_t
5077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5078 vreinterpretq_s8_f16 (float16x8_t __a
)
5080 return (int8x16_t
) __a
;
5083 __extension__
extern __inline int8x16_t
5084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5085 vreinterpretq_s8_f32 (float32x4_t __a
)
5087 return (int8x16_t
) __a
;
5090 __extension__
extern __inline int8x16_t
5091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5092 vreinterpretq_s8_u8 (uint8x16_t __a
)
5094 return (int8x16_t
) __a
;
5097 __extension__
extern __inline int8x16_t
5098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5099 vreinterpretq_s8_u16 (uint16x8_t __a
)
5101 return (int8x16_t
) __a
;
5104 __extension__
extern __inline int8x16_t
5105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5106 vreinterpretq_s8_u32 (uint32x4_t __a
)
5108 return (int8x16_t
) __a
;
5111 __extension__
extern __inline int8x16_t
5112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5113 vreinterpretq_s8_u64 (uint64x2_t __a
)
5115 return (int8x16_t
) __a
;
5118 __extension__
extern __inline int8x16_t
5119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5120 vreinterpretq_s8_p8 (poly8x16_t __a
)
5122 return (int8x16_t
) __a
;
5125 __extension__
extern __inline int8x16_t
5126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5127 vreinterpretq_s8_p16 (poly16x8_t __a
)
5129 return (int8x16_t
) __a
;
5132 __extension__
extern __inline int8x16_t
5133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5134 vreinterpretq_s8_p64 (poly64x2_t __a
)
5136 return (int8x16_t
) __a
;
5139 __extension__
extern __inline int8x16_t
5140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5141 vreinterpretq_s8_p128 (poly128_t __a
)
5143 return (int8x16_t
)__a
;
5146 __extension__
extern __inline int16x4_t
5147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5148 vreinterpret_s16_f16 (float16x4_t __a
)
5150 return (int16x4_t
) __a
;
5153 __extension__
extern __inline int16x4_t
5154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5155 vreinterpret_s16_f64 (float64x1_t __a
)
5157 return (int16x4_t
) __a
;
5160 __extension__
extern __inline int16x4_t
5161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5162 vreinterpret_s16_s8 (int8x8_t __a
)
5164 return (int16x4_t
) __a
;
5167 __extension__
extern __inline int16x4_t
5168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5169 vreinterpret_s16_s32 (int32x2_t __a
)
5171 return (int16x4_t
) __a
;
5174 __extension__
extern __inline int16x4_t
5175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5176 vreinterpret_s16_s64 (int64x1_t __a
)
5178 return (int16x4_t
) __a
;
5181 __extension__
extern __inline int16x4_t
5182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5183 vreinterpret_s16_f32 (float32x2_t __a
)
5185 return (int16x4_t
) __a
;
5188 __extension__
extern __inline int16x4_t
5189 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5190 vreinterpret_s16_u8 (uint8x8_t __a
)
5192 return (int16x4_t
) __a
;
5195 __extension__
extern __inline int16x4_t
5196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5197 vreinterpret_s16_u16 (uint16x4_t __a
)
5199 return (int16x4_t
) __a
;
5202 __extension__
extern __inline int16x4_t
5203 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5204 vreinterpret_s16_u32 (uint32x2_t __a
)
5206 return (int16x4_t
) __a
;
5209 __extension__
extern __inline int16x4_t
5210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5211 vreinterpret_s16_u64 (uint64x1_t __a
)
5213 return (int16x4_t
) __a
;
5216 __extension__
extern __inline int16x4_t
5217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5218 vreinterpret_s16_p8 (poly8x8_t __a
)
5220 return (int16x4_t
) __a
;
5223 __extension__
extern __inline int16x4_t
5224 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5225 vreinterpret_s16_p16 (poly16x4_t __a
)
5227 return (int16x4_t
) __a
;
5230 __extension__
extern __inline int16x4_t
5231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5232 vreinterpret_s16_p64 (poly64x1_t __a
)
5234 return (int16x4_t
) __a
;
5237 __extension__
extern __inline int16x8_t
5238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5239 vreinterpretq_s16_f64 (float64x2_t __a
)
5241 return (int16x8_t
) __a
;
5244 __extension__
extern __inline int16x8_t
5245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5246 vreinterpretq_s16_s8 (int8x16_t __a
)
5248 return (int16x8_t
) __a
;
5251 __extension__
extern __inline int16x8_t
5252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5253 vreinterpretq_s16_s32 (int32x4_t __a
)
5255 return (int16x8_t
) __a
;
5258 __extension__
extern __inline int16x8_t
5259 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5260 vreinterpretq_s16_s64 (int64x2_t __a
)
5262 return (int16x8_t
) __a
;
5265 __extension__
extern __inline int16x8_t
5266 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5267 vreinterpretq_s16_f16 (float16x8_t __a
)
5269 return (int16x8_t
) __a
;
5272 __extension__
extern __inline int16x8_t
5273 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5274 vreinterpretq_s16_f32 (float32x4_t __a
)
5276 return (int16x8_t
) __a
;
5279 __extension__
extern __inline int16x8_t
5280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5281 vreinterpretq_s16_u8 (uint8x16_t __a
)
5283 return (int16x8_t
) __a
;
5286 __extension__
extern __inline int16x8_t
5287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5288 vreinterpretq_s16_u16 (uint16x8_t __a
)
5290 return (int16x8_t
) __a
;
5293 __extension__
extern __inline int16x8_t
5294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5295 vreinterpretq_s16_u32 (uint32x4_t __a
)
5297 return (int16x8_t
) __a
;
5300 __extension__
extern __inline int16x8_t
5301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5302 vreinterpretq_s16_u64 (uint64x2_t __a
)
5304 return (int16x8_t
) __a
;
5307 __extension__
extern __inline int16x8_t
5308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5309 vreinterpretq_s16_p8 (poly8x16_t __a
)
5311 return (int16x8_t
) __a
;
5314 __extension__
extern __inline int16x8_t
5315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5316 vreinterpretq_s16_p16 (poly16x8_t __a
)
5318 return (int16x8_t
) __a
;
5321 __extension__
extern __inline int16x8_t
5322 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5323 vreinterpretq_s16_p64 (poly64x2_t __a
)
5325 return (int16x8_t
) __a
;
5328 __extension__
extern __inline int16x8_t
5329 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5330 vreinterpretq_s16_p128 (poly128_t __a
)
5332 return (int16x8_t
)__a
;
5335 __extension__
extern __inline int32x2_t
5336 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5337 vreinterpret_s32_f16 (float16x4_t __a
)
5339 return (int32x2_t
) __a
;
5342 __extension__
extern __inline int32x2_t
5343 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5344 vreinterpret_s32_f64 (float64x1_t __a
)
5346 return (int32x2_t
) __a
;
5349 __extension__
extern __inline int32x2_t
5350 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5351 vreinterpret_s32_s8 (int8x8_t __a
)
5353 return (int32x2_t
) __a
;
5356 __extension__
extern __inline int32x2_t
5357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5358 vreinterpret_s32_s16 (int16x4_t __a
)
5360 return (int32x2_t
) __a
;
5363 __extension__
extern __inline int32x2_t
5364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5365 vreinterpret_s32_s64 (int64x1_t __a
)
5367 return (int32x2_t
) __a
;
5370 __extension__
extern __inline int32x2_t
5371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5372 vreinterpret_s32_f32 (float32x2_t __a
)
5374 return (int32x2_t
) __a
;
5377 __extension__
extern __inline int32x2_t
5378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5379 vreinterpret_s32_u8 (uint8x8_t __a
)
5381 return (int32x2_t
) __a
;
5384 __extension__
extern __inline int32x2_t
5385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5386 vreinterpret_s32_u16 (uint16x4_t __a
)
5388 return (int32x2_t
) __a
;
5391 __extension__
extern __inline int32x2_t
5392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5393 vreinterpret_s32_u32 (uint32x2_t __a
)
5395 return (int32x2_t
) __a
;
5398 __extension__
extern __inline int32x2_t
5399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5400 vreinterpret_s32_u64 (uint64x1_t __a
)
5402 return (int32x2_t
) __a
;
5405 __extension__
extern __inline int32x2_t
5406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5407 vreinterpret_s32_p8 (poly8x8_t __a
)
5409 return (int32x2_t
) __a
;
5412 __extension__
extern __inline int32x2_t
5413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5414 vreinterpret_s32_p16 (poly16x4_t __a
)
5416 return (int32x2_t
) __a
;
5419 __extension__
extern __inline int32x2_t
5420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5421 vreinterpret_s32_p64 (poly64x1_t __a
)
5423 return (int32x2_t
) __a
;
5426 __extension__
extern __inline int32x4_t
5427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5428 vreinterpretq_s32_f64 (float64x2_t __a
)
5430 return (int32x4_t
) __a
;
5433 __extension__
extern __inline int32x4_t
5434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5435 vreinterpretq_s32_s8 (int8x16_t __a
)
5437 return (int32x4_t
) __a
;
5440 __extension__
extern __inline int32x4_t
5441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5442 vreinterpretq_s32_s16 (int16x8_t __a
)
5444 return (int32x4_t
) __a
;
5447 __extension__
extern __inline int32x4_t
5448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5449 vreinterpretq_s32_s64 (int64x2_t __a
)
5451 return (int32x4_t
) __a
;
5454 __extension__
extern __inline int32x4_t
5455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5456 vreinterpretq_s32_f16 (float16x8_t __a
)
5458 return (int32x4_t
) __a
;
5461 __extension__
extern __inline int32x4_t
5462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5463 vreinterpretq_s32_f32 (float32x4_t __a
)
5465 return (int32x4_t
) __a
;
5468 __extension__
extern __inline int32x4_t
5469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5470 vreinterpretq_s32_u8 (uint8x16_t __a
)
5472 return (int32x4_t
) __a
;
5475 __extension__
extern __inline int32x4_t
5476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5477 vreinterpretq_s32_u16 (uint16x8_t __a
)
5479 return (int32x4_t
) __a
;
5482 __extension__
extern __inline int32x4_t
5483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5484 vreinterpretq_s32_u32 (uint32x4_t __a
)
5486 return (int32x4_t
) __a
;
5489 __extension__
extern __inline int32x4_t
5490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5491 vreinterpretq_s32_u64 (uint64x2_t __a
)
5493 return (int32x4_t
) __a
;
5496 __extension__
extern __inline int32x4_t
5497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5498 vreinterpretq_s32_p8 (poly8x16_t __a
)
5500 return (int32x4_t
) __a
;
5503 __extension__
extern __inline int32x4_t
5504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5505 vreinterpretq_s32_p16 (poly16x8_t __a
)
5507 return (int32x4_t
) __a
;
5510 __extension__
extern __inline int32x4_t
5511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5512 vreinterpretq_s32_p64 (poly64x2_t __a
)
5514 return (int32x4_t
) __a
;
5517 __extension__
extern __inline int32x4_t
5518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5519 vreinterpretq_s32_p128 (poly128_t __a
)
5521 return (int32x4_t
)__a
;
5524 __extension__
extern __inline uint8x8_t
5525 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5526 vreinterpret_u8_f16 (float16x4_t __a
)
5528 return (uint8x8_t
) __a
;
5531 __extension__
extern __inline uint8x8_t
5532 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5533 vreinterpret_u8_f64 (float64x1_t __a
)
5535 return (uint8x8_t
) __a
;
5538 __extension__
extern __inline uint8x8_t
5539 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5540 vreinterpret_u8_s8 (int8x8_t __a
)
5542 return (uint8x8_t
) __a
;
5545 __extension__
extern __inline uint8x8_t
5546 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5547 vreinterpret_u8_s16 (int16x4_t __a
)
5549 return (uint8x8_t
) __a
;
5552 __extension__
extern __inline uint8x8_t
5553 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5554 vreinterpret_u8_s32 (int32x2_t __a
)
5556 return (uint8x8_t
) __a
;
5559 __extension__
extern __inline uint8x8_t
5560 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5561 vreinterpret_u8_s64 (int64x1_t __a
)
5563 return (uint8x8_t
) __a
;
5566 __extension__
extern __inline uint8x8_t
5567 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5568 vreinterpret_u8_f32 (float32x2_t __a
)
5570 return (uint8x8_t
) __a
;
5573 __extension__
extern __inline uint8x8_t
5574 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5575 vreinterpret_u8_u16 (uint16x4_t __a
)
5577 return (uint8x8_t
) __a
;
5580 __extension__
extern __inline uint8x8_t
5581 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5582 vreinterpret_u8_u32 (uint32x2_t __a
)
5584 return (uint8x8_t
) __a
;
5587 __extension__
extern __inline uint8x8_t
5588 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5589 vreinterpret_u8_u64 (uint64x1_t __a
)
5591 return (uint8x8_t
) __a
;
5594 __extension__
extern __inline uint8x8_t
5595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5596 vreinterpret_u8_p8 (poly8x8_t __a
)
5598 return (uint8x8_t
) __a
;
5601 __extension__
extern __inline uint8x8_t
5602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5603 vreinterpret_u8_p16 (poly16x4_t __a
)
5605 return (uint8x8_t
) __a
;
5608 __extension__
extern __inline uint8x8_t
5609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5610 vreinterpret_u8_p64 (poly64x1_t __a
)
5612 return (uint8x8_t
) __a
;
5615 __extension__
extern __inline uint8x16_t
5616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5617 vreinterpretq_u8_f64 (float64x2_t __a
)
5619 return (uint8x16_t
) __a
;
5622 __extension__
extern __inline uint8x16_t
5623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5624 vreinterpretq_u8_s8 (int8x16_t __a
)
5626 return (uint8x16_t
) __a
;
5629 __extension__
extern __inline uint8x16_t
5630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5631 vreinterpretq_u8_s16 (int16x8_t __a
)
5633 return (uint8x16_t
) __a
;
5636 __extension__
extern __inline uint8x16_t
5637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5638 vreinterpretq_u8_s32 (int32x4_t __a
)
5640 return (uint8x16_t
) __a
;
5643 __extension__
extern __inline uint8x16_t
5644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5645 vreinterpretq_u8_s64 (int64x2_t __a
)
5647 return (uint8x16_t
) __a
;
5650 __extension__
extern __inline uint8x16_t
5651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5652 vreinterpretq_u8_f16 (float16x8_t __a
)
5654 return (uint8x16_t
) __a
;
5657 __extension__
extern __inline uint8x16_t
5658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5659 vreinterpretq_u8_f32 (float32x4_t __a
)
5661 return (uint8x16_t
) __a
;
5664 __extension__
extern __inline uint8x16_t
5665 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5666 vreinterpretq_u8_u16 (uint16x8_t __a
)
5668 return (uint8x16_t
) __a
;
5671 __extension__
extern __inline uint8x16_t
5672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5673 vreinterpretq_u8_u32 (uint32x4_t __a
)
5675 return (uint8x16_t
) __a
;
5678 __extension__
extern __inline uint8x16_t
5679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5680 vreinterpretq_u8_u64 (uint64x2_t __a
)
5682 return (uint8x16_t
) __a
;
5685 __extension__
extern __inline uint8x16_t
5686 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5687 vreinterpretq_u8_p8 (poly8x16_t __a
)
5689 return (uint8x16_t
) __a
;
5692 __extension__
extern __inline uint8x16_t
5693 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5694 vreinterpretq_u8_p16 (poly16x8_t __a
)
5696 return (uint8x16_t
) __a
;
5699 __extension__
extern __inline uint8x16_t
5700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5701 vreinterpretq_u8_p64 (poly64x2_t __a
)
5703 return (uint8x16_t
) __a
;
5706 __extension__
extern __inline uint8x16_t
5707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5708 vreinterpretq_u8_p128 (poly128_t __a
)
5710 return (uint8x16_t
)__a
;
5713 __extension__
extern __inline uint16x4_t
5714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5715 vreinterpret_u16_f16 (float16x4_t __a
)
5717 return (uint16x4_t
) __a
;
5720 __extension__
extern __inline uint16x4_t
5721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5722 vreinterpret_u16_f64 (float64x1_t __a
)
5724 return (uint16x4_t
) __a
;
5727 __extension__
extern __inline uint16x4_t
5728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5729 vreinterpret_u16_s8 (int8x8_t __a
)
5731 return (uint16x4_t
) __a
;
5734 __extension__
extern __inline uint16x4_t
5735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5736 vreinterpret_u16_s16 (int16x4_t __a
)
5738 return (uint16x4_t
) __a
;
5741 __extension__
extern __inline uint16x4_t
5742 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5743 vreinterpret_u16_s32 (int32x2_t __a
)
5745 return (uint16x4_t
) __a
;
5748 __extension__
extern __inline uint16x4_t
5749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5750 vreinterpret_u16_s64 (int64x1_t __a
)
5752 return (uint16x4_t
) __a
;
5755 __extension__
extern __inline uint16x4_t
5756 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5757 vreinterpret_u16_f32 (float32x2_t __a
)
5759 return (uint16x4_t
) __a
;
5762 __extension__
extern __inline uint16x4_t
5763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5764 vreinterpret_u16_u8 (uint8x8_t __a
)
5766 return (uint16x4_t
) __a
;
5769 __extension__
extern __inline uint16x4_t
5770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5771 vreinterpret_u16_u32 (uint32x2_t __a
)
5773 return (uint16x4_t
) __a
;
5776 __extension__
extern __inline uint16x4_t
5777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5778 vreinterpret_u16_u64 (uint64x1_t __a
)
5780 return (uint16x4_t
) __a
;
5783 __extension__
extern __inline uint16x4_t
5784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5785 vreinterpret_u16_p8 (poly8x8_t __a
)
5787 return (uint16x4_t
) __a
;
5790 __extension__
extern __inline uint16x4_t
5791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5792 vreinterpret_u16_p16 (poly16x4_t __a
)
5794 return (uint16x4_t
) __a
;
5797 __extension__
extern __inline uint16x4_t
5798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5799 vreinterpret_u16_p64 (poly64x1_t __a
)
5801 return (uint16x4_t
) __a
;
5804 __extension__
extern __inline uint16x8_t
5805 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5806 vreinterpretq_u16_f64 (float64x2_t __a
)
5808 return (uint16x8_t
) __a
;
5811 __extension__
extern __inline uint16x8_t
5812 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5813 vreinterpretq_u16_s8 (int8x16_t __a
)
5815 return (uint16x8_t
) __a
;
5818 __extension__
extern __inline uint16x8_t
5819 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5820 vreinterpretq_u16_s16 (int16x8_t __a
)
5822 return (uint16x8_t
) __a
;
5825 __extension__
extern __inline uint16x8_t
5826 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5827 vreinterpretq_u16_s32 (int32x4_t __a
)
5829 return (uint16x8_t
) __a
;
5832 __extension__
extern __inline uint16x8_t
5833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5834 vreinterpretq_u16_s64 (int64x2_t __a
)
5836 return (uint16x8_t
) __a
;
5839 __extension__
extern __inline uint16x8_t
5840 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5841 vreinterpretq_u16_f16 (float16x8_t __a
)
5843 return (uint16x8_t
) __a
;
5846 __extension__
extern __inline uint16x8_t
5847 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5848 vreinterpretq_u16_f32 (float32x4_t __a
)
5850 return (uint16x8_t
) __a
;
5853 __extension__
extern __inline uint16x8_t
5854 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5855 vreinterpretq_u16_u8 (uint8x16_t __a
)
5857 return (uint16x8_t
) __a
;
5860 __extension__
extern __inline uint16x8_t
5861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5862 vreinterpretq_u16_u32 (uint32x4_t __a
)
5864 return (uint16x8_t
) __a
;
5867 __extension__
extern __inline uint16x8_t
5868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5869 vreinterpretq_u16_u64 (uint64x2_t __a
)
5871 return (uint16x8_t
) __a
;
5874 __extension__
extern __inline uint16x8_t
5875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5876 vreinterpretq_u16_p8 (poly8x16_t __a
)
5878 return (uint16x8_t
) __a
;
5881 __extension__
extern __inline uint16x8_t
5882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5883 vreinterpretq_u16_p16 (poly16x8_t __a
)
5885 return (uint16x8_t
) __a
;
5888 __extension__
extern __inline uint16x8_t
5889 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5890 vreinterpretq_u16_p64 (poly64x2_t __a
)
5892 return (uint16x8_t
) __a
;
5895 __extension__
extern __inline uint16x8_t
5896 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5897 vreinterpretq_u16_p128 (poly128_t __a
)
5899 return (uint16x8_t
)__a
;
5902 __extension__
extern __inline uint32x2_t
5903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5904 vreinterpret_u32_f16 (float16x4_t __a
)
5906 return (uint32x2_t
) __a
;
5909 __extension__
extern __inline uint32x2_t
5910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5911 vreinterpret_u32_f64 (float64x1_t __a
)
5913 return (uint32x2_t
) __a
;
5916 __extension__
extern __inline uint32x2_t
5917 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5918 vreinterpret_u32_s8 (int8x8_t __a
)
5920 return (uint32x2_t
) __a
;
5923 __extension__
extern __inline uint32x2_t
5924 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5925 vreinterpret_u32_s16 (int16x4_t __a
)
5927 return (uint32x2_t
) __a
;
5930 __extension__
extern __inline uint32x2_t
5931 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5932 vreinterpret_u32_s32 (int32x2_t __a
)
5934 return (uint32x2_t
) __a
;
5937 __extension__
extern __inline uint32x2_t
5938 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5939 vreinterpret_u32_s64 (int64x1_t __a
)
5941 return (uint32x2_t
) __a
;
5944 __extension__
extern __inline uint32x2_t
5945 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5946 vreinterpret_u32_f32 (float32x2_t __a
)
5948 return (uint32x2_t
) __a
;
5951 __extension__
extern __inline uint32x2_t
5952 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5953 vreinterpret_u32_u8 (uint8x8_t __a
)
5955 return (uint32x2_t
) __a
;
5958 __extension__
extern __inline uint32x2_t
5959 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5960 vreinterpret_u32_u16 (uint16x4_t __a
)
5962 return (uint32x2_t
) __a
;
5965 __extension__
extern __inline uint32x2_t
5966 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5967 vreinterpret_u32_u64 (uint64x1_t __a
)
5969 return (uint32x2_t
) __a
;
5972 __extension__
extern __inline uint32x2_t
5973 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5974 vreinterpret_u32_p8 (poly8x8_t __a
)
5976 return (uint32x2_t
) __a
;
5979 __extension__
extern __inline uint32x2_t
5980 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5981 vreinterpret_u32_p16 (poly16x4_t __a
)
5983 return (uint32x2_t
) __a
;
5986 __extension__
extern __inline uint32x2_t
5987 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5988 vreinterpret_u32_p64 (poly64x1_t __a
)
5990 return (uint32x2_t
) __a
;
5993 __extension__
extern __inline uint32x4_t
5994 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5995 vreinterpretq_u32_f64 (float64x2_t __a
)
5997 return (uint32x4_t
) __a
;
6000 __extension__
extern __inline uint32x4_t
6001 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6002 vreinterpretq_u32_s8 (int8x16_t __a
)
6004 return (uint32x4_t
) __a
;
6007 __extension__
extern __inline uint32x4_t
6008 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6009 vreinterpretq_u32_s16 (int16x8_t __a
)
6011 return (uint32x4_t
) __a
;
6014 __extension__
extern __inline uint32x4_t
6015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6016 vreinterpretq_u32_s32 (int32x4_t __a
)
6018 return (uint32x4_t
) __a
;
6021 __extension__
extern __inline uint32x4_t
6022 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6023 vreinterpretq_u32_s64 (int64x2_t __a
)
6025 return (uint32x4_t
) __a
;
6028 __extension__
extern __inline uint32x4_t
6029 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6030 vreinterpretq_u32_f16 (float16x8_t __a
)
6032 return (uint32x4_t
) __a
;
6035 __extension__
extern __inline uint32x4_t
6036 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6037 vreinterpretq_u32_f32 (float32x4_t __a
)
6039 return (uint32x4_t
) __a
;
6042 __extension__
extern __inline uint32x4_t
6043 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6044 vreinterpretq_u32_u8 (uint8x16_t __a
)
6046 return (uint32x4_t
) __a
;
6049 __extension__
extern __inline uint32x4_t
6050 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6051 vreinterpretq_u32_u16 (uint16x8_t __a
)
6053 return (uint32x4_t
) __a
;
6056 __extension__
extern __inline uint32x4_t
6057 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6058 vreinterpretq_u32_u64 (uint64x2_t __a
)
6060 return (uint32x4_t
) __a
;
6063 __extension__
extern __inline uint32x4_t
6064 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6065 vreinterpretq_u32_p8 (poly8x16_t __a
)
6067 return (uint32x4_t
) __a
;
6070 __extension__
extern __inline uint32x4_t
6071 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6072 vreinterpretq_u32_p16 (poly16x8_t __a
)
6074 return (uint32x4_t
) __a
;
6077 __extension__
extern __inline uint32x4_t
6078 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6079 vreinterpretq_u32_p64 (poly64x2_t __a
)
6081 return (uint32x4_t
) __a
;
6084 __extension__
extern __inline uint32x4_t
6085 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6086 vreinterpretq_u32_p128 (poly128_t __a
)
6088 return (uint32x4_t
)__a
;
6091 __extension__
extern __inline float64x2_t
6092 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6093 vreinterpretq_f64_p128 (poly128_t __a
)
6095 return (float64x2_t
) __a
;
6098 __extension__
extern __inline poly128_t
6099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6100 vreinterpretq_p128_f64 (float64x2_t __a
)
6102 return (poly128_t
) __a
;
6107 __extension__
extern __inline float16x4_t
6108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6109 vset_lane_f16 (float16_t __elem
, float16x4_t __vec
, const int __index
)
6111 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6114 __extension__
extern __inline float32x2_t
6115 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6116 vset_lane_f32 (float32_t __elem
, float32x2_t __vec
, const int __index
)
6118 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6121 __extension__
extern __inline float64x1_t
6122 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6123 vset_lane_f64 (float64_t __elem
, float64x1_t __vec
, const int __index
)
6125 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6128 __extension__
extern __inline poly8x8_t
6129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6130 vset_lane_p8 (poly8_t __elem
, poly8x8_t __vec
, const int __index
)
6132 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6135 __extension__
extern __inline poly16x4_t
6136 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6137 vset_lane_p16 (poly16_t __elem
, poly16x4_t __vec
, const int __index
)
6139 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6142 __extension__
extern __inline poly64x1_t
6143 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6144 vset_lane_p64 (poly64_t __elem
, poly64x1_t __vec
, const int __index
)
6146 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6149 __extension__
extern __inline int8x8_t
6150 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6151 vset_lane_s8 (int8_t __elem
, int8x8_t __vec
, const int __index
)
6153 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6156 __extension__
extern __inline int16x4_t
6157 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6158 vset_lane_s16 (int16_t __elem
, int16x4_t __vec
, const int __index
)
6160 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6163 __extension__
extern __inline int32x2_t
6164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6165 vset_lane_s32 (int32_t __elem
, int32x2_t __vec
, const int __index
)
6167 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6170 __extension__
extern __inline int64x1_t
6171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6172 vset_lane_s64 (int64_t __elem
, int64x1_t __vec
, const int __index
)
6174 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6177 __extension__
extern __inline uint8x8_t
6178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6179 vset_lane_u8 (uint8_t __elem
, uint8x8_t __vec
, const int __index
)
6181 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6184 __extension__
extern __inline uint16x4_t
6185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6186 vset_lane_u16 (uint16_t __elem
, uint16x4_t __vec
, const int __index
)
6188 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6191 __extension__
extern __inline uint32x2_t
6192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6193 vset_lane_u32 (uint32_t __elem
, uint32x2_t __vec
, const int __index
)
6195 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6198 __extension__
extern __inline uint64x1_t
6199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6200 vset_lane_u64 (uint64_t __elem
, uint64x1_t __vec
, const int __index
)
6202 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6207 __extension__
extern __inline float16x8_t
6208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6209 vsetq_lane_f16 (float16_t __elem
, float16x8_t __vec
, const int __index
)
6211 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6214 __extension__
extern __inline float32x4_t
6215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6216 vsetq_lane_f32 (float32_t __elem
, float32x4_t __vec
, const int __index
)
6218 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6221 __extension__
extern __inline float64x2_t
6222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6223 vsetq_lane_f64 (float64_t __elem
, float64x2_t __vec
, const int __index
)
6225 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6228 __extension__
extern __inline poly8x16_t
6229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6230 vsetq_lane_p8 (poly8_t __elem
, poly8x16_t __vec
, const int __index
)
6232 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6235 __extension__
extern __inline poly16x8_t
6236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6237 vsetq_lane_p16 (poly16_t __elem
, poly16x8_t __vec
, const int __index
)
6239 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6242 __extension__
extern __inline poly64x2_t
6243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6244 vsetq_lane_p64 (poly64_t __elem
, poly64x2_t __vec
, const int __index
)
6246 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6249 __extension__
extern __inline int8x16_t
6250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6251 vsetq_lane_s8 (int8_t __elem
, int8x16_t __vec
, const int __index
)
6253 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6256 __extension__
extern __inline int16x8_t
6257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6258 vsetq_lane_s16 (int16_t __elem
, int16x8_t __vec
, const int __index
)
6260 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6263 __extension__
extern __inline int32x4_t
6264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6265 vsetq_lane_s32 (int32_t __elem
, int32x4_t __vec
, const int __index
)
6267 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6270 __extension__
extern __inline int64x2_t
6271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6272 vsetq_lane_s64 (int64_t __elem
, int64x2_t __vec
, const int __index
)
6274 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6277 __extension__
extern __inline uint8x16_t
6278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6279 vsetq_lane_u8 (uint8_t __elem
, uint8x16_t __vec
, const int __index
)
6281 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6284 __extension__
extern __inline uint16x8_t
6285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6286 vsetq_lane_u16 (uint16_t __elem
, uint16x8_t __vec
, const int __index
)
6288 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6291 __extension__
extern __inline uint32x4_t
6292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6293 vsetq_lane_u32 (uint32_t __elem
, uint32x4_t __vec
, const int __index
)
6295 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6298 __extension__
extern __inline uint64x2_t
6299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6300 vsetq_lane_u64 (uint64_t __elem
, uint64x2_t __vec
, const int __index
)
6302 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
6305 #define __GET_LOW(__TYPE) \
6306 uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a); \
6307 uint64x1_t lo = vcreate_u64 (vgetq_lane_u64 (tmp, 0)); \
6308 return vreinterpret_##__TYPE##_u64 (lo);
6310 __extension__
extern __inline float16x4_t
6311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6312 vget_low_f16 (float16x8_t __a
)
6317 __extension__
extern __inline float32x2_t
6318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6319 vget_low_f32 (float32x4_t __a
)
6324 __extension__
extern __inline float64x1_t
6325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6326 vget_low_f64 (float64x2_t __a
)
6328 return (float64x1_t
) {vgetq_lane_f64 (__a
, 0)};
6331 __extension__
extern __inline poly8x8_t
6332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6333 vget_low_p8 (poly8x16_t __a
)
6338 __extension__
extern __inline poly16x4_t
6339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6340 vget_low_p16 (poly16x8_t __a
)
6345 __extension__
extern __inline poly64x1_t
6346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6347 vget_low_p64 (poly64x2_t __a
)
6352 __extension__
extern __inline int8x8_t
6353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6354 vget_low_s8 (int8x16_t __a
)
6359 __extension__
extern __inline int16x4_t
6360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6361 vget_low_s16 (int16x8_t __a
)
6366 __extension__
extern __inline int32x2_t
6367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6368 vget_low_s32 (int32x4_t __a
)
6373 __extension__
extern __inline int64x1_t
6374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6375 vget_low_s64 (int64x2_t __a
)
6380 __extension__
extern __inline uint8x8_t
6381 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6382 vget_low_u8 (uint8x16_t __a
)
6387 __extension__
extern __inline uint16x4_t
6388 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6389 vget_low_u16 (uint16x8_t __a
)
6394 __extension__
extern __inline uint32x2_t
6395 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6396 vget_low_u32 (uint32x4_t __a
)
6401 __extension__
extern __inline uint64x1_t
6402 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6403 vget_low_u64 (uint64x2_t __a
)
6405 return vcreate_u64 (vgetq_lane_u64 (__a
, 0));
6410 #define __GET_HIGH(__TYPE) \
6411 uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a); \
6412 uint64x1_t hi = vcreate_u64 (vgetq_lane_u64 (tmp, 1)); \
6413 return vreinterpret_##__TYPE##_u64 (hi);
6415 __extension__
extern __inline float16x4_t
6416 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6417 vget_high_f16 (float16x8_t __a
)
6422 __extension__
extern __inline float32x2_t
6423 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6424 vget_high_f32 (float32x4_t __a
)
6429 __extension__
extern __inline float64x1_t
6430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6431 vget_high_f64 (float64x2_t __a
)
6436 __extension__
extern __inline poly8x8_t
6437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6438 vget_high_p8 (poly8x16_t __a
)
6443 __extension__
extern __inline poly16x4_t
6444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6445 vget_high_p16 (poly16x8_t __a
)
6450 __extension__
extern __inline poly64x1_t
6451 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6452 vget_high_p64 (poly64x2_t __a
)
6457 __extension__
extern __inline int8x8_t
6458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6459 vget_high_s8 (int8x16_t __a
)
6464 __extension__
extern __inline int16x4_t
6465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6466 vget_high_s16 (int16x8_t __a
)
6471 __extension__
extern __inline int32x2_t
6472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6473 vget_high_s32 (int32x4_t __a
)
6478 __extension__
extern __inline int64x1_t
6479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6480 vget_high_s64 (int64x2_t __a
)
6485 __extension__
extern __inline uint8x8_t
6486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6487 vget_high_u8 (uint8x16_t __a
)
6492 __extension__
extern __inline uint16x4_t
6493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6494 vget_high_u16 (uint16x8_t __a
)
6499 __extension__
extern __inline uint32x2_t
6500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6501 vget_high_u32 (uint32x4_t __a
)
6508 __extension__
extern __inline uint64x1_t
6509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6510 vget_high_u64 (uint64x2_t __a
)
6512 return vcreate_u64 (vgetq_lane_u64 (__a
, 1));
6515 __extension__
extern __inline int8x16_t
6516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6517 vcombine_s8 (int8x8_t __a
, int8x8_t __b
)
6519 return (int8x16_t
) __builtin_aarch64_combinev8qi (__a
, __b
);
6522 __extension__
extern __inline int16x8_t
6523 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6524 vcombine_s16 (int16x4_t __a
, int16x4_t __b
)
6526 return (int16x8_t
) __builtin_aarch64_combinev4hi (__a
, __b
);
6529 __extension__
extern __inline int32x4_t
6530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6531 vcombine_s32 (int32x2_t __a
, int32x2_t __b
)
6533 return (int32x4_t
) __builtin_aarch64_combinev2si (__a
, __b
);
6536 __extension__
extern __inline int64x2_t
6537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6538 vcombine_s64 (int64x1_t __a
, int64x1_t __b
)
6540 return __builtin_aarch64_combinedi (__a
[0], __b
[0]);
6543 __extension__
extern __inline float16x8_t
6544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6545 vcombine_f16 (float16x4_t __a
, float16x4_t __b
)
6547 return __builtin_aarch64_combinev4hf (__a
, __b
);
6550 __extension__
extern __inline float32x4_t
6551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6552 vcombine_f32 (float32x2_t __a
, float32x2_t __b
)
6554 return (float32x4_t
) __builtin_aarch64_combinev2sf (__a
, __b
);
6557 __extension__
extern __inline uint8x16_t
6558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6559 vcombine_u8 (uint8x8_t __a
, uint8x8_t __b
)
6561 return (uint8x16_t
) __builtin_aarch64_combinev8qi ((int8x8_t
) __a
,
6565 __extension__
extern __inline uint16x8_t
6566 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6567 vcombine_u16 (uint16x4_t __a
, uint16x4_t __b
)
6569 return (uint16x8_t
) __builtin_aarch64_combinev4hi ((int16x4_t
) __a
,
6573 __extension__
extern __inline uint32x4_t
6574 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6575 vcombine_u32 (uint32x2_t __a
, uint32x2_t __b
)
6577 return (uint32x4_t
) __builtin_aarch64_combinev2si ((int32x2_t
) __a
,
6581 __extension__
extern __inline uint64x2_t
6582 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6583 vcombine_u64 (uint64x1_t __a
, uint64x1_t __b
)
6585 return (uint64x2_t
) __builtin_aarch64_combinedi (__a
[0], __b
[0]);
6588 __extension__
extern __inline float64x2_t
6589 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6590 vcombine_f64 (float64x1_t __a
, float64x1_t __b
)
6592 return __builtin_aarch64_combinedf (__a
[0], __b
[0]);
6595 __extension__
extern __inline poly8x16_t
6596 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6597 vcombine_p8 (poly8x8_t __a
, poly8x8_t __b
)
6599 return (poly8x16_t
) __builtin_aarch64_combinev8qi ((int8x8_t
) __a
,
6603 __extension__
extern __inline poly16x8_t
6604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6605 vcombine_p16 (poly16x4_t __a
, poly16x4_t __b
)
6607 return (poly16x8_t
) __builtin_aarch64_combinev4hi ((int16x4_t
) __a
,
6611 __extension__
extern __inline poly64x2_t
6612 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6613 vcombine_p64 (poly64x1_t __a
, poly64x1_t __b
)
6615 return (poly64x2_t
) __builtin_aarch64_combinedi_ppp (__a
[0], __b
[0]);
6618 /* Start of temporary inline asm implementations. */
6620 __extension__
extern __inline int8x8_t
6621 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6622 vaba_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
6624 return __builtin_aarch64_sabav8qi (__a
, __b
, __c
);
6627 __extension__
extern __inline int16x4_t
6628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6629 vaba_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
6631 return __builtin_aarch64_sabav4hi (__a
, __b
, __c
);
6634 __extension__
extern __inline int32x2_t
6635 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6636 vaba_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
6638 return __builtin_aarch64_sabav2si (__a
, __b
, __c
);
6641 __extension__
extern __inline uint8x8_t
6642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6643 vaba_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
6645 return __builtin_aarch64_uabav8qi_uuuu (__a
, __b
, __c
);
6648 __extension__
extern __inline uint16x4_t
6649 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6650 vaba_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
6652 return __builtin_aarch64_uabav4hi_uuuu (__a
, __b
, __c
);
6655 __extension__
extern __inline uint32x2_t
6656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6657 vaba_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
6659 return __builtin_aarch64_uabav2si_uuuu (__a
, __b
, __c
);
6662 __extension__
extern __inline int16x8_t
6663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6664 vabal_high_s8 (int16x8_t __a
, int8x16_t __b
, int8x16_t __c
)
6667 __asm__ ("sabal2 %0.8h,%2.16b,%3.16b"
6669 : "0"(__a
), "w"(__b
), "w"(__c
)
6670 : /* No clobbers */);
6674 __extension__
extern __inline int32x4_t
6675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6676 vabal_high_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
)
6679 __asm__ ("sabal2 %0.4s,%2.8h,%3.8h"
6681 : "0"(__a
), "w"(__b
), "w"(__c
)
6682 : /* No clobbers */);
6686 __extension__
extern __inline int64x2_t
6687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6688 vabal_high_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
)
6691 __asm__ ("sabal2 %0.2d,%2.4s,%3.4s"
6693 : "0"(__a
), "w"(__b
), "w"(__c
)
6694 : /* No clobbers */);
6698 __extension__
extern __inline uint16x8_t
6699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6700 vabal_high_u8 (uint16x8_t __a
, uint8x16_t __b
, uint8x16_t __c
)
6702 uint16x8_t __result
;
6703 __asm__ ("uabal2 %0.8h,%2.16b,%3.16b"
6705 : "0"(__a
), "w"(__b
), "w"(__c
)
6706 : /* No clobbers */);
6710 __extension__
extern __inline uint32x4_t
6711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6712 vabal_high_u16 (uint32x4_t __a
, uint16x8_t __b
, uint16x8_t __c
)
6714 uint32x4_t __result
;
6715 __asm__ ("uabal2 %0.4s,%2.8h,%3.8h"
6717 : "0"(__a
), "w"(__b
), "w"(__c
)
6718 : /* No clobbers */);
6722 __extension__
extern __inline uint64x2_t
6723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6724 vabal_high_u32 (uint64x2_t __a
, uint32x4_t __b
, uint32x4_t __c
)
6726 uint64x2_t __result
;
6727 __asm__ ("uabal2 %0.2d,%2.4s,%3.4s"
6729 : "0"(__a
), "w"(__b
), "w"(__c
)
6730 : /* No clobbers */);
6734 __extension__
extern __inline int16x8_t
6735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6736 vabal_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
6739 __asm__ ("sabal %0.8h,%2.8b,%3.8b"
6741 : "0"(__a
), "w"(__b
), "w"(__c
)
6742 : /* No clobbers */);
6746 __extension__
extern __inline int32x4_t
6747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6748 vabal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
6751 __asm__ ("sabal %0.4s,%2.4h,%3.4h"
6753 : "0"(__a
), "w"(__b
), "w"(__c
)
6754 : /* No clobbers */);
6758 __extension__
extern __inline int64x2_t
6759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6760 vabal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
6763 __asm__ ("sabal %0.2d,%2.2s,%3.2s"
6765 : "0"(__a
), "w"(__b
), "w"(__c
)
6766 : /* No clobbers */);
6770 __extension__
extern __inline uint16x8_t
6771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6772 vabal_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
6774 uint16x8_t __result
;
6775 __asm__ ("uabal %0.8h,%2.8b,%3.8b"
6777 : "0"(__a
), "w"(__b
), "w"(__c
)
6778 : /* No clobbers */);
6782 __extension__
extern __inline uint32x4_t
6783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6784 vabal_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
6786 uint32x4_t __result
;
6787 __asm__ ("uabal %0.4s,%2.4h,%3.4h"
6789 : "0"(__a
), "w"(__b
), "w"(__c
)
6790 : /* No clobbers */);
6794 __extension__
extern __inline uint64x2_t
6795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6796 vabal_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
6798 uint64x2_t __result
;
6799 __asm__ ("uabal %0.2d,%2.2s,%3.2s"
6801 : "0"(__a
), "w"(__b
), "w"(__c
)
6802 : /* No clobbers */);
6806 __extension__
extern __inline int8x16_t
6807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6808 vabaq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
6810 return __builtin_aarch64_sabav16qi (__a
, __b
, __c
);
6813 __extension__
extern __inline int16x8_t
6814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6815 vabaq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
6817 return __builtin_aarch64_sabav8hi (__a
, __b
, __c
);
6820 __extension__
extern __inline int32x4_t
6821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6822 vabaq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
6824 return __builtin_aarch64_sabav4si (__a
, __b
, __c
);
6827 __extension__
extern __inline uint8x16_t
6828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6829 vabaq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
6831 return __builtin_aarch64_uabav16qi_uuuu (__a
, __b
, __c
);
6834 __extension__
extern __inline uint16x8_t
6835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6836 vabaq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
6838 return __builtin_aarch64_uabav8hi_uuuu (__a
, __b
, __c
);
6841 __extension__
extern __inline uint32x4_t
6842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6843 vabaq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
6845 return __builtin_aarch64_uabav4si_uuuu (__a
, __b
, __c
);
6848 __extension__
extern __inline int8x8_t
6849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6850 vabd_s8 (int8x8_t __a
, int8x8_t __b
)
6852 return __builtin_aarch64_sabdv8qi (__a
, __b
);
6855 __extension__
extern __inline int16x4_t
6856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6857 vabd_s16 (int16x4_t __a
, int16x4_t __b
)
6859 return __builtin_aarch64_sabdv4hi (__a
, __b
);
6862 __extension__
extern __inline int32x2_t
6863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6864 vabd_s32 (int32x2_t __a
, int32x2_t __b
)
6866 return __builtin_aarch64_sabdv2si (__a
, __b
);
6869 __extension__
extern __inline uint8x8_t
6870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6871 vabd_u8 (uint8x8_t __a
, uint8x8_t __b
)
6873 return __builtin_aarch64_uabdv8qi_uuu (__a
, __b
);
6876 __extension__
extern __inline uint16x4_t
6877 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6878 vabd_u16 (uint16x4_t __a
, uint16x4_t __b
)
6880 return __builtin_aarch64_uabdv4hi_uuu (__a
, __b
);
6883 __extension__
extern __inline uint32x2_t
6884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6885 vabd_u32 (uint32x2_t __a
, uint32x2_t __b
)
6887 return __builtin_aarch64_uabdv2si_uuu (__a
, __b
);
6890 __extension__
extern __inline int16x8_t
6891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6892 vabdl_high_s8 (int8x16_t __a
, int8x16_t __b
)
6895 __asm__ ("sabdl2 %0.8h,%1.16b,%2.16b"
6897 : "w"(__a
), "w"(__b
)
6898 : /* No clobbers */);
6902 __extension__
extern __inline int32x4_t
6903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6904 vabdl_high_s16 (int16x8_t __a
, int16x8_t __b
)
6907 __asm__ ("sabdl2 %0.4s,%1.8h,%2.8h"
6909 : "w"(__a
), "w"(__b
)
6910 : /* No clobbers */);
6914 __extension__
extern __inline int64x2_t
6915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6916 vabdl_high_s32 (int32x4_t __a
, int32x4_t __b
)
6919 __asm__ ("sabdl2 %0.2d,%1.4s,%2.4s"
6921 : "w"(__a
), "w"(__b
)
6922 : /* No clobbers */);
6926 __extension__
extern __inline uint16x8_t
6927 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6928 vabdl_high_u8 (uint8x16_t __a
, uint8x16_t __b
)
6930 uint16x8_t __result
;
6931 __asm__ ("uabdl2 %0.8h,%1.16b,%2.16b"
6933 : "w"(__a
), "w"(__b
)
6934 : /* No clobbers */);
6938 __extension__
extern __inline uint32x4_t
6939 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6940 vabdl_high_u16 (uint16x8_t __a
, uint16x8_t __b
)
6942 uint32x4_t __result
;
6943 __asm__ ("uabdl2 %0.4s,%1.8h,%2.8h"
6945 : "w"(__a
), "w"(__b
)
6946 : /* No clobbers */);
6950 __extension__
extern __inline uint64x2_t
6951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6952 vabdl_high_u32 (uint32x4_t __a
, uint32x4_t __b
)
6954 uint64x2_t __result
;
6955 __asm__ ("uabdl2 %0.2d,%1.4s,%2.4s"
6957 : "w"(__a
), "w"(__b
)
6958 : /* No clobbers */);
6962 __extension__
extern __inline int16x8_t
6963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6964 vabdl_s8 (int8x8_t __a
, int8x8_t __b
)
6967 __asm__ ("sabdl %0.8h, %1.8b, %2.8b"
6969 : "w"(__a
), "w"(__b
)
6970 : /* No clobbers */);
6974 __extension__
extern __inline int32x4_t
6975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6976 vabdl_s16 (int16x4_t __a
, int16x4_t __b
)
6979 __asm__ ("sabdl %0.4s, %1.4h, %2.4h"
6981 : "w"(__a
), "w"(__b
)
6982 : /* No clobbers */);
6986 __extension__
extern __inline int64x2_t
6987 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6988 vabdl_s32 (int32x2_t __a
, int32x2_t __b
)
6991 __asm__ ("sabdl %0.2d, %1.2s, %2.2s"
6993 : "w"(__a
), "w"(__b
)
6994 : /* No clobbers */);
6998 __extension__
extern __inline uint16x8_t
6999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7000 vabdl_u8 (uint8x8_t __a
, uint8x8_t __b
)
7002 uint16x8_t __result
;
7003 __asm__ ("uabdl %0.8h, %1.8b, %2.8b"
7005 : "w"(__a
), "w"(__b
)
7006 : /* No clobbers */);
7010 __extension__
extern __inline uint32x4_t
7011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7012 vabdl_u16 (uint16x4_t __a
, uint16x4_t __b
)
7014 uint32x4_t __result
;
7015 __asm__ ("uabdl %0.4s, %1.4h, %2.4h"
7017 : "w"(__a
), "w"(__b
)
7018 : /* No clobbers */);
7022 __extension__
extern __inline uint64x2_t
7023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7024 vabdl_u32 (uint32x2_t __a
, uint32x2_t __b
)
7026 uint64x2_t __result
;
7027 __asm__ ("uabdl %0.2d, %1.2s, %2.2s"
7029 : "w"(__a
), "w"(__b
)
7030 : /* No clobbers */);
7034 __extension__
extern __inline int8x16_t
7035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7036 vabdq_s8 (int8x16_t __a
, int8x16_t __b
)
7038 return __builtin_aarch64_sabdv16qi (__a
, __b
);
7041 __extension__
extern __inline int16x8_t
7042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7043 vabdq_s16 (int16x8_t __a
, int16x8_t __b
)
7045 return __builtin_aarch64_sabdv8hi (__a
, __b
);
7048 __extension__
extern __inline int32x4_t
7049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7050 vabdq_s32 (int32x4_t __a
, int32x4_t __b
)
7052 return __builtin_aarch64_sabdv4si (__a
, __b
);
7055 __extension__
extern __inline uint8x16_t
7056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7057 vabdq_u8 (uint8x16_t __a
, uint8x16_t __b
)
7059 return __builtin_aarch64_uabdv16qi_uuu (__a
, __b
);
7062 __extension__
extern __inline uint16x8_t
7063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7064 vabdq_u16 (uint16x8_t __a
, uint16x8_t __b
)
7066 return __builtin_aarch64_uabdv8hi_uuu (__a
, __b
);
7069 __extension__
extern __inline uint32x4_t
7070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7071 vabdq_u32 (uint32x4_t __a
, uint32x4_t __b
)
7073 return __builtin_aarch64_uabdv4si_uuu (__a
, __b
);
7076 __extension__
extern __inline
int16_t
7077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7078 vaddlv_s8 (int8x8_t __a
)
7081 __asm__ ("saddlv %h0,%1.8b"
7084 : /* No clobbers */);
7088 __extension__
extern __inline
int32_t
7089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7090 vaddlv_s16 (int16x4_t __a
)
7093 __asm__ ("saddlv %s0,%1.4h"
7096 : /* No clobbers */);
7100 __extension__
extern __inline
uint16_t
7101 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7102 vaddlv_u8 (uint8x8_t __a
)
7105 __asm__ ("uaddlv %h0,%1.8b"
7108 : /* No clobbers */);
7112 __extension__
extern __inline
uint32_t
7113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7114 vaddlv_u16 (uint16x4_t __a
)
7117 __asm__ ("uaddlv %s0,%1.4h"
7120 : /* No clobbers */);
7124 __extension__
extern __inline
int16_t
7125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7126 vaddlvq_s8 (int8x16_t __a
)
7129 __asm__ ("saddlv %h0,%1.16b"
7132 : /* No clobbers */);
7136 __extension__
extern __inline
int32_t
7137 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7138 vaddlvq_s16 (int16x8_t __a
)
7141 __asm__ ("saddlv %s0,%1.8h"
7144 : /* No clobbers */);
7148 __extension__
extern __inline
int64_t
7149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7150 vaddlvq_s32 (int32x4_t __a
)
7153 __asm__ ("saddlv %d0,%1.4s"
7156 : /* No clobbers */);
7160 __extension__
extern __inline
uint16_t
7161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7162 vaddlvq_u8 (uint8x16_t __a
)
7165 __asm__ ("uaddlv %h0,%1.16b"
7168 : /* No clobbers */);
7172 __extension__
extern __inline
uint32_t
7173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7174 vaddlvq_u16 (uint16x8_t __a
)
7177 __asm__ ("uaddlv %s0,%1.8h"
7180 : /* No clobbers */);
7184 __extension__
extern __inline
uint64_t
7185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7186 vaddlvq_u32 (uint32x4_t __a
)
7189 __asm__ ("uaddlv %d0,%1.4s"
7192 : /* No clobbers */);
7196 __extension__
extern __inline float32x2_t
7197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7198 vcvtx_f32_f64 (float64x2_t __a
)
7200 float32x2_t __result
;
7201 __asm__ ("fcvtxn %0.2s,%1.2d"
7204 : /* No clobbers */);
7208 __extension__
extern __inline float32x4_t
7209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7210 vcvtx_high_f32_f64 (float32x2_t __a
, float64x2_t __b
)
7212 float32x4_t __result
;
7213 __asm__ ("fcvtxn2 %0.4s,%1.2d"
7215 : "w" (__b
), "0"(__a
)
7216 : /* No clobbers */);
7220 __extension__
extern __inline float32_t
7221 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7222 vcvtxd_f32_f64 (float64_t __a
)
7225 __asm__ ("fcvtxn %s0,%d1"
7228 : /* No clobbers */);
7232 __extension__
extern __inline float32x2_t
7233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7234 vmla_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
7236 float32x2_t __result
;
7238 __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fadd %0.2s, %0.2s, %1.2s"
7239 : "=w"(__result
), "=w"(__t1
)
7240 : "0"(__a
), "w"(__b
), "w"(__c
)
7241 : /* No clobbers */);
7245 __extension__
extern __inline int16x4_t
7246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7247 vmla_n_s16 (int16x4_t __a
, int16x4_t __b
, int16_t __c
)
7250 __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7252 : "0"(__a
), "w"(__b
), "x"(__c
)
7253 : /* No clobbers */);
7257 __extension__
extern __inline int32x2_t
7258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7259 vmla_n_s32 (int32x2_t __a
, int32x2_t __b
, int32_t __c
)
7262 __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7264 : "0"(__a
), "w"(__b
), "w"(__c
)
7265 : /* No clobbers */);
7269 __extension__
extern __inline uint16x4_t
7270 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7271 vmla_n_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16_t __c
)
7273 uint16x4_t __result
;
7274 __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7276 : "0"(__a
), "w"(__b
), "x"(__c
)
7277 : /* No clobbers */);
7281 __extension__
extern __inline uint32x2_t
7282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7283 vmla_n_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32_t __c
)
7285 uint32x2_t __result
;
7286 __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7288 : "0"(__a
), "w"(__b
), "w"(__c
)
7289 : /* No clobbers */);
7293 __extension__
extern __inline int8x8_t
7294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7295 vmla_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
7297 return __builtin_aarch64_mlav8qi (__a
, __b
, __c
);
7300 __extension__
extern __inline int16x4_t
7301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7302 vmla_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
7304 return __builtin_aarch64_mlav4hi (__a
, __b
, __c
);
7307 __extension__
extern __inline int32x2_t
7308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7309 vmla_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
7311 return __builtin_aarch64_mlav2si (__a
, __b
, __c
);
7314 __extension__
extern __inline uint8x8_t
7315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7316 vmla_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
7318 return (uint8x8_t
) __builtin_aarch64_mlav8qi ((int8x8_t
) __a
,
7323 __extension__
extern __inline uint16x4_t
7324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7325 vmla_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
7327 return (uint16x4_t
) __builtin_aarch64_mlav4hi ((int16x4_t
) __a
,
7332 __extension__
extern __inline uint32x2_t
7333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7334 vmla_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
7336 return (uint32x2_t
) __builtin_aarch64_mlav2si ((int32x2_t
) __a
,
7341 #define vmlal_high_lane_s16(a, b, c, d) \
7344 int16x4_t c_ = (c); \
7345 int16x8_t b_ = (b); \
7346 int32x4_t a_ = (a); \
7348 __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]" \
7350 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
7351 : /* No clobbers */); \
7355 #define vmlal_high_lane_s32(a, b, c, d) \
7358 int32x2_t c_ = (c); \
7359 int32x4_t b_ = (b); \
7360 int64x2_t a_ = (a); \
7362 __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]" \
7364 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
7365 : /* No clobbers */); \
7369 #define vmlal_high_lane_u16(a, b, c, d) \
7372 uint16x4_t c_ = (c); \
7373 uint16x8_t b_ = (b); \
7374 uint32x4_t a_ = (a); \
7375 uint32x4_t result; \
7376 __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]" \
7378 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
7379 : /* No clobbers */); \
7383 #define vmlal_high_lane_u32(a, b, c, d) \
7386 uint32x2_t c_ = (c); \
7387 uint32x4_t b_ = (b); \
7388 uint64x2_t a_ = (a); \
7389 uint64x2_t result; \
7390 __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]" \
7392 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
7393 : /* No clobbers */); \
7397 #define vmlal_high_laneq_s16(a, b, c, d) \
7400 int16x8_t c_ = (c); \
7401 int16x8_t b_ = (b); \
7402 int32x4_t a_ = (a); \
7404 __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]" \
7406 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
7407 : /* No clobbers */); \
7411 #define vmlal_high_laneq_s32(a, b, c, d) \
7414 int32x4_t c_ = (c); \
7415 int32x4_t b_ = (b); \
7416 int64x2_t a_ = (a); \
7418 __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]" \
7420 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
7421 : /* No clobbers */); \
7425 #define vmlal_high_laneq_u16(a, b, c, d) \
7428 uint16x8_t c_ = (c); \
7429 uint16x8_t b_ = (b); \
7430 uint32x4_t a_ = (a); \
7431 uint32x4_t result; \
7432 __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]" \
7434 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
7435 : /* No clobbers */); \
7439 #define vmlal_high_laneq_u32(a, b, c, d) \
7442 uint32x4_t c_ = (c); \
7443 uint32x4_t b_ = (b); \
7444 uint64x2_t a_ = (a); \
7445 uint64x2_t result; \
7446 __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]" \
7448 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
7449 : /* No clobbers */); \
7453 __extension__
extern __inline int32x4_t
7454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7455 vmlal_high_n_s16 (int32x4_t __a
, int16x8_t __b
, int16_t __c
)
7458 __asm__ ("smlal2 %0.4s,%2.8h,%3.h[0]"
7460 : "0"(__a
), "w"(__b
), "x"(__c
)
7461 : /* No clobbers */);
7465 __extension__
extern __inline int64x2_t
7466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7467 vmlal_high_n_s32 (int64x2_t __a
, int32x4_t __b
, int32_t __c
)
7470 __asm__ ("smlal2 %0.2d,%2.4s,%3.s[0]"
7472 : "0"(__a
), "w"(__b
), "w"(__c
)
7473 : /* No clobbers */);
7477 __extension__
extern __inline uint32x4_t
7478 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7479 vmlal_high_n_u16 (uint32x4_t __a
, uint16x8_t __b
, uint16_t __c
)
7481 uint32x4_t __result
;
7482 __asm__ ("umlal2 %0.4s,%2.8h,%3.h[0]"
7484 : "0"(__a
), "w"(__b
), "x"(__c
)
7485 : /* No clobbers */);
7489 __extension__
extern __inline uint64x2_t
7490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7491 vmlal_high_n_u32 (uint64x2_t __a
, uint32x4_t __b
, uint32_t __c
)
7493 uint64x2_t __result
;
7494 __asm__ ("umlal2 %0.2d,%2.4s,%3.s[0]"
7496 : "0"(__a
), "w"(__b
), "w"(__c
)
7497 : /* No clobbers */);
7501 __extension__
extern __inline int16x8_t
7502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7503 vmlal_high_s8 (int16x8_t __a
, int8x16_t __b
, int8x16_t __c
)
7506 __asm__ ("smlal2 %0.8h,%2.16b,%3.16b"
7508 : "0"(__a
), "w"(__b
), "w"(__c
)
7509 : /* No clobbers */);
7513 __extension__
extern __inline int32x4_t
7514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7515 vmlal_high_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
)
7518 __asm__ ("smlal2 %0.4s,%2.8h,%3.8h"
7520 : "0"(__a
), "w"(__b
), "w"(__c
)
7521 : /* No clobbers */);
7525 __extension__
extern __inline int64x2_t
7526 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7527 vmlal_high_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
)
7530 __asm__ ("smlal2 %0.2d,%2.4s,%3.4s"
7532 : "0"(__a
), "w"(__b
), "w"(__c
)
7533 : /* No clobbers */);
7537 __extension__
extern __inline uint16x8_t
7538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7539 vmlal_high_u8 (uint16x8_t __a
, uint8x16_t __b
, uint8x16_t __c
)
7541 uint16x8_t __result
;
7542 __asm__ ("umlal2 %0.8h,%2.16b,%3.16b"
7544 : "0"(__a
), "w"(__b
), "w"(__c
)
7545 : /* No clobbers */);
7549 __extension__
extern __inline uint32x4_t
7550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7551 vmlal_high_u16 (uint32x4_t __a
, uint16x8_t __b
, uint16x8_t __c
)
7553 uint32x4_t __result
;
7554 __asm__ ("umlal2 %0.4s,%2.8h,%3.8h"
7556 : "0"(__a
), "w"(__b
), "w"(__c
)
7557 : /* No clobbers */);
7561 __extension__
extern __inline uint64x2_t
7562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7563 vmlal_high_u32 (uint64x2_t __a
, uint32x4_t __b
, uint32x4_t __c
)
7565 uint64x2_t __result
;
7566 __asm__ ("umlal2 %0.2d,%2.4s,%3.4s"
7568 : "0"(__a
), "w"(__b
), "w"(__c
)
7569 : /* No clobbers */);
7573 __extension__
extern __inline int32x4_t
7574 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7575 vmlal_lane_s16 (int32x4_t __acc
, int16x4_t __a
, int16x4_t __b
, const int __c
)
7577 return __builtin_aarch64_vec_smlal_lane_v4hi (__acc
, __a
, __b
, __c
);
7580 __extension__
extern __inline int64x2_t
7581 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7582 vmlal_lane_s32 (int64x2_t __acc
, int32x2_t __a
, int32x2_t __b
, const int __c
)
7584 return __builtin_aarch64_vec_smlal_lane_v2si (__acc
, __a
, __b
, __c
);
7587 __extension__
extern __inline uint32x4_t
7588 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7589 vmlal_lane_u16 (uint32x4_t __acc
, uint16x4_t __a
, uint16x4_t __b
, const int __c
)
7591 return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc
, __a
, __b
, __c
);
7594 __extension__
extern __inline uint64x2_t
7595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7596 vmlal_lane_u32 (uint64x2_t __acc
, uint32x2_t __a
, uint32x2_t __b
, const int __c
)
7598 return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc
, __a
, __b
, __c
);
7601 __extension__
extern __inline int32x4_t
7602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7603 vmlal_laneq_s16 (int32x4_t __acc
, int16x4_t __a
, int16x8_t __b
, const int __c
)
7605 return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc
, __a
, __b
, __c
);
7608 __extension__
extern __inline int64x2_t
7609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7610 vmlal_laneq_s32 (int64x2_t __acc
, int32x2_t __a
, int32x4_t __b
, const int __c
)
7612 return __builtin_aarch64_vec_smlal_laneq_v2si (__acc
, __a
, __b
, __c
);
7615 __extension__
extern __inline uint32x4_t
7616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7617 vmlal_laneq_u16 (uint32x4_t __acc
, uint16x4_t __a
, uint16x8_t __b
, const int __c
)
7619 return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc
, __a
, __b
, __c
);
7622 __extension__
extern __inline uint64x2_t
7623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7624 vmlal_laneq_u32 (uint64x2_t __acc
, uint32x2_t __a
, uint32x4_t __b
, const int __c
)
7626 return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc
, __a
, __b
, __c
);
7629 __extension__
extern __inline int32x4_t
7630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7631 vmlal_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
7634 __asm__ ("smlal %0.4s,%2.4h,%3.h[0]"
7636 : "0"(__a
), "w"(__b
), "x"(__c
)
7637 : /* No clobbers */);
7641 __extension__
extern __inline int64x2_t
7642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7643 vmlal_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
7646 __asm__ ("smlal %0.2d,%2.2s,%3.s[0]"
7648 : "0"(__a
), "w"(__b
), "w"(__c
)
7649 : /* No clobbers */);
7653 __extension__
extern __inline uint32x4_t
7654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7655 vmlal_n_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16_t __c
)
7657 uint32x4_t __result
;
7658 __asm__ ("umlal %0.4s,%2.4h,%3.h[0]"
7660 : "0"(__a
), "w"(__b
), "x"(__c
)
7661 : /* No clobbers */);
7665 __extension__
extern __inline uint64x2_t
7666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7667 vmlal_n_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32_t __c
)
7669 uint64x2_t __result
;
7670 __asm__ ("umlal %0.2d,%2.2s,%3.s[0]"
7672 : "0"(__a
), "w"(__b
), "w"(__c
)
7673 : /* No clobbers */);
7677 __extension__
extern __inline int16x8_t
7678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7679 vmlal_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
7682 __asm__ ("smlal %0.8h,%2.8b,%3.8b"
7684 : "0"(__a
), "w"(__b
), "w"(__c
)
7685 : /* No clobbers */);
7689 __extension__
extern __inline int32x4_t
7690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7691 vmlal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
7694 __asm__ ("smlal %0.4s,%2.4h,%3.4h"
7696 : "0"(__a
), "w"(__b
), "w"(__c
)
7697 : /* No clobbers */);
7701 __extension__
extern __inline int64x2_t
7702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7703 vmlal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
7706 __asm__ ("smlal %0.2d,%2.2s,%3.2s"
7708 : "0"(__a
), "w"(__b
), "w"(__c
)
7709 : /* No clobbers */);
7713 __extension__
extern __inline uint16x8_t
7714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7715 vmlal_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
7717 uint16x8_t __result
;
7718 __asm__ ("umlal %0.8h,%2.8b,%3.8b"
7720 : "0"(__a
), "w"(__b
), "w"(__c
)
7721 : /* No clobbers */);
7725 __extension__
extern __inline uint32x4_t
7726 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7727 vmlal_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
7729 uint32x4_t __result
;
7730 __asm__ ("umlal %0.4s,%2.4h,%3.4h"
7732 : "0"(__a
), "w"(__b
), "w"(__c
)
7733 : /* No clobbers */);
7737 __extension__
extern __inline uint64x2_t
7738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7739 vmlal_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
7741 uint64x2_t __result
;
7742 __asm__ ("umlal %0.2d,%2.2s,%3.2s"
7744 : "0"(__a
), "w"(__b
), "w"(__c
)
7745 : /* No clobbers */);
7749 __extension__
extern __inline float32x4_t
7750 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7751 vmlaq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
7753 float32x4_t __result
;
7755 __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fadd %0.4s, %0.4s, %1.4s"
7756 : "=w"(__result
), "=w"(__t1
)
7757 : "0"(__a
), "w"(__b
), "w"(__c
)
7758 : /* No clobbers */);
7762 __extension__
extern __inline int16x8_t
7763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7764 vmlaq_n_s16 (int16x8_t __a
, int16x8_t __b
, int16_t __c
)
7767 __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7769 : "0"(__a
), "w"(__b
), "x"(__c
)
7770 : /* No clobbers */);
7774 __extension__
extern __inline int32x4_t
7775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7776 vmlaq_n_s32 (int32x4_t __a
, int32x4_t __b
, int32_t __c
)
7779 __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7781 : "0"(__a
), "w"(__b
), "w"(__c
)
7782 : /* No clobbers */);
7786 __extension__
extern __inline uint16x8_t
7787 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7788 vmlaq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16_t __c
)
7790 uint16x8_t __result
;
7791 __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7793 : "0"(__a
), "w"(__b
), "x"(__c
)
7794 : /* No clobbers */);
7798 __extension__
extern __inline uint32x4_t
7799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7800 vmlaq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32_t __c
)
7802 uint32x4_t __result
;
7803 __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7805 : "0"(__a
), "w"(__b
), "w"(__c
)
7806 : /* No clobbers */);
7810 __extension__
extern __inline int8x16_t
7811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7812 vmlaq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
7814 return __builtin_aarch64_mlav16qi (__a
, __b
, __c
);
7817 __extension__
extern __inline int16x8_t
7818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7819 vmlaq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
7821 return __builtin_aarch64_mlav8hi (__a
, __b
, __c
);
7824 __extension__
extern __inline int32x4_t
7825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7826 vmlaq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
7828 return __builtin_aarch64_mlav4si (__a
, __b
, __c
);
7831 __extension__
extern __inline uint8x16_t
7832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7833 vmlaq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
7835 return (uint8x16_t
) __builtin_aarch64_mlav16qi ((int8x16_t
) __a
,
7840 __extension__
extern __inline uint16x8_t
7841 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7842 vmlaq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
7844 return (uint16x8_t
) __builtin_aarch64_mlav8hi ((int16x8_t
) __a
,
7849 __extension__
extern __inline uint32x4_t
7850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7851 vmlaq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
7853 return (uint32x4_t
) __builtin_aarch64_mlav4si ((int32x4_t
) __a
,
7858 __extension__
extern __inline float32x2_t
7859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7860 vmls_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
7862 float32x2_t __result
;
7864 __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fsub %0.2s, %0.2s, %1.2s"
7865 : "=w"(__result
), "=w"(__t1
)
7866 : "0"(__a
), "w"(__b
), "w"(__c
)
7867 : /* No clobbers */);
7871 __extension__
extern __inline int16x4_t
7872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7873 vmls_n_s16 (int16x4_t __a
, int16x4_t __b
, int16_t __c
)
7876 __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
7878 : "0"(__a
), "w"(__b
), "x"(__c
)
7879 : /* No clobbers */);
7883 __extension__
extern __inline int32x2_t
7884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7885 vmls_n_s32 (int32x2_t __a
, int32x2_t __b
, int32_t __c
)
7888 __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
7890 : "0"(__a
), "w"(__b
), "w"(__c
)
7891 : /* No clobbers */);
7895 __extension__
extern __inline uint16x4_t
7896 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7897 vmls_n_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16_t __c
)
7899 uint16x4_t __result
;
7900 __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
7902 : "0"(__a
), "w"(__b
), "x"(__c
)
7903 : /* No clobbers */);
7907 __extension__
extern __inline uint32x2_t
7908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7909 vmls_n_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32_t __c
)
7911 uint32x2_t __result
;
7912 __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
7914 : "0"(__a
), "w"(__b
), "w"(__c
)
7915 : /* No clobbers */);
7919 __extension__
extern __inline int8x8_t
7920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7921 vmls_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
7924 __asm__ ("mls %0.8b,%2.8b,%3.8b"
7926 : "0"(__a
), "w"(__b
), "w"(__c
)
7927 : /* No clobbers */);
7931 __extension__
extern __inline int16x4_t
7932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7933 vmls_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
7936 __asm__ ("mls %0.4h,%2.4h,%3.4h"
7938 : "0"(__a
), "w"(__b
), "w"(__c
)
7939 : /* No clobbers */);
7943 __extension__
extern __inline int32x2_t
7944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7945 vmls_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
7948 __asm__ ("mls %0.2s,%2.2s,%3.2s"
7950 : "0"(__a
), "w"(__b
), "w"(__c
)
7951 : /* No clobbers */);
7955 __extension__
extern __inline uint8x8_t
7956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7957 vmls_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
7960 __asm__ ("mls %0.8b,%2.8b,%3.8b"
7962 : "0"(__a
), "w"(__b
), "w"(__c
)
7963 : /* No clobbers */);
7967 __extension__
extern __inline uint16x4_t
7968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7969 vmls_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
7971 uint16x4_t __result
;
7972 __asm__ ("mls %0.4h,%2.4h,%3.4h"
7974 : "0"(__a
), "w"(__b
), "w"(__c
)
7975 : /* No clobbers */);
7979 __extension__
extern __inline uint32x2_t
7980 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7981 vmls_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
7983 uint32x2_t __result
;
7984 __asm__ ("mls %0.2s,%2.2s,%3.2s"
7986 : "0"(__a
), "w"(__b
), "w"(__c
)
7987 : /* No clobbers */);
7991 #define vmlsl_high_lane_s16(a, b, c, d) \
7994 int16x4_t c_ = (c); \
7995 int16x8_t b_ = (b); \
7996 int32x4_t a_ = (a); \
7998 __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]" \
8000 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8001 : /* No clobbers */); \
8005 #define vmlsl_high_lane_s32(a, b, c, d) \
8008 int32x2_t c_ = (c); \
8009 int32x4_t b_ = (b); \
8010 int64x2_t a_ = (a); \
8012 __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]" \
8014 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8015 : /* No clobbers */); \
8019 #define vmlsl_high_lane_u16(a, b, c, d) \
8022 uint16x4_t c_ = (c); \
8023 uint16x8_t b_ = (b); \
8024 uint32x4_t a_ = (a); \
8025 uint32x4_t result; \
8026 __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]" \
8028 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8029 : /* No clobbers */); \
8033 #define vmlsl_high_lane_u32(a, b, c, d) \
8036 uint32x2_t c_ = (c); \
8037 uint32x4_t b_ = (b); \
8038 uint64x2_t a_ = (a); \
8039 uint64x2_t result; \
8040 __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]" \
8042 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8043 : /* No clobbers */); \
8047 #define vmlsl_high_laneq_s16(a, b, c, d) \
8050 int16x8_t c_ = (c); \
8051 int16x8_t b_ = (b); \
8052 int32x4_t a_ = (a); \
8054 __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]" \
8056 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8057 : /* No clobbers */); \
8061 #define vmlsl_high_laneq_s32(a, b, c, d) \
8064 int32x4_t c_ = (c); \
8065 int32x4_t b_ = (b); \
8066 int64x2_t a_ = (a); \
8068 __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]" \
8070 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8071 : /* No clobbers */); \
8075 #define vmlsl_high_laneq_u16(a, b, c, d) \
8078 uint16x8_t c_ = (c); \
8079 uint16x8_t b_ = (b); \
8080 uint32x4_t a_ = (a); \
8081 uint32x4_t result; \
8082 __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]" \
8084 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8085 : /* No clobbers */); \
8089 #define vmlsl_high_laneq_u32(a, b, c, d) \
8092 uint32x4_t c_ = (c); \
8093 uint32x4_t b_ = (b); \
8094 uint64x2_t a_ = (a); \
8095 uint64x2_t result; \
8096 __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]" \
8098 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8099 : /* No clobbers */); \
8103 __extension__
extern __inline int32x4_t
8104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8105 vmlsl_high_n_s16 (int32x4_t __a
, int16x8_t __b
, int16_t __c
)
8108 __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[0]"
8110 : "0"(__a
), "w"(__b
), "x"(__c
)
8111 : /* No clobbers */);
8115 __extension__
extern __inline int64x2_t
8116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8117 vmlsl_high_n_s32 (int64x2_t __a
, int32x4_t __b
, int32_t __c
)
8120 __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[0]"
8122 : "0"(__a
), "w"(__b
), "w"(__c
)
8123 : /* No clobbers */);
8127 __extension__
extern __inline uint32x4_t
8128 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8129 vmlsl_high_n_u16 (uint32x4_t __a
, uint16x8_t __b
, uint16_t __c
)
8131 uint32x4_t __result
;
8132 __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[0]"
8134 : "0"(__a
), "w"(__b
), "x"(__c
)
8135 : /* No clobbers */);
8139 __extension__
extern __inline uint64x2_t
8140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8141 vmlsl_high_n_u32 (uint64x2_t __a
, uint32x4_t __b
, uint32_t __c
)
8143 uint64x2_t __result
;
8144 __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[0]"
8146 : "0"(__a
), "w"(__b
), "w"(__c
)
8147 : /* No clobbers */);
8151 __extension__
extern __inline int16x8_t
8152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8153 vmlsl_high_s8 (int16x8_t __a
, int8x16_t __b
, int8x16_t __c
)
8155 return __builtin_aarch64_smlsl_hiv16qi (__a
, __b
, __c
);
8158 __extension__
extern __inline int32x4_t
8159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8160 vmlsl_high_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
)
8162 return __builtin_aarch64_smlsl_hiv8hi (__a
, __b
, __c
);
8165 __extension__
extern __inline int64x2_t
8166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8167 vmlsl_high_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
)
8169 return __builtin_aarch64_smlsl_hiv4si (__a
, __b
, __c
);
8172 __extension__
extern __inline uint16x8_t
8173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8174 vmlsl_high_u8 (uint16x8_t __a
, uint8x16_t __b
, uint8x16_t __c
)
8176 return __builtin_aarch64_umlsl_hiv16qi_uuuu (__a
, __b
, __c
);
8179 __extension__
extern __inline uint32x4_t
8180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8181 vmlsl_high_u16 (uint32x4_t __a
, uint16x8_t __b
, uint16x8_t __c
)
8183 return __builtin_aarch64_umlsl_hiv8hi_uuuu (__a
, __b
, __c
);
8186 __extension__
extern __inline uint64x2_t
8187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8188 vmlsl_high_u32 (uint64x2_t __a
, uint32x4_t __b
, uint32x4_t __c
)
8190 return __builtin_aarch64_umlsl_hiv4si_uuuu (__a
, __b
, __c
);
8193 #define vmlsl_lane_s16(a, b, c, d) \
8196 int16x4_t c_ = (c); \
8197 int16x4_t b_ = (b); \
8198 int32x4_t a_ = (a); \
8200 __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]" \
8202 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8203 : /* No clobbers */); \
8207 #define vmlsl_lane_s32(a, b, c, d) \
8210 int32x2_t c_ = (c); \
8211 int32x2_t b_ = (b); \
8212 int64x2_t a_ = (a); \
8214 __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]" \
8216 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8217 : /* No clobbers */); \
8221 #define vmlsl_lane_u16(a, b, c, d) \
8224 uint16x4_t c_ = (c); \
8225 uint16x4_t b_ = (b); \
8226 uint32x4_t a_ = (a); \
8227 uint32x4_t result; \
8228 __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]" \
8230 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8231 : /* No clobbers */); \
8235 #define vmlsl_lane_u32(a, b, c, d) \
8238 uint32x2_t c_ = (c); \
8239 uint32x2_t b_ = (b); \
8240 uint64x2_t a_ = (a); \
8241 uint64x2_t result; \
8242 __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]" \
8244 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8245 : /* No clobbers */); \
8249 #define vmlsl_laneq_s16(a, b, c, d) \
8252 int16x8_t c_ = (c); \
8253 int16x4_t b_ = (b); \
8254 int32x4_t a_ = (a); \
8256 __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]" \
8258 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8259 : /* No clobbers */); \
8263 #define vmlsl_laneq_s32(a, b, c, d) \
8266 int32x4_t c_ = (c); \
8267 int32x2_t b_ = (b); \
8268 int64x2_t a_ = (a); \
8270 __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]" \
8272 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8273 : /* No clobbers */); \
8277 #define vmlsl_laneq_u16(a, b, c, d) \
8280 uint16x8_t c_ = (c); \
8281 uint16x4_t b_ = (b); \
8282 uint32x4_t a_ = (a); \
8283 uint32x4_t result; \
8284 __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]" \
8286 : "0"(a_), "w"(b_), "x"(c_), "i"(d) \
8287 : /* No clobbers */); \
8291 #define vmlsl_laneq_u32(a, b, c, d) \
8294 uint32x4_t c_ = (c); \
8295 uint32x2_t b_ = (b); \
8296 uint64x2_t a_ = (a); \
8297 uint64x2_t result; \
8298 __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]" \
8300 : "0"(a_), "w"(b_), "w"(c_), "i"(d) \
8301 : /* No clobbers */); \
8305 __extension__
extern __inline int32x4_t
8306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8307 vmlsl_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
8310 __asm__ ("smlsl %0.4s, %2.4h, %3.h[0]"
8312 : "0"(__a
), "w"(__b
), "x"(__c
)
8313 : /* No clobbers */);
8317 __extension__
extern __inline int64x2_t
8318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8319 vmlsl_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
8322 __asm__ ("smlsl %0.2d, %2.2s, %3.s[0]"
8324 : "0"(__a
), "w"(__b
), "w"(__c
)
8325 : /* No clobbers */);
8329 __extension__
extern __inline uint32x4_t
8330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8331 vmlsl_n_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16_t __c
)
8333 uint32x4_t __result
;
8334 __asm__ ("umlsl %0.4s, %2.4h, %3.h[0]"
8336 : "0"(__a
), "w"(__b
), "x"(__c
)
8337 : /* No clobbers */);
8341 __extension__
extern __inline uint64x2_t
8342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8343 vmlsl_n_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32_t __c
)
8345 uint64x2_t __result
;
8346 __asm__ ("umlsl %0.2d, %2.2s, %3.s[0]"
8348 : "0"(__a
), "w"(__b
), "w"(__c
)
8349 : /* No clobbers */);
8353 __extension__
extern __inline int16x8_t
8354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8355 vmlsl_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
8357 return __builtin_aarch64_smlslv8qi (__a
, __b
, __c
);
8360 __extension__
extern __inline int32x4_t
8361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8362 vmlsl_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
8364 return __builtin_aarch64_smlslv4hi (__a
, __b
, __c
);
8367 __extension__
extern __inline int64x2_t
8368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8369 vmlsl_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
8371 return __builtin_aarch64_smlslv2si (__a
, __b
, __c
);
8374 __extension__
extern __inline uint16x8_t
8375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8376 vmlsl_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
8378 return __builtin_aarch64_umlslv8qi_uuuu (__a
, __b
, __c
);
8381 __extension__
extern __inline uint32x4_t
8382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8383 vmlsl_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
8385 return __builtin_aarch64_umlslv4hi_uuuu (__a
, __b
, __c
);
8388 __extension__
extern __inline uint64x2_t
8389 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8390 vmlsl_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
8392 return __builtin_aarch64_umlslv2si_uuuu (__a
, __b
, __c
);
8395 __extension__
extern __inline float32x4_t
8396 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8397 vmlsq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
8399 float32x4_t __result
;
8401 __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fsub %0.4s, %0.4s, %1.4s"
8402 : "=w"(__result
), "=w"(__t1
)
8403 : "0"(__a
), "w"(__b
), "w"(__c
)
8404 : /* No clobbers */);
8408 __extension__
extern __inline int16x8_t
8409 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8410 vmlsq_n_s16 (int16x8_t __a
, int16x8_t __b
, int16_t __c
)
8413 __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8415 : "0"(__a
), "w"(__b
), "x"(__c
)
8416 : /* No clobbers */);
8420 __extension__
extern __inline int32x4_t
8421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8422 vmlsq_n_s32 (int32x4_t __a
, int32x4_t __b
, int32_t __c
)
8425 __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8427 : "0"(__a
), "w"(__b
), "w"(__c
)
8428 : /* No clobbers */);
8432 __extension__
extern __inline uint16x8_t
8433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8434 vmlsq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16_t __c
)
8436 uint16x8_t __result
;
8437 __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8439 : "0"(__a
), "w"(__b
), "x"(__c
)
8440 : /* No clobbers */);
8444 __extension__
extern __inline uint32x4_t
8445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8446 vmlsq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32_t __c
)
8448 uint32x4_t __result
;
8449 __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8451 : "0"(__a
), "w"(__b
), "w"(__c
)
8452 : /* No clobbers */);
8456 __extension__
extern __inline int8x16_t
8457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8458 vmlsq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
8461 __asm__ ("mls %0.16b,%2.16b,%3.16b"
8463 : "0"(__a
), "w"(__b
), "w"(__c
)
8464 : /* No clobbers */);
8468 __extension__
extern __inline int16x8_t
8469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8470 vmlsq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
8473 __asm__ ("mls %0.8h,%2.8h,%3.8h"
8475 : "0"(__a
), "w"(__b
), "w"(__c
)
8476 : /* No clobbers */);
8480 __extension__
extern __inline int32x4_t
8481 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8482 vmlsq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
8485 __asm__ ("mls %0.4s,%2.4s,%3.4s"
8487 : "0"(__a
), "w"(__b
), "w"(__c
)
8488 : /* No clobbers */);
8492 __extension__
extern __inline uint8x16_t
8493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8494 vmlsq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
8496 uint8x16_t __result
;
8497 __asm__ ("mls %0.16b,%2.16b,%3.16b"
8499 : "0"(__a
), "w"(__b
), "w"(__c
)
8500 : /* No clobbers */);
8504 __extension__
extern __inline uint16x8_t
8505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8506 vmlsq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
8508 uint16x8_t __result
;
8509 __asm__ ("mls %0.8h,%2.8h,%3.8h"
8511 : "0"(__a
), "w"(__b
), "w"(__c
)
8512 : /* No clobbers */);
8516 __extension__
extern __inline uint32x4_t
8517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8518 vmlsq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
8520 uint32x4_t __result
;
8521 __asm__ ("mls %0.4s,%2.4s,%3.4s"
8523 : "0"(__a
), "w"(__b
), "w"(__c
)
8524 : /* No clobbers */);
8528 __extension__
extern __inline int16x8_t
8529 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8530 vmovl_high_s8 (int8x16_t __a
)
8533 __asm__ ("sshll2 %0.8h,%1.16b,#0"
8536 : /* No clobbers */);
8540 __extension__
extern __inline int32x4_t
8541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8542 vmovl_high_s16 (int16x8_t __a
)
8545 __asm__ ("sshll2 %0.4s,%1.8h,#0"
8548 : /* No clobbers */);
8552 __extension__
extern __inline int64x2_t
8553 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8554 vmovl_high_s32 (int32x4_t __a
)
8557 __asm__ ("sshll2 %0.2d,%1.4s,#0"
8560 : /* No clobbers */);
8564 __extension__
extern __inline uint16x8_t
8565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8566 vmovl_high_u8 (uint8x16_t __a
)
8568 uint16x8_t __result
;
8569 __asm__ ("ushll2 %0.8h,%1.16b,#0"
8572 : /* No clobbers */);
8576 __extension__
extern __inline uint32x4_t
8577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8578 vmovl_high_u16 (uint16x8_t __a
)
8580 uint32x4_t __result
;
8581 __asm__ ("ushll2 %0.4s,%1.8h,#0"
8584 : /* No clobbers */);
8588 __extension__
extern __inline uint64x2_t
8589 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8590 vmovl_high_u32 (uint32x4_t __a
)
8592 uint64x2_t __result
;
8593 __asm__ ("ushll2 %0.2d,%1.4s,#0"
8596 : /* No clobbers */);
8600 __extension__
extern __inline int16x8_t
8601 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8602 vmovl_s8 (int8x8_t __a
)
8604 return __builtin_aarch64_sxtlv8hi (__a
);
8607 __extension__
extern __inline int32x4_t
8608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8609 vmovl_s16 (int16x4_t __a
)
8611 return __builtin_aarch64_sxtlv4si (__a
);
8614 __extension__
extern __inline int64x2_t
8615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8616 vmovl_s32 (int32x2_t __a
)
8618 return __builtin_aarch64_sxtlv2di (__a
);
8621 __extension__
extern __inline uint16x8_t
8622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8623 vmovl_u8 (uint8x8_t __a
)
8625 return __builtin_aarch64_uxtlv8hi_uu (__a
);
8628 __extension__
extern __inline uint32x4_t
8629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8630 vmovl_u16 (uint16x4_t __a
)
8632 return __builtin_aarch64_uxtlv4si_uu (__a
);
8635 __extension__
extern __inline uint64x2_t
8636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8637 vmovl_u32 (uint32x2_t __a
)
8639 return __builtin_aarch64_uxtlv2di_uu (__a
);
8642 __extension__
extern __inline int8x16_t
8643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8644 vmovn_high_s16 (int8x8_t __a
, int16x8_t __b
)
8646 return __builtin_aarch64_xtn2v8hi (__a
, __b
);
8649 __extension__
extern __inline int16x8_t
8650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8651 vmovn_high_s32 (int16x4_t __a
, int32x4_t __b
)
8653 return __builtin_aarch64_xtn2v4si (__a
, __b
);
8656 __extension__
extern __inline int32x4_t
8657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8658 vmovn_high_s64 (int32x2_t __a
, int64x2_t __b
)
8660 return __builtin_aarch64_xtn2v2di (__a
, __b
);
8663 __extension__
extern __inline uint8x16_t
8664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8665 vmovn_high_u16 (uint8x8_t __a
, uint16x8_t __b
)
8668 __builtin_aarch64_xtn2v8hi ((int8x8_t
) __a
, (int16x8_t
) __b
);
8671 __extension__
extern __inline uint16x8_t
8672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8673 vmovn_high_u32 (uint16x4_t __a
, uint32x4_t __b
)
8676 __builtin_aarch64_xtn2v4si ((int16x4_t
) __a
, (int32x4_t
) __b
);
8679 __extension__
extern __inline uint32x4_t
8680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8681 vmovn_high_u64 (uint32x2_t __a
, uint64x2_t __b
)
8684 __builtin_aarch64_xtn2v2di ((int32x2_t
) __a
, (int64x2_t
) __b
);
8687 __extension__
extern __inline int8x8_t
8688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8689 vmovn_s16 (int16x8_t __a
)
8691 return __builtin_aarch64_xtnv8hi (__a
);
8694 __extension__
extern __inline int16x4_t
8695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8696 vmovn_s32 (int32x4_t __a
)
8698 return __builtin_aarch64_xtnv4si (__a
);
8701 __extension__
extern __inline int32x2_t
8702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8703 vmovn_s64 (int64x2_t __a
)
8705 return __builtin_aarch64_xtnv2di (__a
);
8708 __extension__
extern __inline uint8x8_t
8709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8710 vmovn_u16 (uint16x8_t __a
)
8712 return (uint8x8_t
)__builtin_aarch64_xtnv8hi ((int16x8_t
) __a
);
8715 __extension__
extern __inline uint16x4_t
8716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8717 vmovn_u32 (uint32x4_t __a
)
8719 return (uint16x4_t
) __builtin_aarch64_xtnv4si ((int32x4_t
)__a
);
8722 __extension__
extern __inline uint32x2_t
8723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8724 vmovn_u64 (uint64x2_t __a
)
8726 return (uint32x2_t
) __builtin_aarch64_xtnv2di ((int64x2_t
) __a
);
8729 #define vmull_high_lane_s16(a, b, c) \
8732 int16x4_t b_ = (b); \
8733 int16x8_t a_ = (a); \
8735 __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]" \
8737 : "w"(a_), "x"(b_), "i"(c) \
8738 : /* No clobbers */); \
8742 #define vmull_high_lane_s32(a, b, c) \
8745 int32x2_t b_ = (b); \
8746 int32x4_t a_ = (a); \
8748 __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]" \
8750 : "w"(a_), "w"(b_), "i"(c) \
8751 : /* No clobbers */); \
8755 #define vmull_high_lane_u16(a, b, c) \
8758 uint16x4_t b_ = (b); \
8759 uint16x8_t a_ = (a); \
8760 uint32x4_t result; \
8761 __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]" \
8763 : "w"(a_), "x"(b_), "i"(c) \
8764 : /* No clobbers */); \
8768 #define vmull_high_lane_u32(a, b, c) \
8771 uint32x2_t b_ = (b); \
8772 uint32x4_t a_ = (a); \
8773 uint64x2_t result; \
8774 __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]" \
8776 : "w"(a_), "w"(b_), "i"(c) \
8777 : /* No clobbers */); \
8781 #define vmull_high_laneq_s16(a, b, c) \
8784 int16x8_t b_ = (b); \
8785 int16x8_t a_ = (a); \
8787 __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]" \
8789 : "w"(a_), "x"(b_), "i"(c) \
8790 : /* No clobbers */); \
8794 #define vmull_high_laneq_s32(a, b, c) \
8797 int32x4_t b_ = (b); \
8798 int32x4_t a_ = (a); \
8800 __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]" \
8802 : "w"(a_), "w"(b_), "i"(c) \
8803 : /* No clobbers */); \
8807 #define vmull_high_laneq_u16(a, b, c) \
8810 uint16x8_t b_ = (b); \
8811 uint16x8_t a_ = (a); \
8812 uint32x4_t result; \
8813 __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]" \
8815 : "w"(a_), "x"(b_), "i"(c) \
8816 : /* No clobbers */); \
8820 #define vmull_high_laneq_u32(a, b, c) \
8823 uint32x4_t b_ = (b); \
8824 uint32x4_t a_ = (a); \
8825 uint64x2_t result; \
8826 __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]" \
8828 : "w"(a_), "w"(b_), "i"(c) \
8829 : /* No clobbers */); \
8833 __extension__
extern __inline int32x4_t
8834 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8835 vmull_high_n_s16 (int16x8_t __a
, int16_t __b
)
8838 __asm__ ("smull2 %0.4s,%1.8h,%2.h[0]"
8840 : "w"(__a
), "x"(__b
)
8841 : /* No clobbers */);
8845 __extension__
extern __inline int64x2_t
8846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8847 vmull_high_n_s32 (int32x4_t __a
, int32_t __b
)
8850 __asm__ ("smull2 %0.2d,%1.4s,%2.s[0]"
8852 : "w"(__a
), "w"(__b
)
8853 : /* No clobbers */);
8857 __extension__
extern __inline uint32x4_t
8858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8859 vmull_high_n_u16 (uint16x8_t __a
, uint16_t __b
)
8861 uint32x4_t __result
;
8862 __asm__ ("umull2 %0.4s,%1.8h,%2.h[0]"
8864 : "w"(__a
), "x"(__b
)
8865 : /* No clobbers */);
8869 __extension__
extern __inline uint64x2_t
8870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8871 vmull_high_n_u32 (uint32x4_t __a
, uint32_t __b
)
8873 uint64x2_t __result
;
8874 __asm__ ("umull2 %0.2d,%1.4s,%2.s[0]"
8876 : "w"(__a
), "w"(__b
)
8877 : /* No clobbers */);
8881 __extension__
extern __inline poly16x8_t
8882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8883 vmull_high_p8 (poly8x16_t __a
, poly8x16_t __b
)
8885 poly16x8_t __result
;
8886 __asm__ ("pmull2 %0.8h,%1.16b,%2.16b"
8888 : "w"(__a
), "w"(__b
)
8889 : /* No clobbers */);
8893 __extension__
extern __inline int16x8_t
8894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8895 vmull_high_s8 (int8x16_t __a
, int8x16_t __b
)
8897 return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a
, __b
);
8900 __extension__
extern __inline int32x4_t
8901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8902 vmull_high_s16 (int16x8_t __a
, int16x8_t __b
)
8904 return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a
, __b
);
8907 __extension__
extern __inline int64x2_t
8908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8909 vmull_high_s32 (int32x4_t __a
, int32x4_t __b
)
8911 return __builtin_aarch64_vec_widen_smult_hi_v4si (__a
, __b
);
8914 __extension__
extern __inline uint16x8_t
8915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8916 vmull_high_u8 (uint8x16_t __a
, uint8x16_t __b
)
8918 return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a
, __b
);
8921 __extension__
extern __inline uint32x4_t
8922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8923 vmull_high_u16 (uint16x8_t __a
, uint16x8_t __b
)
8925 return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a
, __b
);
8928 __extension__
extern __inline uint64x2_t
8929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8930 vmull_high_u32 (uint32x4_t __a
, uint32x4_t __b
)
8932 return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a
, __b
);
8935 __extension__
extern __inline int32x4_t
8936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8937 vmull_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8939 return __builtin_aarch64_vec_smult_lane_v4hi (__a
, __b
, __c
);
8942 __extension__
extern __inline int64x2_t
8943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8944 vmull_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8946 return __builtin_aarch64_vec_smult_lane_v2si (__a
, __b
, __c
);
8949 __extension__
extern __inline uint32x4_t
8950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8951 vmull_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
8953 return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a
, __b
, __c
);
8956 __extension__
extern __inline uint64x2_t
8957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8958 vmull_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
8960 return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a
, __b
, __c
);
8963 __extension__
extern __inline int32x4_t
8964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8965 vmull_laneq_s16 (int16x4_t __a
, int16x8_t __b
, const int __c
)
8967 return __builtin_aarch64_vec_smult_laneq_v4hi (__a
, __b
, __c
);
8970 __extension__
extern __inline int64x2_t
8971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8972 vmull_laneq_s32 (int32x2_t __a
, int32x4_t __b
, const int __c
)
8974 return __builtin_aarch64_vec_smult_laneq_v2si (__a
, __b
, __c
);
8977 __extension__
extern __inline uint32x4_t
8978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8979 vmull_laneq_u16 (uint16x4_t __a
, uint16x8_t __b
, const int __c
)
8981 return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a
, __b
, __c
);
8984 __extension__
extern __inline uint64x2_t
8985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8986 vmull_laneq_u32 (uint32x2_t __a
, uint32x4_t __b
, const int __c
)
8988 return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a
, __b
, __c
);
8991 __extension__
extern __inline int32x4_t
8992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8993 vmull_n_s16 (int16x4_t __a
, int16_t __b
)
8996 __asm__ ("smull %0.4s,%1.4h,%2.h[0]"
8998 : "w"(__a
), "x"(__b
)
8999 : /* No clobbers */);
9003 __extension__
extern __inline int64x2_t
9004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9005 vmull_n_s32 (int32x2_t __a
, int32_t __b
)
9008 __asm__ ("smull %0.2d,%1.2s,%2.s[0]"
9010 : "w"(__a
), "w"(__b
)
9011 : /* No clobbers */);
9015 __extension__
extern __inline uint32x4_t
9016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9017 vmull_n_u16 (uint16x4_t __a
, uint16_t __b
)
9019 uint32x4_t __result
;
9020 __asm__ ("umull %0.4s,%1.4h,%2.h[0]"
9022 : "w"(__a
), "x"(__b
)
9023 : /* No clobbers */);
9027 __extension__
extern __inline uint64x2_t
9028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9029 vmull_n_u32 (uint32x2_t __a
, uint32_t __b
)
9031 uint64x2_t __result
;
9032 __asm__ ("umull %0.2d,%1.2s,%2.s[0]"
9034 : "w"(__a
), "w"(__b
)
9035 : /* No clobbers */);
9039 __extension__
extern __inline poly16x8_t
9040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9041 vmull_p8 (poly8x8_t __a
, poly8x8_t __b
)
9043 poly16x8_t __result
;
9044 __asm__ ("pmull %0.8h, %1.8b, %2.8b"
9046 : "w"(__a
), "w"(__b
)
9047 : /* No clobbers */);
9051 __extension__
extern __inline int16x8_t
9052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9053 vmull_s8 (int8x8_t __a
, int8x8_t __b
)
9055 return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a
, __b
);
9058 __extension__
extern __inline int32x4_t
9059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9060 vmull_s16 (int16x4_t __a
, int16x4_t __b
)
9062 return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a
, __b
);
9065 __extension__
extern __inline int64x2_t
9066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9067 vmull_s32 (int32x2_t __a
, int32x2_t __b
)
9069 return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a
, __b
);
9072 __extension__
extern __inline uint16x8_t
9073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9074 vmull_u8 (uint8x8_t __a
, uint8x8_t __b
)
9076 return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a
, __b
);
9079 __extension__
extern __inline uint32x4_t
9080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9081 vmull_u16 (uint16x4_t __a
, uint16x4_t __b
)
9083 return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a
, __b
);
9086 __extension__
extern __inline uint64x2_t
9087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9088 vmull_u32 (uint32x2_t __a
, uint32x2_t __b
)
9090 return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a
, __b
);
9093 __extension__
extern __inline int16x4_t
9094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9095 vpadal_s8 (int16x4_t __a
, int8x8_t __b
)
9097 return __builtin_aarch64_sadalpv8qi (__a
, __b
);
9100 __extension__
extern __inline int32x2_t
9101 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9102 vpadal_s16 (int32x2_t __a
, int16x4_t __b
)
9104 return __builtin_aarch64_sadalpv4hi (__a
, __b
);
9107 __extension__
extern __inline int64x1_t
9108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9109 vpadal_s32 (int64x1_t __a
, int32x2_t __b
)
9112 __asm__ ("sadalp %0.1d,%2.2s"
9114 : "0"(__a
), "w"(__b
)
9115 : /* No clobbers */);
9119 __extension__
extern __inline uint16x4_t
9120 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9121 vpadal_u8 (uint16x4_t __a
, uint8x8_t __b
)
9123 return __builtin_aarch64_uadalpv8qi_uuu (__a
, __b
);
9126 __extension__
extern __inline uint32x2_t
9127 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9128 vpadal_u16 (uint32x2_t __a
, uint16x4_t __b
)
9130 return __builtin_aarch64_uadalpv4hi_uuu (__a
, __b
);
9133 __extension__
extern __inline uint64x1_t
9134 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9135 vpadal_u32 (uint64x1_t __a
, uint32x2_t __b
)
9137 uint64x1_t __result
;
9138 __asm__ ("uadalp %0.1d,%2.2s"
9140 : "0"(__a
), "w"(__b
)
9141 : /* No clobbers */);
9145 __extension__
extern __inline int16x8_t
9146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9147 vpadalq_s8 (int16x8_t __a
, int8x16_t __b
)
9149 return __builtin_aarch64_sadalpv16qi (__a
, __b
);
9152 __extension__
extern __inline int32x4_t
9153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9154 vpadalq_s16 (int32x4_t __a
, int16x8_t __b
)
9156 return __builtin_aarch64_sadalpv8hi (__a
, __b
);
9159 __extension__
extern __inline int64x2_t
9160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9161 vpadalq_s32 (int64x2_t __a
, int32x4_t __b
)
9163 return __builtin_aarch64_sadalpv4si (__a
, __b
);
9166 __extension__
extern __inline uint16x8_t
9167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9168 vpadalq_u8 (uint16x8_t __a
, uint8x16_t __b
)
9170 return __builtin_aarch64_uadalpv16qi_uuu (__a
, __b
);
9173 __extension__
extern __inline uint32x4_t
9174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9175 vpadalq_u16 (uint32x4_t __a
, uint16x8_t __b
)
9177 return __builtin_aarch64_uadalpv8hi_uuu (__a
, __b
);
9180 __extension__
extern __inline uint64x2_t
9181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9182 vpadalq_u32 (uint64x2_t __a
, uint32x4_t __b
)
9184 return __builtin_aarch64_uadalpv4si_uuu (__a
, __b
);
9187 __extension__
extern __inline int16x4_t
9188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9189 vpaddl_s8 (int8x8_t __a
)
9192 __asm__ ("saddlp %0.4h,%1.8b"
9195 : /* No clobbers */);
9199 __extension__
extern __inline int32x2_t
9200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9201 vpaddl_s16 (int16x4_t __a
)
9204 __asm__ ("saddlp %0.2s,%1.4h"
9207 : /* No clobbers */);
9211 __extension__
extern __inline int64x1_t
9212 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9213 vpaddl_s32 (int32x2_t __a
)
9216 __asm__ ("saddlp %0.1d,%1.2s"
9219 : /* No clobbers */);
9223 __extension__
extern __inline uint16x4_t
9224 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9225 vpaddl_u8 (uint8x8_t __a
)
9227 uint16x4_t __result
;
9228 __asm__ ("uaddlp %0.4h,%1.8b"
9231 : /* No clobbers */);
9235 __extension__
extern __inline uint32x2_t
9236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9237 vpaddl_u16 (uint16x4_t __a
)
9239 uint32x2_t __result
;
9240 __asm__ ("uaddlp %0.2s,%1.4h"
9243 : /* No clobbers */);
9247 __extension__
extern __inline uint64x1_t
9248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9249 vpaddl_u32 (uint32x2_t __a
)
9251 uint64x1_t __result
;
9252 __asm__ ("uaddlp %0.1d,%1.2s"
9255 : /* No clobbers */);
9259 __extension__
extern __inline int16x8_t
9260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9261 vpaddlq_s8 (int8x16_t __a
)
9264 __asm__ ("saddlp %0.8h,%1.16b"
9267 : /* No clobbers */);
9271 __extension__
extern __inline int32x4_t
9272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9273 vpaddlq_s16 (int16x8_t __a
)
9276 __asm__ ("saddlp %0.4s,%1.8h"
9279 : /* No clobbers */);
9283 __extension__
extern __inline int64x2_t
9284 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9285 vpaddlq_s32 (int32x4_t __a
)
9288 __asm__ ("saddlp %0.2d,%1.4s"
9291 : /* No clobbers */);
9295 __extension__
extern __inline uint16x8_t
9296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9297 vpaddlq_u8 (uint8x16_t __a
)
9299 uint16x8_t __result
;
9300 __asm__ ("uaddlp %0.8h,%1.16b"
9303 : /* No clobbers */);
9307 __extension__
extern __inline uint32x4_t
9308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9309 vpaddlq_u16 (uint16x8_t __a
)
9311 uint32x4_t __result
;
9312 __asm__ ("uaddlp %0.4s,%1.8h"
9315 : /* No clobbers */);
9319 __extension__
extern __inline uint64x2_t
9320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9321 vpaddlq_u32 (uint32x4_t __a
)
9323 uint64x2_t __result
;
9324 __asm__ ("uaddlp %0.2d,%1.4s"
9327 : /* No clobbers */);
9331 __extension__
extern __inline int8x16_t
9332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9333 vpaddq_s8 (int8x16_t __a
, int8x16_t __b
)
9336 __asm__ ("addp %0.16b,%1.16b,%2.16b"
9338 : "w"(__a
), "w"(__b
)
9339 : /* No clobbers */);
9343 __extension__
extern __inline int16x8_t
9344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9345 vpaddq_s16 (int16x8_t __a
, int16x8_t __b
)
9348 __asm__ ("addp %0.8h,%1.8h,%2.8h"
9350 : "w"(__a
), "w"(__b
)
9351 : /* No clobbers */);
9355 __extension__
extern __inline int32x4_t
9356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9357 vpaddq_s32 (int32x4_t __a
, int32x4_t __b
)
9360 __asm__ ("addp %0.4s,%1.4s,%2.4s"
9362 : "w"(__a
), "w"(__b
)
9363 : /* No clobbers */);
9367 __extension__
extern __inline int64x2_t
9368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9369 vpaddq_s64 (int64x2_t __a
, int64x2_t __b
)
9372 __asm__ ("addp %0.2d,%1.2d,%2.2d"
9374 : "w"(__a
), "w"(__b
)
9375 : /* No clobbers */);
9379 __extension__
extern __inline uint8x16_t
9380 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9381 vpaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
9383 uint8x16_t __result
;
9384 __asm__ ("addp %0.16b,%1.16b,%2.16b"
9386 : "w"(__a
), "w"(__b
)
9387 : /* No clobbers */);
9391 __extension__
extern __inline uint16x8_t
9392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9393 vpaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
9395 uint16x8_t __result
;
9396 __asm__ ("addp %0.8h,%1.8h,%2.8h"
9398 : "w"(__a
), "w"(__b
)
9399 : /* No clobbers */);
9403 __extension__
extern __inline uint32x4_t
9404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9405 vpaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
9407 uint32x4_t __result
;
9408 __asm__ ("addp %0.4s,%1.4s,%2.4s"
9410 : "w"(__a
), "w"(__b
)
9411 : /* No clobbers */);
9415 __extension__
extern __inline uint64x2_t
9416 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9417 vpaddq_u64 (uint64x2_t __a
, uint64x2_t __b
)
9419 uint64x2_t __result
;
9420 __asm__ ("addp %0.2d,%1.2d,%2.2d"
9422 : "w"(__a
), "w"(__b
)
9423 : /* No clobbers */);
9427 __extension__
extern __inline int16x4_t
9428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9429 vqdmulh_n_s16 (int16x4_t __a
, int16_t __b
)
9432 __asm__ ("sqdmulh %0.4h,%1.4h,%2.h[0]"
9434 : "w"(__a
), "x"(__b
)
9435 : /* No clobbers */);
9439 __extension__
extern __inline int32x2_t
9440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9441 vqdmulh_n_s32 (int32x2_t __a
, int32_t __b
)
9444 __asm__ ("sqdmulh %0.2s,%1.2s,%2.s[0]"
9446 : "w"(__a
), "w"(__b
)
9447 : /* No clobbers */);
9451 __extension__
extern __inline int16x8_t
9452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9453 vqdmulhq_n_s16 (int16x8_t __a
, int16_t __b
)
9456 __asm__ ("sqdmulh %0.8h,%1.8h,%2.h[0]"
9458 : "w"(__a
), "x"(__b
)
9459 : /* No clobbers */);
9463 __extension__
extern __inline int32x4_t
9464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9465 vqdmulhq_n_s32 (int32x4_t __a
, int32_t __b
)
9468 __asm__ ("sqdmulh %0.4s,%1.4s,%2.s[0]"
9470 : "w"(__a
), "w"(__b
)
9471 : /* No clobbers */);
9475 __extension__
extern __inline int8x16_t
9476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9477 vqmovn_high_s16 (int8x8_t __a
, int16x8_t __b
)
9479 return __builtin_aarch64_sqxtn2v8hi (__a
, __b
);
9482 __extension__
extern __inline int16x8_t
9483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9484 vqmovn_high_s32 (int16x4_t __a
, int32x4_t __b
)
9486 return __builtin_aarch64_sqxtn2v4si (__a
, __b
);
9489 __extension__
extern __inline int32x4_t
9490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9491 vqmovn_high_s64 (int32x2_t __a
, int64x2_t __b
)
9493 return __builtin_aarch64_sqxtn2v2di (__a
, __b
);
9496 __extension__
extern __inline uint8x16_t
9497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9498 vqmovn_high_u16 (uint8x8_t __a
, uint16x8_t __b
)
9500 return __builtin_aarch64_uqxtn2v8hi_uuu (__a
, __b
);
9503 __extension__
extern __inline uint16x8_t
9504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9505 vqmovn_high_u32 (uint16x4_t __a
, uint32x4_t __b
)
9507 return __builtin_aarch64_uqxtn2v4si_uuu (__a
, __b
);
9510 __extension__
extern __inline uint32x4_t
9511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9512 vqmovn_high_u64 (uint32x2_t __a
, uint64x2_t __b
)
9514 return __builtin_aarch64_uqxtn2v2di_uuu (__a
, __b
);
9517 __extension__
extern __inline uint8x16_t
9518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9519 vqmovun_high_s16 (uint8x8_t __a
, int16x8_t __b
)
9521 uint8x16_t __result
= vcombine_u8 (__a
, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9522 __asm__ ("sqxtun2 %0.16b, %1.8h"
9525 : /* No clobbers */);
9529 __extension__
extern __inline uint16x8_t
9530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9531 vqmovun_high_s32 (uint16x4_t __a
, int32x4_t __b
)
9533 uint16x8_t __result
= vcombine_u16 (__a
, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
9534 __asm__ ("sqxtun2 %0.8h, %1.4s"
9537 : /* No clobbers */);
9541 __extension__
extern __inline uint32x4_t
9542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9543 vqmovun_high_s64 (uint32x2_t __a
, int64x2_t __b
)
9545 uint32x4_t __result
= vcombine_u32 (__a
, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
9546 __asm__ ("sqxtun2 %0.4s, %1.2d"
9549 : /* No clobbers */);
9553 __extension__
extern __inline int16x4_t
9554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9555 vqrdmulh_n_s16 (int16x4_t __a
, int16_t __b
)
9558 __asm__ ("sqrdmulh %0.4h,%1.4h,%2.h[0]"
9560 : "w"(__a
), "x"(__b
)
9561 : /* No clobbers */);
9565 __extension__
extern __inline int32x2_t
9566 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9567 vqrdmulh_n_s32 (int32x2_t __a
, int32_t __b
)
9570 __asm__ ("sqrdmulh %0.2s,%1.2s,%2.s[0]"
9572 : "w"(__a
), "w"(__b
)
9573 : /* No clobbers */);
9577 __extension__
extern __inline int16x8_t
9578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9579 vqrdmulhq_n_s16 (int16x8_t __a
, int16_t __b
)
9582 __asm__ ("sqrdmulh %0.8h,%1.8h,%2.h[0]"
9584 : "w"(__a
), "x"(__b
)
9585 : /* No clobbers */);
9589 __extension__
extern __inline int32x4_t
9590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9591 vqrdmulhq_n_s32 (int32x4_t __a
, int32_t __b
)
9594 __asm__ ("sqrdmulh %0.4s,%1.4s,%2.s[0]"
9596 : "w"(__a
), "w"(__b
)
9597 : /* No clobbers */);
9601 __extension__
extern __inline int8x16_t
9602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9603 vqrshrn_high_n_s16 (int8x8_t __a
, int16x8_t __b
, const int __c
)
9605 return __builtin_aarch64_sqrshrn2_nv8hi (__a
, __b
, __c
);
9608 __extension__
extern __inline int16x8_t
9609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9610 vqrshrn_high_n_s32 (int16x4_t __a
, int32x4_t __b
, const int __c
)
9612 return __builtin_aarch64_sqrshrn2_nv4si (__a
, __b
, __c
);
9615 __extension__
extern __inline int32x4_t
9616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9617 vqrshrn_high_n_s64 (int32x2_t __a
, int64x2_t __b
, const int __c
)
9619 return __builtin_aarch64_sqrshrn2_nv2di (__a
, __b
, __c
);
9622 __extension__
extern __inline uint8x16_t
9623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9624 vqrshrn_high_n_u16 (uint8x8_t __a
, uint16x8_t __b
, const int __c
)
9626 return __builtin_aarch64_uqrshrn2_nv8hi_uuus (__a
, __b
, __c
);
9629 __extension__
extern __inline uint16x8_t
9630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9631 vqrshrn_high_n_u32 (uint16x4_t __a
, uint32x4_t __b
, const int __c
)
9633 return __builtin_aarch64_uqrshrn2_nv4si_uuus (__a
, __b
, __c
);
9636 __extension__
extern __inline uint32x4_t
9637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9638 vqrshrn_high_n_u64 (uint32x2_t __a
, uint64x2_t __b
, const int __c
)
9640 return __builtin_aarch64_uqrshrn2_nv2di_uuus (__a
, __b
, __c
);
9643 __extension__
extern __inline uint8x16_t
9644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9645 vqrshrun_high_n_s16 (uint8x8_t __a
, int16x8_t __b
, const int __c
)
9647 return __builtin_aarch64_sqrshrun2_nv8hi_uuss (__a
, __b
, __c
);
9650 __extension__
extern __inline uint16x8_t
9651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9652 vqrshrun_high_n_s32 (uint16x4_t __a
, int32x4_t __b
, const int __c
)
9654 return __builtin_aarch64_sqrshrun2_nv4si_uuss (__a
, __b
, __c
);
9657 __extension__
extern __inline uint32x4_t
9658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9659 vqrshrun_high_n_s64 (uint32x2_t __a
, int64x2_t __b
, const int __c
)
9661 return __builtin_aarch64_sqrshrun2_nv2di_uuss (__a
, __b
, __c
);
9664 __extension__
extern __inline int8x16_t
9665 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9666 vqshrn_high_n_s16 (int8x8_t __a
, int16x8_t __b
, const int __c
)
9668 return __builtin_aarch64_sqshrn2_nv8hi (__a
, __b
, __c
);
9671 __extension__
extern __inline int16x8_t
9672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9673 vqshrn_high_n_s32 (int16x4_t __a
, int32x4_t __b
, const int __c
)
9675 return __builtin_aarch64_sqshrn2_nv4si (__a
, __b
, __c
);
9678 __extension__
extern __inline int32x4_t
9679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9680 vqshrn_high_n_s64 (int32x2_t __a
, int64x2_t __b
, const int __c
)
9682 return __builtin_aarch64_sqshrn2_nv2di (__a
, __b
, __c
);
9685 __extension__
extern __inline uint8x16_t
9686 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9687 vqshrn_high_n_u16 (uint8x8_t __a
, uint16x8_t __b
, const int __c
)
9689 return __builtin_aarch64_uqshrn2_nv8hi_uuus (__a
, __b
, __c
);
9692 __extension__
extern __inline uint16x8_t
9693 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9694 vqshrn_high_n_u32 (uint16x4_t __a
, uint32x4_t __b
, const int __c
)
9696 return __builtin_aarch64_uqshrn2_nv4si_uuus (__a
, __b
, __c
);
9699 __extension__
extern __inline uint32x4_t
9700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9701 vqshrn_high_n_u64 (uint32x2_t __a
, uint64x2_t __b
, const int __c
)
9703 return __builtin_aarch64_uqshrn2_nv2di_uuus (__a
, __b
, __c
);
9706 __extension__
extern __inline uint8x16_t
9707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9708 vqshrun_high_n_s16 (uint8x8_t __a
, int16x8_t __b
, const int __c
)
9710 return __builtin_aarch64_sqshrun2_nv8hi_uuss (__a
, __b
, __c
);
9713 __extension__
extern __inline uint16x8_t
9714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9715 vqshrun_high_n_s32 (uint16x4_t __a
, int32x4_t __b
, const int __c
)
9717 return __builtin_aarch64_sqshrun2_nv4si_uuss (__a
, __b
, __c
);
9720 __extension__
extern __inline uint32x4_t
9721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9722 vqshrun_high_n_s64 (uint32x2_t __a
, int64x2_t __b
, const int __c
)
9724 return __builtin_aarch64_sqshrun2_nv2di_uuss (__a
, __b
, __c
);
9727 #define vrshrn_high_n_s16(a, b, c) \
9730 int16x8_t b_ = (b); \
9731 int8x8_t a_ = (a); \
9732 int8x16_t result = vcombine_s8 \
9734 (__AARCH64_UINT64_C (0x0))); \
9735 __asm__ ("rshrn2 %0.16b,%1.8h,#%2" \
9738 : /* No clobbers */); \
9742 #define vrshrn_high_n_s32(a, b, c) \
9745 int32x4_t b_ = (b); \
9746 int16x4_t a_ = (a); \
9747 int16x8_t result = vcombine_s16 \
9749 (__AARCH64_UINT64_C (0x0))); \
9750 __asm__ ("rshrn2 %0.8h,%1.4s,#%2" \
9753 : /* No clobbers */); \
9757 #define vrshrn_high_n_s64(a, b, c) \
9760 int64x2_t b_ = (b); \
9761 int32x2_t a_ = (a); \
9762 int32x4_t result = vcombine_s32 \
9764 (__AARCH64_UINT64_C (0x0))); \
9765 __asm__ ("rshrn2 %0.4s,%1.2d,#%2" \
9768 : /* No clobbers */); \
9772 #define vrshrn_high_n_u16(a, b, c) \
9775 uint16x8_t b_ = (b); \
9776 uint8x8_t a_ = (a); \
9777 uint8x16_t result = vcombine_u8 \
9779 (__AARCH64_UINT64_C (0x0))); \
9780 __asm__ ("rshrn2 %0.16b,%1.8h,#%2" \
9783 : /* No clobbers */); \
9787 #define vrshrn_high_n_u32(a, b, c) \
9790 uint32x4_t b_ = (b); \
9791 uint16x4_t a_ = (a); \
9792 uint16x8_t result = vcombine_u16 \
9794 (__AARCH64_UINT64_C (0x0))); \
9795 __asm__ ("rshrn2 %0.8h,%1.4s,#%2" \
9798 : /* No clobbers */); \
9802 #define vrshrn_high_n_u64(a, b, c) \
9805 uint64x2_t b_ = (b); \
9806 uint32x2_t a_ = (a); \
9807 uint32x4_t result = vcombine_u32 \
9809 (__AARCH64_UINT64_C (0x0))); \
9810 __asm__ ("rshrn2 %0.4s,%1.2d,#%2" \
9813 : /* No clobbers */); \
9817 #define vrshrn_n_s16(a, b) \
9820 int16x8_t a_ = (a); \
9822 __asm__ ("rshrn %0.8b,%1.8h,%2" \
9825 : /* No clobbers */); \
9829 #define vrshrn_n_s32(a, b) \
9832 int32x4_t a_ = (a); \
9834 __asm__ ("rshrn %0.4h,%1.4s,%2" \
9837 : /* No clobbers */); \
9841 #define vrshrn_n_s64(a, b) \
9844 int64x2_t a_ = (a); \
9846 __asm__ ("rshrn %0.2s,%1.2d,%2" \
9849 : /* No clobbers */); \
9853 #define vrshrn_n_u16(a, b) \
9856 uint16x8_t a_ = (a); \
9858 __asm__ ("rshrn %0.8b,%1.8h,%2" \
9861 : /* No clobbers */); \
9865 #define vrshrn_n_u32(a, b) \
9868 uint32x4_t a_ = (a); \
9869 uint16x4_t result; \
9870 __asm__ ("rshrn %0.4h,%1.4s,%2" \
9873 : /* No clobbers */); \
9877 #define vrshrn_n_u64(a, b) \
9880 uint64x2_t a_ = (a); \
9881 uint32x2_t result; \
9882 __asm__ ("rshrn %0.2s,%1.2d,%2" \
9885 : /* No clobbers */); \
9889 __extension__
extern __inline uint32x2_t
9890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9891 vrsqrte_u32 (uint32x2_t __a
)
9893 uint32x2_t __result
;
9894 __asm__ ("ursqrte %0.2s,%1.2s"
9897 : /* No clobbers */);
9901 __extension__
extern __inline uint32x4_t
9902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9903 vrsqrteq_u32 (uint32x4_t __a
)
9905 uint32x4_t __result
;
9906 __asm__ ("ursqrte %0.4s,%1.4s"
9909 : /* No clobbers */);
9913 #define vshrn_high_n_s16(a, b, c) \
9916 int16x8_t b_ = (b); \
9917 int8x8_t a_ = (a); \
9918 int8x16_t result = vcombine_s8 \
9920 (__AARCH64_UINT64_C (0x0))); \
9921 __asm__ ("shrn2 %0.16b,%1.8h,#%2" \
9924 : /* No clobbers */); \
9928 #define vshrn_high_n_s32(a, b, c) \
9931 int32x4_t b_ = (b); \
9932 int16x4_t a_ = (a); \
9933 int16x8_t result = vcombine_s16 \
9935 (__AARCH64_UINT64_C (0x0))); \
9936 __asm__ ("shrn2 %0.8h,%1.4s,#%2" \
9939 : /* No clobbers */); \
9943 #define vshrn_high_n_s64(a, b, c) \
9946 int64x2_t b_ = (b); \
9947 int32x2_t a_ = (a); \
9948 int32x4_t result = vcombine_s32 \
9950 (__AARCH64_UINT64_C (0x0))); \
9951 __asm__ ("shrn2 %0.4s,%1.2d,#%2" \
9954 : /* No clobbers */); \
9958 #define vshrn_high_n_u16(a, b, c) \
9961 uint16x8_t b_ = (b); \
9962 uint8x8_t a_ = (a); \
9963 uint8x16_t result = vcombine_u8 \
9965 (__AARCH64_UINT64_C (0x0))); \
9966 __asm__ ("shrn2 %0.16b,%1.8h,#%2" \
9969 : /* No clobbers */); \
9973 #define vshrn_high_n_u32(a, b, c) \
9976 uint32x4_t b_ = (b); \
9977 uint16x4_t a_ = (a); \
9978 uint16x8_t result = vcombine_u16 \
9980 (__AARCH64_UINT64_C (0x0))); \
9981 __asm__ ("shrn2 %0.8h,%1.4s,#%2" \
9984 : /* No clobbers */); \
9988 #define vshrn_high_n_u64(a, b, c) \
9991 uint64x2_t b_ = (b); \
9992 uint32x2_t a_ = (a); \
9993 uint32x4_t result = vcombine_u32 \
9995 (__AARCH64_UINT64_C (0x0))); \
9996 __asm__ ("shrn2 %0.4s,%1.2d,#%2" \
9999 : /* No clobbers */); \
10003 #define vshrn_n_s16(a, b) \
10006 int16x8_t a_ = (a); \
10008 __asm__ ("shrn %0.8b,%1.8h,%2" \
10010 : "w"(a_), "i"(b) \
10011 : /* No clobbers */); \
10015 #define vshrn_n_s32(a, b) \
10018 int32x4_t a_ = (a); \
10019 int16x4_t result; \
10020 __asm__ ("shrn %0.4h,%1.4s,%2" \
10022 : "w"(a_), "i"(b) \
10023 : /* No clobbers */); \
10027 #define vshrn_n_s64(a, b) \
10030 int64x2_t a_ = (a); \
10031 int32x2_t result; \
10032 __asm__ ("shrn %0.2s,%1.2d,%2" \
10034 : "w"(a_), "i"(b) \
10035 : /* No clobbers */); \
10039 #define vshrn_n_u16(a, b) \
10042 uint16x8_t a_ = (a); \
10043 uint8x8_t result; \
10044 __asm__ ("shrn %0.8b,%1.8h,%2" \
10046 : "w"(a_), "i"(b) \
10047 : /* No clobbers */); \
10051 #define vshrn_n_u32(a, b) \
10054 uint32x4_t a_ = (a); \
10055 uint16x4_t result; \
10056 __asm__ ("shrn %0.4h,%1.4s,%2" \
10058 : "w"(a_), "i"(b) \
10059 : /* No clobbers */); \
10063 #define vshrn_n_u64(a, b) \
10066 uint64x2_t a_ = (a); \
10067 uint32x2_t result; \
10068 __asm__ ("shrn %0.2s,%1.2d,%2" \
10070 : "w"(a_), "i"(b) \
10071 : /* No clobbers */); \
10075 #define vsli_n_p8(a, b, c) \
10078 poly8x8_t b_ = (b); \
10079 poly8x8_t a_ = (a); \
10080 poly8x8_t result; \
10081 __asm__ ("sli %0.8b,%2.8b,%3" \
10083 : "0"(a_), "w"(b_), "i"(c) \
10084 : /* No clobbers */); \
10088 #define vsli_n_p16(a, b, c) \
10091 poly16x4_t b_ = (b); \
10092 poly16x4_t a_ = (a); \
10093 poly16x4_t result; \
10094 __asm__ ("sli %0.4h,%2.4h,%3" \
10096 : "0"(a_), "w"(b_), "i"(c) \
10097 : /* No clobbers */); \
10101 #define vsliq_n_p8(a, b, c) \
10104 poly8x16_t b_ = (b); \
10105 poly8x16_t a_ = (a); \
10106 poly8x16_t result; \
10107 __asm__ ("sli %0.16b,%2.16b,%3" \
10109 : "0"(a_), "w"(b_), "i"(c) \
10110 : /* No clobbers */); \
10114 #define vsliq_n_p16(a, b, c) \
10117 poly16x8_t b_ = (b); \
10118 poly16x8_t a_ = (a); \
10119 poly16x8_t result; \
10120 __asm__ ("sli %0.8h,%2.8h,%3" \
10122 : "0"(a_), "w"(b_), "i"(c) \
10123 : /* No clobbers */); \
10127 #define vsri_n_p8(a, b, c) \
10130 poly8x8_t b_ = (b); \
10131 poly8x8_t a_ = (a); \
10132 poly8x8_t result; \
10133 __asm__ ("sri %0.8b,%2.8b,%3" \
10135 : "0"(a_), "w"(b_), "i"(c) \
10136 : /* No clobbers */); \
10140 #define vsri_n_p16(a, b, c) \
10143 poly16x4_t b_ = (b); \
10144 poly16x4_t a_ = (a); \
10145 poly16x4_t result; \
10146 __asm__ ("sri %0.4h,%2.4h,%3" \
10148 : "0"(a_), "w"(b_), "i"(c) \
10149 : /* No clobbers */); \
10153 #define vsri_n_p64(a, b, c) \
10156 poly64x1_t b_ = (b); \
10157 poly64x1_t a_ = (a); \
10158 poly64x1_t result; \
10159 __asm__ ("sri %d0,%d2,%3" \
10161 : "0"(a_), "w"(b_), "i"(c) \
10162 : /* No clobbers. */); \
10166 #define vsriq_n_p8(a, b, c) \
10169 poly8x16_t b_ = (b); \
10170 poly8x16_t a_ = (a); \
10171 poly8x16_t result; \
10172 __asm__ ("sri %0.16b,%2.16b,%3" \
10174 : "0"(a_), "w"(b_), "i"(c) \
10175 : /* No clobbers */); \
10179 #define vsriq_n_p16(a, b, c) \
10182 poly16x8_t b_ = (b); \
10183 poly16x8_t a_ = (a); \
10184 poly16x8_t result; \
10185 __asm__ ("sri %0.8h,%2.8h,%3" \
10187 : "0"(a_), "w"(b_), "i"(c) \
10188 : /* No clobbers */); \
10192 #define vsriq_n_p64(a, b, c) \
10195 poly64x2_t b_ = (b); \
10196 poly64x2_t a_ = (a); \
10197 poly64x2_t result; \
10198 __asm__ ("sri %0.2d,%2.2d,%3" \
10200 : "0"(a_), "w"(b_), "i"(c) \
10201 : /* No clobbers. */); \
10205 __extension__
extern __inline uint8x8_t
10206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10207 vtst_p8 (poly8x8_t __a
, poly8x8_t __b
)
10209 return (uint8x8_t
) ((((uint8x8_t
) __a
) & ((uint8x8_t
) __b
))
10213 __extension__
extern __inline uint16x4_t
10214 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10215 vtst_p16 (poly16x4_t __a
, poly16x4_t __b
)
10217 return (uint16x4_t
) ((((uint16x4_t
) __a
) & ((uint16x4_t
) __b
))
10221 __extension__
extern __inline uint64x1_t
10222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10223 vtst_p64 (poly64x1_t __a
, poly64x1_t __b
)
10225 return (uint64x1_t
) ((__a
& __b
) != __AARCH64_INT64_C (0));
10228 __extension__
extern __inline uint8x16_t
10229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10230 vtstq_p8 (poly8x16_t __a
, poly8x16_t __b
)
10232 return (uint8x16_t
) ((((uint8x16_t
) __a
) & ((uint8x16_t
) __b
))
10236 __extension__
extern __inline uint16x8_t
10237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10238 vtstq_p16 (poly16x8_t __a
, poly16x8_t __b
)
10240 return (uint16x8_t
) ((((uint16x8_t
) __a
) & ((uint16x8_t
) __b
))
10244 __extension__
extern __inline uint64x2_t
10245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10246 vtstq_p64 (poly64x2_t __a
, poly64x2_t __b
)
10248 return (uint64x2_t
) ((((uint64x2_t
) __a
) & ((uint64x2_t
) __b
))
10249 != __AARCH64_INT64_C (0));
10252 /* End of temporary inline asm implementations. */
10254 /* Start of temporary inline asm for vldn, vstn and friends. */
10256 /* Create struct element types for duplicating loads.
10258 Create 2 element structures of:
10260 +------+----+----+----+----+
10261 | | 8 | 16 | 32 | 64 |
10262 +------+----+----+----+----+
10263 |int | Y | Y | N | N |
10264 +------+----+----+----+----+
10265 |uint | Y | Y | N | N |
10266 +------+----+----+----+----+
10267 |float | - | Y | N | N |
10268 +------+----+----+----+----+
10269 |poly | Y | Y | - | - |
10270 +------+----+----+----+----+
10272 Create 3 element structures of:
10274 +------+----+----+----+----+
10275 | | 8 | 16 | 32 | 64 |
10276 +------+----+----+----+----+
10277 |int | Y | Y | Y | Y |
10278 +------+----+----+----+----+
10279 |uint | Y | Y | Y | Y |
10280 +------+----+----+----+----+
10281 |float | - | Y | Y | Y |
10282 +------+----+----+----+----+
10283 |poly | Y | Y | - | - |
10284 +------+----+----+----+----+
10286 Create 4 element structures of:
10288 +------+----+----+----+----+
10289 | | 8 | 16 | 32 | 64 |
10290 +------+----+----+----+----+
10291 |int | Y | N | N | Y |
10292 +------+----+----+----+----+
10293 |uint | Y | N | N | Y |
10294 +------+----+----+----+----+
10295 |float | - | N | N | Y |
10296 +------+----+----+----+----+
10297 |poly | Y | N | - | - |
10298 +------+----+----+----+----+
10300 This is required for casting memory reference. */
10301 #define __STRUCTN(t, sz, nelem) \
10302 typedef struct t ## sz ## x ## nelem ## _t { \
10303 t ## sz ## _t val[nelem]; \
10304 } t ## sz ## x ## nelem ## _t;
10306 /* 2-element structs. */
10307 __STRUCTN (int, 8, 2)
10308 __STRUCTN (int, 16, 2)
10309 __STRUCTN (uint
, 8, 2)
10310 __STRUCTN (uint
, 16, 2)
10311 __STRUCTN (float, 16, 2)
10312 __STRUCTN (poly
, 8, 2)
10313 __STRUCTN (poly
, 16, 2)
10314 /* 3-element structs. */
10315 __STRUCTN (int, 8, 3)
10316 __STRUCTN (int, 16, 3)
10317 __STRUCTN (int, 32, 3)
10318 __STRUCTN (int, 64, 3)
10319 __STRUCTN (uint
, 8, 3)
10320 __STRUCTN (uint
, 16, 3)
10321 __STRUCTN (uint
, 32, 3)
10322 __STRUCTN (uint
, 64, 3)
10323 __STRUCTN (float, 16, 3)
10324 __STRUCTN (float, 32, 3)
10325 __STRUCTN (float, 64, 3)
10326 __STRUCTN (poly
, 8, 3)
10327 __STRUCTN (poly
, 16, 3)
10328 /* 4-element structs. */
10329 __STRUCTN (int, 8, 4)
10330 __STRUCTN (int, 64, 4)
10331 __STRUCTN (uint
, 8, 4)
10332 __STRUCTN (uint
, 64, 4)
10333 __STRUCTN (poly
, 8, 4)
10334 __STRUCTN (float, 64, 4)
10338 #define __ST2_LANE_FUNC(intype, largetype, ptrtype, mode, \
10339 qmode, ptr_mode, funcsuffix, signedtype) \
10340 __extension__ extern __inline void \
10341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10342 vst2_lane_ ## funcsuffix (ptrtype *__ptr, \
10343 intype __b, const int __c) \
10345 __builtin_aarch64_simd_oi __o; \
10346 largetype __temp; \
10348 = vcombine_##funcsuffix (__b.val[0], \
10349 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10351 = vcombine_##funcsuffix (__b.val[1], \
10352 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10353 __o = __builtin_aarch64_set_qregoi##qmode (__o, \
10354 (signedtype) __temp.val[0], 0); \
10355 __o = __builtin_aarch64_set_qregoi##qmode (__o, \
10356 (signedtype) __temp.val[1], 1); \
10357 __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10358 __ptr, __o, __c); \
10361 __ST2_LANE_FUNC (float16x4x2_t
, float16x8x2_t
, float16_t
, v4hf
, v8hf
, hf
, f16
,
10363 __ST2_LANE_FUNC (float32x2x2_t
, float32x4x2_t
, float32_t
, v2sf
, v4sf
, sf
, f32
,
10365 __ST2_LANE_FUNC (float64x1x2_t
, float64x2x2_t
, float64_t
, df
, v2df
, df
, f64
,
10367 __ST2_LANE_FUNC (poly8x8x2_t
, poly8x16x2_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
10369 __ST2_LANE_FUNC (poly16x4x2_t
, poly16x8x2_t
, poly16_t
, v4hi
, v8hi
, hi
, p16
,
10371 __ST2_LANE_FUNC (poly64x1x2_t
, poly64x2x2_t
, poly64_t
, di
, v2di_ssps
, di
, p64
,
10373 __ST2_LANE_FUNC (int8x8x2_t
, int8x16x2_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
10375 __ST2_LANE_FUNC (int16x4x2_t
, int16x8x2_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
10377 __ST2_LANE_FUNC (int32x2x2_t
, int32x4x2_t
, int32_t, v2si
, v4si
, si
, s32
,
10379 __ST2_LANE_FUNC (int64x1x2_t
, int64x2x2_t
, int64_t, di
, v2di
, di
, s64
,
10381 __ST2_LANE_FUNC (uint8x8x2_t
, uint8x16x2_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
10383 __ST2_LANE_FUNC (uint16x4x2_t
, uint16x8x2_t
, uint16_t, v4hi
, v8hi
, hi
, u16
,
10385 __ST2_LANE_FUNC (uint32x2x2_t
, uint32x4x2_t
, uint32_t, v2si
, v4si
, si
, u32
,
10387 __ST2_LANE_FUNC (uint64x1x2_t
, uint64x2x2_t
, uint64_t, di
, v2di
, di
, u64
,
10390 #define __ST2Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix) \
10391 __extension__ extern __inline void \
10392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10393 vst2q_lane_ ## funcsuffix (ptrtype *__ptr, \
10394 intype __b, const int __c) \
10396 union { intype __i; \
10397 __builtin_aarch64_simd_oi __o; } __temp = { __b }; \
10398 __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10399 __ptr, __temp.__o, __c); \
10402 __ST2Q_LANE_FUNC (float16x8x2_t
, float16_t
, v8hf
, hf
, f16
)
10403 __ST2Q_LANE_FUNC (float32x4x2_t
, float32_t
, v4sf
, sf
, f32
)
10404 __ST2Q_LANE_FUNC (float64x2x2_t
, float64_t
, v2df
, df
, f64
)
10405 __ST2Q_LANE_FUNC (poly8x16x2_t
, poly8_t
, v16qi
, qi
, p8
)
10406 __ST2Q_LANE_FUNC (poly16x8x2_t
, poly16_t
, v8hi
, hi
, p16
)
10407 __ST2Q_LANE_FUNC (poly64x2x2_t
, poly64_t
, v2di
, di
, p64
)
10408 __ST2Q_LANE_FUNC (int8x16x2_t
, int8_t, v16qi
, qi
, s8
)
10409 __ST2Q_LANE_FUNC (int16x8x2_t
, int16_t, v8hi
, hi
, s16
)
10410 __ST2Q_LANE_FUNC (int32x4x2_t
, int32_t, v4si
, si
, s32
)
10411 __ST2Q_LANE_FUNC (int64x2x2_t
, int64_t, v2di
, di
, s64
)
10412 __ST2Q_LANE_FUNC (uint8x16x2_t
, uint8_t, v16qi
, qi
, u8
)
10413 __ST2Q_LANE_FUNC (uint16x8x2_t
, uint16_t, v8hi
, hi
, u16
)
10414 __ST2Q_LANE_FUNC (uint32x4x2_t
, uint32_t, v4si
, si
, u32
)
10415 __ST2Q_LANE_FUNC (uint64x2x2_t
, uint64_t, v2di
, di
, u64
)
10417 #define __ST3_LANE_FUNC(intype, largetype, ptrtype, mode, \
10418 qmode, ptr_mode, funcsuffix, signedtype) \
10419 __extension__ extern __inline void \
10420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10421 vst3_lane_ ## funcsuffix (ptrtype *__ptr, \
10422 intype __b, const int __c) \
10424 __builtin_aarch64_simd_ci __o; \
10425 largetype __temp; \
10427 = vcombine_##funcsuffix (__b.val[0], \
10428 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10430 = vcombine_##funcsuffix (__b.val[1], \
10431 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10433 = vcombine_##funcsuffix (__b.val[2], \
10434 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10435 __o = __builtin_aarch64_set_qregci##qmode (__o, \
10436 (signedtype) __temp.val[0], 0); \
10437 __o = __builtin_aarch64_set_qregci##qmode (__o, \
10438 (signedtype) __temp.val[1], 1); \
10439 __o = __builtin_aarch64_set_qregci##qmode (__o, \
10440 (signedtype) __temp.val[2], 2); \
10441 __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10442 __ptr, __o, __c); \
10445 __ST3_LANE_FUNC (float16x4x3_t
, float16x8x3_t
, float16_t
, v4hf
, v8hf
, hf
, f16
,
10447 __ST3_LANE_FUNC (float32x2x3_t
, float32x4x3_t
, float32_t
, v2sf
, v4sf
, sf
, f32
,
10449 __ST3_LANE_FUNC (float64x1x3_t
, float64x2x3_t
, float64_t
, df
, v2df
, df
, f64
,
10451 __ST3_LANE_FUNC (poly8x8x3_t
, poly8x16x3_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
10453 __ST3_LANE_FUNC (poly16x4x3_t
, poly16x8x3_t
, poly16_t
, v4hi
, v8hi
, hi
, p16
,
10455 __ST3_LANE_FUNC (poly64x1x3_t
, poly64x2x3_t
, poly64_t
, di
, v2di_ssps
, di
, p64
,
10457 __ST3_LANE_FUNC (int8x8x3_t
, int8x16x3_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
10459 __ST3_LANE_FUNC (int16x4x3_t
, int16x8x3_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
10461 __ST3_LANE_FUNC (int32x2x3_t
, int32x4x3_t
, int32_t, v2si
, v4si
, si
, s32
,
10463 __ST3_LANE_FUNC (int64x1x3_t
, int64x2x3_t
, int64_t, di
, v2di
, di
, s64
,
10465 __ST3_LANE_FUNC (uint8x8x3_t
, uint8x16x3_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
10467 __ST3_LANE_FUNC (uint16x4x3_t
, uint16x8x3_t
, uint16_t, v4hi
, v8hi
, hi
, u16
,
10469 __ST3_LANE_FUNC (uint32x2x3_t
, uint32x4x3_t
, uint32_t, v2si
, v4si
, si
, u32
,
10471 __ST3_LANE_FUNC (uint64x1x3_t
, uint64x2x3_t
, uint64_t, di
, v2di
, di
, u64
,
10474 #define __ST3Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix) \
10475 __extension__ extern __inline void \
10476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10477 vst3q_lane_ ## funcsuffix (ptrtype *__ptr, \
10478 intype __b, const int __c) \
10480 union { intype __i; \
10481 __builtin_aarch64_simd_ci __o; } __temp = { __b }; \
10482 __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10483 __ptr, __temp.__o, __c); \
10486 __ST3Q_LANE_FUNC (float16x8x3_t
, float16_t
, v8hf
, hf
, f16
)
10487 __ST3Q_LANE_FUNC (float32x4x3_t
, float32_t
, v4sf
, sf
, f32
)
10488 __ST3Q_LANE_FUNC (float64x2x3_t
, float64_t
, v2df
, df
, f64
)
10489 __ST3Q_LANE_FUNC (poly8x16x3_t
, poly8_t
, v16qi
, qi
, p8
)
10490 __ST3Q_LANE_FUNC (poly16x8x3_t
, poly16_t
, v8hi
, hi
, p16
)
10491 __ST3Q_LANE_FUNC (poly64x2x3_t
, poly64_t
, v2di
, di
, p64
)
10492 __ST3Q_LANE_FUNC (int8x16x3_t
, int8_t, v16qi
, qi
, s8
)
10493 __ST3Q_LANE_FUNC (int16x8x3_t
, int16_t, v8hi
, hi
, s16
)
10494 __ST3Q_LANE_FUNC (int32x4x3_t
, int32_t, v4si
, si
, s32
)
10495 __ST3Q_LANE_FUNC (int64x2x3_t
, int64_t, v2di
, di
, s64
)
10496 __ST3Q_LANE_FUNC (uint8x16x3_t
, uint8_t, v16qi
, qi
, u8
)
10497 __ST3Q_LANE_FUNC (uint16x8x3_t
, uint16_t, v8hi
, hi
, u16
)
10498 __ST3Q_LANE_FUNC (uint32x4x3_t
, uint32_t, v4si
, si
, u32
)
10499 __ST3Q_LANE_FUNC (uint64x2x3_t
, uint64_t, v2di
, di
, u64
)
10501 #define __ST4_LANE_FUNC(intype, largetype, ptrtype, mode, \
10502 qmode, ptr_mode, funcsuffix, signedtype) \
10503 __extension__ extern __inline void \
10504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10505 vst4_lane_ ## funcsuffix (ptrtype *__ptr, \
10506 intype __b, const int __c) \
10508 __builtin_aarch64_simd_xi __o; \
10509 largetype __temp; \
10511 = vcombine_##funcsuffix (__b.val[0], \
10512 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10514 = vcombine_##funcsuffix (__b.val[1], \
10515 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10517 = vcombine_##funcsuffix (__b.val[2], \
10518 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10520 = vcombine_##funcsuffix (__b.val[3], \
10521 vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10522 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
10523 (signedtype) __temp.val[0], 0); \
10524 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
10525 (signedtype) __temp.val[1], 1); \
10526 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
10527 (signedtype) __temp.val[2], 2); \
10528 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
10529 (signedtype) __temp.val[3], 3); \
10530 __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10531 __ptr, __o, __c); \
10534 __ST4_LANE_FUNC (float16x4x4_t
, float16x8x4_t
, float16_t
, v4hf
, v8hf
, hf
, f16
,
10536 __ST4_LANE_FUNC (float32x2x4_t
, float32x4x4_t
, float32_t
, v2sf
, v4sf
, sf
, f32
,
10538 __ST4_LANE_FUNC (float64x1x4_t
, float64x2x4_t
, float64_t
, df
, v2df
, df
, f64
,
10540 __ST4_LANE_FUNC (poly8x8x4_t
, poly8x16x4_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
10542 __ST4_LANE_FUNC (poly16x4x4_t
, poly16x8x4_t
, poly16_t
, v4hi
, v8hi
, hi
, p16
,
10544 __ST4_LANE_FUNC (poly64x1x4_t
, poly64x2x4_t
, poly64_t
, di
, v2di_ssps
, di
, p64
,
10546 __ST4_LANE_FUNC (int8x8x4_t
, int8x16x4_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
10548 __ST4_LANE_FUNC (int16x4x4_t
, int16x8x4_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
10550 __ST4_LANE_FUNC (int32x2x4_t
, int32x4x4_t
, int32_t, v2si
, v4si
, si
, s32
,
10552 __ST4_LANE_FUNC (int64x1x4_t
, int64x2x4_t
, int64_t, di
, v2di
, di
, s64
,
10554 __ST4_LANE_FUNC (uint8x8x4_t
, uint8x16x4_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
10556 __ST4_LANE_FUNC (uint16x4x4_t
, uint16x8x4_t
, uint16_t, v4hi
, v8hi
, hi
, u16
,
10558 __ST4_LANE_FUNC (uint32x2x4_t
, uint32x4x4_t
, uint32_t, v2si
, v4si
, si
, u32
,
10560 __ST4_LANE_FUNC (uint64x1x4_t
, uint64x2x4_t
, uint64_t, di
, v2di
, di
, u64
,
10563 #define __ST4Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix) \
10564 __extension__ extern __inline void \
10565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10566 vst4q_lane_ ## funcsuffix (ptrtype *__ptr, \
10567 intype __b, const int __c) \
10569 union { intype __i; \
10570 __builtin_aarch64_simd_xi __o; } __temp = { __b }; \
10571 __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10572 __ptr, __temp.__o, __c); \
10575 __ST4Q_LANE_FUNC (float16x8x4_t
, float16_t
, v8hf
, hf
, f16
)
10576 __ST4Q_LANE_FUNC (float32x4x4_t
, float32_t
, v4sf
, sf
, f32
)
10577 __ST4Q_LANE_FUNC (float64x2x4_t
, float64_t
, v2df
, df
, f64
)
10578 __ST4Q_LANE_FUNC (poly8x16x4_t
, poly8_t
, v16qi
, qi
, p8
)
10579 __ST4Q_LANE_FUNC (poly16x8x4_t
, poly16_t
, v8hi
, hi
, p16
)
10580 __ST4Q_LANE_FUNC (poly64x2x4_t
, poly64_t
, v2di
, di
, p64
)
10581 __ST4Q_LANE_FUNC (int8x16x4_t
, int8_t, v16qi
, qi
, s8
)
10582 __ST4Q_LANE_FUNC (int16x8x4_t
, int16_t, v8hi
, hi
, s16
)
10583 __ST4Q_LANE_FUNC (int32x4x4_t
, int32_t, v4si
, si
, s32
)
10584 __ST4Q_LANE_FUNC (int64x2x4_t
, int64_t, v2di
, di
, s64
)
10585 __ST4Q_LANE_FUNC (uint8x16x4_t
, uint8_t, v16qi
, qi
, u8
)
10586 __ST4Q_LANE_FUNC (uint16x8x4_t
, uint16_t, v8hi
, hi
, u16
)
10587 __ST4Q_LANE_FUNC (uint32x4x4_t
, uint32_t, v4si
, si
, u32
)
10588 __ST4Q_LANE_FUNC (uint64x2x4_t
, uint64_t, v2di
, di
, u64
)
10590 __extension__
extern __inline
int64_t
10591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10592 vaddlv_s32 (int32x2_t __a
)
10595 __asm__ ("saddlp %0.1d, %1.2s" : "=w"(__result
) : "w"(__a
) : );
10599 __extension__
extern __inline
uint64_t
10600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10601 vaddlv_u32 (uint32x2_t __a
)
10604 __asm__ ("uaddlp %0.1d, %1.2s" : "=w"(__result
) : "w"(__a
) : );
10608 __extension__
extern __inline int16x4_t
10609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10610 vqdmulh_laneq_s16 (int16x4_t __a
, int16x8_t __b
, const int __c
)
10612 return __builtin_aarch64_sqdmulh_laneqv4hi (__a
, __b
, __c
);
10615 __extension__
extern __inline int32x2_t
10616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10617 vqdmulh_laneq_s32 (int32x2_t __a
, int32x4_t __b
, const int __c
)
10619 return __builtin_aarch64_sqdmulh_laneqv2si (__a
, __b
, __c
);
10622 __extension__
extern __inline int16x8_t
10623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10624 vqdmulhq_laneq_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
10626 return __builtin_aarch64_sqdmulh_laneqv8hi (__a
, __b
, __c
);
10629 __extension__
extern __inline int32x4_t
10630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10631 vqdmulhq_laneq_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
10633 return __builtin_aarch64_sqdmulh_laneqv4si (__a
, __b
, __c
);
10636 __extension__
extern __inline int16x4_t
10637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10638 vqrdmulh_laneq_s16 (int16x4_t __a
, int16x8_t __b
, const int __c
)
10640 return __builtin_aarch64_sqrdmulh_laneqv4hi (__a
, __b
, __c
);
10643 __extension__
extern __inline int32x2_t
10644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10645 vqrdmulh_laneq_s32 (int32x2_t __a
, int32x4_t __b
, const int __c
)
10647 return __builtin_aarch64_sqrdmulh_laneqv2si (__a
, __b
, __c
);
10650 __extension__
extern __inline int16x8_t
10651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10652 vqrdmulhq_laneq_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
10654 return __builtin_aarch64_sqrdmulh_laneqv8hi (__a
, __b
, __c
);
10657 __extension__
extern __inline int32x4_t
10658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10659 vqrdmulhq_laneq_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
10661 return __builtin_aarch64_sqrdmulh_laneqv4si (__a
, __b
, __c
);
10664 /* Table intrinsics. */
10666 __extension__
extern __inline poly8x8_t
10667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10668 vqtbl1_p8 (poly8x16_t __a
, uint8x8_t __b
)
10670 poly8x8_t __result
;
10671 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10673 : "w"(__a
), "w"(__b
)
10674 : /* No clobbers */);
10678 __extension__
extern __inline int8x8_t
10679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10680 vqtbl1_s8 (int8x16_t __a
, uint8x8_t __b
)
10683 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10685 : "w"(__a
), "w"(__b
)
10686 : /* No clobbers */);
10690 __extension__
extern __inline uint8x8_t
10691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10692 vqtbl1_u8 (uint8x16_t __a
, uint8x8_t __b
)
10694 uint8x8_t __result
;
10695 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10697 : "w"(__a
), "w"(__b
)
10698 : /* No clobbers */);
10702 __extension__
extern __inline poly8x16_t
10703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10704 vqtbl1q_p8 (poly8x16_t __a
, uint8x16_t __b
)
10706 poly8x16_t __result
;
10707 __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
10709 : "w"(__a
), "w"(__b
)
10710 : /* No clobbers */);
10714 __extension__
extern __inline int8x16_t
10715 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10716 vqtbl1q_s8 (int8x16_t __a
, uint8x16_t __b
)
10718 int8x16_t __result
;
10719 __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
10721 : "w"(__a
), "w"(__b
)
10722 : /* No clobbers */);
10726 __extension__
extern __inline uint8x16_t
10727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10728 vqtbl1q_u8 (uint8x16_t __a
, uint8x16_t __b
)
10730 uint8x16_t __result
;
10731 __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
10733 : "w"(__a
), "w"(__b
)
10734 : /* No clobbers */);
10738 __extension__
extern __inline int8x8_t
10739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10740 vqtbx1_s8 (int8x8_t __r
, int8x16_t __tab
, uint8x8_t __idx
)
10742 int8x8_t __result
= __r
;
10743 __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
10745 : "w"(__tab
), "w"(__idx
)
10746 : /* No clobbers */);
10750 __extension__
extern __inline uint8x8_t
10751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10752 vqtbx1_u8 (uint8x8_t __r
, uint8x16_t __tab
, uint8x8_t __idx
)
10754 uint8x8_t __result
= __r
;
10755 __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
10757 : "w"(__tab
), "w"(__idx
)
10758 : /* No clobbers */);
10762 __extension__
extern __inline poly8x8_t
10763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10764 vqtbx1_p8 (poly8x8_t __r
, poly8x16_t __tab
, uint8x8_t __idx
)
10766 poly8x8_t __result
= __r
;
10767 __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
10769 : "w"(__tab
), "w"(__idx
)
10770 : /* No clobbers */);
10774 __extension__
extern __inline int8x16_t
10775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10776 vqtbx1q_s8 (int8x16_t __r
, int8x16_t __tab
, uint8x16_t __idx
)
10778 int8x16_t __result
= __r
;
10779 __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
10781 : "w"(__tab
), "w"(__idx
)
10782 : /* No clobbers */);
10786 __extension__
extern __inline uint8x16_t
10787 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10788 vqtbx1q_u8 (uint8x16_t __r
, uint8x16_t __tab
, uint8x16_t __idx
)
10790 uint8x16_t __result
= __r
;
10791 __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
10793 : "w"(__tab
), "w"(__idx
)
10794 : /* No clobbers */);
10798 __extension__
extern __inline poly8x16_t
10799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10800 vqtbx1q_p8 (poly8x16_t __r
, poly8x16_t __tab
, uint8x16_t __idx
)
10802 poly8x16_t __result
= __r
;
10803 __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
10805 : "w"(__tab
), "w"(__idx
)
10806 : /* No clobbers */);
10810 /* V7 legacy table intrinsics. */
10812 __extension__
extern __inline int8x8_t
10813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10814 vtbl1_s8 (int8x8_t __tab
, int8x8_t __idx
)
10817 int8x16_t __temp
= vcombine_s8 (__tab
, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
10818 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10820 : "w"(__temp
), "w"(__idx
)
10821 : /* No clobbers */);
10825 __extension__
extern __inline uint8x8_t
10826 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10827 vtbl1_u8 (uint8x8_t __tab
, uint8x8_t __idx
)
10829 uint8x8_t __result
;
10830 uint8x16_t __temp
= vcombine_u8 (__tab
, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
10831 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10833 : "w"(__temp
), "w"(__idx
)
10834 : /* No clobbers */);
10838 __extension__
extern __inline poly8x8_t
10839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10840 vtbl1_p8 (poly8x8_t __tab
, uint8x8_t __idx
)
10842 poly8x8_t __result
;
10843 poly8x16_t __temp
= vcombine_p8 (__tab
, vcreate_p8 (__AARCH64_UINT64_C (0x0)));
10844 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10846 : "w"(__temp
), "w"(__idx
)
10847 : /* No clobbers */);
10851 __extension__
extern __inline int8x8_t
10852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10853 vtbl2_s8 (int8x8x2_t __tab
, int8x8_t __idx
)
10856 int8x16_t __temp
= vcombine_s8 (__tab
.val
[0], __tab
.val
[1]);
10857 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10859 : "w"(__temp
), "w"(__idx
)
10860 : /* No clobbers */);
10864 __extension__
extern __inline uint8x8_t
10865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10866 vtbl2_u8 (uint8x8x2_t __tab
, uint8x8_t __idx
)
10868 uint8x8_t __result
;
10869 uint8x16_t __temp
= vcombine_u8 (__tab
.val
[0], __tab
.val
[1]);
10870 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10872 : "w"(__temp
), "w"(__idx
)
10873 : /* No clobbers */);
10877 __extension__
extern __inline poly8x8_t
10878 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10879 vtbl2_p8 (poly8x8x2_t __tab
, uint8x8_t __idx
)
10881 poly8x8_t __result
;
10882 poly8x16_t __temp
= vcombine_p8 (__tab
.val
[0], __tab
.val
[1]);
10883 __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10885 : "w"(__temp
), "w"(__idx
)
10886 : /* No clobbers */);
10890 __extension__
extern __inline int8x8_t
10891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10892 vtbl3_s8 (int8x8x3_t __tab
, int8x8_t __idx
)
10895 int8x16x2_t __temp
;
10896 __builtin_aarch64_simd_oi __o
;
10897 __temp
.val
[0] = vcombine_s8 (__tab
.val
[0], __tab
.val
[1]);
10898 __temp
.val
[1] = vcombine_s8 (__tab
.val
[2], vcreate_s8 (__AARCH64_UINT64_C (0x0)));
10899 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10900 (int8x16_t
) __temp
.val
[0], 0);
10901 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10902 (int8x16_t
) __temp
.val
[1], 1);
10903 __result
= __builtin_aarch64_tbl3v8qi (__o
, __idx
);
10907 __extension__
extern __inline uint8x8_t
10908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10909 vtbl3_u8 (uint8x8x3_t __tab
, uint8x8_t __idx
)
10911 uint8x8_t __result
;
10912 uint8x16x2_t __temp
;
10913 __builtin_aarch64_simd_oi __o
;
10914 __temp
.val
[0] = vcombine_u8 (__tab
.val
[0], __tab
.val
[1]);
10915 __temp
.val
[1] = vcombine_u8 (__tab
.val
[2], vcreate_u8 (__AARCH64_UINT64_C (0x0)));
10916 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10917 (int8x16_t
) __temp
.val
[0], 0);
10918 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10919 (int8x16_t
) __temp
.val
[1], 1);
10920 __result
= (uint8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
10924 __extension__
extern __inline poly8x8_t
10925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10926 vtbl3_p8 (poly8x8x3_t __tab
, uint8x8_t __idx
)
10928 poly8x8_t __result
;
10929 poly8x16x2_t __temp
;
10930 __builtin_aarch64_simd_oi __o
;
10931 __temp
.val
[0] = vcombine_p8 (__tab
.val
[0], __tab
.val
[1]);
10932 __temp
.val
[1] = vcombine_p8 (__tab
.val
[2], vcreate_p8 (__AARCH64_UINT64_C (0x0)));
10933 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10934 (int8x16_t
) __temp
.val
[0], 0);
10935 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10936 (int8x16_t
) __temp
.val
[1], 1);
10937 __result
= (poly8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
10941 __extension__
extern __inline int8x8_t
10942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10943 vtbl4_s8 (int8x8x4_t __tab
, int8x8_t __idx
)
10946 int8x16x2_t __temp
;
10947 __builtin_aarch64_simd_oi __o
;
10948 __temp
.val
[0] = vcombine_s8 (__tab
.val
[0], __tab
.val
[1]);
10949 __temp
.val
[1] = vcombine_s8 (__tab
.val
[2], __tab
.val
[3]);
10950 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10951 (int8x16_t
) __temp
.val
[0], 0);
10952 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10953 (int8x16_t
) __temp
.val
[1], 1);
10954 __result
= __builtin_aarch64_tbl3v8qi (__o
, __idx
);
10958 __extension__
extern __inline uint8x8_t
10959 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10960 vtbl4_u8 (uint8x8x4_t __tab
, uint8x8_t __idx
)
10962 uint8x8_t __result
;
10963 uint8x16x2_t __temp
;
10964 __builtin_aarch64_simd_oi __o
;
10965 __temp
.val
[0] = vcombine_u8 (__tab
.val
[0], __tab
.val
[1]);
10966 __temp
.val
[1] = vcombine_u8 (__tab
.val
[2], __tab
.val
[3]);
10967 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10968 (int8x16_t
) __temp
.val
[0], 0);
10969 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10970 (int8x16_t
) __temp
.val
[1], 1);
10971 __result
= (uint8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
10975 __extension__
extern __inline poly8x8_t
10976 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10977 vtbl4_p8 (poly8x8x4_t __tab
, uint8x8_t __idx
)
10979 poly8x8_t __result
;
10980 poly8x16x2_t __temp
;
10981 __builtin_aarch64_simd_oi __o
;
10982 __temp
.val
[0] = vcombine_p8 (__tab
.val
[0], __tab
.val
[1]);
10983 __temp
.val
[1] = vcombine_p8 (__tab
.val
[2], __tab
.val
[3]);
10984 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10985 (int8x16_t
) __temp
.val
[0], 0);
10986 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
10987 (int8x16_t
) __temp
.val
[1], 1);
10988 __result
= (poly8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
10992 __extension__
extern __inline int8x8_t
10993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10994 vtbx2_s8 (int8x8_t __r
, int8x8x2_t __tab
, int8x8_t __idx
)
10996 int8x8_t __result
= __r
;
10997 int8x16_t __temp
= vcombine_s8 (__tab
.val
[0], __tab
.val
[1]);
10998 __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11000 : "w"(__temp
), "w"(__idx
)
11001 : /* No clobbers */);
11005 __extension__
extern __inline uint8x8_t
11006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11007 vtbx2_u8 (uint8x8_t __r
, uint8x8x2_t __tab
, uint8x8_t __idx
)
11009 uint8x8_t __result
= __r
;
11010 uint8x16_t __temp
= vcombine_u8 (__tab
.val
[0], __tab
.val
[1]);
11011 __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11013 : "w"(__temp
), "w"(__idx
)
11014 : /* No clobbers */);
11018 __extension__
extern __inline poly8x8_t
11019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11020 vtbx2_p8 (poly8x8_t __r
, poly8x8x2_t __tab
, uint8x8_t __idx
)
11022 poly8x8_t __result
= __r
;
11023 poly8x16_t __temp
= vcombine_p8 (__tab
.val
[0], __tab
.val
[1]);
11024 __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11026 : "w"(__temp
), "w"(__idx
)
11027 : /* No clobbers */);
11031 /* End of temporary inline asm. */
11033 /* Start of optimal implementations in approved order. */
11037 __extension__
extern __inline float32_t
11038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11039 vabds_f32 (float32_t __a
, float32_t __b
)
11041 return __builtin_aarch64_fabdsf (__a
, __b
);
11044 __extension__
extern __inline float64_t
11045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11046 vabdd_f64 (float64_t __a
, float64_t __b
)
11048 return __builtin_aarch64_fabddf (__a
, __b
);
11051 __extension__
extern __inline float32x2_t
11052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11053 vabd_f32 (float32x2_t __a
, float32x2_t __b
)
11055 return __builtin_aarch64_fabdv2sf (__a
, __b
);
11058 __extension__
extern __inline float64x1_t
11059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11060 vabd_f64 (float64x1_t __a
, float64x1_t __b
)
11062 return (float64x1_t
) {vabdd_f64 (vget_lane_f64 (__a
, 0),
11063 vget_lane_f64 (__b
, 0))};
11066 __extension__
extern __inline float32x4_t
11067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11068 vabdq_f32 (float32x4_t __a
, float32x4_t __b
)
11070 return __builtin_aarch64_fabdv4sf (__a
, __b
);
11073 __extension__
extern __inline float64x2_t
11074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11075 vabdq_f64 (float64x2_t __a
, float64x2_t __b
)
11077 return __builtin_aarch64_fabdv2df (__a
, __b
);
11082 __extension__
extern __inline float32x2_t
11083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11084 vabs_f32 (float32x2_t __a
)
11086 return __builtin_aarch64_absv2sf (__a
);
11089 __extension__
extern __inline float64x1_t
11090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11091 vabs_f64 (float64x1_t __a
)
11093 return (float64x1_t
) {__builtin_fabs (__a
[0])};
11096 __extension__
extern __inline int8x8_t
11097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11098 vabs_s8 (int8x8_t __a
)
11100 return __builtin_aarch64_absv8qi (__a
);
11103 __extension__
extern __inline int16x4_t
11104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11105 vabs_s16 (int16x4_t __a
)
11107 return __builtin_aarch64_absv4hi (__a
);
11110 __extension__
extern __inline int32x2_t
11111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11112 vabs_s32 (int32x2_t __a
)
11114 return __builtin_aarch64_absv2si (__a
);
11117 __extension__
extern __inline int64x1_t
11118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11119 vabs_s64 (int64x1_t __a
)
11121 return (int64x1_t
) {__builtin_aarch64_absdi (__a
[0])};
11124 __extension__
extern __inline float32x4_t
11125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11126 vabsq_f32 (float32x4_t __a
)
11128 return __builtin_aarch64_absv4sf (__a
);
11131 __extension__
extern __inline float64x2_t
11132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11133 vabsq_f64 (float64x2_t __a
)
11135 return __builtin_aarch64_absv2df (__a
);
11138 __extension__
extern __inline int8x16_t
11139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11140 vabsq_s8 (int8x16_t __a
)
11142 return __builtin_aarch64_absv16qi (__a
);
11145 __extension__
extern __inline int16x8_t
11146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11147 vabsq_s16 (int16x8_t __a
)
11149 return __builtin_aarch64_absv8hi (__a
);
11152 __extension__
extern __inline int32x4_t
11153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11154 vabsq_s32 (int32x4_t __a
)
11156 return __builtin_aarch64_absv4si (__a
);
11159 __extension__
extern __inline int64x2_t
11160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11161 vabsq_s64 (int64x2_t __a
)
11163 return __builtin_aarch64_absv2di (__a
);
11166 /* Try to avoid moving between integer and vector registers.
11167 For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
11168 There is a testcase related to this issue:
11169 gcc.target/aarch64/vabsd_s64.c. */
11171 __extension__
extern __inline
int64_t
11172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11173 vabsd_s64 (int64_t __a
)
11175 return __a
< 0 ? - (uint64_t) __a
: __a
;
11180 __extension__
extern __inline
int64_t
11181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11182 vaddd_s64 (int64_t __a
, int64_t __b
)
11187 __extension__
extern __inline
uint64_t
11188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11189 vaddd_u64 (uint64_t __a
, uint64_t __b
)
11196 __extension__
extern __inline
int8_t
11197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11198 vaddv_s8 (int8x8_t __a
)
11200 return __builtin_aarch64_reduc_plus_scal_v8qi (__a
);
11203 __extension__
extern __inline
int16_t
11204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11205 vaddv_s16 (int16x4_t __a
)
11207 return __builtin_aarch64_reduc_plus_scal_v4hi (__a
);
11210 __extension__
extern __inline
int32_t
11211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11212 vaddv_s32 (int32x2_t __a
)
11214 return __builtin_aarch64_reduc_plus_scal_v2si (__a
);
11217 __extension__
extern __inline
uint8_t
11218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11219 vaddv_u8 (uint8x8_t __a
)
11221 return (uint8_t) __builtin_aarch64_reduc_plus_scal_v8qi ((int8x8_t
) __a
);
11224 __extension__
extern __inline
uint16_t
11225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11226 vaddv_u16 (uint16x4_t __a
)
11228 return (uint16_t) __builtin_aarch64_reduc_plus_scal_v4hi ((int16x4_t
) __a
);
11231 __extension__
extern __inline
uint32_t
11232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11233 vaddv_u32 (uint32x2_t __a
)
11235 return (int32_t) __builtin_aarch64_reduc_plus_scal_v2si ((int32x2_t
) __a
);
11238 __extension__
extern __inline
int8_t
11239 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11240 vaddvq_s8 (int8x16_t __a
)
11242 return __builtin_aarch64_reduc_plus_scal_v16qi (__a
);
11245 __extension__
extern __inline
int16_t
11246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11247 vaddvq_s16 (int16x8_t __a
)
11249 return __builtin_aarch64_reduc_plus_scal_v8hi (__a
);
11252 __extension__
extern __inline
int32_t
11253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11254 vaddvq_s32 (int32x4_t __a
)
11256 return __builtin_aarch64_reduc_plus_scal_v4si (__a
);
11259 __extension__
extern __inline
int64_t
11260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11261 vaddvq_s64 (int64x2_t __a
)
11263 return __builtin_aarch64_reduc_plus_scal_v2di (__a
);
11266 __extension__
extern __inline
uint8_t
11267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11268 vaddvq_u8 (uint8x16_t __a
)
11270 return (uint8_t) __builtin_aarch64_reduc_plus_scal_v16qi ((int8x16_t
) __a
);
11273 __extension__
extern __inline
uint16_t
11274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11275 vaddvq_u16 (uint16x8_t __a
)
11277 return (uint16_t) __builtin_aarch64_reduc_plus_scal_v8hi ((int16x8_t
) __a
);
11280 __extension__
extern __inline
uint32_t
11281 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11282 vaddvq_u32 (uint32x4_t __a
)
11284 return (uint32_t) __builtin_aarch64_reduc_plus_scal_v4si ((int32x4_t
) __a
);
11287 __extension__
extern __inline
uint64_t
11288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11289 vaddvq_u64 (uint64x2_t __a
)
11291 return (uint64_t) __builtin_aarch64_reduc_plus_scal_v2di ((int64x2_t
) __a
);
11294 __extension__
extern __inline float32_t
11295 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11296 vaddv_f32 (float32x2_t __a
)
11298 return __builtin_aarch64_reduc_plus_scal_v2sf (__a
);
11301 __extension__
extern __inline float32_t
11302 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11303 vaddvq_f32 (float32x4_t __a
)
11305 return __builtin_aarch64_reduc_plus_scal_v4sf (__a
);
11308 __extension__
extern __inline float64_t
11309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11310 vaddvq_f64 (float64x2_t __a
)
11312 return __builtin_aarch64_reduc_plus_scal_v2df (__a
);
11317 __extension__
extern __inline float16x4_t
11318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11319 vbsl_f16 (uint16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
11321 return __builtin_aarch64_simd_bslv4hf_suss (__a
, __b
, __c
);
11324 __extension__
extern __inline float32x2_t
11325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11326 vbsl_f32 (uint32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
11328 return __builtin_aarch64_simd_bslv2sf_suss (__a
, __b
, __c
);
11331 __extension__
extern __inline float64x1_t
11332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11333 vbsl_f64 (uint64x1_t __a
, float64x1_t __b
, float64x1_t __c
)
11335 return (float64x1_t
)
11336 { __builtin_aarch64_simd_bsldf_suss (__a
[0], __b
[0], __c
[0]) };
11339 __extension__
extern __inline poly8x8_t
11340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11341 vbsl_p8 (uint8x8_t __a
, poly8x8_t __b
, poly8x8_t __c
)
11343 return __builtin_aarch64_simd_bslv8qi_pupp (__a
, __b
, __c
);
11346 __extension__
extern __inline poly16x4_t
11347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11348 vbsl_p16 (uint16x4_t __a
, poly16x4_t __b
, poly16x4_t __c
)
11350 return __builtin_aarch64_simd_bslv4hi_pupp (__a
, __b
, __c
);
11352 __extension__
extern __inline poly64x1_t
11353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11354 vbsl_p64 (uint64x1_t __a
, poly64x1_t __b
, poly64x1_t __c
)
11356 return (poly64x1_t
)
11357 {__builtin_aarch64_simd_bsldi_pupp (__a
[0], __b
[0], __c
[0])};
11360 __extension__
extern __inline int8x8_t
11361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11362 vbsl_s8 (uint8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
11364 return __builtin_aarch64_simd_bslv8qi_suss (__a
, __b
, __c
);
11367 __extension__
extern __inline int16x4_t
11368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11369 vbsl_s16 (uint16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
11371 return __builtin_aarch64_simd_bslv4hi_suss (__a
, __b
, __c
);
11374 __extension__
extern __inline int32x2_t
11375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11376 vbsl_s32 (uint32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
11378 return __builtin_aarch64_simd_bslv2si_suss (__a
, __b
, __c
);
11381 __extension__
extern __inline int64x1_t
11382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11383 vbsl_s64 (uint64x1_t __a
, int64x1_t __b
, int64x1_t __c
)
11386 {__builtin_aarch64_simd_bsldi_suss (__a
[0], __b
[0], __c
[0])};
11389 __extension__
extern __inline uint8x8_t
11390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11391 vbsl_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
11393 return __builtin_aarch64_simd_bslv8qi_uuuu (__a
, __b
, __c
);
11396 __extension__
extern __inline uint16x4_t
11397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11398 vbsl_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
11400 return __builtin_aarch64_simd_bslv4hi_uuuu (__a
, __b
, __c
);
11403 __extension__
extern __inline uint32x2_t
11404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11405 vbsl_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
11407 return __builtin_aarch64_simd_bslv2si_uuuu (__a
, __b
, __c
);
11410 __extension__
extern __inline uint64x1_t
11411 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11412 vbsl_u64 (uint64x1_t __a
, uint64x1_t __b
, uint64x1_t __c
)
11414 return (uint64x1_t
)
11415 {__builtin_aarch64_simd_bsldi_uuuu (__a
[0], __b
[0], __c
[0])};
11418 __extension__
extern __inline float16x8_t
11419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11420 vbslq_f16 (uint16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
11422 return __builtin_aarch64_simd_bslv8hf_suss (__a
, __b
, __c
);
11425 __extension__
extern __inline float32x4_t
11426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11427 vbslq_f32 (uint32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
11429 return __builtin_aarch64_simd_bslv4sf_suss (__a
, __b
, __c
);
11432 __extension__
extern __inline float64x2_t
11433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11434 vbslq_f64 (uint64x2_t __a
, float64x2_t __b
, float64x2_t __c
)
11436 return __builtin_aarch64_simd_bslv2df_suss (__a
, __b
, __c
);
11439 __extension__
extern __inline poly8x16_t
11440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11441 vbslq_p8 (uint8x16_t __a
, poly8x16_t __b
, poly8x16_t __c
)
11443 return __builtin_aarch64_simd_bslv16qi_pupp (__a
, __b
, __c
);
11446 __extension__
extern __inline poly16x8_t
11447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11448 vbslq_p16 (uint16x8_t __a
, poly16x8_t __b
, poly16x8_t __c
)
11450 return __builtin_aarch64_simd_bslv8hi_pupp (__a
, __b
, __c
);
11453 __extension__
extern __inline int8x16_t
11454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11455 vbslq_s8 (uint8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
11457 return __builtin_aarch64_simd_bslv16qi_suss (__a
, __b
, __c
);
11460 __extension__
extern __inline int16x8_t
11461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11462 vbslq_s16 (uint16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
11464 return __builtin_aarch64_simd_bslv8hi_suss (__a
, __b
, __c
);
11467 __extension__
extern __inline poly64x2_t
11468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11469 vbslq_p64 (uint64x2_t __a
, poly64x2_t __b
, poly64x2_t __c
)
11471 return __builtin_aarch64_simd_bslv2di_pupp (__a
, __b
, __c
);
11474 __extension__
extern __inline int32x4_t
11475 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11476 vbslq_s32 (uint32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
11478 return __builtin_aarch64_simd_bslv4si_suss (__a
, __b
, __c
);
11481 __extension__
extern __inline int64x2_t
11482 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11483 vbslq_s64 (uint64x2_t __a
, int64x2_t __b
, int64x2_t __c
)
11485 return __builtin_aarch64_simd_bslv2di_suss (__a
, __b
, __c
);
11488 __extension__
extern __inline uint8x16_t
11489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11490 vbslq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
11492 return __builtin_aarch64_simd_bslv16qi_uuuu (__a
, __b
, __c
);
11495 __extension__
extern __inline uint16x8_t
11496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11497 vbslq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
11499 return __builtin_aarch64_simd_bslv8hi_uuuu (__a
, __b
, __c
);
11502 __extension__
extern __inline uint32x4_t
11503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11504 vbslq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
11506 return __builtin_aarch64_simd_bslv4si_uuuu (__a
, __b
, __c
);
11509 __extension__
extern __inline uint64x2_t
11510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11511 vbslq_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
11513 return __builtin_aarch64_simd_bslv2di_uuuu (__a
, __b
, __c
);
11516 /* ARMv8.1-A instrinsics. */
11517 #pragma GCC push_options
11518 #pragma GCC target ("+nothing+rdma")
11520 __extension__
extern __inline int16x4_t
11521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11522 vqrdmlah_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
11524 return __builtin_aarch64_sqrdmlahv4hi (__a
, __b
, __c
);
11527 __extension__
extern __inline int32x2_t
11528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11529 vqrdmlah_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
11531 return __builtin_aarch64_sqrdmlahv2si (__a
, __b
, __c
);
11534 __extension__
extern __inline int16x8_t
11535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11536 vqrdmlahq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
11538 return __builtin_aarch64_sqrdmlahv8hi (__a
, __b
, __c
);
11541 __extension__
extern __inline int32x4_t
11542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11543 vqrdmlahq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
11545 return __builtin_aarch64_sqrdmlahv4si (__a
, __b
, __c
);
11548 __extension__
extern __inline int16x4_t
11549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11550 vqrdmlsh_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
11552 return __builtin_aarch64_sqrdmlshv4hi (__a
, __b
, __c
);
11555 __extension__
extern __inline int32x2_t
11556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11557 vqrdmlsh_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
11559 return __builtin_aarch64_sqrdmlshv2si (__a
, __b
, __c
);
11562 __extension__
extern __inline int16x8_t
11563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11564 vqrdmlshq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
11566 return __builtin_aarch64_sqrdmlshv8hi (__a
, __b
, __c
);
11569 __extension__
extern __inline int32x4_t
11570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11571 vqrdmlshq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
11573 return __builtin_aarch64_sqrdmlshv4si (__a
, __b
, __c
);
11576 __extension__
extern __inline int16x4_t
11577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11578 vqrdmlah_laneq_s16 (int16x4_t __a
, int16x4_t __b
, int16x8_t __c
, const int __d
)
11580 return __builtin_aarch64_sqrdmlah_laneqv4hi (__a
, __b
, __c
, __d
);
11583 __extension__
extern __inline int32x2_t
11584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11585 vqrdmlah_laneq_s32 (int32x2_t __a
, int32x2_t __b
, int32x4_t __c
, const int __d
)
11587 return __builtin_aarch64_sqrdmlah_laneqv2si (__a
, __b
, __c
, __d
);
11590 __extension__
extern __inline int16x8_t
11591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11592 vqrdmlahq_laneq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
, const int __d
)
11594 return __builtin_aarch64_sqrdmlah_laneqv8hi (__a
, __b
, __c
, __d
);
11597 __extension__
extern __inline int32x4_t
11598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11599 vqrdmlahq_laneq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
, const int __d
)
11601 return __builtin_aarch64_sqrdmlah_laneqv4si (__a
, __b
, __c
, __d
);
11604 __extension__
extern __inline int16x4_t
11605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11606 vqrdmlsh_laneq_s16 (int16x4_t __a
, int16x4_t __b
, int16x8_t __c
, const int __d
)
11608 return __builtin_aarch64_sqrdmlsh_laneqv4hi (__a
, __b
, __c
, __d
);
11611 __extension__
extern __inline int32x2_t
11612 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11613 vqrdmlsh_laneq_s32 (int32x2_t __a
, int32x2_t __b
, int32x4_t __c
, const int __d
)
11615 return __builtin_aarch64_sqrdmlsh_laneqv2si (__a
, __b
, __c
, __d
);
11618 __extension__
extern __inline int16x8_t
11619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11620 vqrdmlshq_laneq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
, const int __d
)
11622 return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a
, __b
, __c
, __d
);
11625 __extension__
extern __inline int32x4_t
11626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11627 vqrdmlshq_laneq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
, const int __d
)
11629 return __builtin_aarch64_sqrdmlsh_laneqv4si (__a
, __b
, __c
, __d
);
11632 __extension__
extern __inline int16x4_t
11633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11634 vqrdmlah_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
11636 return __builtin_aarch64_sqrdmlah_lanev4hi (__a
, __b
, __c
, __d
);
11639 __extension__
extern __inline int32x2_t
11640 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11641 vqrdmlah_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
11643 return __builtin_aarch64_sqrdmlah_lanev2si (__a
, __b
, __c
, __d
);
11646 __extension__
extern __inline int16x8_t
11647 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11648 vqrdmlahq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
11650 return __builtin_aarch64_sqrdmlah_lanev8hi (__a
, __b
, __c
, __d
);
11653 __extension__
extern __inline int32x4_t
11654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11655 vqrdmlahq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
11657 return __builtin_aarch64_sqrdmlah_lanev4si (__a
, __b
, __c
, __d
);
11660 __extension__
extern __inline
int16_t
11661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11662 vqrdmlahh_s16 (int16_t __a
, int16_t __b
, int16_t __c
)
11664 return (int16_t) __builtin_aarch64_sqrdmlahhi (__a
, __b
, __c
);
11667 __extension__
extern __inline
int16_t
11668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11669 vqrdmlahh_lane_s16 (int16_t __a
, int16_t __b
, int16x4_t __c
, const int __d
)
11671 return __builtin_aarch64_sqrdmlah_lanehi (__a
, __b
, __c
, __d
);
11674 __extension__
extern __inline
int16_t
11675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11676 vqrdmlahh_laneq_s16 (int16_t __a
, int16_t __b
, int16x8_t __c
, const int __d
)
11678 return __builtin_aarch64_sqrdmlah_laneqhi (__a
, __b
, __c
, __d
);
11681 __extension__
extern __inline
int32_t
11682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11683 vqrdmlahs_s32 (int32_t __a
, int32_t __b
, int32_t __c
)
11685 return (int32_t) __builtin_aarch64_sqrdmlahsi (__a
, __b
, __c
);
11688 __extension__
extern __inline
int32_t
11689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11690 vqrdmlahs_lane_s32 (int32_t __a
, int32_t __b
, int32x2_t __c
, const int __d
)
11692 return __builtin_aarch64_sqrdmlah_lanesi (__a
, __b
, __c
, __d
);
11695 __extension__
extern __inline
int32_t
11696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11697 vqrdmlahs_laneq_s32 (int32_t __a
, int32_t __b
, int32x4_t __c
, const int __d
)
11699 return __builtin_aarch64_sqrdmlah_laneqsi (__a
, __b
, __c
, __d
);
11702 __extension__
extern __inline int16x4_t
11703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11704 vqrdmlsh_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
11706 return __builtin_aarch64_sqrdmlsh_lanev4hi (__a
, __b
, __c
, __d
);
11709 __extension__
extern __inline int32x2_t
11710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11711 vqrdmlsh_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
11713 return __builtin_aarch64_sqrdmlsh_lanev2si (__a
, __b
, __c
, __d
);
11716 __extension__
extern __inline int16x8_t
11717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11718 vqrdmlshq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
11720 return __builtin_aarch64_sqrdmlsh_lanev8hi (__a
, __b
, __c
, __d
);
11723 __extension__
extern __inline int32x4_t
11724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11725 vqrdmlshq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
11727 return __builtin_aarch64_sqrdmlsh_lanev4si (__a
, __b
, __c
, __d
);
11730 __extension__
extern __inline
int16_t
11731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11732 vqrdmlshh_s16 (int16_t __a
, int16_t __b
, int16_t __c
)
11734 return (int16_t) __builtin_aarch64_sqrdmlshhi (__a
, __b
, __c
);
11737 __extension__
extern __inline
int16_t
11738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11739 vqrdmlshh_lane_s16 (int16_t __a
, int16_t __b
, int16x4_t __c
, const int __d
)
11741 return __builtin_aarch64_sqrdmlsh_lanehi (__a
, __b
, __c
, __d
);
11744 __extension__
extern __inline
int16_t
11745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11746 vqrdmlshh_laneq_s16 (int16_t __a
, int16_t __b
, int16x8_t __c
, const int __d
)
11748 return __builtin_aarch64_sqrdmlsh_laneqhi (__a
, __b
, __c
, __d
);
11751 __extension__
extern __inline
int32_t
11752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11753 vqrdmlshs_s32 (int32_t __a
, int32_t __b
, int32_t __c
)
11755 return (int32_t) __builtin_aarch64_sqrdmlshsi (__a
, __b
, __c
);
11758 __extension__
extern __inline
int32_t
11759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11760 vqrdmlshs_lane_s32 (int32_t __a
, int32_t __b
, int32x2_t __c
, const int __d
)
11762 return __builtin_aarch64_sqrdmlsh_lanesi (__a
, __b
, __c
, __d
);
11765 __extension__
extern __inline
int32_t
11766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11767 vqrdmlshs_laneq_s32 (int32_t __a
, int32_t __b
, int32x4_t __c
, const int __d
)
11769 return __builtin_aarch64_sqrdmlsh_laneqsi (__a
, __b
, __c
, __d
);
11771 #pragma GCC pop_options
11773 #pragma GCC push_options
11774 #pragma GCC target ("+nothing+crypto")
11777 __extension__
extern __inline uint8x16_t
11778 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11779 vaeseq_u8 (uint8x16_t data
, uint8x16_t key
)
11781 return __builtin_aarch64_crypto_aesev16qi_uuu (data
, key
);
11784 __extension__
extern __inline uint8x16_t
11785 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11786 vaesdq_u8 (uint8x16_t data
, uint8x16_t key
)
11788 return __builtin_aarch64_crypto_aesdv16qi_uuu (data
, key
);
11791 __extension__
extern __inline uint8x16_t
11792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11793 vaesmcq_u8 (uint8x16_t data
)
11795 return __builtin_aarch64_crypto_aesmcv16qi_uu (data
);
11798 __extension__
extern __inline uint8x16_t
11799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11800 vaesimcq_u8 (uint8x16_t data
)
11802 return __builtin_aarch64_crypto_aesimcv16qi_uu (data
);
11804 #pragma GCC pop_options
11808 __extension__
extern __inline uint64x1_t
11809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11810 vcage_f64 (float64x1_t __a
, float64x1_t __b
)
11812 return vabs_f64 (__a
) >= vabs_f64 (__b
);
11815 __extension__
extern __inline
uint32_t
11816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11817 vcages_f32 (float32_t __a
, float32_t __b
)
11819 return __builtin_fabsf (__a
) >= __builtin_fabsf (__b
) ? -1 : 0;
11822 __extension__
extern __inline uint32x2_t
11823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11824 vcage_f32 (float32x2_t __a
, float32x2_t __b
)
11826 return vabs_f32 (__a
) >= vabs_f32 (__b
);
11829 __extension__
extern __inline uint32x4_t
11830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11831 vcageq_f32 (float32x4_t __a
, float32x4_t __b
)
11833 return vabsq_f32 (__a
) >= vabsq_f32 (__b
);
11836 __extension__
extern __inline
uint64_t
11837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11838 vcaged_f64 (float64_t __a
, float64_t __b
)
11840 return __builtin_fabs (__a
) >= __builtin_fabs (__b
) ? -1 : 0;
11843 __extension__
extern __inline uint64x2_t
11844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11845 vcageq_f64 (float64x2_t __a
, float64x2_t __b
)
11847 return vabsq_f64 (__a
) >= vabsq_f64 (__b
);
11852 __extension__
extern __inline
uint32_t
11853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11854 vcagts_f32 (float32_t __a
, float32_t __b
)
11856 return __builtin_fabsf (__a
) > __builtin_fabsf (__b
) ? -1 : 0;
11859 __extension__
extern __inline uint32x2_t
11860 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11861 vcagt_f32 (float32x2_t __a
, float32x2_t __b
)
11863 return vabs_f32 (__a
) > vabs_f32 (__b
);
11866 __extension__
extern __inline uint64x1_t
11867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11868 vcagt_f64 (float64x1_t __a
, float64x1_t __b
)
11870 return vabs_f64 (__a
) > vabs_f64 (__b
);
11873 __extension__
extern __inline uint32x4_t
11874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11875 vcagtq_f32 (float32x4_t __a
, float32x4_t __b
)
11877 return vabsq_f32 (__a
) > vabsq_f32 (__b
);
11880 __extension__
extern __inline
uint64_t
11881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11882 vcagtd_f64 (float64_t __a
, float64_t __b
)
11884 return __builtin_fabs (__a
) > __builtin_fabs (__b
) ? -1 : 0;
11887 __extension__
extern __inline uint64x2_t
11888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11889 vcagtq_f64 (float64x2_t __a
, float64x2_t __b
)
11891 return vabsq_f64 (__a
) > vabsq_f64 (__b
);
11896 __extension__
extern __inline uint32x2_t
11897 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11898 vcale_f32 (float32x2_t __a
, float32x2_t __b
)
11900 return vabs_f32 (__a
) <= vabs_f32 (__b
);
11903 __extension__
extern __inline uint64x1_t
11904 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11905 vcale_f64 (float64x1_t __a
, float64x1_t __b
)
11907 return vabs_f64 (__a
) <= vabs_f64 (__b
);
11910 __extension__
extern __inline
uint64_t
11911 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11912 vcaled_f64 (float64_t __a
, float64_t __b
)
11914 return __builtin_fabs (__a
) <= __builtin_fabs (__b
) ? -1 : 0;
11917 __extension__
extern __inline
uint32_t
11918 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11919 vcales_f32 (float32_t __a
, float32_t __b
)
11921 return __builtin_fabsf (__a
) <= __builtin_fabsf (__b
) ? -1 : 0;
11924 __extension__
extern __inline uint32x4_t
11925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11926 vcaleq_f32 (float32x4_t __a
, float32x4_t __b
)
11928 return vabsq_f32 (__a
) <= vabsq_f32 (__b
);
11931 __extension__
extern __inline uint64x2_t
11932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11933 vcaleq_f64 (float64x2_t __a
, float64x2_t __b
)
11935 return vabsq_f64 (__a
) <= vabsq_f64 (__b
);
11940 __extension__
extern __inline uint32x2_t
11941 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11942 vcalt_f32 (float32x2_t __a
, float32x2_t __b
)
11944 return vabs_f32 (__a
) < vabs_f32 (__b
);
11947 __extension__
extern __inline uint64x1_t
11948 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11949 vcalt_f64 (float64x1_t __a
, float64x1_t __b
)
11951 return vabs_f64 (__a
) < vabs_f64 (__b
);
11954 __extension__
extern __inline
uint64_t
11955 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11956 vcaltd_f64 (float64_t __a
, float64_t __b
)
11958 return __builtin_fabs (__a
) < __builtin_fabs (__b
) ? -1 : 0;
11961 __extension__
extern __inline uint32x4_t
11962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11963 vcaltq_f32 (float32x4_t __a
, float32x4_t __b
)
11965 return vabsq_f32 (__a
) < vabsq_f32 (__b
);
11968 __extension__
extern __inline uint64x2_t
11969 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11970 vcaltq_f64 (float64x2_t __a
, float64x2_t __b
)
11972 return vabsq_f64 (__a
) < vabsq_f64 (__b
);
11975 __extension__
extern __inline
uint32_t
11976 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11977 vcalts_f32 (float32_t __a
, float32_t __b
)
11979 return __builtin_fabsf (__a
) < __builtin_fabsf (__b
) ? -1 : 0;
11982 /* vceq - vector. */
11984 __extension__
extern __inline uint32x2_t
11985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11986 vceq_f32 (float32x2_t __a
, float32x2_t __b
)
11988 return (uint32x2_t
) (__a
== __b
);
11991 __extension__
extern __inline uint64x1_t
11992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11993 vceq_f64 (float64x1_t __a
, float64x1_t __b
)
11995 return (uint64x1_t
) (__a
== __b
);
11998 __extension__
extern __inline uint8x8_t
11999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12000 vceq_p8 (poly8x8_t __a
, poly8x8_t __b
)
12002 return (uint8x8_t
) (__a
== __b
);
12005 __extension__
extern __inline uint64x1_t
12006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12007 vceq_p64 (poly64x1_t __a
, poly64x1_t __b
)
12009 return (uint64x1_t
) (__a
== __b
);
12012 __extension__
extern __inline uint8x8_t
12013 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12014 vceq_s8 (int8x8_t __a
, int8x8_t __b
)
12016 return (uint8x8_t
) (__a
== __b
);
12019 __extension__
extern __inline uint16x4_t
12020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12021 vceq_s16 (int16x4_t __a
, int16x4_t __b
)
12023 return (uint16x4_t
) (__a
== __b
);
12026 __extension__
extern __inline uint32x2_t
12027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12028 vceq_s32 (int32x2_t __a
, int32x2_t __b
)
12030 return (uint32x2_t
) (__a
== __b
);
12033 __extension__
extern __inline uint64x1_t
12034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12035 vceq_s64 (int64x1_t __a
, int64x1_t __b
)
12037 return (uint64x1_t
) (__a
== __b
);
12040 __extension__
extern __inline uint8x8_t
12041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12042 vceq_u8 (uint8x8_t __a
, uint8x8_t __b
)
12044 return (__a
== __b
);
12047 __extension__
extern __inline uint16x4_t
12048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12049 vceq_u16 (uint16x4_t __a
, uint16x4_t __b
)
12051 return (__a
== __b
);
12054 __extension__
extern __inline uint32x2_t
12055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12056 vceq_u32 (uint32x2_t __a
, uint32x2_t __b
)
12058 return (__a
== __b
);
12061 __extension__
extern __inline uint64x1_t
12062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12063 vceq_u64 (uint64x1_t __a
, uint64x1_t __b
)
12065 return (__a
== __b
);
12068 __extension__
extern __inline uint32x4_t
12069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12070 vceqq_f32 (float32x4_t __a
, float32x4_t __b
)
12072 return (uint32x4_t
) (__a
== __b
);
12075 __extension__
extern __inline uint64x2_t
12076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12077 vceqq_f64 (float64x2_t __a
, float64x2_t __b
)
12079 return (uint64x2_t
) (__a
== __b
);
12082 __extension__
extern __inline uint8x16_t
12083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12084 vceqq_p8 (poly8x16_t __a
, poly8x16_t __b
)
12086 return (uint8x16_t
) (__a
== __b
);
12089 __extension__
extern __inline uint8x16_t
12090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12091 vceqq_s8 (int8x16_t __a
, int8x16_t __b
)
12093 return (uint8x16_t
) (__a
== __b
);
12096 __extension__
extern __inline uint16x8_t
12097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12098 vceqq_s16 (int16x8_t __a
, int16x8_t __b
)
12100 return (uint16x8_t
) (__a
== __b
);
12103 __extension__
extern __inline uint32x4_t
12104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12105 vceqq_s32 (int32x4_t __a
, int32x4_t __b
)
12107 return (uint32x4_t
) (__a
== __b
);
12110 __extension__
extern __inline uint64x2_t
12111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12112 vceqq_s64 (int64x2_t __a
, int64x2_t __b
)
12114 return (uint64x2_t
) (__a
== __b
);
12117 __extension__
extern __inline uint8x16_t
12118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12119 vceqq_u8 (uint8x16_t __a
, uint8x16_t __b
)
12121 return (__a
== __b
);
12124 __extension__
extern __inline uint16x8_t
12125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12126 vceqq_u16 (uint16x8_t __a
, uint16x8_t __b
)
12128 return (__a
== __b
);
12131 __extension__
extern __inline uint32x4_t
12132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12133 vceqq_u32 (uint32x4_t __a
, uint32x4_t __b
)
12135 return (__a
== __b
);
12138 __extension__
extern __inline uint64x2_t
12139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12140 vceqq_u64 (uint64x2_t __a
, uint64x2_t __b
)
12142 return (__a
== __b
);
12145 __extension__
extern __inline uint64x2_t
12146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12147 vceqq_p64 (poly64x2_t __a
, poly64x2_t __b
)
12149 return (__a
== __b
);
12152 /* vceq - scalar. */
12154 __extension__
extern __inline
uint32_t
12155 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12156 vceqs_f32 (float32_t __a
, float32_t __b
)
12158 return __a
== __b
? -1 : 0;
12161 __extension__
extern __inline
uint64_t
12162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12163 vceqd_s64 (int64_t __a
, int64_t __b
)
12165 return __a
== __b
? -1ll : 0ll;
12168 __extension__
extern __inline
uint64_t
12169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12170 vceqd_u64 (uint64_t __a
, uint64_t __b
)
12172 return __a
== __b
? -1ll : 0ll;
12175 __extension__
extern __inline
uint64_t
12176 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12177 vceqd_f64 (float64_t __a
, float64_t __b
)
12179 return __a
== __b
? -1ll : 0ll;
12182 /* vceqz - vector. */
12184 __extension__
extern __inline uint32x2_t
12185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12186 vceqz_f32 (float32x2_t __a
)
12188 return (uint32x2_t
) (__a
== 0.0f
);
12191 __extension__
extern __inline uint64x1_t
12192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12193 vceqz_f64 (float64x1_t __a
)
12195 return (uint64x1_t
) (__a
== (float64x1_t
) {0.0});
12198 __extension__
extern __inline uint8x8_t
12199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12200 vceqz_p8 (poly8x8_t __a
)
12202 return (uint8x8_t
) (__a
== 0);
12205 __extension__
extern __inline uint8x8_t
12206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12207 vceqz_s8 (int8x8_t __a
)
12209 return (uint8x8_t
) (__a
== 0);
12212 __extension__
extern __inline uint16x4_t
12213 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12214 vceqz_s16 (int16x4_t __a
)
12216 return (uint16x4_t
) (__a
== 0);
12219 __extension__
extern __inline uint32x2_t
12220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12221 vceqz_s32 (int32x2_t __a
)
12223 return (uint32x2_t
) (__a
== 0);
12226 __extension__
extern __inline uint64x1_t
12227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12228 vceqz_s64 (int64x1_t __a
)
12230 return (uint64x1_t
) (__a
== __AARCH64_INT64_C (0));
12233 __extension__
extern __inline uint8x8_t
12234 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12235 vceqz_u8 (uint8x8_t __a
)
12240 __extension__
extern __inline uint16x4_t
12241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12242 vceqz_u16 (uint16x4_t __a
)
12247 __extension__
extern __inline uint32x2_t
12248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12249 vceqz_u32 (uint32x2_t __a
)
12254 __extension__
extern __inline uint64x1_t
12255 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12256 vceqz_u64 (uint64x1_t __a
)
12258 return (__a
== __AARCH64_UINT64_C (0));
12261 __extension__
extern __inline uint64x1_t
12262 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12263 vceqz_p64 (poly64x1_t __a
)
12265 return (__a
== __AARCH64_UINT64_C (0));
12268 __extension__
extern __inline uint32x4_t
12269 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12270 vceqzq_f32 (float32x4_t __a
)
12272 return (uint32x4_t
) (__a
== 0.0f
);
12275 __extension__
extern __inline uint64x2_t
12276 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12277 vceqzq_f64 (float64x2_t __a
)
12279 return (uint64x2_t
) (__a
== 0.0f
);
12282 __extension__
extern __inline uint8x16_t
12283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12284 vceqzq_p8 (poly8x16_t __a
)
12286 return (uint8x16_t
) (__a
== 0);
12289 __extension__
extern __inline uint8x16_t
12290 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12291 vceqzq_s8 (int8x16_t __a
)
12293 return (uint8x16_t
) (__a
== 0);
12296 __extension__
extern __inline uint16x8_t
12297 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12298 vceqzq_s16 (int16x8_t __a
)
12300 return (uint16x8_t
) (__a
== 0);
12303 __extension__
extern __inline uint32x4_t
12304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12305 vceqzq_s32 (int32x4_t __a
)
12307 return (uint32x4_t
) (__a
== 0);
12310 __extension__
extern __inline uint64x2_t
12311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12312 vceqzq_s64 (int64x2_t __a
)
12314 return (uint64x2_t
) (__a
== __AARCH64_INT64_C (0));
12317 __extension__
extern __inline uint8x16_t
12318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12319 vceqzq_u8 (uint8x16_t __a
)
12324 __extension__
extern __inline uint16x8_t
12325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12326 vceqzq_u16 (uint16x8_t __a
)
12331 __extension__
extern __inline uint32x4_t
12332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12333 vceqzq_u32 (uint32x4_t __a
)
12338 __extension__
extern __inline uint64x2_t
12339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12340 vceqzq_u64 (uint64x2_t __a
)
12342 return (__a
== __AARCH64_UINT64_C (0));
12345 __extension__
extern __inline uint64x2_t
12346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12347 vceqzq_p64 (poly64x2_t __a
)
12349 return (__a
== __AARCH64_UINT64_C (0));
12352 /* vceqz - scalar. */
12354 __extension__
extern __inline
uint32_t
12355 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12356 vceqzs_f32 (float32_t __a
)
12358 return __a
== 0.0f
? -1 : 0;
12361 __extension__
extern __inline
uint64_t
12362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12363 vceqzd_s64 (int64_t __a
)
12365 return __a
== 0 ? -1ll : 0ll;
12368 __extension__
extern __inline
uint64_t
12369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12370 vceqzd_u64 (uint64_t __a
)
12372 return __a
== 0 ? -1ll : 0ll;
12375 __extension__
extern __inline
uint64_t
12376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12377 vceqzd_f64 (float64_t __a
)
12379 return __a
== 0.0 ? -1ll : 0ll;
12382 /* vcge - vector. */
12384 __extension__
extern __inline uint32x2_t
12385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12386 vcge_f32 (float32x2_t __a
, float32x2_t __b
)
12388 return (uint32x2_t
) (__a
>= __b
);
12391 __extension__
extern __inline uint64x1_t
12392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12393 vcge_f64 (float64x1_t __a
, float64x1_t __b
)
12395 return (uint64x1_t
) (__a
>= __b
);
12398 __extension__
extern __inline uint8x8_t
12399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12400 vcge_s8 (int8x8_t __a
, int8x8_t __b
)
12402 return (uint8x8_t
) (__a
>= __b
);
12405 __extension__
extern __inline uint16x4_t
12406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12407 vcge_s16 (int16x4_t __a
, int16x4_t __b
)
12409 return (uint16x4_t
) (__a
>= __b
);
12412 __extension__
extern __inline uint32x2_t
12413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12414 vcge_s32 (int32x2_t __a
, int32x2_t __b
)
12416 return (uint32x2_t
) (__a
>= __b
);
12419 __extension__
extern __inline uint64x1_t
12420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12421 vcge_s64 (int64x1_t __a
, int64x1_t __b
)
12423 return (uint64x1_t
) (__a
>= __b
);
12426 __extension__
extern __inline uint8x8_t
12427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12428 vcge_u8 (uint8x8_t __a
, uint8x8_t __b
)
12430 return (__a
>= __b
);
12433 __extension__
extern __inline uint16x4_t
12434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12435 vcge_u16 (uint16x4_t __a
, uint16x4_t __b
)
12437 return (__a
>= __b
);
12440 __extension__
extern __inline uint32x2_t
12441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12442 vcge_u32 (uint32x2_t __a
, uint32x2_t __b
)
12444 return (__a
>= __b
);
12447 __extension__
extern __inline uint64x1_t
12448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12449 vcge_u64 (uint64x1_t __a
, uint64x1_t __b
)
12451 return (__a
>= __b
);
12454 __extension__
extern __inline uint32x4_t
12455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12456 vcgeq_f32 (float32x4_t __a
, float32x4_t __b
)
12458 return (uint32x4_t
) (__a
>= __b
);
12461 __extension__
extern __inline uint64x2_t
12462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12463 vcgeq_f64 (float64x2_t __a
, float64x2_t __b
)
12465 return (uint64x2_t
) (__a
>= __b
);
12468 __extension__
extern __inline uint8x16_t
12469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12470 vcgeq_s8 (int8x16_t __a
, int8x16_t __b
)
12472 return (uint8x16_t
) (__a
>= __b
);
12475 __extension__
extern __inline uint16x8_t
12476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12477 vcgeq_s16 (int16x8_t __a
, int16x8_t __b
)
12479 return (uint16x8_t
) (__a
>= __b
);
12482 __extension__
extern __inline uint32x4_t
12483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12484 vcgeq_s32 (int32x4_t __a
, int32x4_t __b
)
12486 return (uint32x4_t
) (__a
>= __b
);
12489 __extension__
extern __inline uint64x2_t
12490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12491 vcgeq_s64 (int64x2_t __a
, int64x2_t __b
)
12493 return (uint64x2_t
) (__a
>= __b
);
12496 __extension__
extern __inline uint8x16_t
12497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12498 vcgeq_u8 (uint8x16_t __a
, uint8x16_t __b
)
12500 return (__a
>= __b
);
12503 __extension__
extern __inline uint16x8_t
12504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12505 vcgeq_u16 (uint16x8_t __a
, uint16x8_t __b
)
12507 return (__a
>= __b
);
12510 __extension__
extern __inline uint32x4_t
12511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12512 vcgeq_u32 (uint32x4_t __a
, uint32x4_t __b
)
12514 return (__a
>= __b
);
12517 __extension__
extern __inline uint64x2_t
12518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12519 vcgeq_u64 (uint64x2_t __a
, uint64x2_t __b
)
12521 return (__a
>= __b
);
12524 /* vcge - scalar. */
12526 __extension__
extern __inline
uint32_t
12527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12528 vcges_f32 (float32_t __a
, float32_t __b
)
12530 return __a
>= __b
? -1 : 0;
12533 __extension__
extern __inline
uint64_t
12534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12535 vcged_s64 (int64_t __a
, int64_t __b
)
12537 return __a
>= __b
? -1ll : 0ll;
12540 __extension__
extern __inline
uint64_t
12541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12542 vcged_u64 (uint64_t __a
, uint64_t __b
)
12544 return __a
>= __b
? -1ll : 0ll;
12547 __extension__
extern __inline
uint64_t
12548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12549 vcged_f64 (float64_t __a
, float64_t __b
)
12551 return __a
>= __b
? -1ll : 0ll;
12554 /* vcgez - vector. */
12556 __extension__
extern __inline uint32x2_t
12557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12558 vcgez_f32 (float32x2_t __a
)
12560 return (uint32x2_t
) (__a
>= 0.0f
);
12563 __extension__
extern __inline uint64x1_t
12564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12565 vcgez_f64 (float64x1_t __a
)
12567 return (uint64x1_t
) (__a
[0] >= (float64x1_t
) {0.0});
12570 __extension__
extern __inline uint8x8_t
12571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12572 vcgez_s8 (int8x8_t __a
)
12574 return (uint8x8_t
) (__a
>= 0);
12577 __extension__
extern __inline uint16x4_t
12578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12579 vcgez_s16 (int16x4_t __a
)
12581 return (uint16x4_t
) (__a
>= 0);
12584 __extension__
extern __inline uint32x2_t
12585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12586 vcgez_s32 (int32x2_t __a
)
12588 return (uint32x2_t
) (__a
>= 0);
12591 __extension__
extern __inline uint64x1_t
12592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12593 vcgez_s64 (int64x1_t __a
)
12595 return (uint64x1_t
) (__a
>= __AARCH64_INT64_C (0));
12598 __extension__
extern __inline uint32x4_t
12599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12600 vcgezq_f32 (float32x4_t __a
)
12602 return (uint32x4_t
) (__a
>= 0.0f
);
12605 __extension__
extern __inline uint64x2_t
12606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12607 vcgezq_f64 (float64x2_t __a
)
12609 return (uint64x2_t
) (__a
>= 0.0);
12612 __extension__
extern __inline uint8x16_t
12613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12614 vcgezq_s8 (int8x16_t __a
)
12616 return (uint8x16_t
) (__a
>= 0);
12619 __extension__
extern __inline uint16x8_t
12620 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12621 vcgezq_s16 (int16x8_t __a
)
12623 return (uint16x8_t
) (__a
>= 0);
12626 __extension__
extern __inline uint32x4_t
12627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12628 vcgezq_s32 (int32x4_t __a
)
12630 return (uint32x4_t
) (__a
>= 0);
12633 __extension__
extern __inline uint64x2_t
12634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12635 vcgezq_s64 (int64x2_t __a
)
12637 return (uint64x2_t
) (__a
>= __AARCH64_INT64_C (0));
12640 /* vcgez - scalar. */
12642 __extension__
extern __inline
uint32_t
12643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12644 vcgezs_f32 (float32_t __a
)
12646 return __a
>= 0.0f
? -1 : 0;
12649 __extension__
extern __inline
uint64_t
12650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12651 vcgezd_s64 (int64_t __a
)
12653 return __a
>= 0 ? -1ll : 0ll;
12656 __extension__
extern __inline
uint64_t
12657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12658 vcgezd_f64 (float64_t __a
)
12660 return __a
>= 0.0 ? -1ll : 0ll;
12663 /* vcgt - vector. */
12665 __extension__
extern __inline uint32x2_t
12666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12667 vcgt_f32 (float32x2_t __a
, float32x2_t __b
)
12669 return (uint32x2_t
) (__a
> __b
);
12672 __extension__
extern __inline uint64x1_t
12673 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12674 vcgt_f64 (float64x1_t __a
, float64x1_t __b
)
12676 return (uint64x1_t
) (__a
> __b
);
12679 __extension__
extern __inline uint8x8_t
12680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12681 vcgt_s8 (int8x8_t __a
, int8x8_t __b
)
12683 return (uint8x8_t
) (__a
> __b
);
12686 __extension__
extern __inline uint16x4_t
12687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12688 vcgt_s16 (int16x4_t __a
, int16x4_t __b
)
12690 return (uint16x4_t
) (__a
> __b
);
12693 __extension__
extern __inline uint32x2_t
12694 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12695 vcgt_s32 (int32x2_t __a
, int32x2_t __b
)
12697 return (uint32x2_t
) (__a
> __b
);
12700 __extension__
extern __inline uint64x1_t
12701 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12702 vcgt_s64 (int64x1_t __a
, int64x1_t __b
)
12704 return (uint64x1_t
) (__a
> __b
);
12707 __extension__
extern __inline uint8x8_t
12708 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12709 vcgt_u8 (uint8x8_t __a
, uint8x8_t __b
)
12711 return (__a
> __b
);
12714 __extension__
extern __inline uint16x4_t
12715 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12716 vcgt_u16 (uint16x4_t __a
, uint16x4_t __b
)
12718 return (__a
> __b
);
12721 __extension__
extern __inline uint32x2_t
12722 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12723 vcgt_u32 (uint32x2_t __a
, uint32x2_t __b
)
12725 return (__a
> __b
);
12728 __extension__
extern __inline uint64x1_t
12729 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12730 vcgt_u64 (uint64x1_t __a
, uint64x1_t __b
)
12732 return (__a
> __b
);
12735 __extension__
extern __inline uint32x4_t
12736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12737 vcgtq_f32 (float32x4_t __a
, float32x4_t __b
)
12739 return (uint32x4_t
) (__a
> __b
);
12742 __extension__
extern __inline uint64x2_t
12743 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12744 vcgtq_f64 (float64x2_t __a
, float64x2_t __b
)
12746 return (uint64x2_t
) (__a
> __b
);
12749 __extension__
extern __inline uint8x16_t
12750 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12751 vcgtq_s8 (int8x16_t __a
, int8x16_t __b
)
12753 return (uint8x16_t
) (__a
> __b
);
12756 __extension__
extern __inline uint16x8_t
12757 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12758 vcgtq_s16 (int16x8_t __a
, int16x8_t __b
)
12760 return (uint16x8_t
) (__a
> __b
);
12763 __extension__
extern __inline uint32x4_t
12764 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12765 vcgtq_s32 (int32x4_t __a
, int32x4_t __b
)
12767 return (uint32x4_t
) (__a
> __b
);
12770 __extension__
extern __inline uint64x2_t
12771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12772 vcgtq_s64 (int64x2_t __a
, int64x2_t __b
)
12774 return (uint64x2_t
) (__a
> __b
);
12777 __extension__
extern __inline uint8x16_t
12778 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12779 vcgtq_u8 (uint8x16_t __a
, uint8x16_t __b
)
12781 return (__a
> __b
);
12784 __extension__
extern __inline uint16x8_t
12785 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12786 vcgtq_u16 (uint16x8_t __a
, uint16x8_t __b
)
12788 return (__a
> __b
);
12791 __extension__
extern __inline uint32x4_t
12792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12793 vcgtq_u32 (uint32x4_t __a
, uint32x4_t __b
)
12795 return (__a
> __b
);
12798 __extension__
extern __inline uint64x2_t
12799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12800 vcgtq_u64 (uint64x2_t __a
, uint64x2_t __b
)
12802 return (__a
> __b
);
12805 /* vcgt - scalar. */
12807 __extension__
extern __inline
uint32_t
12808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12809 vcgts_f32 (float32_t __a
, float32_t __b
)
12811 return __a
> __b
? -1 : 0;
12814 __extension__
extern __inline
uint64_t
12815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12816 vcgtd_s64 (int64_t __a
, int64_t __b
)
12818 return __a
> __b
? -1ll : 0ll;
12821 __extension__
extern __inline
uint64_t
12822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12823 vcgtd_u64 (uint64_t __a
, uint64_t __b
)
12825 return __a
> __b
? -1ll : 0ll;
12828 __extension__
extern __inline
uint64_t
12829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12830 vcgtd_f64 (float64_t __a
, float64_t __b
)
12832 return __a
> __b
? -1ll : 0ll;
12835 /* vcgtz - vector. */
12837 __extension__
extern __inline uint32x2_t
12838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12839 vcgtz_f32 (float32x2_t __a
)
12841 return (uint32x2_t
) (__a
> 0.0f
);
12844 __extension__
extern __inline uint64x1_t
12845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12846 vcgtz_f64 (float64x1_t __a
)
12848 return (uint64x1_t
) (__a
> (float64x1_t
) {0.0});
12851 __extension__
extern __inline uint8x8_t
12852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12853 vcgtz_s8 (int8x8_t __a
)
12855 return (uint8x8_t
) (__a
> 0);
12858 __extension__
extern __inline uint16x4_t
12859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12860 vcgtz_s16 (int16x4_t __a
)
12862 return (uint16x4_t
) (__a
> 0);
12865 __extension__
extern __inline uint32x2_t
12866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12867 vcgtz_s32 (int32x2_t __a
)
12869 return (uint32x2_t
) (__a
> 0);
12872 __extension__
extern __inline uint64x1_t
12873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12874 vcgtz_s64 (int64x1_t __a
)
12876 return (uint64x1_t
) (__a
> __AARCH64_INT64_C (0));
12879 __extension__
extern __inline uint32x4_t
12880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12881 vcgtzq_f32 (float32x4_t __a
)
12883 return (uint32x4_t
) (__a
> 0.0f
);
12886 __extension__
extern __inline uint64x2_t
12887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12888 vcgtzq_f64 (float64x2_t __a
)
12890 return (uint64x2_t
) (__a
> 0.0);
12893 __extension__
extern __inline uint8x16_t
12894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12895 vcgtzq_s8 (int8x16_t __a
)
12897 return (uint8x16_t
) (__a
> 0);
12900 __extension__
extern __inline uint16x8_t
12901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12902 vcgtzq_s16 (int16x8_t __a
)
12904 return (uint16x8_t
) (__a
> 0);
12907 __extension__
extern __inline uint32x4_t
12908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12909 vcgtzq_s32 (int32x4_t __a
)
12911 return (uint32x4_t
) (__a
> 0);
12914 __extension__
extern __inline uint64x2_t
12915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12916 vcgtzq_s64 (int64x2_t __a
)
12918 return (uint64x2_t
) (__a
> __AARCH64_INT64_C (0));
12921 /* vcgtz - scalar. */
12923 __extension__
extern __inline
uint32_t
12924 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12925 vcgtzs_f32 (float32_t __a
)
12927 return __a
> 0.0f
? -1 : 0;
12930 __extension__
extern __inline
uint64_t
12931 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12932 vcgtzd_s64 (int64_t __a
)
12934 return __a
> 0 ? -1ll : 0ll;
12937 __extension__
extern __inline
uint64_t
12938 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12939 vcgtzd_f64 (float64_t __a
)
12941 return __a
> 0.0 ? -1ll : 0ll;
12944 /* vcle - vector. */
12946 __extension__
extern __inline uint32x2_t
12947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12948 vcle_f32 (float32x2_t __a
, float32x2_t __b
)
12950 return (uint32x2_t
) (__a
<= __b
);
12953 __extension__
extern __inline uint64x1_t
12954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12955 vcle_f64 (float64x1_t __a
, float64x1_t __b
)
12957 return (uint64x1_t
) (__a
<= __b
);
12960 __extension__
extern __inline uint8x8_t
12961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12962 vcle_s8 (int8x8_t __a
, int8x8_t __b
)
12964 return (uint8x8_t
) (__a
<= __b
);
12967 __extension__
extern __inline uint16x4_t
12968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12969 vcle_s16 (int16x4_t __a
, int16x4_t __b
)
12971 return (uint16x4_t
) (__a
<= __b
);
12974 __extension__
extern __inline uint32x2_t
12975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12976 vcle_s32 (int32x2_t __a
, int32x2_t __b
)
12978 return (uint32x2_t
) (__a
<= __b
);
12981 __extension__
extern __inline uint64x1_t
12982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12983 vcle_s64 (int64x1_t __a
, int64x1_t __b
)
12985 return (uint64x1_t
) (__a
<= __b
);
12988 __extension__
extern __inline uint8x8_t
12989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12990 vcle_u8 (uint8x8_t __a
, uint8x8_t __b
)
12992 return (__a
<= __b
);
12995 __extension__
extern __inline uint16x4_t
12996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12997 vcle_u16 (uint16x4_t __a
, uint16x4_t __b
)
12999 return (__a
<= __b
);
13002 __extension__
extern __inline uint32x2_t
13003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13004 vcle_u32 (uint32x2_t __a
, uint32x2_t __b
)
13006 return (__a
<= __b
);
13009 __extension__
extern __inline uint64x1_t
13010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13011 vcle_u64 (uint64x1_t __a
, uint64x1_t __b
)
13013 return (__a
<= __b
);
13016 __extension__
extern __inline uint32x4_t
13017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13018 vcleq_f32 (float32x4_t __a
, float32x4_t __b
)
13020 return (uint32x4_t
) (__a
<= __b
);
13023 __extension__
extern __inline uint64x2_t
13024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13025 vcleq_f64 (float64x2_t __a
, float64x2_t __b
)
13027 return (uint64x2_t
) (__a
<= __b
);
13030 __extension__
extern __inline uint8x16_t
13031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13032 vcleq_s8 (int8x16_t __a
, int8x16_t __b
)
13034 return (uint8x16_t
) (__a
<= __b
);
13037 __extension__
extern __inline uint16x8_t
13038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13039 vcleq_s16 (int16x8_t __a
, int16x8_t __b
)
13041 return (uint16x8_t
) (__a
<= __b
);
13044 __extension__
extern __inline uint32x4_t
13045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13046 vcleq_s32 (int32x4_t __a
, int32x4_t __b
)
13048 return (uint32x4_t
) (__a
<= __b
);
13051 __extension__
extern __inline uint64x2_t
13052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13053 vcleq_s64 (int64x2_t __a
, int64x2_t __b
)
13055 return (uint64x2_t
) (__a
<= __b
);
13058 __extension__
extern __inline uint8x16_t
13059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13060 vcleq_u8 (uint8x16_t __a
, uint8x16_t __b
)
13062 return (__a
<= __b
);
13065 __extension__
extern __inline uint16x8_t
13066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13067 vcleq_u16 (uint16x8_t __a
, uint16x8_t __b
)
13069 return (__a
<= __b
);
13072 __extension__
extern __inline uint32x4_t
13073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13074 vcleq_u32 (uint32x4_t __a
, uint32x4_t __b
)
13076 return (__a
<= __b
);
13079 __extension__
extern __inline uint64x2_t
13080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13081 vcleq_u64 (uint64x2_t __a
, uint64x2_t __b
)
13083 return (__a
<= __b
);
13086 /* vcle - scalar. */
13088 __extension__
extern __inline
uint32_t
13089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13090 vcles_f32 (float32_t __a
, float32_t __b
)
13092 return __a
<= __b
? -1 : 0;
13095 __extension__
extern __inline
uint64_t
13096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13097 vcled_s64 (int64_t __a
, int64_t __b
)
13099 return __a
<= __b
? -1ll : 0ll;
13102 __extension__
extern __inline
uint64_t
13103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13104 vcled_u64 (uint64_t __a
, uint64_t __b
)
13106 return __a
<= __b
? -1ll : 0ll;
13109 __extension__
extern __inline
uint64_t
13110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13111 vcled_f64 (float64_t __a
, float64_t __b
)
13113 return __a
<= __b
? -1ll : 0ll;
13116 /* vclez - vector. */
13118 __extension__
extern __inline uint32x2_t
13119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13120 vclez_f32 (float32x2_t __a
)
13122 return (uint32x2_t
) (__a
<= 0.0f
);
13125 __extension__
extern __inline uint64x1_t
13126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13127 vclez_f64 (float64x1_t __a
)
13129 return (uint64x1_t
) (__a
<= (float64x1_t
) {0.0});
13132 __extension__
extern __inline uint8x8_t
13133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13134 vclez_s8 (int8x8_t __a
)
13136 return (uint8x8_t
) (__a
<= 0);
13139 __extension__
extern __inline uint16x4_t
13140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13141 vclez_s16 (int16x4_t __a
)
13143 return (uint16x4_t
) (__a
<= 0);
13146 __extension__
extern __inline uint32x2_t
13147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13148 vclez_s32 (int32x2_t __a
)
13150 return (uint32x2_t
) (__a
<= 0);
13153 __extension__
extern __inline uint64x1_t
13154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13155 vclez_s64 (int64x1_t __a
)
13157 return (uint64x1_t
) (__a
<= __AARCH64_INT64_C (0));
13160 __extension__
extern __inline uint32x4_t
13161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13162 vclezq_f32 (float32x4_t __a
)
13164 return (uint32x4_t
) (__a
<= 0.0f
);
13167 __extension__
extern __inline uint64x2_t
13168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13169 vclezq_f64 (float64x2_t __a
)
13171 return (uint64x2_t
) (__a
<= 0.0);
13174 __extension__
extern __inline uint8x16_t
13175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13176 vclezq_s8 (int8x16_t __a
)
13178 return (uint8x16_t
) (__a
<= 0);
13181 __extension__
extern __inline uint16x8_t
13182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13183 vclezq_s16 (int16x8_t __a
)
13185 return (uint16x8_t
) (__a
<= 0);
13188 __extension__
extern __inline uint32x4_t
13189 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13190 vclezq_s32 (int32x4_t __a
)
13192 return (uint32x4_t
) (__a
<= 0);
13195 __extension__
extern __inline uint64x2_t
13196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13197 vclezq_s64 (int64x2_t __a
)
13199 return (uint64x2_t
) (__a
<= __AARCH64_INT64_C (0));
13202 /* vclez - scalar. */
13204 __extension__
extern __inline
uint32_t
13205 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13206 vclezs_f32 (float32_t __a
)
13208 return __a
<= 0.0f
? -1 : 0;
13211 __extension__
extern __inline
uint64_t
13212 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13213 vclezd_s64 (int64_t __a
)
13215 return __a
<= 0 ? -1ll : 0ll;
13218 __extension__
extern __inline
uint64_t
13219 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13220 vclezd_f64 (float64_t __a
)
13222 return __a
<= 0.0 ? -1ll : 0ll;
13225 /* vclt - vector. */
13227 __extension__
extern __inline uint32x2_t
13228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13229 vclt_f32 (float32x2_t __a
, float32x2_t __b
)
13231 return (uint32x2_t
) (__a
< __b
);
13234 __extension__
extern __inline uint64x1_t
13235 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13236 vclt_f64 (float64x1_t __a
, float64x1_t __b
)
13238 return (uint64x1_t
) (__a
< __b
);
13241 __extension__
extern __inline uint8x8_t
13242 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13243 vclt_s8 (int8x8_t __a
, int8x8_t __b
)
13245 return (uint8x8_t
) (__a
< __b
);
13248 __extension__
extern __inline uint16x4_t
13249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13250 vclt_s16 (int16x4_t __a
, int16x4_t __b
)
13252 return (uint16x4_t
) (__a
< __b
);
13255 __extension__
extern __inline uint32x2_t
13256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13257 vclt_s32 (int32x2_t __a
, int32x2_t __b
)
13259 return (uint32x2_t
) (__a
< __b
);
13262 __extension__
extern __inline uint64x1_t
13263 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13264 vclt_s64 (int64x1_t __a
, int64x1_t __b
)
13266 return (uint64x1_t
) (__a
< __b
);
13269 __extension__
extern __inline uint8x8_t
13270 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13271 vclt_u8 (uint8x8_t __a
, uint8x8_t __b
)
13273 return (__a
< __b
);
13276 __extension__
extern __inline uint16x4_t
13277 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13278 vclt_u16 (uint16x4_t __a
, uint16x4_t __b
)
13280 return (__a
< __b
);
13283 __extension__
extern __inline uint32x2_t
13284 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13285 vclt_u32 (uint32x2_t __a
, uint32x2_t __b
)
13287 return (__a
< __b
);
13290 __extension__
extern __inline uint64x1_t
13291 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13292 vclt_u64 (uint64x1_t __a
, uint64x1_t __b
)
13294 return (__a
< __b
);
13297 __extension__
extern __inline uint32x4_t
13298 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13299 vcltq_f32 (float32x4_t __a
, float32x4_t __b
)
13301 return (uint32x4_t
) (__a
< __b
);
13304 __extension__
extern __inline uint64x2_t
13305 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13306 vcltq_f64 (float64x2_t __a
, float64x2_t __b
)
13308 return (uint64x2_t
) (__a
< __b
);
13311 __extension__
extern __inline uint8x16_t
13312 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13313 vcltq_s8 (int8x16_t __a
, int8x16_t __b
)
13315 return (uint8x16_t
) (__a
< __b
);
13318 __extension__
extern __inline uint16x8_t
13319 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13320 vcltq_s16 (int16x8_t __a
, int16x8_t __b
)
13322 return (uint16x8_t
) (__a
< __b
);
13325 __extension__
extern __inline uint32x4_t
13326 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13327 vcltq_s32 (int32x4_t __a
, int32x4_t __b
)
13329 return (uint32x4_t
) (__a
< __b
);
13332 __extension__
extern __inline uint64x2_t
13333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13334 vcltq_s64 (int64x2_t __a
, int64x2_t __b
)
13336 return (uint64x2_t
) (__a
< __b
);
13339 __extension__
extern __inline uint8x16_t
13340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13341 vcltq_u8 (uint8x16_t __a
, uint8x16_t __b
)
13343 return (__a
< __b
);
13346 __extension__
extern __inline uint16x8_t
13347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13348 vcltq_u16 (uint16x8_t __a
, uint16x8_t __b
)
13350 return (__a
< __b
);
13353 __extension__
extern __inline uint32x4_t
13354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13355 vcltq_u32 (uint32x4_t __a
, uint32x4_t __b
)
13357 return (__a
< __b
);
13360 __extension__
extern __inline uint64x2_t
13361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13362 vcltq_u64 (uint64x2_t __a
, uint64x2_t __b
)
13364 return (__a
< __b
);
13367 /* vclt - scalar. */
13369 __extension__
extern __inline
uint32_t
13370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13371 vclts_f32 (float32_t __a
, float32_t __b
)
13373 return __a
< __b
? -1 : 0;
13376 __extension__
extern __inline
uint64_t
13377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13378 vcltd_s64 (int64_t __a
, int64_t __b
)
13380 return __a
< __b
? -1ll : 0ll;
13383 __extension__
extern __inline
uint64_t
13384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13385 vcltd_u64 (uint64_t __a
, uint64_t __b
)
13387 return __a
< __b
? -1ll : 0ll;
13390 __extension__
extern __inline
uint64_t
13391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13392 vcltd_f64 (float64_t __a
, float64_t __b
)
13394 return __a
< __b
? -1ll : 0ll;
13397 /* vcltz - vector. */
13399 __extension__
extern __inline uint32x2_t
13400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13401 vcltz_f32 (float32x2_t __a
)
13403 return (uint32x2_t
) (__a
< 0.0f
);
13406 __extension__
extern __inline uint64x1_t
13407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13408 vcltz_f64 (float64x1_t __a
)
13410 return (uint64x1_t
) (__a
< (float64x1_t
) {0.0});
13413 __extension__
extern __inline uint8x8_t
13414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13415 vcltz_s8 (int8x8_t __a
)
13417 return (uint8x8_t
) (__a
< 0);
13420 __extension__
extern __inline uint16x4_t
13421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13422 vcltz_s16 (int16x4_t __a
)
13424 return (uint16x4_t
) (__a
< 0);
13427 __extension__
extern __inline uint32x2_t
13428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13429 vcltz_s32 (int32x2_t __a
)
13431 return (uint32x2_t
) (__a
< 0);
13434 __extension__
extern __inline uint64x1_t
13435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13436 vcltz_s64 (int64x1_t __a
)
13438 return (uint64x1_t
) (__a
< __AARCH64_INT64_C (0));
13441 __extension__
extern __inline uint32x4_t
13442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13443 vcltzq_f32 (float32x4_t __a
)
13445 return (uint32x4_t
) (__a
< 0.0f
);
13448 __extension__
extern __inline uint64x2_t
13449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13450 vcltzq_f64 (float64x2_t __a
)
13452 return (uint64x2_t
) (__a
< 0.0);
13455 __extension__
extern __inline uint8x16_t
13456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13457 vcltzq_s8 (int8x16_t __a
)
13459 return (uint8x16_t
) (__a
< 0);
13462 __extension__
extern __inline uint16x8_t
13463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13464 vcltzq_s16 (int16x8_t __a
)
13466 return (uint16x8_t
) (__a
< 0);
13469 __extension__
extern __inline uint32x4_t
13470 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13471 vcltzq_s32 (int32x4_t __a
)
13473 return (uint32x4_t
) (__a
< 0);
13476 __extension__
extern __inline uint64x2_t
13477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13478 vcltzq_s64 (int64x2_t __a
)
13480 return (uint64x2_t
) (__a
< __AARCH64_INT64_C (0));
13483 /* vcltz - scalar. */
13485 __extension__
extern __inline
uint32_t
13486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13487 vcltzs_f32 (float32_t __a
)
13489 return __a
< 0.0f
? -1 : 0;
13492 __extension__
extern __inline
uint64_t
13493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13494 vcltzd_s64 (int64_t __a
)
13496 return __a
< 0 ? -1ll : 0ll;
13499 __extension__
extern __inline
uint64_t
13500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13501 vcltzd_f64 (float64_t __a
)
13503 return __a
< 0.0 ? -1ll : 0ll;
13508 __extension__
extern __inline int8x8_t
13509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13510 vcls_s8 (int8x8_t __a
)
13512 return __builtin_aarch64_clrsbv8qi (__a
);
13515 __extension__
extern __inline int16x4_t
13516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13517 vcls_s16 (int16x4_t __a
)
13519 return __builtin_aarch64_clrsbv4hi (__a
);
13522 __extension__
extern __inline int32x2_t
13523 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13524 vcls_s32 (int32x2_t __a
)
13526 return __builtin_aarch64_clrsbv2si (__a
);
13529 __extension__
extern __inline int8x16_t
13530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13531 vclsq_s8 (int8x16_t __a
)
13533 return __builtin_aarch64_clrsbv16qi (__a
);
13536 __extension__
extern __inline int16x8_t
13537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13538 vclsq_s16 (int16x8_t __a
)
13540 return __builtin_aarch64_clrsbv8hi (__a
);
13543 __extension__
extern __inline int32x4_t
13544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13545 vclsq_s32 (int32x4_t __a
)
13547 return __builtin_aarch64_clrsbv4si (__a
);
13550 __extension__
extern __inline int8x8_t
13551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13552 vcls_u8 (uint8x8_t __a
)
13554 return __builtin_aarch64_clrsbv8qi ((int8x8_t
) __a
);
13557 __extension__
extern __inline int16x4_t
13558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13559 vcls_u16 (uint16x4_t __a
)
13561 return __builtin_aarch64_clrsbv4hi ((int16x4_t
) __a
);
13564 __extension__
extern __inline int32x2_t
13565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13566 vcls_u32 (uint32x2_t __a
)
13568 return __builtin_aarch64_clrsbv2si ((int32x2_t
) __a
);
13571 __extension__
extern __inline int8x16_t
13572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13573 vclsq_u8 (uint8x16_t __a
)
13575 return __builtin_aarch64_clrsbv16qi ((int8x16_t
) __a
);
13578 __extension__
extern __inline int16x8_t
13579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13580 vclsq_u16 (uint16x8_t __a
)
13582 return __builtin_aarch64_clrsbv8hi ((int16x8_t
) __a
);
13585 __extension__
extern __inline int32x4_t
13586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13587 vclsq_u32 (uint32x4_t __a
)
13589 return __builtin_aarch64_clrsbv4si ((int32x4_t
) __a
);
13594 __extension__
extern __inline int8x8_t
13595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13596 vclz_s8 (int8x8_t __a
)
13598 return __builtin_aarch64_clzv8qi (__a
);
13601 __extension__
extern __inline int16x4_t
13602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13603 vclz_s16 (int16x4_t __a
)
13605 return __builtin_aarch64_clzv4hi (__a
);
13608 __extension__
extern __inline int32x2_t
13609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13610 vclz_s32 (int32x2_t __a
)
13612 return __builtin_aarch64_clzv2si (__a
);
13615 __extension__
extern __inline uint8x8_t
13616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13617 vclz_u8 (uint8x8_t __a
)
13619 return (uint8x8_t
)__builtin_aarch64_clzv8qi ((int8x8_t
)__a
);
13622 __extension__
extern __inline uint16x4_t
13623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13624 vclz_u16 (uint16x4_t __a
)
13626 return (uint16x4_t
)__builtin_aarch64_clzv4hi ((int16x4_t
)__a
);
13629 __extension__
extern __inline uint32x2_t
13630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13631 vclz_u32 (uint32x2_t __a
)
13633 return (uint32x2_t
)__builtin_aarch64_clzv2si ((int32x2_t
)__a
);
13636 __extension__
extern __inline int8x16_t
13637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13638 vclzq_s8 (int8x16_t __a
)
13640 return __builtin_aarch64_clzv16qi (__a
);
13643 __extension__
extern __inline int16x8_t
13644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13645 vclzq_s16 (int16x8_t __a
)
13647 return __builtin_aarch64_clzv8hi (__a
);
13650 __extension__
extern __inline int32x4_t
13651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13652 vclzq_s32 (int32x4_t __a
)
13654 return __builtin_aarch64_clzv4si (__a
);
13657 __extension__
extern __inline uint8x16_t
13658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13659 vclzq_u8 (uint8x16_t __a
)
13661 return (uint8x16_t
)__builtin_aarch64_clzv16qi ((int8x16_t
)__a
);
13664 __extension__
extern __inline uint16x8_t
13665 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13666 vclzq_u16 (uint16x8_t __a
)
13668 return (uint16x8_t
)__builtin_aarch64_clzv8hi ((int16x8_t
)__a
);
13671 __extension__
extern __inline uint32x4_t
13672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13673 vclzq_u32 (uint32x4_t __a
)
13675 return (uint32x4_t
)__builtin_aarch64_clzv4si ((int32x4_t
)__a
);
13680 __extension__
extern __inline poly8x8_t
13681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13682 vcnt_p8 (poly8x8_t __a
)
13684 return (poly8x8_t
) __builtin_aarch64_popcountv8qi ((int8x8_t
) __a
);
13687 __extension__
extern __inline int8x8_t
13688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13689 vcnt_s8 (int8x8_t __a
)
13691 return __builtin_aarch64_popcountv8qi (__a
);
13694 __extension__
extern __inline uint8x8_t
13695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13696 vcnt_u8 (uint8x8_t __a
)
13698 return (uint8x8_t
) __builtin_aarch64_popcountv8qi ((int8x8_t
) __a
);
13701 __extension__
extern __inline poly8x16_t
13702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13703 vcntq_p8 (poly8x16_t __a
)
13705 return (poly8x16_t
) __builtin_aarch64_popcountv16qi ((int8x16_t
) __a
);
13708 __extension__
extern __inline int8x16_t
13709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13710 vcntq_s8 (int8x16_t __a
)
13712 return __builtin_aarch64_popcountv16qi (__a
);
13715 __extension__
extern __inline uint8x16_t
13716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13717 vcntq_u8 (uint8x16_t __a
)
13719 return (uint8x16_t
) __builtin_aarch64_popcountv16qi ((int8x16_t
) __a
);
13724 __extension__
extern __inline float32x2_t
13725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13726 vcopy_lane_f32 (float32x2_t __a
, const int __lane1
,
13727 float32x2_t __b
, const int __lane2
)
13729 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13733 __extension__
extern __inline float64x1_t
13734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13735 vcopy_lane_f64 (float64x1_t __a
, const int __lane1
,
13736 float64x1_t __b
, const int __lane2
)
13738 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13742 __extension__
extern __inline poly8x8_t
13743 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13744 vcopy_lane_p8 (poly8x8_t __a
, const int __lane1
,
13745 poly8x8_t __b
, const int __lane2
)
13747 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13751 __extension__
extern __inline poly16x4_t
13752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13753 vcopy_lane_p16 (poly16x4_t __a
, const int __lane1
,
13754 poly16x4_t __b
, const int __lane2
)
13756 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13760 __extension__
extern __inline poly64x1_t
13761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13762 vcopy_lane_p64 (poly64x1_t __a
, const int __lane1
,
13763 poly64x1_t __b
, const int __lane2
)
13765 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13769 __extension__
extern __inline int8x8_t
13770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13771 vcopy_lane_s8 (int8x8_t __a
, const int __lane1
,
13772 int8x8_t __b
, const int __lane2
)
13774 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13778 __extension__
extern __inline int16x4_t
13779 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13780 vcopy_lane_s16 (int16x4_t __a
, const int __lane1
,
13781 int16x4_t __b
, const int __lane2
)
13783 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13787 __extension__
extern __inline int32x2_t
13788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13789 vcopy_lane_s32 (int32x2_t __a
, const int __lane1
,
13790 int32x2_t __b
, const int __lane2
)
13792 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13796 __extension__
extern __inline int64x1_t
13797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13798 vcopy_lane_s64 (int64x1_t __a
, const int __lane1
,
13799 int64x1_t __b
, const int __lane2
)
13801 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13805 __extension__
extern __inline uint8x8_t
13806 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13807 vcopy_lane_u8 (uint8x8_t __a
, const int __lane1
,
13808 uint8x8_t __b
, const int __lane2
)
13810 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13814 __extension__
extern __inline uint16x4_t
13815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13816 vcopy_lane_u16 (uint16x4_t __a
, const int __lane1
,
13817 uint16x4_t __b
, const int __lane2
)
13819 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13823 __extension__
extern __inline uint32x2_t
13824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13825 vcopy_lane_u32 (uint32x2_t __a
, const int __lane1
,
13826 uint32x2_t __b
, const int __lane2
)
13828 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13832 __extension__
extern __inline uint64x1_t
13833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13834 vcopy_lane_u64 (uint64x1_t __a
, const int __lane1
,
13835 uint64x1_t __b
, const int __lane2
)
13837 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13843 __extension__
extern __inline float32x2_t
13844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13845 vcopy_laneq_f32 (float32x2_t __a
, const int __lane1
,
13846 float32x4_t __b
, const int __lane2
)
13848 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13852 __extension__
extern __inline float64x1_t
13853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13854 vcopy_laneq_f64 (float64x1_t __a
, const int __lane1
,
13855 float64x2_t __b
, const int __lane2
)
13857 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13861 __extension__
extern __inline poly8x8_t
13862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13863 vcopy_laneq_p8 (poly8x8_t __a
, const int __lane1
,
13864 poly8x16_t __b
, const int __lane2
)
13866 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13870 __extension__
extern __inline poly16x4_t
13871 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13872 vcopy_laneq_p16 (poly16x4_t __a
, const int __lane1
,
13873 poly16x8_t __b
, const int __lane2
)
13875 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13879 __extension__
extern __inline poly64x1_t
13880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13881 vcopy_laneq_p64 (poly64x1_t __a
, const int __lane1
,
13882 poly64x2_t __b
, const int __lane2
)
13884 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13888 __extension__
extern __inline int8x8_t
13889 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13890 vcopy_laneq_s8 (int8x8_t __a
, const int __lane1
,
13891 int8x16_t __b
, const int __lane2
)
13893 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13897 __extension__
extern __inline int16x4_t
13898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13899 vcopy_laneq_s16 (int16x4_t __a
, const int __lane1
,
13900 int16x8_t __b
, const int __lane2
)
13902 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13906 __extension__
extern __inline int32x2_t
13907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13908 vcopy_laneq_s32 (int32x2_t __a
, const int __lane1
,
13909 int32x4_t __b
, const int __lane2
)
13911 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13915 __extension__
extern __inline int64x1_t
13916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13917 vcopy_laneq_s64 (int64x1_t __a
, const int __lane1
,
13918 int64x2_t __b
, const int __lane2
)
13920 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13924 __extension__
extern __inline uint8x8_t
13925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13926 vcopy_laneq_u8 (uint8x8_t __a
, const int __lane1
,
13927 uint8x16_t __b
, const int __lane2
)
13929 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13933 __extension__
extern __inline uint16x4_t
13934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13935 vcopy_laneq_u16 (uint16x4_t __a
, const int __lane1
,
13936 uint16x8_t __b
, const int __lane2
)
13938 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13942 __extension__
extern __inline uint32x2_t
13943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13944 vcopy_laneq_u32 (uint32x2_t __a
, const int __lane1
,
13945 uint32x4_t __b
, const int __lane2
)
13947 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13951 __extension__
extern __inline uint64x1_t
13952 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13953 vcopy_laneq_u64 (uint64x1_t __a
, const int __lane1
,
13954 uint64x2_t __b
, const int __lane2
)
13956 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13962 __extension__
extern __inline float32x4_t
13963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13964 vcopyq_lane_f32 (float32x4_t __a
, const int __lane1
,
13965 float32x2_t __b
, const int __lane2
)
13967 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13971 __extension__
extern __inline float64x2_t
13972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13973 vcopyq_lane_f64 (float64x2_t __a
, const int __lane1
,
13974 float64x1_t __b
, const int __lane2
)
13976 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13980 __extension__
extern __inline poly8x16_t
13981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13982 vcopyq_lane_p8 (poly8x16_t __a
, const int __lane1
,
13983 poly8x8_t __b
, const int __lane2
)
13985 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13989 __extension__
extern __inline poly16x8_t
13990 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13991 vcopyq_lane_p16 (poly16x8_t __a
, const int __lane1
,
13992 poly16x4_t __b
, const int __lane2
)
13994 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
13998 __extension__
extern __inline poly64x2_t
13999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14000 vcopyq_lane_p64 (poly64x2_t __a
, const int __lane1
,
14001 poly64x1_t __b
, const int __lane2
)
14003 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14007 __extension__
extern __inline int8x16_t
14008 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14009 vcopyq_lane_s8 (int8x16_t __a
, const int __lane1
,
14010 int8x8_t __b
, const int __lane2
)
14012 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14016 __extension__
extern __inline int16x8_t
14017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14018 vcopyq_lane_s16 (int16x8_t __a
, const int __lane1
,
14019 int16x4_t __b
, const int __lane2
)
14021 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14025 __extension__
extern __inline int32x4_t
14026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14027 vcopyq_lane_s32 (int32x4_t __a
, const int __lane1
,
14028 int32x2_t __b
, const int __lane2
)
14030 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14034 __extension__
extern __inline int64x2_t
14035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14036 vcopyq_lane_s64 (int64x2_t __a
, const int __lane1
,
14037 int64x1_t __b
, const int __lane2
)
14039 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14043 __extension__
extern __inline uint8x16_t
14044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14045 vcopyq_lane_u8 (uint8x16_t __a
, const int __lane1
,
14046 uint8x8_t __b
, const int __lane2
)
14048 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14052 __extension__
extern __inline uint16x8_t
14053 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14054 vcopyq_lane_u16 (uint16x8_t __a
, const int __lane1
,
14055 uint16x4_t __b
, const int __lane2
)
14057 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14061 __extension__
extern __inline uint32x4_t
14062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14063 vcopyq_lane_u32 (uint32x4_t __a
, const int __lane1
,
14064 uint32x2_t __b
, const int __lane2
)
14066 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14070 __extension__
extern __inline uint64x2_t
14071 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14072 vcopyq_lane_u64 (uint64x2_t __a
, const int __lane1
,
14073 uint64x1_t __b
, const int __lane2
)
14075 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14079 /* vcopyq_laneq. */
14081 __extension__
extern __inline float32x4_t
14082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14083 vcopyq_laneq_f32 (float32x4_t __a
, const int __lane1
,
14084 float32x4_t __b
, const int __lane2
)
14086 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14090 __extension__
extern __inline float64x2_t
14091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14092 vcopyq_laneq_f64 (float64x2_t __a
, const int __lane1
,
14093 float64x2_t __b
, const int __lane2
)
14095 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14099 __extension__
extern __inline poly8x16_t
14100 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14101 vcopyq_laneq_p8 (poly8x16_t __a
, const int __lane1
,
14102 poly8x16_t __b
, const int __lane2
)
14104 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14108 __extension__
extern __inline poly16x8_t
14109 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14110 vcopyq_laneq_p16 (poly16x8_t __a
, const int __lane1
,
14111 poly16x8_t __b
, const int __lane2
)
14113 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14117 __extension__
extern __inline poly64x2_t
14118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14119 vcopyq_laneq_p64 (poly64x2_t __a
, const int __lane1
,
14120 poly64x2_t __b
, const int __lane2
)
14122 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14126 __extension__
extern __inline int8x16_t
14127 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14128 vcopyq_laneq_s8 (int8x16_t __a
, const int __lane1
,
14129 int8x16_t __b
, const int __lane2
)
14131 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14135 __extension__
extern __inline int16x8_t
14136 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14137 vcopyq_laneq_s16 (int16x8_t __a
, const int __lane1
,
14138 int16x8_t __b
, const int __lane2
)
14140 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14144 __extension__
extern __inline int32x4_t
14145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14146 vcopyq_laneq_s32 (int32x4_t __a
, const int __lane1
,
14147 int32x4_t __b
, const int __lane2
)
14149 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14153 __extension__
extern __inline int64x2_t
14154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14155 vcopyq_laneq_s64 (int64x2_t __a
, const int __lane1
,
14156 int64x2_t __b
, const int __lane2
)
14158 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14162 __extension__
extern __inline uint8x16_t
14163 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14164 vcopyq_laneq_u8 (uint8x16_t __a
, const int __lane1
,
14165 uint8x16_t __b
, const int __lane2
)
14167 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14171 __extension__
extern __inline uint16x8_t
14172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14173 vcopyq_laneq_u16 (uint16x8_t __a
, const int __lane1
,
14174 uint16x8_t __b
, const int __lane2
)
14176 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14180 __extension__
extern __inline uint32x4_t
14181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14182 vcopyq_laneq_u32 (uint32x4_t __a
, const int __lane1
,
14183 uint32x4_t __b
, const int __lane2
)
14185 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14189 __extension__
extern __inline uint64x2_t
14190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14191 vcopyq_laneq_u64 (uint64x2_t __a
, const int __lane1
,
14192 uint64x2_t __b
, const int __lane2
)
14194 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
14198 /* vcvt (double -> float). */
14200 __extension__
extern __inline float16x4_t
14201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14202 vcvt_f16_f32 (float32x4_t __a
)
14204 return __builtin_aarch64_float_truncate_lo_v4hf (__a
);
14207 __extension__
extern __inline float16x8_t
14208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14209 vcvt_high_f16_f32 (float16x4_t __a
, float32x4_t __b
)
14211 return __builtin_aarch64_float_truncate_hi_v8hf (__a
, __b
);
14214 __extension__
extern __inline float32x2_t
14215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14216 vcvt_f32_f64 (float64x2_t __a
)
14218 return __builtin_aarch64_float_truncate_lo_v2sf (__a
);
14221 __extension__
extern __inline float32x4_t
14222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14223 vcvt_high_f32_f64 (float32x2_t __a
, float64x2_t __b
)
14225 return __builtin_aarch64_float_truncate_hi_v4sf (__a
, __b
);
14228 /* vcvt (float -> double). */
14230 __extension__
extern __inline float32x4_t
14231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14232 vcvt_f32_f16 (float16x4_t __a
)
14234 return __builtin_aarch64_float_extend_lo_v4sf (__a
);
14237 __extension__
extern __inline float64x2_t
14238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14239 vcvt_f64_f32 (float32x2_t __a
)
14242 return __builtin_aarch64_float_extend_lo_v2df (__a
);
14245 __extension__
extern __inline float32x4_t
14246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14247 vcvt_high_f32_f16 (float16x8_t __a
)
14249 return __builtin_aarch64_vec_unpacks_hi_v8hf (__a
);
14252 __extension__
extern __inline float64x2_t
14253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14254 vcvt_high_f64_f32 (float32x4_t __a
)
14256 return __builtin_aarch64_vec_unpacks_hi_v4sf (__a
);
14259 /* vcvt (<u>fixed-point -> float). */
14261 __extension__
extern __inline float64_t
14262 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14263 vcvtd_n_f64_s64 (int64_t __a
, const int __b
)
14265 return __builtin_aarch64_scvtfdi (__a
, __b
);
14268 __extension__
extern __inline float64_t
14269 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14270 vcvtd_n_f64_u64 (uint64_t __a
, const int __b
)
14272 return __builtin_aarch64_ucvtfdi_sus (__a
, __b
);
14275 __extension__
extern __inline float32_t
14276 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14277 vcvts_n_f32_s32 (int32_t __a
, const int __b
)
14279 return __builtin_aarch64_scvtfsi (__a
, __b
);
14282 __extension__
extern __inline float32_t
14283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14284 vcvts_n_f32_u32 (uint32_t __a
, const int __b
)
14286 return __builtin_aarch64_ucvtfsi_sus (__a
, __b
);
14289 __extension__
extern __inline float32x2_t
14290 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14291 vcvt_n_f32_s32 (int32x2_t __a
, const int __b
)
14293 return __builtin_aarch64_scvtfv2si (__a
, __b
);
14296 __extension__
extern __inline float32x2_t
14297 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14298 vcvt_n_f32_u32 (uint32x2_t __a
, const int __b
)
14300 return __builtin_aarch64_ucvtfv2si_sus (__a
, __b
);
14303 __extension__
extern __inline float64x1_t
14304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14305 vcvt_n_f64_s64 (int64x1_t __a
, const int __b
)
14307 return (float64x1_t
)
14308 { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a
, 0), __b
) };
14311 __extension__
extern __inline float64x1_t
14312 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14313 vcvt_n_f64_u64 (uint64x1_t __a
, const int __b
)
14315 return (float64x1_t
)
14316 { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a
, 0), __b
) };
14319 __extension__
extern __inline float32x4_t
14320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14321 vcvtq_n_f32_s32 (int32x4_t __a
, const int __b
)
14323 return __builtin_aarch64_scvtfv4si (__a
, __b
);
14326 __extension__
extern __inline float32x4_t
14327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14328 vcvtq_n_f32_u32 (uint32x4_t __a
, const int __b
)
14330 return __builtin_aarch64_ucvtfv4si_sus (__a
, __b
);
14333 __extension__
extern __inline float64x2_t
14334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14335 vcvtq_n_f64_s64 (int64x2_t __a
, const int __b
)
14337 return __builtin_aarch64_scvtfv2di (__a
, __b
);
14340 __extension__
extern __inline float64x2_t
14341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14342 vcvtq_n_f64_u64 (uint64x2_t __a
, const int __b
)
14344 return __builtin_aarch64_ucvtfv2di_sus (__a
, __b
);
14347 /* vcvt (float -> <u>fixed-point). */
14349 __extension__
extern __inline
int64_t
14350 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14351 vcvtd_n_s64_f64 (float64_t __a
, const int __b
)
14353 return __builtin_aarch64_fcvtzsdf (__a
, __b
);
14356 __extension__
extern __inline
uint64_t
14357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14358 vcvtd_n_u64_f64 (float64_t __a
, const int __b
)
14360 return __builtin_aarch64_fcvtzudf_uss (__a
, __b
);
14363 __extension__
extern __inline
int32_t
14364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14365 vcvts_n_s32_f32 (float32_t __a
, const int __b
)
14367 return __builtin_aarch64_fcvtzssf (__a
, __b
);
14370 __extension__
extern __inline
uint32_t
14371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14372 vcvts_n_u32_f32 (float32_t __a
, const int __b
)
14374 return __builtin_aarch64_fcvtzusf_uss (__a
, __b
);
14377 __extension__
extern __inline int32x2_t
14378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14379 vcvt_n_s32_f32 (float32x2_t __a
, const int __b
)
14381 return __builtin_aarch64_fcvtzsv2sf (__a
, __b
);
14384 __extension__
extern __inline uint32x2_t
14385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14386 vcvt_n_u32_f32 (float32x2_t __a
, const int __b
)
14388 return __builtin_aarch64_fcvtzuv2sf_uss (__a
, __b
);
14391 __extension__
extern __inline int64x1_t
14392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14393 vcvt_n_s64_f64 (float64x1_t __a
, const int __b
)
14396 { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a
, 0), __b
) };
14399 __extension__
extern __inline uint64x1_t
14400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14401 vcvt_n_u64_f64 (float64x1_t __a
, const int __b
)
14403 return (uint64x1_t
)
14404 { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a
, 0), __b
) };
14407 __extension__
extern __inline int32x4_t
14408 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14409 vcvtq_n_s32_f32 (float32x4_t __a
, const int __b
)
14411 return __builtin_aarch64_fcvtzsv4sf (__a
, __b
);
14414 __extension__
extern __inline uint32x4_t
14415 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14416 vcvtq_n_u32_f32 (float32x4_t __a
, const int __b
)
14418 return __builtin_aarch64_fcvtzuv4sf_uss (__a
, __b
);
14421 __extension__
extern __inline int64x2_t
14422 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14423 vcvtq_n_s64_f64 (float64x2_t __a
, const int __b
)
14425 return __builtin_aarch64_fcvtzsv2df (__a
, __b
);
14428 __extension__
extern __inline uint64x2_t
14429 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14430 vcvtq_n_u64_f64 (float64x2_t __a
, const int __b
)
14432 return __builtin_aarch64_fcvtzuv2df_uss (__a
, __b
);
14435 /* vcvt (<u>int -> float) */
14437 __extension__
extern __inline float64_t
14438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14439 vcvtd_f64_s64 (int64_t __a
)
14441 return (float64_t
) __a
;
14444 __extension__
extern __inline float64_t
14445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14446 vcvtd_f64_u64 (uint64_t __a
)
14448 return (float64_t
) __a
;
14451 __extension__
extern __inline float32_t
14452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14453 vcvts_f32_s32 (int32_t __a
)
14455 return (float32_t
) __a
;
14458 __extension__
extern __inline float32_t
14459 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14460 vcvts_f32_u32 (uint32_t __a
)
14462 return (float32_t
) __a
;
14465 __extension__
extern __inline float32x2_t
14466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14467 vcvt_f32_s32 (int32x2_t __a
)
14469 return __builtin_aarch64_floatv2siv2sf (__a
);
14472 __extension__
extern __inline float32x2_t
14473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14474 vcvt_f32_u32 (uint32x2_t __a
)
14476 return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t
) __a
);
14479 __extension__
extern __inline float64x1_t
14480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14481 vcvt_f64_s64 (int64x1_t __a
)
14483 return (float64x1_t
) { vget_lane_s64 (__a
, 0) };
14486 __extension__
extern __inline float64x1_t
14487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14488 vcvt_f64_u64 (uint64x1_t __a
)
14490 return (float64x1_t
) { vget_lane_u64 (__a
, 0) };
14493 __extension__
extern __inline float32x4_t
14494 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14495 vcvtq_f32_s32 (int32x4_t __a
)
14497 return __builtin_aarch64_floatv4siv4sf (__a
);
14500 __extension__
extern __inline float32x4_t
14501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14502 vcvtq_f32_u32 (uint32x4_t __a
)
14504 return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t
) __a
);
14507 __extension__
extern __inline float64x2_t
14508 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14509 vcvtq_f64_s64 (int64x2_t __a
)
14511 return __builtin_aarch64_floatv2div2df (__a
);
14514 __extension__
extern __inline float64x2_t
14515 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14516 vcvtq_f64_u64 (uint64x2_t __a
)
14518 return __builtin_aarch64_floatunsv2div2df ((int64x2_t
) __a
);
14521 /* vcvt (float -> <u>int) */
14523 __extension__
extern __inline
int64_t
14524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14525 vcvtd_s64_f64 (float64_t __a
)
14527 return (int64_t) __a
;
14530 __extension__
extern __inline
uint64_t
14531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14532 vcvtd_u64_f64 (float64_t __a
)
14534 return (uint64_t) __a
;
14537 __extension__
extern __inline
int32_t
14538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14539 vcvts_s32_f32 (float32_t __a
)
14541 return (int32_t) __a
;
14544 __extension__
extern __inline
uint32_t
14545 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14546 vcvts_u32_f32 (float32_t __a
)
14548 return (uint32_t) __a
;
14551 __extension__
extern __inline int32x2_t
14552 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14553 vcvt_s32_f32 (float32x2_t __a
)
14555 return __builtin_aarch64_lbtruncv2sfv2si (__a
);
14558 __extension__
extern __inline uint32x2_t
14559 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14560 vcvt_u32_f32 (float32x2_t __a
)
14562 return __builtin_aarch64_lbtruncuv2sfv2si_us (__a
);
14565 __extension__
extern __inline int32x4_t
14566 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14567 vcvtq_s32_f32 (float32x4_t __a
)
14569 return __builtin_aarch64_lbtruncv4sfv4si (__a
);
14572 __extension__
extern __inline uint32x4_t
14573 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14574 vcvtq_u32_f32 (float32x4_t __a
)
14576 return __builtin_aarch64_lbtruncuv4sfv4si_us (__a
);
14579 __extension__
extern __inline int64x1_t
14580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14581 vcvt_s64_f64 (float64x1_t __a
)
14583 return (int64x1_t
) {vcvtd_s64_f64 (__a
[0])};
14586 __extension__
extern __inline uint64x1_t
14587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14588 vcvt_u64_f64 (float64x1_t __a
)
14590 return (uint64x1_t
) {vcvtd_u64_f64 (__a
[0])};
14593 __extension__
extern __inline int64x2_t
14594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14595 vcvtq_s64_f64 (float64x2_t __a
)
14597 return __builtin_aarch64_lbtruncv2dfv2di (__a
);
14600 __extension__
extern __inline uint64x2_t
14601 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14602 vcvtq_u64_f64 (float64x2_t __a
)
14604 return __builtin_aarch64_lbtruncuv2dfv2di_us (__a
);
14609 __extension__
extern __inline
int64_t
14610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14611 vcvtad_s64_f64 (float64_t __a
)
14613 return __builtin_aarch64_lrounddfdi (__a
);
14616 __extension__
extern __inline
uint64_t
14617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14618 vcvtad_u64_f64 (float64_t __a
)
14620 return __builtin_aarch64_lroundudfdi_us (__a
);
14623 __extension__
extern __inline
int32_t
14624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14625 vcvtas_s32_f32 (float32_t __a
)
14627 return __builtin_aarch64_lroundsfsi (__a
);
14630 __extension__
extern __inline
uint32_t
14631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14632 vcvtas_u32_f32 (float32_t __a
)
14634 return __builtin_aarch64_lroundusfsi_us (__a
);
14637 __extension__
extern __inline int32x2_t
14638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14639 vcvta_s32_f32 (float32x2_t __a
)
14641 return __builtin_aarch64_lroundv2sfv2si (__a
);
14644 __extension__
extern __inline uint32x2_t
14645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14646 vcvta_u32_f32 (float32x2_t __a
)
14648 return __builtin_aarch64_lrounduv2sfv2si_us (__a
);
14651 __extension__
extern __inline int32x4_t
14652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14653 vcvtaq_s32_f32 (float32x4_t __a
)
14655 return __builtin_aarch64_lroundv4sfv4si (__a
);
14658 __extension__
extern __inline uint32x4_t
14659 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14660 vcvtaq_u32_f32 (float32x4_t __a
)
14662 return __builtin_aarch64_lrounduv4sfv4si_us (__a
);
14665 __extension__
extern __inline int64x1_t
14666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14667 vcvta_s64_f64 (float64x1_t __a
)
14669 return (int64x1_t
) {vcvtad_s64_f64 (__a
[0])};
14672 __extension__
extern __inline uint64x1_t
14673 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14674 vcvta_u64_f64 (float64x1_t __a
)
14676 return (uint64x1_t
) {vcvtad_u64_f64 (__a
[0])};
14679 __extension__
extern __inline int64x2_t
14680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14681 vcvtaq_s64_f64 (float64x2_t __a
)
14683 return __builtin_aarch64_lroundv2dfv2di (__a
);
14686 __extension__
extern __inline uint64x2_t
14687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14688 vcvtaq_u64_f64 (float64x2_t __a
)
14690 return __builtin_aarch64_lrounduv2dfv2di_us (__a
);
14695 __extension__
extern __inline
int64_t
14696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14697 vcvtmd_s64_f64 (float64_t __a
)
14699 return __builtin_llfloor (__a
);
14702 __extension__
extern __inline
uint64_t
14703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14704 vcvtmd_u64_f64 (float64_t __a
)
14706 return __builtin_aarch64_lfloorudfdi_us (__a
);
14709 __extension__
extern __inline
int32_t
14710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14711 vcvtms_s32_f32 (float32_t __a
)
14713 return __builtin_ifloorf (__a
);
14716 __extension__
extern __inline
uint32_t
14717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14718 vcvtms_u32_f32 (float32_t __a
)
14720 return __builtin_aarch64_lfloorusfsi_us (__a
);
14723 __extension__
extern __inline int32x2_t
14724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14725 vcvtm_s32_f32 (float32x2_t __a
)
14727 return __builtin_aarch64_lfloorv2sfv2si (__a
);
14730 __extension__
extern __inline uint32x2_t
14731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14732 vcvtm_u32_f32 (float32x2_t __a
)
14734 return __builtin_aarch64_lflooruv2sfv2si_us (__a
);
14737 __extension__
extern __inline int32x4_t
14738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14739 vcvtmq_s32_f32 (float32x4_t __a
)
14741 return __builtin_aarch64_lfloorv4sfv4si (__a
);
14744 __extension__
extern __inline uint32x4_t
14745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14746 vcvtmq_u32_f32 (float32x4_t __a
)
14748 return __builtin_aarch64_lflooruv4sfv4si_us (__a
);
14751 __extension__
extern __inline int64x1_t
14752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14753 vcvtm_s64_f64 (float64x1_t __a
)
14755 return (int64x1_t
) {vcvtmd_s64_f64 (__a
[0])};
14758 __extension__
extern __inline uint64x1_t
14759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14760 vcvtm_u64_f64 (float64x1_t __a
)
14762 return (uint64x1_t
) {vcvtmd_u64_f64 (__a
[0])};
14765 __extension__
extern __inline int64x2_t
14766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14767 vcvtmq_s64_f64 (float64x2_t __a
)
14769 return __builtin_aarch64_lfloorv2dfv2di (__a
);
14772 __extension__
extern __inline uint64x2_t
14773 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14774 vcvtmq_u64_f64 (float64x2_t __a
)
14776 return __builtin_aarch64_lflooruv2dfv2di_us (__a
);
14781 __extension__
extern __inline
int64_t
14782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14783 vcvtnd_s64_f64 (float64_t __a
)
14785 return __builtin_aarch64_lfrintndfdi (__a
);
14788 __extension__
extern __inline
uint64_t
14789 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14790 vcvtnd_u64_f64 (float64_t __a
)
14792 return __builtin_aarch64_lfrintnudfdi_us (__a
);
14795 __extension__
extern __inline
int32_t
14796 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14797 vcvtns_s32_f32 (float32_t __a
)
14799 return __builtin_aarch64_lfrintnsfsi (__a
);
14802 __extension__
extern __inline
uint32_t
14803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14804 vcvtns_u32_f32 (float32_t __a
)
14806 return __builtin_aarch64_lfrintnusfsi_us (__a
);
14809 __extension__
extern __inline int32x2_t
14810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14811 vcvtn_s32_f32 (float32x2_t __a
)
14813 return __builtin_aarch64_lfrintnv2sfv2si (__a
);
14816 __extension__
extern __inline uint32x2_t
14817 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14818 vcvtn_u32_f32 (float32x2_t __a
)
14820 return __builtin_aarch64_lfrintnuv2sfv2si_us (__a
);
14823 __extension__
extern __inline int32x4_t
14824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14825 vcvtnq_s32_f32 (float32x4_t __a
)
14827 return __builtin_aarch64_lfrintnv4sfv4si (__a
);
14830 __extension__
extern __inline uint32x4_t
14831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14832 vcvtnq_u32_f32 (float32x4_t __a
)
14834 return __builtin_aarch64_lfrintnuv4sfv4si_us (__a
);
14837 __extension__
extern __inline int64x1_t
14838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14839 vcvtn_s64_f64 (float64x1_t __a
)
14841 return (int64x1_t
) {vcvtnd_s64_f64 (__a
[0])};
14844 __extension__
extern __inline uint64x1_t
14845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14846 vcvtn_u64_f64 (float64x1_t __a
)
14848 return (uint64x1_t
) {vcvtnd_u64_f64 (__a
[0])};
14851 __extension__
extern __inline int64x2_t
14852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14853 vcvtnq_s64_f64 (float64x2_t __a
)
14855 return __builtin_aarch64_lfrintnv2dfv2di (__a
);
14858 __extension__
extern __inline uint64x2_t
14859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14860 vcvtnq_u64_f64 (float64x2_t __a
)
14862 return __builtin_aarch64_lfrintnuv2dfv2di_us (__a
);
14867 __extension__
extern __inline
int64_t
14868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14869 vcvtpd_s64_f64 (float64_t __a
)
14871 return __builtin_llceil (__a
);
14874 __extension__
extern __inline
uint64_t
14875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14876 vcvtpd_u64_f64 (float64_t __a
)
14878 return __builtin_aarch64_lceiludfdi_us (__a
);
14881 __extension__
extern __inline
int32_t
14882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14883 vcvtps_s32_f32 (float32_t __a
)
14885 return __builtin_iceilf (__a
);
14888 __extension__
extern __inline
uint32_t
14889 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14890 vcvtps_u32_f32 (float32_t __a
)
14892 return __builtin_aarch64_lceilusfsi_us (__a
);
14895 __extension__
extern __inline int32x2_t
14896 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14897 vcvtp_s32_f32 (float32x2_t __a
)
14899 return __builtin_aarch64_lceilv2sfv2si (__a
);
14902 __extension__
extern __inline uint32x2_t
14903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14904 vcvtp_u32_f32 (float32x2_t __a
)
14906 return __builtin_aarch64_lceiluv2sfv2si_us (__a
);
14909 __extension__
extern __inline int32x4_t
14910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14911 vcvtpq_s32_f32 (float32x4_t __a
)
14913 return __builtin_aarch64_lceilv4sfv4si (__a
);
14916 __extension__
extern __inline uint32x4_t
14917 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14918 vcvtpq_u32_f32 (float32x4_t __a
)
14920 return __builtin_aarch64_lceiluv4sfv4si_us (__a
);
14923 __extension__
extern __inline int64x1_t
14924 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14925 vcvtp_s64_f64 (float64x1_t __a
)
14927 return (int64x1_t
) {vcvtpd_s64_f64 (__a
[0])};
14930 __extension__
extern __inline uint64x1_t
14931 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14932 vcvtp_u64_f64 (float64x1_t __a
)
14934 return (uint64x1_t
) {vcvtpd_u64_f64 (__a
[0])};
14937 __extension__
extern __inline int64x2_t
14938 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14939 vcvtpq_s64_f64 (float64x2_t __a
)
14941 return __builtin_aarch64_lceilv2dfv2di (__a
);
14944 __extension__
extern __inline uint64x2_t
14945 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14946 vcvtpq_u64_f64 (float64x2_t __a
)
14948 return __builtin_aarch64_lceiluv2dfv2di_us (__a
);
14953 __extension__
extern __inline float16x4_t
14954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14955 vdup_n_f16 (float16_t __a
)
14957 return (float16x4_t
) {__a
, __a
, __a
, __a
};
14960 __extension__
extern __inline float32x2_t
14961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14962 vdup_n_f32 (float32_t __a
)
14964 return (float32x2_t
) {__a
, __a
};
14967 __extension__
extern __inline float64x1_t
14968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14969 vdup_n_f64 (float64_t __a
)
14971 return (float64x1_t
) {__a
};
14974 __extension__
extern __inline poly8x8_t
14975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14976 vdup_n_p8 (poly8_t __a
)
14978 return (poly8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
14981 __extension__
extern __inline poly16x4_t
14982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14983 vdup_n_p16 (poly16_t __a
)
14985 return (poly16x4_t
) {__a
, __a
, __a
, __a
};
14988 __extension__
extern __inline poly64x1_t
14989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14990 vdup_n_p64 (poly64_t __a
)
14992 return (poly64x1_t
) {__a
};
14995 __extension__
extern __inline int8x8_t
14996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14997 vdup_n_s8 (int8_t __a
)
14999 return (int8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15002 __extension__
extern __inline int16x4_t
15003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15004 vdup_n_s16 (int16_t __a
)
15006 return (int16x4_t
) {__a
, __a
, __a
, __a
};
15009 __extension__
extern __inline int32x2_t
15010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15011 vdup_n_s32 (int32_t __a
)
15013 return (int32x2_t
) {__a
, __a
};
15016 __extension__
extern __inline int64x1_t
15017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15018 vdup_n_s64 (int64_t __a
)
15020 return (int64x1_t
) {__a
};
15023 __extension__
extern __inline uint8x8_t
15024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15025 vdup_n_u8 (uint8_t __a
)
15027 return (uint8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15030 __extension__
extern __inline uint16x4_t
15031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15032 vdup_n_u16 (uint16_t __a
)
15034 return (uint16x4_t
) {__a
, __a
, __a
, __a
};
15037 __extension__
extern __inline uint32x2_t
15038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15039 vdup_n_u32 (uint32_t __a
)
15041 return (uint32x2_t
) {__a
, __a
};
15044 __extension__
extern __inline uint64x1_t
15045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15046 vdup_n_u64 (uint64_t __a
)
15048 return (uint64x1_t
) {__a
};
15053 __extension__
extern __inline float16x8_t
15054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15055 vdupq_n_f16 (float16_t __a
)
15057 return (float16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15060 __extension__
extern __inline float32x4_t
15061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15062 vdupq_n_f32 (float32_t __a
)
15064 return (float32x4_t
) {__a
, __a
, __a
, __a
};
15067 __extension__
extern __inline float64x2_t
15068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15069 vdupq_n_f64 (float64_t __a
)
15071 return (float64x2_t
) {__a
, __a
};
15074 __extension__
extern __inline poly8x16_t
15075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15076 vdupq_n_p8 (poly8_t __a
)
15078 return (poly8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
15079 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15082 __extension__
extern __inline poly16x8_t
15083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15084 vdupq_n_p16 (poly16_t __a
)
15086 return (poly16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15089 __extension__
extern __inline poly64x2_t
15090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15091 vdupq_n_p64 (poly64_t __a
)
15093 return (poly64x2_t
) {__a
, __a
};
15096 __extension__
extern __inline int8x16_t
15097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15098 vdupq_n_s8 (int8_t __a
)
15100 return (int8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
15101 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15104 __extension__
extern __inline int16x8_t
15105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15106 vdupq_n_s16 (int16_t __a
)
15108 return (int16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15111 __extension__
extern __inline int32x4_t
15112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15113 vdupq_n_s32 (int32_t __a
)
15115 return (int32x4_t
) {__a
, __a
, __a
, __a
};
15118 __extension__
extern __inline int64x2_t
15119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15120 vdupq_n_s64 (int64_t __a
)
15122 return (int64x2_t
) {__a
, __a
};
15125 __extension__
extern __inline uint8x16_t
15126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15127 vdupq_n_u8 (uint8_t __a
)
15129 return (uint8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
15130 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15133 __extension__
extern __inline uint16x8_t
15134 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15135 vdupq_n_u16 (uint16_t __a
)
15137 return (uint16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
15140 __extension__
extern __inline uint32x4_t
15141 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15142 vdupq_n_u32 (uint32_t __a
)
15144 return (uint32x4_t
) {__a
, __a
, __a
, __a
};
15147 __extension__
extern __inline uint64x2_t
15148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15149 vdupq_n_u64 (uint64_t __a
)
15151 return (uint64x2_t
) {__a
, __a
};
15156 __extension__
extern __inline float16x4_t
15157 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15158 vdup_lane_f16 (float16x4_t __a
, const int __b
)
15160 return __aarch64_vdup_lane_f16 (__a
, __b
);
15163 __extension__
extern __inline float32x2_t
15164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15165 vdup_lane_f32 (float32x2_t __a
, const int __b
)
15167 return __aarch64_vdup_lane_f32 (__a
, __b
);
15170 __extension__
extern __inline float64x1_t
15171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15172 vdup_lane_f64 (float64x1_t __a
, const int __b
)
15174 return __aarch64_vdup_lane_f64 (__a
, __b
);
15177 __extension__
extern __inline poly8x8_t
15178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15179 vdup_lane_p8 (poly8x8_t __a
, const int __b
)
15181 return __aarch64_vdup_lane_p8 (__a
, __b
);
15184 __extension__
extern __inline poly16x4_t
15185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15186 vdup_lane_p16 (poly16x4_t __a
, const int __b
)
15188 return __aarch64_vdup_lane_p16 (__a
, __b
);
15191 __extension__
extern __inline poly64x1_t
15192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15193 vdup_lane_p64 (poly64x1_t __a
, const int __b
)
15195 return __aarch64_vdup_lane_p64 (__a
, __b
);
15198 __extension__
extern __inline int8x8_t
15199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15200 vdup_lane_s8 (int8x8_t __a
, const int __b
)
15202 return __aarch64_vdup_lane_s8 (__a
, __b
);
15205 __extension__
extern __inline int16x4_t
15206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15207 vdup_lane_s16 (int16x4_t __a
, const int __b
)
15209 return __aarch64_vdup_lane_s16 (__a
, __b
);
15212 __extension__
extern __inline int32x2_t
15213 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15214 vdup_lane_s32 (int32x2_t __a
, const int __b
)
15216 return __aarch64_vdup_lane_s32 (__a
, __b
);
15219 __extension__
extern __inline int64x1_t
15220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15221 vdup_lane_s64 (int64x1_t __a
, const int __b
)
15223 return __aarch64_vdup_lane_s64 (__a
, __b
);
15226 __extension__
extern __inline uint8x8_t
15227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15228 vdup_lane_u8 (uint8x8_t __a
, const int __b
)
15230 return __aarch64_vdup_lane_u8 (__a
, __b
);
15233 __extension__
extern __inline uint16x4_t
15234 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15235 vdup_lane_u16 (uint16x4_t __a
, const int __b
)
15237 return __aarch64_vdup_lane_u16 (__a
, __b
);
15240 __extension__
extern __inline uint32x2_t
15241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15242 vdup_lane_u32 (uint32x2_t __a
, const int __b
)
15244 return __aarch64_vdup_lane_u32 (__a
, __b
);
15247 __extension__
extern __inline uint64x1_t
15248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15249 vdup_lane_u64 (uint64x1_t __a
, const int __b
)
15251 return __aarch64_vdup_lane_u64 (__a
, __b
);
15256 __extension__
extern __inline float16x4_t
15257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15258 vdup_laneq_f16 (float16x8_t __a
, const int __b
)
15260 return __aarch64_vdup_laneq_f16 (__a
, __b
);
15263 __extension__
extern __inline float32x2_t
15264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15265 vdup_laneq_f32 (float32x4_t __a
, const int __b
)
15267 return __aarch64_vdup_laneq_f32 (__a
, __b
);
15270 __extension__
extern __inline float64x1_t
15271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15272 vdup_laneq_f64 (float64x2_t __a
, const int __b
)
15274 return __aarch64_vdup_laneq_f64 (__a
, __b
);
15277 __extension__
extern __inline poly8x8_t
15278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15279 vdup_laneq_p8 (poly8x16_t __a
, const int __b
)
15281 return __aarch64_vdup_laneq_p8 (__a
, __b
);
15284 __extension__
extern __inline poly16x4_t
15285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15286 vdup_laneq_p16 (poly16x8_t __a
, const int __b
)
15288 return __aarch64_vdup_laneq_p16 (__a
, __b
);
15291 __extension__
extern __inline poly64x1_t
15292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15293 vdup_laneq_p64 (poly64x2_t __a
, const int __b
)
15295 return __aarch64_vdup_laneq_p64 (__a
, __b
);
15298 __extension__
extern __inline int8x8_t
15299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15300 vdup_laneq_s8 (int8x16_t __a
, const int __b
)
15302 return __aarch64_vdup_laneq_s8 (__a
, __b
);
15305 __extension__
extern __inline int16x4_t
15306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15307 vdup_laneq_s16 (int16x8_t __a
, const int __b
)
15309 return __aarch64_vdup_laneq_s16 (__a
, __b
);
15312 __extension__
extern __inline int32x2_t
15313 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15314 vdup_laneq_s32 (int32x4_t __a
, const int __b
)
15316 return __aarch64_vdup_laneq_s32 (__a
, __b
);
15319 __extension__
extern __inline int64x1_t
15320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15321 vdup_laneq_s64 (int64x2_t __a
, const int __b
)
15323 return __aarch64_vdup_laneq_s64 (__a
, __b
);
15326 __extension__
extern __inline uint8x8_t
15327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15328 vdup_laneq_u8 (uint8x16_t __a
, const int __b
)
15330 return __aarch64_vdup_laneq_u8 (__a
, __b
);
15333 __extension__
extern __inline uint16x4_t
15334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15335 vdup_laneq_u16 (uint16x8_t __a
, const int __b
)
15337 return __aarch64_vdup_laneq_u16 (__a
, __b
);
15340 __extension__
extern __inline uint32x2_t
15341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15342 vdup_laneq_u32 (uint32x4_t __a
, const int __b
)
15344 return __aarch64_vdup_laneq_u32 (__a
, __b
);
15347 __extension__
extern __inline uint64x1_t
15348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15349 vdup_laneq_u64 (uint64x2_t __a
, const int __b
)
15351 return __aarch64_vdup_laneq_u64 (__a
, __b
);
15356 __extension__
extern __inline float16x8_t
15357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15358 vdupq_lane_f16 (float16x4_t __a
, const int __b
)
15360 return __aarch64_vdupq_lane_f16 (__a
, __b
);
15363 __extension__
extern __inline float32x4_t
15364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15365 vdupq_lane_f32 (float32x2_t __a
, const int __b
)
15367 return __aarch64_vdupq_lane_f32 (__a
, __b
);
15370 __extension__
extern __inline float64x2_t
15371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15372 vdupq_lane_f64 (float64x1_t __a
, const int __b
)
15374 return __aarch64_vdupq_lane_f64 (__a
, __b
);
15377 __extension__
extern __inline poly8x16_t
15378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15379 vdupq_lane_p8 (poly8x8_t __a
, const int __b
)
15381 return __aarch64_vdupq_lane_p8 (__a
, __b
);
15384 __extension__
extern __inline poly16x8_t
15385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15386 vdupq_lane_p16 (poly16x4_t __a
, const int __b
)
15388 return __aarch64_vdupq_lane_p16 (__a
, __b
);
15391 __extension__
extern __inline poly64x2_t
15392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15393 vdupq_lane_p64 (poly64x1_t __a
, const int __b
)
15395 return __aarch64_vdupq_lane_p64 (__a
, __b
);
15398 __extension__
extern __inline int8x16_t
15399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15400 vdupq_lane_s8 (int8x8_t __a
, const int __b
)
15402 return __aarch64_vdupq_lane_s8 (__a
, __b
);
15405 __extension__
extern __inline int16x8_t
15406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15407 vdupq_lane_s16 (int16x4_t __a
, const int __b
)
15409 return __aarch64_vdupq_lane_s16 (__a
, __b
);
15412 __extension__
extern __inline int32x4_t
15413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15414 vdupq_lane_s32 (int32x2_t __a
, const int __b
)
15416 return __aarch64_vdupq_lane_s32 (__a
, __b
);
15419 __extension__
extern __inline int64x2_t
15420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15421 vdupq_lane_s64 (int64x1_t __a
, const int __b
)
15423 return __aarch64_vdupq_lane_s64 (__a
, __b
);
15426 __extension__
extern __inline uint8x16_t
15427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15428 vdupq_lane_u8 (uint8x8_t __a
, const int __b
)
15430 return __aarch64_vdupq_lane_u8 (__a
, __b
);
15433 __extension__
extern __inline uint16x8_t
15434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15435 vdupq_lane_u16 (uint16x4_t __a
, const int __b
)
15437 return __aarch64_vdupq_lane_u16 (__a
, __b
);
15440 __extension__
extern __inline uint32x4_t
15441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15442 vdupq_lane_u32 (uint32x2_t __a
, const int __b
)
15444 return __aarch64_vdupq_lane_u32 (__a
, __b
);
15447 __extension__
extern __inline uint64x2_t
15448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15449 vdupq_lane_u64 (uint64x1_t __a
, const int __b
)
15451 return __aarch64_vdupq_lane_u64 (__a
, __b
);
15456 __extension__
extern __inline float16x8_t
15457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15458 vdupq_laneq_f16 (float16x8_t __a
, const int __b
)
15460 return __aarch64_vdupq_laneq_f16 (__a
, __b
);
15463 __extension__
extern __inline float32x4_t
15464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15465 vdupq_laneq_f32 (float32x4_t __a
, const int __b
)
15467 return __aarch64_vdupq_laneq_f32 (__a
, __b
);
15470 __extension__
extern __inline float64x2_t
15471 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15472 vdupq_laneq_f64 (float64x2_t __a
, const int __b
)
15474 return __aarch64_vdupq_laneq_f64 (__a
, __b
);
15477 __extension__
extern __inline poly8x16_t
15478 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15479 vdupq_laneq_p8 (poly8x16_t __a
, const int __b
)
15481 return __aarch64_vdupq_laneq_p8 (__a
, __b
);
15484 __extension__
extern __inline poly16x8_t
15485 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15486 vdupq_laneq_p16 (poly16x8_t __a
, const int __b
)
15488 return __aarch64_vdupq_laneq_p16 (__a
, __b
);
15491 __extension__
extern __inline poly64x2_t
15492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15493 vdupq_laneq_p64 (poly64x2_t __a
, const int __b
)
15495 return __aarch64_vdupq_laneq_p64 (__a
, __b
);
15498 __extension__
extern __inline int8x16_t
15499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15500 vdupq_laneq_s8 (int8x16_t __a
, const int __b
)
15502 return __aarch64_vdupq_laneq_s8 (__a
, __b
);
15505 __extension__
extern __inline int16x8_t
15506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15507 vdupq_laneq_s16 (int16x8_t __a
, const int __b
)
15509 return __aarch64_vdupq_laneq_s16 (__a
, __b
);
15512 __extension__
extern __inline int32x4_t
15513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15514 vdupq_laneq_s32 (int32x4_t __a
, const int __b
)
15516 return __aarch64_vdupq_laneq_s32 (__a
, __b
);
15519 __extension__
extern __inline int64x2_t
15520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15521 vdupq_laneq_s64 (int64x2_t __a
, const int __b
)
15523 return __aarch64_vdupq_laneq_s64 (__a
, __b
);
15526 __extension__
extern __inline uint8x16_t
15527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15528 vdupq_laneq_u8 (uint8x16_t __a
, const int __b
)
15530 return __aarch64_vdupq_laneq_u8 (__a
, __b
);
15533 __extension__
extern __inline uint16x8_t
15534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15535 vdupq_laneq_u16 (uint16x8_t __a
, const int __b
)
15537 return __aarch64_vdupq_laneq_u16 (__a
, __b
);
15540 __extension__
extern __inline uint32x4_t
15541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15542 vdupq_laneq_u32 (uint32x4_t __a
, const int __b
)
15544 return __aarch64_vdupq_laneq_u32 (__a
, __b
);
15547 __extension__
extern __inline uint64x2_t
15548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15549 vdupq_laneq_u64 (uint64x2_t __a
, const int __b
)
15551 return __aarch64_vdupq_laneq_u64 (__a
, __b
);
15555 __extension__
extern __inline poly8_t
15556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15557 vdupb_lane_p8 (poly8x8_t __a
, const int __b
)
15559 return __aarch64_vget_lane_any (__a
, __b
);
15562 __extension__
extern __inline
int8_t
15563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15564 vdupb_lane_s8 (int8x8_t __a
, const int __b
)
15566 return __aarch64_vget_lane_any (__a
, __b
);
15569 __extension__
extern __inline
uint8_t
15570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15571 vdupb_lane_u8 (uint8x8_t __a
, const int __b
)
15573 return __aarch64_vget_lane_any (__a
, __b
);
15578 __extension__
extern __inline float16_t
15579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15580 vduph_lane_f16 (float16x4_t __a
, const int __b
)
15582 return __aarch64_vget_lane_any (__a
, __b
);
15585 __extension__
extern __inline poly16_t
15586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15587 vduph_lane_p16 (poly16x4_t __a
, const int __b
)
15589 return __aarch64_vget_lane_any (__a
, __b
);
15592 __extension__
extern __inline
int16_t
15593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15594 vduph_lane_s16 (int16x4_t __a
, const int __b
)
15596 return __aarch64_vget_lane_any (__a
, __b
);
15599 __extension__
extern __inline
uint16_t
15600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15601 vduph_lane_u16 (uint16x4_t __a
, const int __b
)
15603 return __aarch64_vget_lane_any (__a
, __b
);
15608 __extension__
extern __inline float32_t
15609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15610 vdups_lane_f32 (float32x2_t __a
, const int __b
)
15612 return __aarch64_vget_lane_any (__a
, __b
);
15615 __extension__
extern __inline
int32_t
15616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15617 vdups_lane_s32 (int32x2_t __a
, const int __b
)
15619 return __aarch64_vget_lane_any (__a
, __b
);
15622 __extension__
extern __inline
uint32_t
15623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15624 vdups_lane_u32 (uint32x2_t __a
, const int __b
)
15626 return __aarch64_vget_lane_any (__a
, __b
);
15630 __extension__
extern __inline float64_t
15631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15632 vdupd_lane_f64 (float64x1_t __a
, const int __b
)
15634 __AARCH64_LANE_CHECK (__a
, __b
);
15638 __extension__
extern __inline
int64_t
15639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15640 vdupd_lane_s64 (int64x1_t __a
, const int __b
)
15642 __AARCH64_LANE_CHECK (__a
, __b
);
15646 __extension__
extern __inline
uint64_t
15647 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15648 vdupd_lane_u64 (uint64x1_t __a
, const int __b
)
15650 __AARCH64_LANE_CHECK (__a
, __b
);
15655 __extension__
extern __inline poly8_t
15656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15657 vdupb_laneq_p8 (poly8x16_t __a
, const int __b
)
15659 return __aarch64_vget_lane_any (__a
, __b
);
15662 __extension__
extern __inline
int8_t
15663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15664 vdupb_laneq_s8 (int8x16_t __a
, const int __b
)
15666 return __aarch64_vget_lane_any (__a
, __b
);
15669 __extension__
extern __inline
uint8_t
15670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15671 vdupb_laneq_u8 (uint8x16_t __a
, const int __b
)
15673 return __aarch64_vget_lane_any (__a
, __b
);
15678 __extension__
extern __inline float16_t
15679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15680 vduph_laneq_f16 (float16x8_t __a
, const int __b
)
15682 return __aarch64_vget_lane_any (__a
, __b
);
15685 __extension__
extern __inline poly16_t
15686 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15687 vduph_laneq_p16 (poly16x8_t __a
, const int __b
)
15689 return __aarch64_vget_lane_any (__a
, __b
);
15692 __extension__
extern __inline
int16_t
15693 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15694 vduph_laneq_s16 (int16x8_t __a
, const int __b
)
15696 return __aarch64_vget_lane_any (__a
, __b
);
15699 __extension__
extern __inline
uint16_t
15700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15701 vduph_laneq_u16 (uint16x8_t __a
, const int __b
)
15703 return __aarch64_vget_lane_any (__a
, __b
);
15708 __extension__
extern __inline float32_t
15709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15710 vdups_laneq_f32 (float32x4_t __a
, const int __b
)
15712 return __aarch64_vget_lane_any (__a
, __b
);
15715 __extension__
extern __inline
int32_t
15716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15717 vdups_laneq_s32 (int32x4_t __a
, const int __b
)
15719 return __aarch64_vget_lane_any (__a
, __b
);
15722 __extension__
extern __inline
uint32_t
15723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15724 vdups_laneq_u32 (uint32x4_t __a
, const int __b
)
15726 return __aarch64_vget_lane_any (__a
, __b
);
15730 __extension__
extern __inline float64_t
15731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15732 vdupd_laneq_f64 (float64x2_t __a
, const int __b
)
15734 return __aarch64_vget_lane_any (__a
, __b
);
15737 __extension__
extern __inline
int64_t
15738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15739 vdupd_laneq_s64 (int64x2_t __a
, const int __b
)
15741 return __aarch64_vget_lane_any (__a
, __b
);
15744 __extension__
extern __inline
uint64_t
15745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15746 vdupd_laneq_u64 (uint64x2_t __a
, const int __b
)
15748 return __aarch64_vget_lane_any (__a
, __b
);
15753 __extension__
extern __inline float16x4_t
15754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15755 vext_f16 (float16x4_t __a
, float16x4_t __b
, __const
int __c
)
15757 __AARCH64_LANE_CHECK (__a
, __c
);
15758 #ifdef __AARCH64EB__
15759 return __builtin_shuffle (__b
, __a
,
15760 (uint16x4_t
) {4 - __c
, 5 - __c
, 6 - __c
, 7 - __c
});
15762 return __builtin_shuffle (__a
, __b
,
15763 (uint16x4_t
) {__c
, __c
+ 1, __c
+ 2, __c
+ 3});
15767 __extension__
extern __inline float32x2_t
15768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15769 vext_f32 (float32x2_t __a
, float32x2_t __b
, __const
int __c
)
15771 __AARCH64_LANE_CHECK (__a
, __c
);
15772 #ifdef __AARCH64EB__
15773 return __builtin_shuffle (__b
, __a
, (uint32x2_t
) {2-__c
, 3-__c
});
15775 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {__c
, __c
+1});
15779 __extension__
extern __inline float64x1_t
15780 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15781 vext_f64 (float64x1_t __a
, float64x1_t __b
, __const
int __c
)
15783 __AARCH64_LANE_CHECK (__a
, __c
);
15784 /* The only possible index to the assembler instruction returns element 0. */
15787 __extension__
extern __inline poly8x8_t
15788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15789 vext_p8 (poly8x8_t __a
, poly8x8_t __b
, __const
int __c
)
15791 __AARCH64_LANE_CHECK (__a
, __c
);
15792 #ifdef __AARCH64EB__
15793 return __builtin_shuffle (__b
, __a
, (uint8x8_t
)
15794 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
15796 return __builtin_shuffle (__a
, __b
,
15797 (uint8x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
15801 __extension__
extern __inline poly16x4_t
15802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15803 vext_p16 (poly16x4_t __a
, poly16x4_t __b
, __const
int __c
)
15805 __AARCH64_LANE_CHECK (__a
, __c
);
15806 #ifdef __AARCH64EB__
15807 return __builtin_shuffle (__b
, __a
,
15808 (uint16x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
15810 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
15814 __extension__
extern __inline poly64x1_t
15815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15816 vext_p64 (poly64x1_t __a
, poly64x1_t __b
, __const
int __c
)
15818 __AARCH64_LANE_CHECK (__a
, __c
);
15819 /* The only possible index to the assembler instruction returns element 0. */
15823 __extension__
extern __inline int8x8_t
15824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15825 vext_s8 (int8x8_t __a
, int8x8_t __b
, __const
int __c
)
15827 __AARCH64_LANE_CHECK (__a
, __c
);
15828 #ifdef __AARCH64EB__
15829 return __builtin_shuffle (__b
, __a
, (uint8x8_t
)
15830 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
15832 return __builtin_shuffle (__a
, __b
,
15833 (uint8x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
15837 __extension__
extern __inline int16x4_t
15838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15839 vext_s16 (int16x4_t __a
, int16x4_t __b
, __const
int __c
)
15841 __AARCH64_LANE_CHECK (__a
, __c
);
15842 #ifdef __AARCH64EB__
15843 return __builtin_shuffle (__b
, __a
,
15844 (uint16x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
15846 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
15850 __extension__
extern __inline int32x2_t
15851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15852 vext_s32 (int32x2_t __a
, int32x2_t __b
, __const
int __c
)
15854 __AARCH64_LANE_CHECK (__a
, __c
);
15855 #ifdef __AARCH64EB__
15856 return __builtin_shuffle (__b
, __a
, (uint32x2_t
) {2-__c
, 3-__c
});
15858 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {__c
, __c
+1});
15862 __extension__
extern __inline int64x1_t
15863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15864 vext_s64 (int64x1_t __a
, int64x1_t __b
, __const
int __c
)
15866 __AARCH64_LANE_CHECK (__a
, __c
);
15867 /* The only possible index to the assembler instruction returns element 0. */
15871 __extension__
extern __inline uint8x8_t
15872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15873 vext_u8 (uint8x8_t __a
, uint8x8_t __b
, __const
int __c
)
15875 __AARCH64_LANE_CHECK (__a
, __c
);
15876 #ifdef __AARCH64EB__
15877 return __builtin_shuffle (__b
, __a
, (uint8x8_t
)
15878 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
15880 return __builtin_shuffle (__a
, __b
,
15881 (uint8x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
15885 __extension__
extern __inline uint16x4_t
15886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15887 vext_u16 (uint16x4_t __a
, uint16x4_t __b
, __const
int __c
)
15889 __AARCH64_LANE_CHECK (__a
, __c
);
15890 #ifdef __AARCH64EB__
15891 return __builtin_shuffle (__b
, __a
,
15892 (uint16x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
15894 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
15898 __extension__
extern __inline uint32x2_t
15899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15900 vext_u32 (uint32x2_t __a
, uint32x2_t __b
, __const
int __c
)
15902 __AARCH64_LANE_CHECK (__a
, __c
);
15903 #ifdef __AARCH64EB__
15904 return __builtin_shuffle (__b
, __a
, (uint32x2_t
) {2-__c
, 3-__c
});
15906 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {__c
, __c
+1});
15910 __extension__
extern __inline uint64x1_t
15911 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15912 vext_u64 (uint64x1_t __a
, uint64x1_t __b
, __const
int __c
)
15914 __AARCH64_LANE_CHECK (__a
, __c
);
15915 /* The only possible index to the assembler instruction returns element 0. */
15919 __extension__
extern __inline float16x8_t
15920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15921 vextq_f16 (float16x8_t __a
, float16x8_t __b
, __const
int __c
)
15923 __AARCH64_LANE_CHECK (__a
, __c
);
15924 #ifdef __AARCH64EB__
15925 return __builtin_shuffle (__b
, __a
,
15926 (uint16x8_t
) {8 - __c
, 9 - __c
, 10 - __c
, 11 - __c
,
15927 12 - __c
, 13 - __c
, 14 - __c
,
15930 return __builtin_shuffle (__a
, __b
,
15931 (uint16x8_t
) {__c
, __c
+ 1, __c
+ 2, __c
+ 3,
15932 __c
+ 4, __c
+ 5, __c
+ 6, __c
+ 7});
15936 __extension__
extern __inline float32x4_t
15937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15938 vextq_f32 (float32x4_t __a
, float32x4_t __b
, __const
int __c
)
15940 __AARCH64_LANE_CHECK (__a
, __c
);
15941 #ifdef __AARCH64EB__
15942 return __builtin_shuffle (__b
, __a
,
15943 (uint32x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
15945 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
15949 __extension__
extern __inline float64x2_t
15950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15951 vextq_f64 (float64x2_t __a
, float64x2_t __b
, __const
int __c
)
15953 __AARCH64_LANE_CHECK (__a
, __c
);
15954 #ifdef __AARCH64EB__
15955 return __builtin_shuffle (__b
, __a
, (uint64x2_t
) {2-__c
, 3-__c
});
15957 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {__c
, __c
+1});
15961 __extension__
extern __inline poly8x16_t
15962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15963 vextq_p8 (poly8x16_t __a
, poly8x16_t __b
, __const
int __c
)
15965 __AARCH64_LANE_CHECK (__a
, __c
);
15966 #ifdef __AARCH64EB__
15967 return __builtin_shuffle (__b
, __a
, (uint8x16_t
)
15968 {16-__c
, 17-__c
, 18-__c
, 19-__c
, 20-__c
, 21-__c
, 22-__c
, 23-__c
,
15969 24-__c
, 25-__c
, 26-__c
, 27-__c
, 28-__c
, 29-__c
, 30-__c
, 31-__c
});
15971 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
15972 {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7,
15973 __c
+8, __c
+9, __c
+10, __c
+11, __c
+12, __c
+13, __c
+14, __c
+15});
15977 __extension__
extern __inline poly16x8_t
15978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15979 vextq_p16 (poly16x8_t __a
, poly16x8_t __b
, __const
int __c
)
15981 __AARCH64_LANE_CHECK (__a
, __c
);
15982 #ifdef __AARCH64EB__
15983 return __builtin_shuffle (__b
, __a
, (uint16x8_t
)
15984 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
15986 return __builtin_shuffle (__a
, __b
,
15987 (uint16x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
15991 __extension__
extern __inline poly64x2_t
15992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15993 vextq_p64 (poly64x2_t __a
, poly64x2_t __b
, __const
int __c
)
15995 __AARCH64_LANE_CHECK (__a
, __c
);
15996 #ifdef __AARCH64EB__
15997 return __builtin_shuffle (__b
, __a
, (uint64x2_t
) {2-__c
, 3-__c
});
15999 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {__c
, __c
+1});
16003 __extension__
extern __inline int8x16_t
16004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16005 vextq_s8 (int8x16_t __a
, int8x16_t __b
, __const
int __c
)
16007 __AARCH64_LANE_CHECK (__a
, __c
);
16008 #ifdef __AARCH64EB__
16009 return __builtin_shuffle (__b
, __a
, (uint8x16_t
)
16010 {16-__c
, 17-__c
, 18-__c
, 19-__c
, 20-__c
, 21-__c
, 22-__c
, 23-__c
,
16011 24-__c
, 25-__c
, 26-__c
, 27-__c
, 28-__c
, 29-__c
, 30-__c
, 31-__c
});
16013 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
16014 {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7,
16015 __c
+8, __c
+9, __c
+10, __c
+11, __c
+12, __c
+13, __c
+14, __c
+15});
16019 __extension__
extern __inline int16x8_t
16020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16021 vextq_s16 (int16x8_t __a
, int16x8_t __b
, __const
int __c
)
16023 __AARCH64_LANE_CHECK (__a
, __c
);
16024 #ifdef __AARCH64EB__
16025 return __builtin_shuffle (__b
, __a
, (uint16x8_t
)
16026 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
16028 return __builtin_shuffle (__a
, __b
,
16029 (uint16x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
16033 __extension__
extern __inline int32x4_t
16034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16035 vextq_s32 (int32x4_t __a
, int32x4_t __b
, __const
int __c
)
16037 __AARCH64_LANE_CHECK (__a
, __c
);
16038 #ifdef __AARCH64EB__
16039 return __builtin_shuffle (__b
, __a
,
16040 (uint32x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
16042 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
16046 __extension__
extern __inline int64x2_t
16047 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16048 vextq_s64 (int64x2_t __a
, int64x2_t __b
, __const
int __c
)
16050 __AARCH64_LANE_CHECK (__a
, __c
);
16051 #ifdef __AARCH64EB__
16052 return __builtin_shuffle (__b
, __a
, (uint64x2_t
) {2-__c
, 3-__c
});
16054 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {__c
, __c
+1});
16058 __extension__
extern __inline uint8x16_t
16059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16060 vextq_u8 (uint8x16_t __a
, uint8x16_t __b
, __const
int __c
)
16062 __AARCH64_LANE_CHECK (__a
, __c
);
16063 #ifdef __AARCH64EB__
16064 return __builtin_shuffle (__b
, __a
, (uint8x16_t
)
16065 {16-__c
, 17-__c
, 18-__c
, 19-__c
, 20-__c
, 21-__c
, 22-__c
, 23-__c
,
16066 24-__c
, 25-__c
, 26-__c
, 27-__c
, 28-__c
, 29-__c
, 30-__c
, 31-__c
});
16068 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
16069 {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7,
16070 __c
+8, __c
+9, __c
+10, __c
+11, __c
+12, __c
+13, __c
+14, __c
+15});
16074 __extension__
extern __inline uint16x8_t
16075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16076 vextq_u16 (uint16x8_t __a
, uint16x8_t __b
, __const
int __c
)
16078 __AARCH64_LANE_CHECK (__a
, __c
);
16079 #ifdef __AARCH64EB__
16080 return __builtin_shuffle (__b
, __a
, (uint16x8_t
)
16081 {8-__c
, 9-__c
, 10-__c
, 11-__c
, 12-__c
, 13-__c
, 14-__c
, 15-__c
});
16083 return __builtin_shuffle (__a
, __b
,
16084 (uint16x8_t
) {__c
, __c
+1, __c
+2, __c
+3, __c
+4, __c
+5, __c
+6, __c
+7});
16088 __extension__
extern __inline uint32x4_t
16089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16090 vextq_u32 (uint32x4_t __a
, uint32x4_t __b
, __const
int __c
)
16092 __AARCH64_LANE_CHECK (__a
, __c
);
16093 #ifdef __AARCH64EB__
16094 return __builtin_shuffle (__b
, __a
,
16095 (uint32x4_t
) {4-__c
, 5-__c
, 6-__c
, 7-__c
});
16097 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {__c
, __c
+1, __c
+2, __c
+3});
16101 __extension__
extern __inline uint64x2_t
16102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16103 vextq_u64 (uint64x2_t __a
, uint64x2_t __b
, __const
int __c
)
16105 __AARCH64_LANE_CHECK (__a
, __c
);
16106 #ifdef __AARCH64EB__
16107 return __builtin_shuffle (__b
, __a
, (uint64x2_t
) {2-__c
, 3-__c
});
16109 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {__c
, __c
+1});
16115 __extension__
extern __inline float64x1_t
16116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16117 vfma_f64 (float64x1_t __a
, float64x1_t __b
, float64x1_t __c
)
16119 return (float64x1_t
) {__builtin_fma (__b
[0], __c
[0], __a
[0])};
16122 __extension__
extern __inline float32x2_t
16123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16124 vfma_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
16126 return __builtin_aarch64_fmav2sf (__b
, __c
, __a
);
16129 __extension__
extern __inline float32x4_t
16130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16131 vfmaq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
16133 return __builtin_aarch64_fmav4sf (__b
, __c
, __a
);
16136 __extension__
extern __inline float64x2_t
16137 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16138 vfmaq_f64 (float64x2_t __a
, float64x2_t __b
, float64x2_t __c
)
16140 return __builtin_aarch64_fmav2df (__b
, __c
, __a
);
16143 __extension__
extern __inline float32x2_t
16144 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16145 vfma_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
16147 return __builtin_aarch64_fmav2sf (__b
, vdup_n_f32 (__c
), __a
);
16150 __extension__
extern __inline float64x1_t
16151 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16152 vfma_n_f64 (float64x1_t __a
, float64x1_t __b
, float64_t __c
)
16154 return (float64x1_t
) {__b
[0] * __c
+ __a
[0]};
16157 __extension__
extern __inline float32x4_t
16158 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16159 vfmaq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
16161 return __builtin_aarch64_fmav4sf (__b
, vdupq_n_f32 (__c
), __a
);
16164 __extension__
extern __inline float64x2_t
16165 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16166 vfmaq_n_f64 (float64x2_t __a
, float64x2_t __b
, float64_t __c
)
16168 return __builtin_aarch64_fmav2df (__b
, vdupq_n_f64 (__c
), __a
);
16173 __extension__
extern __inline float32x2_t
16174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16175 vfma_lane_f32 (float32x2_t __a
, float32x2_t __b
,
16176 float32x2_t __c
, const int __lane
)
16178 return __builtin_aarch64_fmav2sf (__b
,
16179 __aarch64_vdup_lane_f32 (__c
, __lane
),
16183 __extension__
extern __inline float64x1_t
16184 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16185 vfma_lane_f64 (float64x1_t __a
, float64x1_t __b
,
16186 float64x1_t __c
, const int __lane
)
16188 return (float64x1_t
) {__builtin_fma (__b
[0], __c
[0], __a
[0])};
16191 __extension__
extern __inline float64_t
16192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16193 vfmad_lane_f64 (float64_t __a
, float64_t __b
,
16194 float64x1_t __c
, const int __lane
)
16196 return __builtin_fma (__b
, __c
[0], __a
);
16199 __extension__
extern __inline float32_t
16200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16201 vfmas_lane_f32 (float32_t __a
, float32_t __b
,
16202 float32x2_t __c
, const int __lane
)
16204 return __builtin_fmaf (__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16209 __extension__
extern __inline float32x2_t
16210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16211 vfma_laneq_f32 (float32x2_t __a
, float32x2_t __b
,
16212 float32x4_t __c
, const int __lane
)
16214 return __builtin_aarch64_fmav2sf (__b
,
16215 __aarch64_vdup_laneq_f32 (__c
, __lane
),
16219 __extension__
extern __inline float64x1_t
16220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16221 vfma_laneq_f64 (float64x1_t __a
, float64x1_t __b
,
16222 float64x2_t __c
, const int __lane
)
16224 float64_t __c0
= __aarch64_vget_lane_any (__c
, __lane
);
16225 return (float64x1_t
) {__builtin_fma (__b
[0], __c0
, __a
[0])};
16228 __extension__
extern __inline float64_t
16229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16230 vfmad_laneq_f64 (float64_t __a
, float64_t __b
,
16231 float64x2_t __c
, const int __lane
)
16233 return __builtin_fma (__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16236 __extension__
extern __inline float32_t
16237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16238 vfmas_laneq_f32 (float32_t __a
, float32_t __b
,
16239 float32x4_t __c
, const int __lane
)
16241 return __builtin_fmaf (__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16246 __extension__
extern __inline float32x4_t
16247 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16248 vfmaq_lane_f32 (float32x4_t __a
, float32x4_t __b
,
16249 float32x2_t __c
, const int __lane
)
16251 return __builtin_aarch64_fmav4sf (__b
,
16252 __aarch64_vdupq_lane_f32 (__c
, __lane
),
16256 __extension__
extern __inline float64x2_t
16257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16258 vfmaq_lane_f64 (float64x2_t __a
, float64x2_t __b
,
16259 float64x1_t __c
, const int __lane
)
16261 return __builtin_aarch64_fmav2df (__b
, vdupq_n_f64 (__c
[0]), __a
);
16266 __extension__
extern __inline float32x4_t
16267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16268 vfmaq_laneq_f32 (float32x4_t __a
, float32x4_t __b
,
16269 float32x4_t __c
, const int __lane
)
16271 return __builtin_aarch64_fmav4sf (__b
,
16272 __aarch64_vdupq_laneq_f32 (__c
, __lane
),
16276 __extension__
extern __inline float64x2_t
16277 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16278 vfmaq_laneq_f64 (float64x2_t __a
, float64x2_t __b
,
16279 float64x2_t __c
, const int __lane
)
16281 return __builtin_aarch64_fmav2df (__b
,
16282 __aarch64_vdupq_laneq_f64 (__c
, __lane
),
16288 __extension__
extern __inline float64x1_t
16289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16290 vfms_f64 (float64x1_t __a
, float64x1_t __b
, float64x1_t __c
)
16292 return (float64x1_t
) {__builtin_fma (-__b
[0], __c
[0], __a
[0])};
16295 __extension__
extern __inline float32x2_t
16296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16297 vfms_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
16299 return __builtin_aarch64_fmav2sf (-__b
, __c
, __a
);
16302 __extension__
extern __inline float32x4_t
16303 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16304 vfmsq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
16306 return __builtin_aarch64_fmav4sf (-__b
, __c
, __a
);
16309 __extension__
extern __inline float64x2_t
16310 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16311 vfmsq_f64 (float64x2_t __a
, float64x2_t __b
, float64x2_t __c
)
16313 return __builtin_aarch64_fmav2df (-__b
, __c
, __a
);
16316 __extension__
extern __inline float32x2_t
16317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16318 vfms_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
16320 return __builtin_aarch64_fmav2sf (-__b
, vdup_n_f32 (__c
), __a
);
16323 __extension__
extern __inline float64x1_t
16324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16325 vfms_n_f64 (float64x1_t __a
, float64x1_t __b
, float64_t __c
)
16327 return (float64x1_t
) {-__b
[0] * __c
+ __a
[0]};
16330 __extension__
extern __inline float32x4_t
16331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16332 vfmsq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
16334 return __builtin_aarch64_fmav4sf (-__b
, vdupq_n_f32 (__c
), __a
);
16337 __extension__
extern __inline float64x2_t
16338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16339 vfmsq_n_f64 (float64x2_t __a
, float64x2_t __b
, float64_t __c
)
16341 return __builtin_aarch64_fmav2df (-__b
, vdupq_n_f64 (__c
), __a
);
16346 __extension__
extern __inline float32x2_t
16347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16348 vfms_lane_f32 (float32x2_t __a
, float32x2_t __b
,
16349 float32x2_t __c
, const int __lane
)
16351 return __builtin_aarch64_fmav2sf (-__b
,
16352 __aarch64_vdup_lane_f32 (__c
, __lane
),
16356 __extension__
extern __inline float64x1_t
16357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16358 vfms_lane_f64 (float64x1_t __a
, float64x1_t __b
,
16359 float64x1_t __c
, const int __lane
)
16361 return (float64x1_t
) {__builtin_fma (-__b
[0], __c
[0], __a
[0])};
16364 __extension__
extern __inline float64_t
16365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16366 vfmsd_lane_f64 (float64_t __a
, float64_t __b
,
16367 float64x1_t __c
, const int __lane
)
16369 return __builtin_fma (-__b
, __c
[0], __a
);
16372 __extension__
extern __inline float32_t
16373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16374 vfmss_lane_f32 (float32_t __a
, float32_t __b
,
16375 float32x2_t __c
, const int __lane
)
16377 return __builtin_fmaf (-__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16382 __extension__
extern __inline float32x2_t
16383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16384 vfms_laneq_f32 (float32x2_t __a
, float32x2_t __b
,
16385 float32x4_t __c
, const int __lane
)
16387 return __builtin_aarch64_fmav2sf (-__b
,
16388 __aarch64_vdup_laneq_f32 (__c
, __lane
),
16392 __extension__
extern __inline float64x1_t
16393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16394 vfms_laneq_f64 (float64x1_t __a
, float64x1_t __b
,
16395 float64x2_t __c
, const int __lane
)
16397 float64_t __c0
= __aarch64_vget_lane_any (__c
, __lane
);
16398 return (float64x1_t
) {__builtin_fma (-__b
[0], __c0
, __a
[0])};
16401 __extension__
extern __inline float64_t
16402 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16403 vfmsd_laneq_f64 (float64_t __a
, float64_t __b
,
16404 float64x2_t __c
, const int __lane
)
16406 return __builtin_fma (-__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16409 __extension__
extern __inline float32_t
16410 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16411 vfmss_laneq_f32 (float32_t __a
, float32_t __b
,
16412 float32x4_t __c
, const int __lane
)
16414 return __builtin_fmaf (-__b
, __aarch64_vget_lane_any (__c
, __lane
), __a
);
16419 __extension__
extern __inline float32x4_t
16420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16421 vfmsq_lane_f32 (float32x4_t __a
, float32x4_t __b
,
16422 float32x2_t __c
, const int __lane
)
16424 return __builtin_aarch64_fmav4sf (-__b
,
16425 __aarch64_vdupq_lane_f32 (__c
, __lane
),
16429 __extension__
extern __inline float64x2_t
16430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16431 vfmsq_lane_f64 (float64x2_t __a
, float64x2_t __b
,
16432 float64x1_t __c
, const int __lane
)
16434 return __builtin_aarch64_fmav2df (-__b
, vdupq_n_f64 (__c
[0]), __a
);
16439 __extension__
extern __inline float32x4_t
16440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16441 vfmsq_laneq_f32 (float32x4_t __a
, float32x4_t __b
,
16442 float32x4_t __c
, const int __lane
)
16444 return __builtin_aarch64_fmav4sf (-__b
,
16445 __aarch64_vdupq_laneq_f32 (__c
, __lane
),
16449 __extension__
extern __inline float64x2_t
16450 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16451 vfmsq_laneq_f64 (float64x2_t __a
, float64x2_t __b
,
16452 float64x2_t __c
, const int __lane
)
16454 return __builtin_aarch64_fmav2df (-__b
,
16455 __aarch64_vdupq_laneq_f64 (__c
, __lane
),
16461 __extension__
extern __inline float16x4_t
16462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16463 vld1_f16 (const float16_t
*__a
)
16465 return __builtin_aarch64_ld1v4hf (__a
);
16468 __extension__
extern __inline float32x2_t
16469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16470 vld1_f32 (const float32_t
*__a
)
16472 return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
16475 __extension__
extern __inline float64x1_t
16476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16477 vld1_f64 (const float64_t
*__a
)
16479 return (float64x1_t
) {*__a
};
16482 __extension__
extern __inline poly8x8_t
16483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16484 vld1_p8 (const poly8_t
*__a
)
16487 __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16490 __extension__
extern __inline poly16x4_t
16491 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16492 vld1_p16 (const poly16_t
*__a
)
16494 return (poly16x4_t
)
16495 __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16498 __extension__
extern __inline poly64x1_t
16499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16500 vld1_p64 (const poly64_t
*__a
)
16502 return (poly64x1_t
) {*__a
};
16505 __extension__
extern __inline int8x8_t
16506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16507 vld1_s8 (const int8_t *__a
)
16509 return __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16512 __extension__
extern __inline int16x4_t
16513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16514 vld1_s16 (const int16_t *__a
)
16516 return __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16519 __extension__
extern __inline int32x2_t
16520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16521 vld1_s32 (const int32_t *__a
)
16523 return __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si
*) __a
);
16526 __extension__
extern __inline int64x1_t
16527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16528 vld1_s64 (const int64_t *__a
)
16530 return (int64x1_t
) {*__a
};
16533 __extension__
extern __inline uint8x8_t
16534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16535 vld1_u8 (const uint8_t *__a
)
16538 __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16541 __extension__
extern __inline uint16x4_t
16542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16543 vld1_u16 (const uint16_t *__a
)
16545 return (uint16x4_t
)
16546 __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16549 __extension__
extern __inline uint32x2_t
16550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16551 vld1_u32 (const uint32_t *__a
)
16553 return (uint32x2_t
)
16554 __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si
*) __a
);
16557 __extension__
extern __inline uint64x1_t
16558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16559 vld1_u64 (const uint64_t *__a
)
16561 return (uint64x1_t
) {*__a
};
16566 __extension__
extern __inline uint8x8x3_t
16567 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16568 vld1_u8_x3 (const uint8_t *__a
)
16571 __builtin_aarch64_simd_ci __o
;
16572 __o
= (__builtin_aarch64_simd_ci
)__builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16573 __i
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
16574 __i
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
16575 __i
.val
[2] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
16579 __extension__
extern __inline int8x8x3_t
16580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16581 vld1_s8_x3 (const uint8_t *__a
)
16584 __builtin_aarch64_simd_ci __o
;
16585 __o
= __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16586 __i
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
16587 __i
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
16588 __i
.val
[2] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
16592 __extension__
extern __inline uint16x4x3_t
16593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16594 vld1_u16_x3 (const uint16_t *__a
)
16597 __builtin_aarch64_simd_ci __o
;
16598 __o
= __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16599 __i
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
16600 __i
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
16601 __i
.val
[2] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
16605 __extension__
extern __inline int16x4x3_t
16606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16607 vld1_s16_x3 (const int16_t *__a
)
16610 __builtin_aarch64_simd_ci __o
;
16611 __o
= __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16612 __i
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
16613 __i
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
16614 __i
.val
[2] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
16618 __extension__
extern __inline uint32x2x3_t
16619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16620 vld1_u32_x3 (const uint32_t *__a
)
16623 __builtin_aarch64_simd_ci __o
;
16624 __o
= __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si
*) __a
);
16625 __i
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
16626 __i
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
16627 __i
.val
[2] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
16631 __extension__
extern __inline int32x2x3_t
16632 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16633 vld1_s32_x3 (const uint32_t *__a
)
16636 __builtin_aarch64_simd_ci __o
;
16637 __o
= __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si
*) __a
);
16638 __i
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
16639 __i
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
16640 __i
.val
[2] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
16644 __extension__
extern __inline uint64x1x3_t
16645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16646 vld1_u64_x3 (const uint64_t *__a
)
16649 __builtin_aarch64_simd_ci __o
;
16650 __o
= __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di
*) __a
);
16651 __i
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
16652 __i
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
16653 __i
.val
[2] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
16657 __extension__
extern __inline int64x1x3_t
16658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16659 vld1_s64_x3 (const int64_t *__a
)
16662 __builtin_aarch64_simd_ci __o
;
16663 __o
= __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di
*) __a
);
16664 __i
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
16665 __i
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
16666 __i
.val
[2] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
16671 __extension__
extern __inline float16x4x3_t
16672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16673 vld1_f16_x3 (const float16_t
*__a
)
16676 __builtin_aarch64_simd_ci __o
;
16677 __o
= __builtin_aarch64_ld1x3v4hf ((const __builtin_aarch64_simd_hf
*) __a
);
16678 __i
.val
[0] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 0);
16679 __i
.val
[1] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 1);
16680 __i
.val
[2] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 2);
16684 __extension__
extern __inline float32x2x3_t
16685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16686 vld1_f32_x3 (const float32_t
*__a
)
16689 __builtin_aarch64_simd_ci __o
;
16690 __o
= __builtin_aarch64_ld1x3v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
16691 __i
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 0);
16692 __i
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 1);
16693 __i
.val
[2] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 2);
16697 __extension__
extern __inline float64x1x3_t
16698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16699 vld1_f64_x3 (const float64_t
*__a
)
16702 __builtin_aarch64_simd_ci __o
;
16703 __o
= __builtin_aarch64_ld1x3df ((const __builtin_aarch64_simd_df
*) __a
);
16704 __i
.val
[0] = (float64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
16705 __i
.val
[1] = (float64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
16706 __i
.val
[2] = (float64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
16710 __extension__
extern __inline poly8x8x3_t
16711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16712 vld1_p8_x3 (const poly8_t
*__a
)
16715 __builtin_aarch64_simd_ci __o
;
16716 __o
= __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
16717 __i
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
16718 __i
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
16719 __i
.val
[2] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
16723 __extension__
extern __inline poly16x4x3_t
16724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16725 vld1_p16_x3 (const poly16_t
*__a
)
16728 __builtin_aarch64_simd_ci __o
;
16729 __o
= __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
16730 __i
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
16731 __i
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
16732 __i
.val
[2] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
16736 __extension__
extern __inline poly64x1x3_t
16737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16738 vld1_p64_x3 (const poly64_t
*__a
)
16741 __builtin_aarch64_simd_ci __o
;
16742 __o
= __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di
*) __a
);
16743 __i
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
16744 __i
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
16745 __i
.val
[2] = (poly64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
16750 __extension__
extern __inline uint8x16x3_t
16751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16752 vld1q_u8_x3 (const uint8_t *__a
)
16755 __builtin_aarch64_simd_ci __o
;
16756 __o
= __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
16757 __i
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
16758 __i
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
16759 __i
.val
[2] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
16763 __extension__
extern __inline int8x16x3_t
16764 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16765 vld1q_s8_x3 (const int8_t *__a
)
16768 __builtin_aarch64_simd_ci __o
;
16769 __o
= __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
16770 __i
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
16771 __i
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
16772 __i
.val
[2] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
16776 __extension__
extern __inline uint16x8x3_t
16777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16778 vld1q_u16_x3 (const uint16_t *__a
)
16781 __builtin_aarch64_simd_ci __o
;
16782 __o
= __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
16783 __i
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
16784 __i
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
16785 __i
.val
[2] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
16789 __extension__
extern __inline int16x8x3_t
16790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16791 vld1q_s16_x3 (const int16_t *__a
)
16794 __builtin_aarch64_simd_ci __o
;
16795 __o
= __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
16796 __i
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
16797 __i
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
16798 __i
.val
[2] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
16802 __extension__
extern __inline uint32x4x3_t
16803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16804 vld1q_u32_x3 (const uint32_t *__a
)
16807 __builtin_aarch64_simd_ci __o
;
16808 __o
= __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si
*) __a
);
16809 __i
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
16810 __i
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
16811 __i
.val
[2] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
16815 __extension__
extern __inline int32x4x3_t
16816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16817 vld1q_s32_x3 (const int32_t *__a
)
16820 __builtin_aarch64_simd_ci __o
;
16821 __o
= __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si
*) __a
);
16822 __i
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
16823 __i
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
16824 __i
.val
[2] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
16828 __extension__
extern __inline uint64x2x3_t
16829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16830 vld1q_u64_x3 (const uint64_t *__a
)
16833 __builtin_aarch64_simd_ci __o
;
16834 __o
= __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di
*) __a
);
16835 __i
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
16836 __i
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
16837 __i
.val
[2] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
16841 __extension__
extern __inline int64x2x3_t
16842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16843 vld1q_s64_x3 (const int64_t *__a
)
16846 __builtin_aarch64_simd_ci __o
;
16847 __o
= __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di
*) __a
);
16848 __i
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
16849 __i
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
16850 __i
.val
[2] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
16854 __extension__
extern __inline float16x8x3_t
16855 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16856 vld1q_f16_x3 (const float16_t
*__a
)
16859 __builtin_aarch64_simd_ci __o
;
16860 __o
= __builtin_aarch64_ld1x3v8hf ((const __builtin_aarch64_simd_hf
*) __a
);
16861 __i
.val
[0] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 0);
16862 __i
.val
[1] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 1);
16863 __i
.val
[2] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 2);
16867 __extension__
extern __inline float32x4x3_t
16868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16869 vld1q_f32_x3 (const float32_t
*__a
)
16872 __builtin_aarch64_simd_ci __o
;
16873 __o
= __builtin_aarch64_ld1x3v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
16874 __i
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 0);
16875 __i
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 1);
16876 __i
.val
[2] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 2);
16880 __extension__
extern __inline float64x2x3_t
16881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16882 vld1q_f64_x3 (const float64_t
*__a
)
16885 __builtin_aarch64_simd_ci __o
;
16886 __o
= __builtin_aarch64_ld1x3v2df ((const __builtin_aarch64_simd_df
*) __a
);
16887 __i
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 0);
16888 __i
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 1);
16889 __i
.val
[2] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 2);
16893 __extension__
extern __inline poly8x16x3_t
16894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16895 vld1q_p8_x3 (const poly8_t
*__a
)
16898 __builtin_aarch64_simd_ci __o
;
16899 __o
= __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
16900 __i
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
16901 __i
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
16902 __i
.val
[2] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
16906 __extension__
extern __inline poly16x8x3_t
16907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16908 vld1q_p16_x3 (const poly16_t
*__a
)
16911 __builtin_aarch64_simd_ci __o
;
16912 __o
= __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
16913 __i
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
16914 __i
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
16915 __i
.val
[2] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
16919 __extension__
extern __inline poly64x2x3_t
16920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16921 vld1q_p64_x3 (const poly64_t
*__a
)
16924 __builtin_aarch64_simd_ci __o
;
16925 __o
= __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di
*) __a
);
16926 __i
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
16927 __i
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
16928 __i
.val
[2] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
16934 __extension__
extern __inline float16x8_t
16935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16936 vld1q_f16 (const float16_t
*__a
)
16938 return __builtin_aarch64_ld1v8hf (__a
);
16941 __extension__
extern __inline float32x4_t
16942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16943 vld1q_f32 (const float32_t
*__a
)
16945 return __builtin_aarch64_ld1v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
16948 __extension__
extern __inline float64x2_t
16949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16950 vld1q_f64 (const float64_t
*__a
)
16952 return __builtin_aarch64_ld1v2df ((const __builtin_aarch64_simd_df
*) __a
);
16955 __extension__
extern __inline poly8x16_t
16956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16957 vld1q_p8 (const poly8_t
*__a
)
16959 return (poly8x16_t
)
16960 __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
16963 __extension__
extern __inline poly16x8_t
16964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16965 vld1q_p16 (const poly16_t
*__a
)
16967 return (poly16x8_t
)
16968 __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
16971 __extension__
extern __inline poly64x2_t
16972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16973 vld1q_p64 (const poly64_t
*__a
)
16975 return (poly64x2_t
)
16976 __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di
*) __a
);
16979 __extension__
extern __inline int8x16_t
16980 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16981 vld1q_s8 (const int8_t *__a
)
16983 return __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
16986 __extension__
extern __inline int16x8_t
16987 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16988 vld1q_s16 (const int16_t *__a
)
16990 return __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
16993 __extension__
extern __inline int32x4_t
16994 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16995 vld1q_s32 (const int32_t *__a
)
16997 return __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si
*) __a
);
17000 __extension__
extern __inline int64x2_t
17001 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17002 vld1q_s64 (const int64_t *__a
)
17004 return __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di
*) __a
);
17007 __extension__
extern __inline uint8x16_t
17008 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17009 vld1q_u8 (const uint8_t *__a
)
17011 return (uint8x16_t
)
17012 __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17015 __extension__
extern __inline uint8x8x2_t
17016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17017 vld1_u8_x2 (const uint8_t *__a
)
17020 __builtin_aarch64_simd_oi __o
;
17021 __o
= __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17022 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
17023 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
17027 __extension__
extern __inline int8x8x2_t
17028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17029 vld1_s8_x2 (const int8_t *__a
)
17032 __builtin_aarch64_simd_oi __o
;
17033 __o
= __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17034 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
17035 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
17039 __extension__
extern __inline uint16x4x2_t
17040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17041 vld1_u16_x2 (const uint16_t *__a
)
17044 __builtin_aarch64_simd_oi __o
;
17045 __o
= __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17046 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
17047 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
17051 __extension__
extern __inline int16x4x2_t
17052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17053 vld1_s16_x2 (const int16_t *__a
)
17056 __builtin_aarch64_simd_oi __o
;
17057 __o
= __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17058 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
17059 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
17063 __extension__
extern __inline uint32x2x2_t
17064 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17065 vld1_u32_x2 (const uint32_t *__a
)
17068 __builtin_aarch64_simd_oi __o
;
17069 __o
= __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si
*) __a
);
17070 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
17071 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
17075 __extension__
extern __inline int32x2x2_t
17076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17077 vld1_s32_x2 (const int32_t *__a
)
17080 __builtin_aarch64_simd_oi __o
;
17081 __o
= __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si
*) __a
);
17082 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
17083 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
17087 __extension__
extern __inline uint64x1x2_t
17088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17089 vld1_u64_x2 (const uint64_t *__a
)
17092 __builtin_aarch64_simd_oi __o
;
17093 __o
= __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di
*) __a
);
17094 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
17095 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
17099 __extension__
extern __inline int64x1x2_t
17100 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17101 vld1_s64_x2 (const int64_t *__a
)
17104 __builtin_aarch64_simd_oi __o
;
17105 __o
= __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di
*) __a
);
17106 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
17107 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
17111 __extension__
extern __inline float16x4x2_t
17112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17113 vld1_f16_x2 (const float16_t
*__a
)
17116 __builtin_aarch64_simd_oi __o
;
17117 __o
= __builtin_aarch64_ld1x2v4hf ((const __builtin_aarch64_simd_hf
*) __a
);
17118 ret
.val
[0] = (float16x4_t
) __builtin_aarch64_get_dregoiv4hf (__o
, 0);
17119 ret
.val
[1] = (float16x4_t
) __builtin_aarch64_get_dregoiv4hf (__o
, 1);
17123 __extension__
extern __inline float32x2x2_t
17124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17125 vld1_f32_x2 (const float32_t
*__a
)
17128 __builtin_aarch64_simd_oi __o
;
17129 __o
= __builtin_aarch64_ld1x2v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
17130 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 0);
17131 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 1);
17135 __extension__
extern __inline float64x1x2_t
17136 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17137 vld1_f64_x2 (const float64_t
*__a
)
17140 __builtin_aarch64_simd_oi __o
;
17141 __o
= __builtin_aarch64_ld1x2df ((const __builtin_aarch64_simd_df
*) __a
);
17142 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 0)};
17143 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 1)};
17147 __extension__
extern __inline poly8x8x2_t
17148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17149 vld1_p8_x2 (const poly8_t
*__a
)
17152 __builtin_aarch64_simd_oi __o
;
17153 __o
= __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17154 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
17155 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
17159 __extension__
extern __inline poly16x4x2_t
17160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17161 vld1_p16_x2 (const poly16_t
*__a
)
17164 __builtin_aarch64_simd_oi __o
;
17165 __o
= __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17166 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
17167 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
17171 __extension__
extern __inline poly64x1x2_t
17172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17173 vld1_p64_x2 (const poly64_t
*__a
)
17176 __builtin_aarch64_simd_oi __o
;
17177 __o
= __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di
*) __a
);
17178 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
17179 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
17183 __extension__
extern __inline uint8x16x2_t
17184 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17185 vld1q_u8_x2 (const uint8_t *__a
)
17188 __builtin_aarch64_simd_oi __o
;
17189 __o
= __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17190 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
17191 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
17195 __extension__
extern __inline int8x16x2_t
17196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17197 vld1q_s8_x2 (const int8_t *__a
)
17200 __builtin_aarch64_simd_oi __o
;
17201 __o
= __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17202 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
17203 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
17207 __extension__
extern __inline uint16x8x2_t
17208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17209 vld1q_u16_x2 (const uint16_t *__a
)
17212 __builtin_aarch64_simd_oi __o
;
17213 __o
= __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17214 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
17215 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
17219 __extension__
extern __inline int16x8x2_t
17220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17221 vld1q_s16_x2 (const int16_t *__a
)
17224 __builtin_aarch64_simd_oi __o
;
17225 __o
= __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17226 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
17227 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
17231 __extension__
extern __inline uint32x4x2_t
17232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17233 vld1q_u32_x2 (const uint32_t *__a
)
17236 __builtin_aarch64_simd_oi __o
;
17237 __o
= __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si
*) __a
);
17238 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
17239 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
17243 __extension__
extern __inline int32x4x2_t
17244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17245 vld1q_s32_x2 (const int32_t *__a
)
17248 __builtin_aarch64_simd_oi __o
;
17249 __o
= __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si
*) __a
);
17250 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
17251 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
17255 __extension__
extern __inline uint64x2x2_t
17256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17257 vld1q_u64_x2 (const uint64_t *__a
)
17260 __builtin_aarch64_simd_oi __o
;
17261 __o
= __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di
*) __a
);
17262 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
17263 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
17267 __extension__
extern __inline int64x2x2_t
17268 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17269 vld1q_s64_x2 (const int64_t *__a
)
17272 __builtin_aarch64_simd_oi __o
;
17273 __o
= __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di
*) __a
);
17274 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
17275 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
17279 __extension__
extern __inline float16x8x2_t
17280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17281 vld1q_f16_x2 (const float16_t
*__a
)
17284 __builtin_aarch64_simd_oi __o
;
17285 __o
= __builtin_aarch64_ld1x2v8hf ((const __builtin_aarch64_simd_hf
*) __a
);
17286 ret
.val
[0] = (float16x8_t
) __builtin_aarch64_get_qregoiv8hf (__o
, 0);
17287 ret
.val
[1] = (float16x8_t
) __builtin_aarch64_get_qregoiv8hf (__o
, 1);
17291 __extension__
extern __inline float32x4x2_t
17292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17293 vld1q_f32_x2 (const float32_t
*__a
)
17296 __builtin_aarch64_simd_oi __o
;
17297 __o
= __builtin_aarch64_ld1x2v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
17298 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 0);
17299 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 1);
17303 __extension__
extern __inline float64x2x2_t
17304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17305 vld1q_f64_x2 (const float64_t
*__a
)
17308 __builtin_aarch64_simd_oi __o
;
17309 __o
= __builtin_aarch64_ld1x2v2df ((const __builtin_aarch64_simd_df
*) __a
);
17310 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 0);
17311 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 1);
17315 __extension__
extern __inline poly8x16x2_t
17316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17317 vld1q_p8_x2 (const poly8_t
*__a
)
17320 __builtin_aarch64_simd_oi __o
;
17321 __o
= __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17322 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
17323 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
17327 __extension__
extern __inline poly16x8x2_t
17328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17329 vld1q_p16_x2 (const poly16_t
*__a
)
17332 __builtin_aarch64_simd_oi __o
;
17333 __o
= __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17334 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
17335 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
17339 __extension__
extern __inline poly64x2x2_t
17340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17341 vld1q_p64_x2 (const poly64_t
*__a
)
17344 __builtin_aarch64_simd_oi __o
;
17345 __o
= __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di
*) __a
);
17346 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
17347 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
17351 __extension__
extern __inline uint16x8_t
17352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17353 vld1q_u16 (const uint16_t *__a
)
17355 return (uint16x8_t
)
17356 __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17359 __extension__
extern __inline uint32x4_t
17360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17361 vld1q_u32 (const uint32_t *__a
)
17363 return (uint32x4_t
)
17364 __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si
*) __a
);
17367 __extension__
extern __inline uint64x2_t
17368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17369 vld1q_u64 (const uint64_t *__a
)
17371 return (uint64x2_t
)
17372 __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di
*) __a
);
17377 __extension__
extern __inline int8x8x4_t
17378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17379 vld1_s8_x4 (const int8_t *__a
)
17381 union { int8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17383 = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17387 __extension__
extern __inline int8x16x4_t
17388 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17389 vld1q_s8_x4 (const int8_t *__a
)
17391 union { int8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17393 = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17397 __extension__
extern __inline int16x4x4_t
17398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17399 vld1_s16_x4 (const int16_t *__a
)
17401 union { int16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17403 = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17407 __extension__
extern __inline int16x8x4_t
17408 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17409 vld1q_s16_x4 (const int16_t *__a
)
17411 union { int16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17413 = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17417 __extension__
extern __inline int32x2x4_t
17418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17419 vld1_s32_x4 (const int32_t *__a
)
17421 union { int32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17423 = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si
*) __a
);
17427 __extension__
extern __inline int32x4x4_t
17428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17429 vld1q_s32_x4 (const int32_t *__a
)
17431 union { int32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17433 = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si
*) __a
);
17437 __extension__
extern __inline uint8x8x4_t
17438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17439 vld1_u8_x4 (const uint8_t *__a
)
17441 union { uint8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17443 = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17447 __extension__
extern __inline uint8x16x4_t
17448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17449 vld1q_u8_x4 (const uint8_t *__a
)
17451 union { uint8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17453 = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17457 __extension__
extern __inline uint16x4x4_t
17458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17459 vld1_u16_x4 (const uint16_t *__a
)
17461 union { uint16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17463 = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17467 __extension__
extern __inline uint16x8x4_t
17468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17469 vld1q_u16_x4 (const uint16_t *__a
)
17471 union { uint16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17473 = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17477 __extension__
extern __inline uint32x2x4_t
17478 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17479 vld1_u32_x4 (const uint32_t *__a
)
17481 union { uint32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17483 = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si
*) __a
);
17487 __extension__
extern __inline uint32x4x4_t
17488 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17489 vld1q_u32_x4 (const uint32_t *__a
)
17491 union { uint32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17493 = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si
*) __a
);
17497 __extension__
extern __inline float16x4x4_t
17498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17499 vld1_f16_x4 (const float16_t
*__a
)
17501 union { float16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17503 = __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf
*) __a
);
17507 __extension__
extern __inline float16x8x4_t
17508 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17509 vld1q_f16_x4 (const float16_t
*__a
)
17511 union { float16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17513 = __builtin_aarch64_ld1x4v8hf ((const __builtin_aarch64_simd_hf
*) __a
);
17517 __extension__
extern __inline float32x2x4_t
17518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17519 vld1_f32_x4 (const float32_t
*__a
)
17521 union { float32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17523 = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
17527 __extension__
extern __inline float32x4x4_t
17528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17529 vld1q_f32_x4 (const float32_t
*__a
)
17531 union { float32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17533 = __builtin_aarch64_ld1x4v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
17537 __extension__
extern __inline poly8x8x4_t
17538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17539 vld1_p8_x4 (const poly8_t
*__a
)
17541 union { poly8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17543 = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
17547 __extension__
extern __inline poly8x16x4_t
17548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17549 vld1q_p8_x4 (const poly8_t
*__a
)
17551 union { poly8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17553 = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
17557 __extension__
extern __inline poly16x4x4_t
17558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17559 vld1_p16_x4 (const poly16_t
*__a
)
17561 union { poly16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17563 = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
17567 __extension__
extern __inline poly16x8x4_t
17568 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17569 vld1q_p16_x4 (const poly16_t
*__a
)
17571 union { poly16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17573 = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
17577 __extension__
extern __inline int64x1x4_t
17578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17579 vld1_s64_x4 (const int64_t *__a
)
17581 union { int64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17583 = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di
*) __a
);
17587 __extension__
extern __inline uint64x1x4_t
17588 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17589 vld1_u64_x4 (const uint64_t *__a
)
17591 union { uint64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17593 = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di
*) __a
);
17597 __extension__
extern __inline poly64x1x4_t
17598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17599 vld1_p64_x4 (const poly64_t
*__a
)
17601 union { poly64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17603 = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di
*) __a
);
17607 __extension__
extern __inline int64x2x4_t
17608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17609 vld1q_s64_x4 (const int64_t *__a
)
17611 union { int64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17613 = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di
*) __a
);
17617 __extension__
extern __inline uint64x2x4_t
17618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17619 vld1q_u64_x4 (const uint64_t *__a
)
17621 union { uint64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17623 = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di
*) __a
);
17627 __extension__
extern __inline poly64x2x4_t
17628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17629 vld1q_p64_x4 (const poly64_t
*__a
)
17631 union { poly64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17633 = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di
*) __a
);
17637 __extension__
extern __inline float64x1x4_t
17638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17639 vld1_f64_x4 (const float64_t
*__a
)
17641 union { float64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17643 = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df
*) __a
);
17647 __extension__
extern __inline float64x2x4_t
17648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17649 vld1q_f64_x4 (const float64_t
*__a
)
17651 union { float64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
17653 = __builtin_aarch64_ld1x4v2df ((const __builtin_aarch64_simd_df
*) __a
);
17659 __extension__
extern __inline float16x4_t
17660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17661 vld1_dup_f16 (const float16_t
* __a
)
17663 return vdup_n_f16 (*__a
);
17666 __extension__
extern __inline float32x2_t
17667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17668 vld1_dup_f32 (const float32_t
* __a
)
17670 return vdup_n_f32 (*__a
);
17673 __extension__
extern __inline float64x1_t
17674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17675 vld1_dup_f64 (const float64_t
* __a
)
17677 return vdup_n_f64 (*__a
);
17680 __extension__
extern __inline poly8x8_t
17681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17682 vld1_dup_p8 (const poly8_t
* __a
)
17684 return vdup_n_p8 (*__a
);
17687 __extension__
extern __inline poly16x4_t
17688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17689 vld1_dup_p16 (const poly16_t
* __a
)
17691 return vdup_n_p16 (*__a
);
17694 __extension__
extern __inline poly64x1_t
17695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17696 vld1_dup_p64 (const poly64_t
* __a
)
17698 return vdup_n_p64 (*__a
);
17701 __extension__
extern __inline int8x8_t
17702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17703 vld1_dup_s8 (const int8_t* __a
)
17705 return vdup_n_s8 (*__a
);
17708 __extension__
extern __inline int16x4_t
17709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17710 vld1_dup_s16 (const int16_t* __a
)
17712 return vdup_n_s16 (*__a
);
17715 __extension__
extern __inline int32x2_t
17716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17717 vld1_dup_s32 (const int32_t* __a
)
17719 return vdup_n_s32 (*__a
);
17722 __extension__
extern __inline int64x1_t
17723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17724 vld1_dup_s64 (const int64_t* __a
)
17726 return vdup_n_s64 (*__a
);
17729 __extension__
extern __inline uint8x8_t
17730 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17731 vld1_dup_u8 (const uint8_t* __a
)
17733 return vdup_n_u8 (*__a
);
17736 __extension__
extern __inline uint16x4_t
17737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17738 vld1_dup_u16 (const uint16_t* __a
)
17740 return vdup_n_u16 (*__a
);
17743 __extension__
extern __inline uint32x2_t
17744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17745 vld1_dup_u32 (const uint32_t* __a
)
17747 return vdup_n_u32 (*__a
);
17750 __extension__
extern __inline uint64x1_t
17751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17752 vld1_dup_u64 (const uint64_t* __a
)
17754 return vdup_n_u64 (*__a
);
17759 __extension__
extern __inline float16x8_t
17760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17761 vld1q_dup_f16 (const float16_t
* __a
)
17763 return vdupq_n_f16 (*__a
);
17766 __extension__
extern __inline float32x4_t
17767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17768 vld1q_dup_f32 (const float32_t
* __a
)
17770 return vdupq_n_f32 (*__a
);
17773 __extension__
extern __inline float64x2_t
17774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17775 vld1q_dup_f64 (const float64_t
* __a
)
17777 return vdupq_n_f64 (*__a
);
17780 __extension__
extern __inline poly8x16_t
17781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17782 vld1q_dup_p8 (const poly8_t
* __a
)
17784 return vdupq_n_p8 (*__a
);
17787 __extension__
extern __inline poly16x8_t
17788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17789 vld1q_dup_p16 (const poly16_t
* __a
)
17791 return vdupq_n_p16 (*__a
);
17794 __extension__
extern __inline poly64x2_t
17795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17796 vld1q_dup_p64 (const poly64_t
* __a
)
17798 return vdupq_n_p64 (*__a
);
17801 __extension__
extern __inline int8x16_t
17802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17803 vld1q_dup_s8 (const int8_t* __a
)
17805 return vdupq_n_s8 (*__a
);
17808 __extension__
extern __inline int16x8_t
17809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17810 vld1q_dup_s16 (const int16_t* __a
)
17812 return vdupq_n_s16 (*__a
);
17815 __extension__
extern __inline int32x4_t
17816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17817 vld1q_dup_s32 (const int32_t* __a
)
17819 return vdupq_n_s32 (*__a
);
17822 __extension__
extern __inline int64x2_t
17823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17824 vld1q_dup_s64 (const int64_t* __a
)
17826 return vdupq_n_s64 (*__a
);
17829 __extension__
extern __inline uint8x16_t
17830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17831 vld1q_dup_u8 (const uint8_t* __a
)
17833 return vdupq_n_u8 (*__a
);
17836 __extension__
extern __inline uint16x8_t
17837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17838 vld1q_dup_u16 (const uint16_t* __a
)
17840 return vdupq_n_u16 (*__a
);
17843 __extension__
extern __inline uint32x4_t
17844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17845 vld1q_dup_u32 (const uint32_t* __a
)
17847 return vdupq_n_u32 (*__a
);
17850 __extension__
extern __inline uint64x2_t
17851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17852 vld1q_dup_u64 (const uint64_t* __a
)
17854 return vdupq_n_u64 (*__a
);
17859 __extension__
extern __inline float16x4_t
17860 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17861 vld1_lane_f16 (const float16_t
*__src
, float16x4_t __vec
, const int __lane
)
17863 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17866 __extension__
extern __inline float32x2_t
17867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17868 vld1_lane_f32 (const float32_t
*__src
, float32x2_t __vec
, const int __lane
)
17870 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17873 __extension__
extern __inline float64x1_t
17874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17875 vld1_lane_f64 (const float64_t
*__src
, float64x1_t __vec
, const int __lane
)
17877 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17880 __extension__
extern __inline poly8x8_t
17881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17882 vld1_lane_p8 (const poly8_t
*__src
, poly8x8_t __vec
, const int __lane
)
17884 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17887 __extension__
extern __inline poly16x4_t
17888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17889 vld1_lane_p16 (const poly16_t
*__src
, poly16x4_t __vec
, const int __lane
)
17891 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17894 __extension__
extern __inline poly64x1_t
17895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17896 vld1_lane_p64 (const poly64_t
*__src
, poly64x1_t __vec
, const int __lane
)
17898 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17901 __extension__
extern __inline int8x8_t
17902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17903 vld1_lane_s8 (const int8_t *__src
, int8x8_t __vec
, const int __lane
)
17905 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17908 __extension__
extern __inline int16x4_t
17909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17910 vld1_lane_s16 (const int16_t *__src
, int16x4_t __vec
, const int __lane
)
17912 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17915 __extension__
extern __inline int32x2_t
17916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17917 vld1_lane_s32 (const int32_t *__src
, int32x2_t __vec
, const int __lane
)
17919 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17922 __extension__
extern __inline int64x1_t
17923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17924 vld1_lane_s64 (const int64_t *__src
, int64x1_t __vec
, const int __lane
)
17926 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17929 __extension__
extern __inline uint8x8_t
17930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17931 vld1_lane_u8 (const uint8_t *__src
, uint8x8_t __vec
, const int __lane
)
17933 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17936 __extension__
extern __inline uint16x4_t
17937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17938 vld1_lane_u16 (const uint16_t *__src
, uint16x4_t __vec
, const int __lane
)
17940 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17943 __extension__
extern __inline uint32x2_t
17944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17945 vld1_lane_u32 (const uint32_t *__src
, uint32x2_t __vec
, const int __lane
)
17947 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17950 __extension__
extern __inline uint64x1_t
17951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17952 vld1_lane_u64 (const uint64_t *__src
, uint64x1_t __vec
, const int __lane
)
17954 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17959 __extension__
extern __inline float16x8_t
17960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17961 vld1q_lane_f16 (const float16_t
*__src
, float16x8_t __vec
, const int __lane
)
17963 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17966 __extension__
extern __inline float32x4_t
17967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17968 vld1q_lane_f32 (const float32_t
*__src
, float32x4_t __vec
, const int __lane
)
17970 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17973 __extension__
extern __inline float64x2_t
17974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17975 vld1q_lane_f64 (const float64_t
*__src
, float64x2_t __vec
, const int __lane
)
17977 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17980 __extension__
extern __inline poly8x16_t
17981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17982 vld1q_lane_p8 (const poly8_t
*__src
, poly8x16_t __vec
, const int __lane
)
17984 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17987 __extension__
extern __inline poly16x8_t
17988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17989 vld1q_lane_p16 (const poly16_t
*__src
, poly16x8_t __vec
, const int __lane
)
17991 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
17994 __extension__
extern __inline poly64x2_t
17995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17996 vld1q_lane_p64 (const poly64_t
*__src
, poly64x2_t __vec
, const int __lane
)
17998 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18001 __extension__
extern __inline int8x16_t
18002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18003 vld1q_lane_s8 (const int8_t *__src
, int8x16_t __vec
, const int __lane
)
18005 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18008 __extension__
extern __inline int16x8_t
18009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18010 vld1q_lane_s16 (const int16_t *__src
, int16x8_t __vec
, const int __lane
)
18012 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18015 __extension__
extern __inline int32x4_t
18016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18017 vld1q_lane_s32 (const int32_t *__src
, int32x4_t __vec
, const int __lane
)
18019 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18022 __extension__
extern __inline int64x2_t
18023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18024 vld1q_lane_s64 (const int64_t *__src
, int64x2_t __vec
, const int __lane
)
18026 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18029 __extension__
extern __inline uint8x16_t
18030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18031 vld1q_lane_u8 (const uint8_t *__src
, uint8x16_t __vec
, const int __lane
)
18033 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18036 __extension__
extern __inline uint16x8_t
18037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18038 vld1q_lane_u16 (const uint16_t *__src
, uint16x8_t __vec
, const int __lane
)
18040 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18043 __extension__
extern __inline uint32x4_t
18044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18045 vld1q_lane_u32 (const uint32_t *__src
, uint32x4_t __vec
, const int __lane
)
18047 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18050 __extension__
extern __inline uint64x2_t
18051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18052 vld1q_lane_u64 (const uint64_t *__src
, uint64x2_t __vec
, const int __lane
)
18054 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
18059 __extension__
extern __inline int64x1x2_t
18060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18061 vld2_s64 (const int64_t * __a
)
18064 __builtin_aarch64_simd_oi __o
;
18065 __o
= __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di
*) __a
);
18066 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
18067 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
18071 __extension__
extern __inline uint64x1x2_t
18072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18073 vld2_u64 (const uint64_t * __a
)
18076 __builtin_aarch64_simd_oi __o
;
18077 __o
= __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di
*) __a
);
18078 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
18079 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
18083 __extension__
extern __inline float64x1x2_t
18084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18085 vld2_f64 (const float64_t
* __a
)
18088 __builtin_aarch64_simd_oi __o
;
18089 __o
= __builtin_aarch64_ld2df ((const __builtin_aarch64_simd_df
*) __a
);
18090 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 0)};
18091 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 1)};
18095 __extension__
extern __inline int8x8x2_t
18096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18097 vld2_s8 (const int8_t * __a
)
18100 __builtin_aarch64_simd_oi __o
;
18101 __o
= __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18102 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
18103 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
18107 __extension__
extern __inline poly8x8x2_t
18108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18109 vld2_p8 (const poly8_t
* __a
)
18112 __builtin_aarch64_simd_oi __o
;
18113 __o
= __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18114 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
18115 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
18119 __extension__
extern __inline poly64x1x2_t
18120 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18121 vld2_p64 (const poly64_t
* __a
)
18124 __builtin_aarch64_simd_oi __o
;
18125 __o
= __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di
*) __a
);
18126 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregoidi_pss (__o
, 0);
18127 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregoidi_pss (__o
, 1);
18131 __extension__
extern __inline int16x4x2_t
18132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18133 vld2_s16 (const int16_t * __a
)
18136 __builtin_aarch64_simd_oi __o
;
18137 __o
= __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18138 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
18139 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
18143 __extension__
extern __inline poly16x4x2_t
18144 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18145 vld2_p16 (const poly16_t
* __a
)
18148 __builtin_aarch64_simd_oi __o
;
18149 __o
= __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18150 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
18151 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
18155 __extension__
extern __inline int32x2x2_t
18156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18157 vld2_s32 (const int32_t * __a
)
18160 __builtin_aarch64_simd_oi __o
;
18161 __o
= __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si
*) __a
);
18162 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
18163 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
18167 __extension__
extern __inline uint8x8x2_t
18168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18169 vld2_u8 (const uint8_t * __a
)
18172 __builtin_aarch64_simd_oi __o
;
18173 __o
= __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18174 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
18175 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
18179 __extension__
extern __inline uint16x4x2_t
18180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18181 vld2_u16 (const uint16_t * __a
)
18184 __builtin_aarch64_simd_oi __o
;
18185 __o
= __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18186 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
18187 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
18191 __extension__
extern __inline uint32x2x2_t
18192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18193 vld2_u32 (const uint32_t * __a
)
18196 __builtin_aarch64_simd_oi __o
;
18197 __o
= __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si
*) __a
);
18198 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
18199 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
18203 __extension__
extern __inline float16x4x2_t
18204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18205 vld2_f16 (const float16_t
* __a
)
18208 __builtin_aarch64_simd_oi __o
;
18209 __o
= __builtin_aarch64_ld2v4hf (__a
);
18210 ret
.val
[0] = __builtin_aarch64_get_dregoiv4hf (__o
, 0);
18211 ret
.val
[1] = __builtin_aarch64_get_dregoiv4hf (__o
, 1);
18215 __extension__
extern __inline float32x2x2_t
18216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18217 vld2_f32 (const float32_t
* __a
)
18220 __builtin_aarch64_simd_oi __o
;
18221 __o
= __builtin_aarch64_ld2v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
18222 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 0);
18223 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 1);
18227 __extension__
extern __inline int8x16x2_t
18228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18229 vld2q_s8 (const int8_t * __a
)
18232 __builtin_aarch64_simd_oi __o
;
18233 __o
= __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18234 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
18235 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
18239 __extension__
extern __inline poly8x16x2_t
18240 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18241 vld2q_p8 (const poly8_t
* __a
)
18244 __builtin_aarch64_simd_oi __o
;
18245 __o
= __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18246 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
18247 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
18251 __extension__
extern __inline int16x8x2_t
18252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18253 vld2q_s16 (const int16_t * __a
)
18256 __builtin_aarch64_simd_oi __o
;
18257 __o
= __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18258 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
18259 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
18263 __extension__
extern __inline poly16x8x2_t
18264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18265 vld2q_p16 (const poly16_t
* __a
)
18268 __builtin_aarch64_simd_oi __o
;
18269 __o
= __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18270 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
18271 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
18275 __extension__
extern __inline poly64x2x2_t
18276 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18277 vld2q_p64 (const poly64_t
* __a
)
18280 __builtin_aarch64_simd_oi __o
;
18281 __o
= __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di
*) __a
);
18282 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di_pss (__o
, 0);
18283 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di_pss (__o
, 1);
18287 __extension__
extern __inline int32x4x2_t
18288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18289 vld2q_s32 (const int32_t * __a
)
18292 __builtin_aarch64_simd_oi __o
;
18293 __o
= __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si
*) __a
);
18294 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
18295 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
18299 __extension__
extern __inline int64x2x2_t
18300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18301 vld2q_s64 (const int64_t * __a
)
18304 __builtin_aarch64_simd_oi __o
;
18305 __o
= __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di
*) __a
);
18306 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
18307 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
18311 __extension__
extern __inline uint8x16x2_t
18312 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18313 vld2q_u8 (const uint8_t * __a
)
18316 __builtin_aarch64_simd_oi __o
;
18317 __o
= __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18318 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
18319 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
18323 __extension__
extern __inline uint16x8x2_t
18324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18325 vld2q_u16 (const uint16_t * __a
)
18328 __builtin_aarch64_simd_oi __o
;
18329 __o
= __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18330 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
18331 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
18335 __extension__
extern __inline uint32x4x2_t
18336 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18337 vld2q_u32 (const uint32_t * __a
)
18340 __builtin_aarch64_simd_oi __o
;
18341 __o
= __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si
*) __a
);
18342 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
18343 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
18347 __extension__
extern __inline uint64x2x2_t
18348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18349 vld2q_u64 (const uint64_t * __a
)
18352 __builtin_aarch64_simd_oi __o
;
18353 __o
= __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di
*) __a
);
18354 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
18355 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
18359 __extension__
extern __inline float16x8x2_t
18360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18361 vld2q_f16 (const float16_t
* __a
)
18364 __builtin_aarch64_simd_oi __o
;
18365 __o
= __builtin_aarch64_ld2v8hf (__a
);
18366 ret
.val
[0] = __builtin_aarch64_get_qregoiv8hf (__o
, 0);
18367 ret
.val
[1] = __builtin_aarch64_get_qregoiv8hf (__o
, 1);
18371 __extension__
extern __inline float32x4x2_t
18372 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18373 vld2q_f32 (const float32_t
* __a
)
18376 __builtin_aarch64_simd_oi __o
;
18377 __o
= __builtin_aarch64_ld2v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
18378 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 0);
18379 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 1);
18383 __extension__
extern __inline float64x2x2_t
18384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18385 vld2q_f64 (const float64_t
* __a
)
18388 __builtin_aarch64_simd_oi __o
;
18389 __o
= __builtin_aarch64_ld2v2df ((const __builtin_aarch64_simd_df
*) __a
);
18390 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 0);
18391 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 1);
18395 __extension__
extern __inline int64x1x3_t
18396 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18397 vld3_s64 (const int64_t * __a
)
18400 __builtin_aarch64_simd_ci __o
;
18401 __o
= __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di
*) __a
);
18402 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
18403 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
18404 ret
.val
[2] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
18408 __extension__
extern __inline uint64x1x3_t
18409 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18410 vld3_u64 (const uint64_t * __a
)
18413 __builtin_aarch64_simd_ci __o
;
18414 __o
= __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di
*) __a
);
18415 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
18416 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
18417 ret
.val
[2] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
18421 __extension__
extern __inline float64x1x3_t
18422 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18423 vld3_f64 (const float64_t
* __a
)
18426 __builtin_aarch64_simd_ci __o
;
18427 __o
= __builtin_aarch64_ld3df ((const __builtin_aarch64_simd_df
*) __a
);
18428 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 0)};
18429 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 1)};
18430 ret
.val
[2] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 2)};
18434 __extension__
extern __inline int8x8x3_t
18435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18436 vld3_s8 (const int8_t * __a
)
18439 __builtin_aarch64_simd_ci __o
;
18440 __o
= __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18441 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
18442 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
18443 ret
.val
[2] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
18447 __extension__
extern __inline poly8x8x3_t
18448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18449 vld3_p8 (const poly8_t
* __a
)
18452 __builtin_aarch64_simd_ci __o
;
18453 __o
= __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18454 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
18455 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
18456 ret
.val
[2] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
18460 __extension__
extern __inline int16x4x3_t
18461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18462 vld3_s16 (const int16_t * __a
)
18465 __builtin_aarch64_simd_ci __o
;
18466 __o
= __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18467 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
18468 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
18469 ret
.val
[2] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
18473 __extension__
extern __inline poly16x4x3_t
18474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18475 vld3_p16 (const poly16_t
* __a
)
18478 __builtin_aarch64_simd_ci __o
;
18479 __o
= __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18480 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
18481 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
18482 ret
.val
[2] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
18486 __extension__
extern __inline int32x2x3_t
18487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18488 vld3_s32 (const int32_t * __a
)
18491 __builtin_aarch64_simd_ci __o
;
18492 __o
= __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si
*) __a
);
18493 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
18494 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
18495 ret
.val
[2] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
18499 __extension__
extern __inline uint8x8x3_t
18500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18501 vld3_u8 (const uint8_t * __a
)
18504 __builtin_aarch64_simd_ci __o
;
18505 __o
= __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18506 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
18507 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
18508 ret
.val
[2] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
18512 __extension__
extern __inline uint16x4x3_t
18513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18514 vld3_u16 (const uint16_t * __a
)
18517 __builtin_aarch64_simd_ci __o
;
18518 __o
= __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18519 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
18520 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
18521 ret
.val
[2] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
18525 __extension__
extern __inline uint32x2x3_t
18526 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18527 vld3_u32 (const uint32_t * __a
)
18530 __builtin_aarch64_simd_ci __o
;
18531 __o
= __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si
*) __a
);
18532 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
18533 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
18534 ret
.val
[2] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
18538 __extension__
extern __inline float16x4x3_t
18539 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18540 vld3_f16 (const float16_t
* __a
)
18543 __builtin_aarch64_simd_ci __o
;
18544 __o
= __builtin_aarch64_ld3v4hf (__a
);
18545 ret
.val
[0] = __builtin_aarch64_get_dregciv4hf (__o
, 0);
18546 ret
.val
[1] = __builtin_aarch64_get_dregciv4hf (__o
, 1);
18547 ret
.val
[2] = __builtin_aarch64_get_dregciv4hf (__o
, 2);
18551 __extension__
extern __inline float32x2x3_t
18552 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18553 vld3_f32 (const float32_t
* __a
)
18556 __builtin_aarch64_simd_ci __o
;
18557 __o
= __builtin_aarch64_ld3v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
18558 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 0);
18559 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 1);
18560 ret
.val
[2] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 2);
18564 __extension__
extern __inline poly64x1x3_t
18565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18566 vld3_p64 (const poly64_t
* __a
)
18569 __builtin_aarch64_simd_ci __o
;
18570 __o
= __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di
*) __a
);
18571 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 0);
18572 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 1);
18573 ret
.val
[2] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 2);
18577 __extension__
extern __inline int8x16x3_t
18578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18579 vld3q_s8 (const int8_t * __a
)
18582 __builtin_aarch64_simd_ci __o
;
18583 __o
= __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18584 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
18585 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
18586 ret
.val
[2] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
18590 __extension__
extern __inline poly8x16x3_t
18591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18592 vld3q_p8 (const poly8_t
* __a
)
18595 __builtin_aarch64_simd_ci __o
;
18596 __o
= __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18597 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
18598 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
18599 ret
.val
[2] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
18603 __extension__
extern __inline int16x8x3_t
18604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18605 vld3q_s16 (const int16_t * __a
)
18608 __builtin_aarch64_simd_ci __o
;
18609 __o
= __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18610 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
18611 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
18612 ret
.val
[2] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
18616 __extension__
extern __inline poly16x8x3_t
18617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18618 vld3q_p16 (const poly16_t
* __a
)
18621 __builtin_aarch64_simd_ci __o
;
18622 __o
= __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18623 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
18624 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
18625 ret
.val
[2] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
18629 __extension__
extern __inline int32x4x3_t
18630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18631 vld3q_s32 (const int32_t * __a
)
18634 __builtin_aarch64_simd_ci __o
;
18635 __o
= __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si
*) __a
);
18636 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
18637 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
18638 ret
.val
[2] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
18642 __extension__
extern __inline int64x2x3_t
18643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18644 vld3q_s64 (const int64_t * __a
)
18647 __builtin_aarch64_simd_ci __o
;
18648 __o
= __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di
*) __a
);
18649 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
18650 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
18651 ret
.val
[2] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
18655 __extension__
extern __inline uint8x16x3_t
18656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18657 vld3q_u8 (const uint8_t * __a
)
18660 __builtin_aarch64_simd_ci __o
;
18661 __o
= __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18662 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
18663 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
18664 ret
.val
[2] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
18668 __extension__
extern __inline uint16x8x3_t
18669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18670 vld3q_u16 (const uint16_t * __a
)
18673 __builtin_aarch64_simd_ci __o
;
18674 __o
= __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18675 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
18676 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
18677 ret
.val
[2] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
18681 __extension__
extern __inline uint32x4x3_t
18682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18683 vld3q_u32 (const uint32_t * __a
)
18686 __builtin_aarch64_simd_ci __o
;
18687 __o
= __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si
*) __a
);
18688 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
18689 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
18690 ret
.val
[2] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
18694 __extension__
extern __inline uint64x2x3_t
18695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18696 vld3q_u64 (const uint64_t * __a
)
18699 __builtin_aarch64_simd_ci __o
;
18700 __o
= __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di
*) __a
);
18701 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
18702 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
18703 ret
.val
[2] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
18707 __extension__
extern __inline float16x8x3_t
18708 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18709 vld3q_f16 (const float16_t
* __a
)
18712 __builtin_aarch64_simd_ci __o
;
18713 __o
= __builtin_aarch64_ld3v8hf (__a
);
18714 ret
.val
[0] = __builtin_aarch64_get_qregciv8hf (__o
, 0);
18715 ret
.val
[1] = __builtin_aarch64_get_qregciv8hf (__o
, 1);
18716 ret
.val
[2] = __builtin_aarch64_get_qregciv8hf (__o
, 2);
18720 __extension__
extern __inline float32x4x3_t
18721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18722 vld3q_f32 (const float32_t
* __a
)
18725 __builtin_aarch64_simd_ci __o
;
18726 __o
= __builtin_aarch64_ld3v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
18727 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 0);
18728 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 1);
18729 ret
.val
[2] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 2);
18733 __extension__
extern __inline float64x2x3_t
18734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18735 vld3q_f64 (const float64_t
* __a
)
18738 __builtin_aarch64_simd_ci __o
;
18739 __o
= __builtin_aarch64_ld3v2df ((const __builtin_aarch64_simd_df
*) __a
);
18740 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 0);
18741 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 1);
18742 ret
.val
[2] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 2);
18746 __extension__
extern __inline poly64x2x3_t
18747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18748 vld3q_p64 (const poly64_t
* __a
)
18751 __builtin_aarch64_simd_ci __o
;
18752 __o
= __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di
*) __a
);
18753 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 0);
18754 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 1);
18755 ret
.val
[2] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 2);
18759 __extension__
extern __inline int64x1x4_t
18760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18761 vld4_s64 (const int64_t * __a
)
18764 __builtin_aarch64_simd_xi __o
;
18765 __o
= __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di
*) __a
);
18766 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 0);
18767 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 1);
18768 ret
.val
[2] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 2);
18769 ret
.val
[3] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 3);
18773 __extension__
extern __inline uint64x1x4_t
18774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18775 vld4_u64 (const uint64_t * __a
)
18778 __builtin_aarch64_simd_xi __o
;
18779 __o
= __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di
*) __a
);
18780 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 0);
18781 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 1);
18782 ret
.val
[2] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 2);
18783 ret
.val
[3] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 3);
18787 __extension__
extern __inline float64x1x4_t
18788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18789 vld4_f64 (const float64_t
* __a
)
18792 __builtin_aarch64_simd_xi __o
;
18793 __o
= __builtin_aarch64_ld4df ((const __builtin_aarch64_simd_df
*) __a
);
18794 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 0)};
18795 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 1)};
18796 ret
.val
[2] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 2)};
18797 ret
.val
[3] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 3)};
18801 __extension__
extern __inline int8x8x4_t
18802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18803 vld4_s8 (const int8_t * __a
)
18806 __builtin_aarch64_simd_xi __o
;
18807 __o
= __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18808 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
18809 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
18810 ret
.val
[2] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
18811 ret
.val
[3] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
18815 __extension__
extern __inline poly8x8x4_t
18816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18817 vld4_p8 (const poly8_t
* __a
)
18820 __builtin_aarch64_simd_xi __o
;
18821 __o
= __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18822 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
18823 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
18824 ret
.val
[2] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
18825 ret
.val
[3] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
18829 __extension__
extern __inline int16x4x4_t
18830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18831 vld4_s16 (const int16_t * __a
)
18834 __builtin_aarch64_simd_xi __o
;
18835 __o
= __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18836 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
18837 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
18838 ret
.val
[2] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
18839 ret
.val
[3] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
18843 __extension__
extern __inline poly16x4x4_t
18844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18845 vld4_p16 (const poly16_t
* __a
)
18848 __builtin_aarch64_simd_xi __o
;
18849 __o
= __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18850 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
18851 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
18852 ret
.val
[2] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
18853 ret
.val
[3] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
18857 __extension__
extern __inline int32x2x4_t
18858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18859 vld4_s32 (const int32_t * __a
)
18862 __builtin_aarch64_simd_xi __o
;
18863 __o
= __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si
*) __a
);
18864 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 0);
18865 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 1);
18866 ret
.val
[2] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 2);
18867 ret
.val
[3] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 3);
18871 __extension__
extern __inline uint8x8x4_t
18872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18873 vld4_u8 (const uint8_t * __a
)
18876 __builtin_aarch64_simd_xi __o
;
18877 __o
= __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi
*) __a
);
18878 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
18879 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
18880 ret
.val
[2] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
18881 ret
.val
[3] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
18885 __extension__
extern __inline uint16x4x4_t
18886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18887 vld4_u16 (const uint16_t * __a
)
18890 __builtin_aarch64_simd_xi __o
;
18891 __o
= __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi
*) __a
);
18892 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
18893 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
18894 ret
.val
[2] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
18895 ret
.val
[3] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
18899 __extension__
extern __inline uint32x2x4_t
18900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18901 vld4_u32 (const uint32_t * __a
)
18904 __builtin_aarch64_simd_xi __o
;
18905 __o
= __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si
*) __a
);
18906 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 0);
18907 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 1);
18908 ret
.val
[2] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 2);
18909 ret
.val
[3] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 3);
18913 __extension__
extern __inline float16x4x4_t
18914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18915 vld4_f16 (const float16_t
* __a
)
18918 __builtin_aarch64_simd_xi __o
;
18919 __o
= __builtin_aarch64_ld4v4hf (__a
);
18920 ret
.val
[0] = __builtin_aarch64_get_dregxiv4hf (__o
, 0);
18921 ret
.val
[1] = __builtin_aarch64_get_dregxiv4hf (__o
, 1);
18922 ret
.val
[2] = __builtin_aarch64_get_dregxiv4hf (__o
, 2);
18923 ret
.val
[3] = __builtin_aarch64_get_dregxiv4hf (__o
, 3);
18927 __extension__
extern __inline float32x2x4_t
18928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18929 vld4_f32 (const float32_t
* __a
)
18932 __builtin_aarch64_simd_xi __o
;
18933 __o
= __builtin_aarch64_ld4v2sf ((const __builtin_aarch64_simd_sf
*) __a
);
18934 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 0);
18935 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 1);
18936 ret
.val
[2] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 2);
18937 ret
.val
[3] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 3);
18941 __extension__
extern __inline poly64x1x4_t
18942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18943 vld4_p64 (const poly64_t
* __a
)
18946 __builtin_aarch64_simd_xi __o
;
18947 __o
= __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di
*) __a
);
18948 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 0);
18949 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 1);
18950 ret
.val
[2] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 2);
18951 ret
.val
[3] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 3);
18955 __extension__
extern __inline int8x16x4_t
18956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18957 vld4q_s8 (const int8_t * __a
)
18960 __builtin_aarch64_simd_xi __o
;
18961 __o
= __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18962 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
18963 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
18964 ret
.val
[2] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
18965 ret
.val
[3] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
18969 __extension__
extern __inline poly8x16x4_t
18970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18971 vld4q_p8 (const poly8_t
* __a
)
18974 __builtin_aarch64_simd_xi __o
;
18975 __o
= __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
18976 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
18977 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
18978 ret
.val
[2] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
18979 ret
.val
[3] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
18983 __extension__
extern __inline int16x8x4_t
18984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18985 vld4q_s16 (const int16_t * __a
)
18988 __builtin_aarch64_simd_xi __o
;
18989 __o
= __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
18990 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
18991 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
18992 ret
.val
[2] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
18993 ret
.val
[3] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
18997 __extension__
extern __inline poly16x8x4_t
18998 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18999 vld4q_p16 (const poly16_t
* __a
)
19002 __builtin_aarch64_simd_xi __o
;
19003 __o
= __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19004 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
19005 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
19006 ret
.val
[2] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
19007 ret
.val
[3] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
19011 __extension__
extern __inline int32x4x4_t
19012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19013 vld4q_s32 (const int32_t * __a
)
19016 __builtin_aarch64_simd_xi __o
;
19017 __o
= __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si
*) __a
);
19018 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 0);
19019 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 1);
19020 ret
.val
[2] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 2);
19021 ret
.val
[3] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 3);
19025 __extension__
extern __inline int64x2x4_t
19026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19027 vld4q_s64 (const int64_t * __a
)
19030 __builtin_aarch64_simd_xi __o
;
19031 __o
= __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di
*) __a
);
19032 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 0);
19033 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 1);
19034 ret
.val
[2] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 2);
19035 ret
.val
[3] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 3);
19039 __extension__
extern __inline uint8x16x4_t
19040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19041 vld4q_u8 (const uint8_t * __a
)
19044 __builtin_aarch64_simd_xi __o
;
19045 __o
= __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19046 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
19047 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
19048 ret
.val
[2] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
19049 ret
.val
[3] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
19053 __extension__
extern __inline uint16x8x4_t
19054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19055 vld4q_u16 (const uint16_t * __a
)
19058 __builtin_aarch64_simd_xi __o
;
19059 __o
= __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19060 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
19061 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
19062 ret
.val
[2] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
19063 ret
.val
[3] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
19067 __extension__
extern __inline uint32x4x4_t
19068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19069 vld4q_u32 (const uint32_t * __a
)
19072 __builtin_aarch64_simd_xi __o
;
19073 __o
= __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si
*) __a
);
19074 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 0);
19075 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 1);
19076 ret
.val
[2] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 2);
19077 ret
.val
[3] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 3);
19081 __extension__
extern __inline uint64x2x4_t
19082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19083 vld4q_u64 (const uint64_t * __a
)
19086 __builtin_aarch64_simd_xi __o
;
19087 __o
= __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di
*) __a
);
19088 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 0);
19089 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 1);
19090 ret
.val
[2] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 2);
19091 ret
.val
[3] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 3);
19095 __extension__
extern __inline float16x8x4_t
19096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19097 vld4q_f16 (const float16_t
* __a
)
19100 __builtin_aarch64_simd_xi __o
;
19101 __o
= __builtin_aarch64_ld4v8hf (__a
);
19102 ret
.val
[0] = __builtin_aarch64_get_qregxiv8hf (__o
, 0);
19103 ret
.val
[1] = __builtin_aarch64_get_qregxiv8hf (__o
, 1);
19104 ret
.val
[2] = __builtin_aarch64_get_qregxiv8hf (__o
, 2);
19105 ret
.val
[3] = __builtin_aarch64_get_qregxiv8hf (__o
, 3);
19109 __extension__
extern __inline float32x4x4_t
19110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19111 vld4q_f32 (const float32_t
* __a
)
19114 __builtin_aarch64_simd_xi __o
;
19115 __o
= __builtin_aarch64_ld4v4sf ((const __builtin_aarch64_simd_sf
*) __a
);
19116 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 0);
19117 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 1);
19118 ret
.val
[2] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 2);
19119 ret
.val
[3] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 3);
19123 __extension__
extern __inline float64x2x4_t
19124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19125 vld4q_f64 (const float64_t
* __a
)
19128 __builtin_aarch64_simd_xi __o
;
19129 __o
= __builtin_aarch64_ld4v2df ((const __builtin_aarch64_simd_df
*) __a
);
19130 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 0);
19131 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 1);
19132 ret
.val
[2] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 2);
19133 ret
.val
[3] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 3);
19137 __extension__
extern __inline poly64x2x4_t
19138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19139 vld4q_p64 (const poly64_t
* __a
)
19142 __builtin_aarch64_simd_xi __o
;
19143 __o
= __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di
*) __a
);
19144 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 0);
19145 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 1);
19146 ret
.val
[2] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 2);
19147 ret
.val
[3] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 3);
19151 __extension__
extern __inline poly128_t
19152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19153 vldrq_p128 (const poly128_t
* __ptr
)
19160 __extension__
extern __inline int8x8x2_t
19161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19162 vld2_dup_s8 (const int8_t * __a
)
19165 __builtin_aarch64_simd_oi __o
;
19166 __o
= __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19167 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
19168 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
19172 __extension__
extern __inline int16x4x2_t
19173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19174 vld2_dup_s16 (const int16_t * __a
)
19177 __builtin_aarch64_simd_oi __o
;
19178 __o
= __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19179 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
19180 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
19184 __extension__
extern __inline int32x2x2_t
19185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19186 vld2_dup_s32 (const int32_t * __a
)
19189 __builtin_aarch64_simd_oi __o
;
19190 __o
= __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si
*) __a
);
19191 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
19192 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
19196 __extension__
extern __inline float16x4x2_t
19197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19198 vld2_dup_f16 (const float16_t
* __a
)
19201 __builtin_aarch64_simd_oi __o
;
19202 __o
= __builtin_aarch64_ld2rv4hf ((const __builtin_aarch64_simd_hf
*) __a
);
19203 ret
.val
[0] = __builtin_aarch64_get_dregoiv4hf (__o
, 0);
19204 ret
.val
[1] = (float16x4_t
) __builtin_aarch64_get_dregoiv4hf (__o
, 1);
19208 __extension__
extern __inline float32x2x2_t
19209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19210 vld2_dup_f32 (const float32_t
* __a
)
19213 __builtin_aarch64_simd_oi __o
;
19214 __o
= __builtin_aarch64_ld2rv2sf ((const __builtin_aarch64_simd_sf
*) __a
);
19215 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 0);
19216 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregoiv2sf (__o
, 1);
19220 __extension__
extern __inline float64x1x2_t
19221 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19222 vld2_dup_f64 (const float64_t
* __a
)
19225 __builtin_aarch64_simd_oi __o
;
19226 __o
= __builtin_aarch64_ld2rdf ((const __builtin_aarch64_simd_df
*) __a
);
19227 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 0)};
19228 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregoidf (__o
, 1)};
19232 __extension__
extern __inline uint8x8x2_t
19233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19234 vld2_dup_u8 (const uint8_t * __a
)
19237 __builtin_aarch64_simd_oi __o
;
19238 __o
= __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19239 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
19240 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
19244 __extension__
extern __inline uint16x4x2_t
19245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19246 vld2_dup_u16 (const uint16_t * __a
)
19249 __builtin_aarch64_simd_oi __o
;
19250 __o
= __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19251 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
19252 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
19256 __extension__
extern __inline uint32x2x2_t
19257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19258 vld2_dup_u32 (const uint32_t * __a
)
19261 __builtin_aarch64_simd_oi __o
;
19262 __o
= __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si
*) __a
);
19263 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 0);
19264 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregoiv2si (__o
, 1);
19268 __extension__
extern __inline poly8x8x2_t
19269 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19270 vld2_dup_p8 (const poly8_t
* __a
)
19273 __builtin_aarch64_simd_oi __o
;
19274 __o
= __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19275 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 0);
19276 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregoiv8qi (__o
, 1);
19280 __extension__
extern __inline poly16x4x2_t
19281 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19282 vld2_dup_p16 (const poly16_t
* __a
)
19285 __builtin_aarch64_simd_oi __o
;
19286 __o
= __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19287 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 0);
19288 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregoiv4hi (__o
, 1);
19292 __extension__
extern __inline poly64x1x2_t
19293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19294 vld2_dup_p64 (const poly64_t
* __a
)
19297 __builtin_aarch64_simd_oi __o
;
19298 __o
= __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19299 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregoidi_pss (__o
, 0);
19300 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregoidi_pss (__o
, 1);
19305 __extension__
extern __inline int64x1x2_t
19306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19307 vld2_dup_s64 (const int64_t * __a
)
19310 __builtin_aarch64_simd_oi __o
;
19311 __o
= __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di
*) __a
);
19312 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
19313 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
19317 __extension__
extern __inline uint64x1x2_t
19318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19319 vld2_dup_u64 (const uint64_t * __a
)
19322 __builtin_aarch64_simd_oi __o
;
19323 __o
= __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di
*) __a
);
19324 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 0);
19325 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregoidi (__o
, 1);
19329 __extension__
extern __inline int8x16x2_t
19330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19331 vld2q_dup_s8 (const int8_t * __a
)
19334 __builtin_aarch64_simd_oi __o
;
19335 __o
= __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19336 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
19337 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
19341 __extension__
extern __inline poly8x16x2_t
19342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19343 vld2q_dup_p8 (const poly8_t
* __a
)
19346 __builtin_aarch64_simd_oi __o
;
19347 __o
= __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19348 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
19349 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
19353 __extension__
extern __inline int16x8x2_t
19354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19355 vld2q_dup_s16 (const int16_t * __a
)
19358 __builtin_aarch64_simd_oi __o
;
19359 __o
= __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19360 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
19361 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
19365 __extension__
extern __inline poly16x8x2_t
19366 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19367 vld2q_dup_p16 (const poly16_t
* __a
)
19370 __builtin_aarch64_simd_oi __o
;
19371 __o
= __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19372 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
19373 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
19377 __extension__
extern __inline int32x4x2_t
19378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19379 vld2q_dup_s32 (const int32_t * __a
)
19382 __builtin_aarch64_simd_oi __o
;
19383 __o
= __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si
*) __a
);
19384 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
19385 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
19389 __extension__
extern __inline int64x2x2_t
19390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19391 vld2q_dup_s64 (const int64_t * __a
)
19394 __builtin_aarch64_simd_oi __o
;
19395 __o
= __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19396 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
19397 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
19401 __extension__
extern __inline uint8x16x2_t
19402 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19403 vld2q_dup_u8 (const uint8_t * __a
)
19406 __builtin_aarch64_simd_oi __o
;
19407 __o
= __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19408 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 0);
19409 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregoiv16qi (__o
, 1);
19413 __extension__
extern __inline uint16x8x2_t
19414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19415 vld2q_dup_u16 (const uint16_t * __a
)
19418 __builtin_aarch64_simd_oi __o
;
19419 __o
= __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19420 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 0);
19421 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregoiv8hi (__o
, 1);
19425 __extension__
extern __inline uint32x4x2_t
19426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19427 vld2q_dup_u32 (const uint32_t * __a
)
19430 __builtin_aarch64_simd_oi __o
;
19431 __o
= __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si
*) __a
);
19432 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 0);
19433 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregoiv4si (__o
, 1);
19437 __extension__
extern __inline uint64x2x2_t
19438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19439 vld2q_dup_u64 (const uint64_t * __a
)
19442 __builtin_aarch64_simd_oi __o
;
19443 __o
= __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19444 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 0);
19445 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregoiv2di (__o
, 1);
19449 __extension__
extern __inline float16x8x2_t
19450 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19451 vld2q_dup_f16 (const float16_t
* __a
)
19454 __builtin_aarch64_simd_oi __o
;
19455 __o
= __builtin_aarch64_ld2rv8hf ((const __builtin_aarch64_simd_hf
*) __a
);
19456 ret
.val
[0] = (float16x8_t
) __builtin_aarch64_get_qregoiv8hf (__o
, 0);
19457 ret
.val
[1] = __builtin_aarch64_get_qregoiv8hf (__o
, 1);
19461 __extension__
extern __inline float32x4x2_t
19462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19463 vld2q_dup_f32 (const float32_t
* __a
)
19466 __builtin_aarch64_simd_oi __o
;
19467 __o
= __builtin_aarch64_ld2rv4sf ((const __builtin_aarch64_simd_sf
*) __a
);
19468 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 0);
19469 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregoiv4sf (__o
, 1);
19473 __extension__
extern __inline float64x2x2_t
19474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19475 vld2q_dup_f64 (const float64_t
* __a
)
19478 __builtin_aarch64_simd_oi __o
;
19479 __o
= __builtin_aarch64_ld2rv2df ((const __builtin_aarch64_simd_df
*) __a
);
19480 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 0);
19481 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregoiv2df (__o
, 1);
19485 __extension__
extern __inline poly64x2x2_t
19486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19487 vld2q_dup_p64 (const poly64_t
* __a
)
19490 __builtin_aarch64_simd_oi __o
;
19491 __o
= __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19492 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di_pss (__o
, 0);
19493 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregoiv2di_pss (__o
, 1);
19497 __extension__
extern __inline int64x1x3_t
19498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19499 vld3_dup_s64 (const int64_t * __a
)
19502 __builtin_aarch64_simd_ci __o
;
19503 __o
= __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di
*) __a
);
19504 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
19505 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
19506 ret
.val
[2] = (int64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
19510 __extension__
extern __inline uint64x1x3_t
19511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19512 vld3_dup_u64 (const uint64_t * __a
)
19515 __builtin_aarch64_simd_ci __o
;
19516 __o
= __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di
*) __a
);
19517 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 0);
19518 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 1);
19519 ret
.val
[2] = (uint64x1_t
) __builtin_aarch64_get_dregcidi (__o
, 2);
19523 __extension__
extern __inline float64x1x3_t
19524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19525 vld3_dup_f64 (const float64_t
* __a
)
19528 __builtin_aarch64_simd_ci __o
;
19529 __o
= __builtin_aarch64_ld3rdf ((const __builtin_aarch64_simd_df
*) __a
);
19530 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 0)};
19531 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 1)};
19532 ret
.val
[2] = (float64x1_t
) {__builtin_aarch64_get_dregcidf (__o
, 2)};
19536 __extension__
extern __inline int8x8x3_t
19537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19538 vld3_dup_s8 (const int8_t * __a
)
19541 __builtin_aarch64_simd_ci __o
;
19542 __o
= __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19543 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
19544 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
19545 ret
.val
[2] = (int8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
19549 __extension__
extern __inline poly8x8x3_t
19550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19551 vld3_dup_p8 (const poly8_t
* __a
)
19554 __builtin_aarch64_simd_ci __o
;
19555 __o
= __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19556 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
19557 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
19558 ret
.val
[2] = (poly8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
19562 __extension__
extern __inline int16x4x3_t
19563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19564 vld3_dup_s16 (const int16_t * __a
)
19567 __builtin_aarch64_simd_ci __o
;
19568 __o
= __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19569 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
19570 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
19571 ret
.val
[2] = (int16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
19575 __extension__
extern __inline poly16x4x3_t
19576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19577 vld3_dup_p16 (const poly16_t
* __a
)
19580 __builtin_aarch64_simd_ci __o
;
19581 __o
= __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19582 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
19583 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
19584 ret
.val
[2] = (poly16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
19588 __extension__
extern __inline int32x2x3_t
19589 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19590 vld3_dup_s32 (const int32_t * __a
)
19593 __builtin_aarch64_simd_ci __o
;
19594 __o
= __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si
*) __a
);
19595 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
19596 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
19597 ret
.val
[2] = (int32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
19601 __extension__
extern __inline uint8x8x3_t
19602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19603 vld3_dup_u8 (const uint8_t * __a
)
19606 __builtin_aarch64_simd_ci __o
;
19607 __o
= __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19608 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 0);
19609 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 1);
19610 ret
.val
[2] = (uint8x8_t
) __builtin_aarch64_get_dregciv8qi (__o
, 2);
19614 __extension__
extern __inline uint16x4x3_t
19615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19616 vld3_dup_u16 (const uint16_t * __a
)
19619 __builtin_aarch64_simd_ci __o
;
19620 __o
= __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19621 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 0);
19622 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 1);
19623 ret
.val
[2] = (uint16x4_t
) __builtin_aarch64_get_dregciv4hi (__o
, 2);
19627 __extension__
extern __inline uint32x2x3_t
19628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19629 vld3_dup_u32 (const uint32_t * __a
)
19632 __builtin_aarch64_simd_ci __o
;
19633 __o
= __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si
*) __a
);
19634 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 0);
19635 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 1);
19636 ret
.val
[2] = (uint32x2_t
) __builtin_aarch64_get_dregciv2si (__o
, 2);
19640 __extension__
extern __inline float16x4x3_t
19641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19642 vld3_dup_f16 (const float16_t
* __a
)
19645 __builtin_aarch64_simd_ci __o
;
19646 __o
= __builtin_aarch64_ld3rv4hf ((const __builtin_aarch64_simd_hf
*) __a
);
19647 ret
.val
[0] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 0);
19648 ret
.val
[1] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 1);
19649 ret
.val
[2] = (float16x4_t
) __builtin_aarch64_get_dregciv4hf (__o
, 2);
19653 __extension__
extern __inline float32x2x3_t
19654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19655 vld3_dup_f32 (const float32_t
* __a
)
19658 __builtin_aarch64_simd_ci __o
;
19659 __o
= __builtin_aarch64_ld3rv2sf ((const __builtin_aarch64_simd_sf
*) __a
);
19660 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 0);
19661 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 1);
19662 ret
.val
[2] = (float32x2_t
) __builtin_aarch64_get_dregciv2sf (__o
, 2);
19666 __extension__
extern __inline poly64x1x3_t
19667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19668 vld3_dup_p64 (const poly64_t
* __a
)
19671 __builtin_aarch64_simd_ci __o
;
19672 __o
= __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19673 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 0);
19674 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 1);
19675 ret
.val
[2] = (poly64x1_t
) __builtin_aarch64_get_dregcidi_pss (__o
, 2);
19679 __extension__
extern __inline int8x16x3_t
19680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19681 vld3q_dup_s8 (const int8_t * __a
)
19684 __builtin_aarch64_simd_ci __o
;
19685 __o
= __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19686 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
19687 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
19688 ret
.val
[2] = (int8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
19692 __extension__
extern __inline poly8x16x3_t
19693 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19694 vld3q_dup_p8 (const poly8_t
* __a
)
19697 __builtin_aarch64_simd_ci __o
;
19698 __o
= __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19699 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
19700 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
19701 ret
.val
[2] = (poly8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
19705 __extension__
extern __inline int16x8x3_t
19706 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19707 vld3q_dup_s16 (const int16_t * __a
)
19710 __builtin_aarch64_simd_ci __o
;
19711 __o
= __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19712 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
19713 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
19714 ret
.val
[2] = (int16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
19718 __extension__
extern __inline poly16x8x3_t
19719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19720 vld3q_dup_p16 (const poly16_t
* __a
)
19723 __builtin_aarch64_simd_ci __o
;
19724 __o
= __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19725 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
19726 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
19727 ret
.val
[2] = (poly16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
19731 __extension__
extern __inline int32x4x3_t
19732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19733 vld3q_dup_s32 (const int32_t * __a
)
19736 __builtin_aarch64_simd_ci __o
;
19737 __o
= __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si
*) __a
);
19738 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
19739 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
19740 ret
.val
[2] = (int32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
19744 __extension__
extern __inline int64x2x3_t
19745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19746 vld3q_dup_s64 (const int64_t * __a
)
19749 __builtin_aarch64_simd_ci __o
;
19750 __o
= __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19751 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
19752 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
19753 ret
.val
[2] = (int64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
19757 __extension__
extern __inline uint8x16x3_t
19758 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19759 vld3q_dup_u8 (const uint8_t * __a
)
19762 __builtin_aarch64_simd_ci __o
;
19763 __o
= __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
19764 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 0);
19765 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 1);
19766 ret
.val
[2] = (uint8x16_t
) __builtin_aarch64_get_qregciv16qi (__o
, 2);
19770 __extension__
extern __inline uint16x8x3_t
19771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19772 vld3q_dup_u16 (const uint16_t * __a
)
19775 __builtin_aarch64_simd_ci __o
;
19776 __o
= __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
19777 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 0);
19778 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 1);
19779 ret
.val
[2] = (uint16x8_t
) __builtin_aarch64_get_qregciv8hi (__o
, 2);
19783 __extension__
extern __inline uint32x4x3_t
19784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19785 vld3q_dup_u32 (const uint32_t * __a
)
19788 __builtin_aarch64_simd_ci __o
;
19789 __o
= __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si
*) __a
);
19790 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 0);
19791 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 1);
19792 ret
.val
[2] = (uint32x4_t
) __builtin_aarch64_get_qregciv4si (__o
, 2);
19796 __extension__
extern __inline uint64x2x3_t
19797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19798 vld3q_dup_u64 (const uint64_t * __a
)
19801 __builtin_aarch64_simd_ci __o
;
19802 __o
= __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19803 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 0);
19804 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 1);
19805 ret
.val
[2] = (uint64x2_t
) __builtin_aarch64_get_qregciv2di (__o
, 2);
19809 __extension__
extern __inline float16x8x3_t
19810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19811 vld3q_dup_f16 (const float16_t
* __a
)
19814 __builtin_aarch64_simd_ci __o
;
19815 __o
= __builtin_aarch64_ld3rv8hf ((const __builtin_aarch64_simd_hf
*) __a
);
19816 ret
.val
[0] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 0);
19817 ret
.val
[1] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 1);
19818 ret
.val
[2] = (float16x8_t
) __builtin_aarch64_get_qregciv8hf (__o
, 2);
19822 __extension__
extern __inline float32x4x3_t
19823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19824 vld3q_dup_f32 (const float32_t
* __a
)
19827 __builtin_aarch64_simd_ci __o
;
19828 __o
= __builtin_aarch64_ld3rv4sf ((const __builtin_aarch64_simd_sf
*) __a
);
19829 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 0);
19830 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 1);
19831 ret
.val
[2] = (float32x4_t
) __builtin_aarch64_get_qregciv4sf (__o
, 2);
19835 __extension__
extern __inline float64x2x3_t
19836 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19837 vld3q_dup_f64 (const float64_t
* __a
)
19840 __builtin_aarch64_simd_ci __o
;
19841 __o
= __builtin_aarch64_ld3rv2df ((const __builtin_aarch64_simd_df
*) __a
);
19842 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 0);
19843 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 1);
19844 ret
.val
[2] = (float64x2_t
) __builtin_aarch64_get_qregciv2df (__o
, 2);
19848 __extension__
extern __inline poly64x2x3_t
19849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19850 vld3q_dup_p64 (const poly64_t
* __a
)
19853 __builtin_aarch64_simd_ci __o
;
19854 __o
= __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di
*) __a
);
19855 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 0);
19856 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 1);
19857 ret
.val
[2] = (poly64x2_t
) __builtin_aarch64_get_qregciv2di_pss (__o
, 2);
19861 __extension__
extern __inline int64x1x4_t
19862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19863 vld4_dup_s64 (const int64_t * __a
)
19866 __builtin_aarch64_simd_xi __o
;
19867 __o
= __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di
*) __a
);
19868 ret
.val
[0] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 0);
19869 ret
.val
[1] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 1);
19870 ret
.val
[2] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 2);
19871 ret
.val
[3] = (int64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 3);
19875 __extension__
extern __inline uint64x1x4_t
19876 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19877 vld4_dup_u64 (const uint64_t * __a
)
19880 __builtin_aarch64_simd_xi __o
;
19881 __o
= __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di
*) __a
);
19882 ret
.val
[0] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 0);
19883 ret
.val
[1] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 1);
19884 ret
.val
[2] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 2);
19885 ret
.val
[3] = (uint64x1_t
) __builtin_aarch64_get_dregxidi (__o
, 3);
19889 __extension__
extern __inline float64x1x4_t
19890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19891 vld4_dup_f64 (const float64_t
* __a
)
19894 __builtin_aarch64_simd_xi __o
;
19895 __o
= __builtin_aarch64_ld4rdf ((const __builtin_aarch64_simd_df
*) __a
);
19896 ret
.val
[0] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 0)};
19897 ret
.val
[1] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 1)};
19898 ret
.val
[2] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 2)};
19899 ret
.val
[3] = (float64x1_t
) {__builtin_aarch64_get_dregxidf (__o
, 3)};
19903 __extension__
extern __inline int8x8x4_t
19904 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19905 vld4_dup_s8 (const int8_t * __a
)
19908 __builtin_aarch64_simd_xi __o
;
19909 __o
= __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19910 ret
.val
[0] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
19911 ret
.val
[1] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
19912 ret
.val
[2] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
19913 ret
.val
[3] = (int8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
19917 __extension__
extern __inline poly8x8x4_t
19918 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19919 vld4_dup_p8 (const poly8_t
* __a
)
19922 __builtin_aarch64_simd_xi __o
;
19923 __o
= __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19924 ret
.val
[0] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
19925 ret
.val
[1] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
19926 ret
.val
[2] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
19927 ret
.val
[3] = (poly8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
19931 __extension__
extern __inline int16x4x4_t
19932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19933 vld4_dup_s16 (const int16_t * __a
)
19936 __builtin_aarch64_simd_xi __o
;
19937 __o
= __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19938 ret
.val
[0] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
19939 ret
.val
[1] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
19940 ret
.val
[2] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
19941 ret
.val
[3] = (int16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
19945 __extension__
extern __inline poly16x4x4_t
19946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19947 vld4_dup_p16 (const poly16_t
* __a
)
19950 __builtin_aarch64_simd_xi __o
;
19951 __o
= __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19952 ret
.val
[0] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
19953 ret
.val
[1] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
19954 ret
.val
[2] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
19955 ret
.val
[3] = (poly16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
19959 __extension__
extern __inline int32x2x4_t
19960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19961 vld4_dup_s32 (const int32_t * __a
)
19964 __builtin_aarch64_simd_xi __o
;
19965 __o
= __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si
*) __a
);
19966 ret
.val
[0] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 0);
19967 ret
.val
[1] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 1);
19968 ret
.val
[2] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 2);
19969 ret
.val
[3] = (int32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 3);
19973 __extension__
extern __inline uint8x8x4_t
19974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19975 vld4_dup_u8 (const uint8_t * __a
)
19978 __builtin_aarch64_simd_xi __o
;
19979 __o
= __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi
*) __a
);
19980 ret
.val
[0] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 0);
19981 ret
.val
[1] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 1);
19982 ret
.val
[2] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 2);
19983 ret
.val
[3] = (uint8x8_t
) __builtin_aarch64_get_dregxiv8qi (__o
, 3);
19987 __extension__
extern __inline uint16x4x4_t
19988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19989 vld4_dup_u16 (const uint16_t * __a
)
19992 __builtin_aarch64_simd_xi __o
;
19993 __o
= __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi
*) __a
);
19994 ret
.val
[0] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 0);
19995 ret
.val
[1] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 1);
19996 ret
.val
[2] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 2);
19997 ret
.val
[3] = (uint16x4_t
) __builtin_aarch64_get_dregxiv4hi (__o
, 3);
20001 __extension__
extern __inline uint32x2x4_t
20002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20003 vld4_dup_u32 (const uint32_t * __a
)
20006 __builtin_aarch64_simd_xi __o
;
20007 __o
= __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si
*) __a
);
20008 ret
.val
[0] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 0);
20009 ret
.val
[1] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 1);
20010 ret
.val
[2] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 2);
20011 ret
.val
[3] = (uint32x2_t
) __builtin_aarch64_get_dregxiv2si (__o
, 3);
20015 __extension__
extern __inline float16x4x4_t
20016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20017 vld4_dup_f16 (const float16_t
* __a
)
20020 __builtin_aarch64_simd_xi __o
;
20021 __o
= __builtin_aarch64_ld4rv4hf ((const __builtin_aarch64_simd_hf
*) __a
);
20022 ret
.val
[0] = (float16x4_t
) __builtin_aarch64_get_dregxiv4hf (__o
, 0);
20023 ret
.val
[1] = (float16x4_t
) __builtin_aarch64_get_dregxiv4hf (__o
, 1);
20024 ret
.val
[2] = (float16x4_t
) __builtin_aarch64_get_dregxiv4hf (__o
, 2);
20025 ret
.val
[3] = (float16x4_t
) __builtin_aarch64_get_dregxiv4hf (__o
, 3);
20029 __extension__
extern __inline float32x2x4_t
20030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20031 vld4_dup_f32 (const float32_t
* __a
)
20034 __builtin_aarch64_simd_xi __o
;
20035 __o
= __builtin_aarch64_ld4rv2sf ((const __builtin_aarch64_simd_sf
*) __a
);
20036 ret
.val
[0] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 0);
20037 ret
.val
[1] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 1);
20038 ret
.val
[2] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 2);
20039 ret
.val
[3] = (float32x2_t
) __builtin_aarch64_get_dregxiv2sf (__o
, 3);
20043 __extension__
extern __inline poly64x1x4_t
20044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20045 vld4_dup_p64 (const poly64_t
* __a
)
20048 __builtin_aarch64_simd_xi __o
;
20049 __o
= __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di
*) __a
);
20050 ret
.val
[0] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 0);
20051 ret
.val
[1] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 1);
20052 ret
.val
[2] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 2);
20053 ret
.val
[3] = (poly64x1_t
) __builtin_aarch64_get_dregxidi_pss (__o
, 3);
20057 __extension__
extern __inline int8x16x4_t
20058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20059 vld4q_dup_s8 (const int8_t * __a
)
20062 __builtin_aarch64_simd_xi __o
;
20063 __o
= __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
20064 ret
.val
[0] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
20065 ret
.val
[1] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
20066 ret
.val
[2] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
20067 ret
.val
[3] = (int8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
20071 __extension__
extern __inline poly8x16x4_t
20072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20073 vld4q_dup_p8 (const poly8_t
* __a
)
20076 __builtin_aarch64_simd_xi __o
;
20077 __o
= __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
20078 ret
.val
[0] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
20079 ret
.val
[1] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
20080 ret
.val
[2] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
20081 ret
.val
[3] = (poly8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
20085 __extension__
extern __inline int16x8x4_t
20086 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20087 vld4q_dup_s16 (const int16_t * __a
)
20090 __builtin_aarch64_simd_xi __o
;
20091 __o
= __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
20092 ret
.val
[0] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
20093 ret
.val
[1] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
20094 ret
.val
[2] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
20095 ret
.val
[3] = (int16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
20099 __extension__
extern __inline poly16x8x4_t
20100 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20101 vld4q_dup_p16 (const poly16_t
* __a
)
20104 __builtin_aarch64_simd_xi __o
;
20105 __o
= __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
20106 ret
.val
[0] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
20107 ret
.val
[1] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
20108 ret
.val
[2] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
20109 ret
.val
[3] = (poly16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
20113 __extension__
extern __inline int32x4x4_t
20114 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20115 vld4q_dup_s32 (const int32_t * __a
)
20118 __builtin_aarch64_simd_xi __o
;
20119 __o
= __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si
*) __a
);
20120 ret
.val
[0] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 0);
20121 ret
.val
[1] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 1);
20122 ret
.val
[2] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 2);
20123 ret
.val
[3] = (int32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 3);
20127 __extension__
extern __inline int64x2x4_t
20128 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20129 vld4q_dup_s64 (const int64_t * __a
)
20132 __builtin_aarch64_simd_xi __o
;
20133 __o
= __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di
*) __a
);
20134 ret
.val
[0] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 0);
20135 ret
.val
[1] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 1);
20136 ret
.val
[2] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 2);
20137 ret
.val
[3] = (int64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 3);
20141 __extension__
extern __inline uint8x16x4_t
20142 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20143 vld4q_dup_u8 (const uint8_t * __a
)
20146 __builtin_aarch64_simd_xi __o
;
20147 __o
= __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi
*) __a
);
20148 ret
.val
[0] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 0);
20149 ret
.val
[1] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 1);
20150 ret
.val
[2] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 2);
20151 ret
.val
[3] = (uint8x16_t
) __builtin_aarch64_get_qregxiv16qi (__o
, 3);
20155 __extension__
extern __inline uint16x8x4_t
20156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20157 vld4q_dup_u16 (const uint16_t * __a
)
20160 __builtin_aarch64_simd_xi __o
;
20161 __o
= __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi
*) __a
);
20162 ret
.val
[0] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 0);
20163 ret
.val
[1] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 1);
20164 ret
.val
[2] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 2);
20165 ret
.val
[3] = (uint16x8_t
) __builtin_aarch64_get_qregxiv8hi (__o
, 3);
20169 __extension__
extern __inline uint32x4x4_t
20170 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20171 vld4q_dup_u32 (const uint32_t * __a
)
20174 __builtin_aarch64_simd_xi __o
;
20175 __o
= __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si
*) __a
);
20176 ret
.val
[0] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 0);
20177 ret
.val
[1] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 1);
20178 ret
.val
[2] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 2);
20179 ret
.val
[3] = (uint32x4_t
) __builtin_aarch64_get_qregxiv4si (__o
, 3);
20183 __extension__
extern __inline uint64x2x4_t
20184 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20185 vld4q_dup_u64 (const uint64_t * __a
)
20188 __builtin_aarch64_simd_xi __o
;
20189 __o
= __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di
*) __a
);
20190 ret
.val
[0] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 0);
20191 ret
.val
[1] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 1);
20192 ret
.val
[2] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 2);
20193 ret
.val
[3] = (uint64x2_t
) __builtin_aarch64_get_qregxiv2di (__o
, 3);
20197 __extension__
extern __inline float16x8x4_t
20198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20199 vld4q_dup_f16 (const float16_t
* __a
)
20202 __builtin_aarch64_simd_xi __o
;
20203 __o
= __builtin_aarch64_ld4rv8hf ((const __builtin_aarch64_simd_hf
*) __a
);
20204 ret
.val
[0] = (float16x8_t
) __builtin_aarch64_get_qregxiv8hf (__o
, 0);
20205 ret
.val
[1] = (float16x8_t
) __builtin_aarch64_get_qregxiv8hf (__o
, 1);
20206 ret
.val
[2] = (float16x8_t
) __builtin_aarch64_get_qregxiv8hf (__o
, 2);
20207 ret
.val
[3] = (float16x8_t
) __builtin_aarch64_get_qregxiv8hf (__o
, 3);
20211 __extension__
extern __inline float32x4x4_t
20212 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20213 vld4q_dup_f32 (const float32_t
* __a
)
20216 __builtin_aarch64_simd_xi __o
;
20217 __o
= __builtin_aarch64_ld4rv4sf ((const __builtin_aarch64_simd_sf
*) __a
);
20218 ret
.val
[0] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 0);
20219 ret
.val
[1] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 1);
20220 ret
.val
[2] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 2);
20221 ret
.val
[3] = (float32x4_t
) __builtin_aarch64_get_qregxiv4sf (__o
, 3);
20225 __extension__
extern __inline float64x2x4_t
20226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20227 vld4q_dup_f64 (const float64_t
* __a
)
20230 __builtin_aarch64_simd_xi __o
;
20231 __o
= __builtin_aarch64_ld4rv2df ((const __builtin_aarch64_simd_df
*) __a
);
20232 ret
.val
[0] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 0);
20233 ret
.val
[1] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 1);
20234 ret
.val
[2] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 2);
20235 ret
.val
[3] = (float64x2_t
) __builtin_aarch64_get_qregxiv2df (__o
, 3);
20239 __extension__
extern __inline poly64x2x4_t
20240 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20241 vld4q_dup_p64 (const poly64_t
* __a
)
20244 __builtin_aarch64_simd_xi __o
;
20245 __o
= __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di
*) __a
);
20246 ret
.val
[0] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 0);
20247 ret
.val
[1] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 1);
20248 ret
.val
[2] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 2);
20249 ret
.val
[3] = (poly64x2_t
) __builtin_aarch64_get_qregxiv2di_pss (__o
, 3);
20255 #define __LD2_LANE_FUNC(intype, vectype, largetype, ptrtype, mode, \
20256 qmode, ptrmode, funcsuffix, signedtype) \
20257 __extension__ extern __inline intype \
20258 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20259 vld2_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20261 __builtin_aarch64_simd_oi __o; \
20262 largetype __temp; \
20264 vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0)); \
20266 vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0)); \
20267 __o = __builtin_aarch64_set_qregoi##qmode (__o, \
20268 (signedtype) __temp.val[0], \
20270 __o = __builtin_aarch64_set_qregoi##qmode (__o, \
20271 (signedtype) __temp.val[1], \
20273 __o = __builtin_aarch64_ld2_lane##mode ( \
20274 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20275 __b.val[0] = (vectype) __builtin_aarch64_get_dregoidi (__o, 0); \
20276 __b.val[1] = (vectype) __builtin_aarch64_get_dregoidi (__o, 1); \
20280 __LD2_LANE_FUNC (float16x4x2_t
, float16x4_t
, float16x8x2_t
, float16_t
, v4hf
,
20281 v8hf
, hf
, f16
, float16x8_t
)
20282 __LD2_LANE_FUNC (float32x2x2_t
, float32x2_t
, float32x4x2_t
, float32_t
, v2sf
, v4sf
,
20283 sf
, f32
, float32x4_t
)
20284 __LD2_LANE_FUNC (float64x1x2_t
, float64x1_t
, float64x2x2_t
, float64_t
, df
, v2df
,
20285 df
, f64
, float64x2_t
)
20286 __LD2_LANE_FUNC (poly8x8x2_t
, poly8x8_t
, poly8x16x2_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
20288 __LD2_LANE_FUNC (poly16x4x2_t
, poly16x4_t
, poly16x8x2_t
, poly16_t
, v4hi
, v8hi
, hi
,
20290 __LD2_LANE_FUNC (poly64x1x2_t
, poly64x1_t
, poly64x2x2_t
, poly64_t
, di
,
20291 v2di_ssps
, di
, p64
, poly64x2_t
)
20292 __LD2_LANE_FUNC (int8x8x2_t
, int8x8_t
, int8x16x2_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
20294 __LD2_LANE_FUNC (int16x4x2_t
, int16x4_t
, int16x8x2_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
20296 __LD2_LANE_FUNC (int32x2x2_t
, int32x2_t
, int32x4x2_t
, int32_t, v2si
, v4si
, si
, s32
,
20298 __LD2_LANE_FUNC (int64x1x2_t
, int64x1_t
, int64x2x2_t
, int64_t, di
, v2di
, di
, s64
,
20300 __LD2_LANE_FUNC (uint8x8x2_t
, uint8x8_t
, uint8x16x2_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
20302 __LD2_LANE_FUNC (uint16x4x2_t
, uint16x4_t
, uint16x8x2_t
, uint16_t, v4hi
, v8hi
, hi
,
20304 __LD2_LANE_FUNC (uint32x2x2_t
, uint32x2_t
, uint32x4x2_t
, uint32_t, v2si
, v4si
, si
,
20306 __LD2_LANE_FUNC (uint64x1x2_t
, uint64x1_t
, uint64x2x2_t
, uint64_t, di
, v2di
, di
,
20311 #define __LD2Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20312 __extension__ extern __inline intype \
20313 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20314 vld2q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20316 __builtin_aarch64_simd_oi __o; \
20318 __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[0], 0); \
20319 __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[1], 1); \
20320 __o = __builtin_aarch64_ld2_lane##mode ( \
20321 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20322 ret.val[0] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 0); \
20323 ret.val[1] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 1); \
20327 __LD2Q_LANE_FUNC (float16x8x2_t
, float16x8_t
, float16_t
, v8hf
, hf
, f16
)
20328 __LD2Q_LANE_FUNC (float32x4x2_t
, float32x4_t
, float32_t
, v4sf
, sf
, f32
)
20329 __LD2Q_LANE_FUNC (float64x2x2_t
, float64x2_t
, float64_t
, v2df
, df
, f64
)
20330 __LD2Q_LANE_FUNC (poly8x16x2_t
, poly8x16_t
, poly8_t
, v16qi
, qi
, p8
)
20331 __LD2Q_LANE_FUNC (poly16x8x2_t
, poly16x8_t
, poly16_t
, v8hi
, hi
, p16
)
20332 __LD2Q_LANE_FUNC (poly64x2x2_t
, poly64x2_t
, poly64_t
, v2di
, di
, p64
)
20333 __LD2Q_LANE_FUNC (int8x16x2_t
, int8x16_t
, int8_t, v16qi
, qi
, s8
)
20334 __LD2Q_LANE_FUNC (int16x8x2_t
, int16x8_t
, int16_t, v8hi
, hi
, s16
)
20335 __LD2Q_LANE_FUNC (int32x4x2_t
, int32x4_t
, int32_t, v4si
, si
, s32
)
20336 __LD2Q_LANE_FUNC (int64x2x2_t
, int64x2_t
, int64_t, v2di
, di
, s64
)
20337 __LD2Q_LANE_FUNC (uint8x16x2_t
, uint8x16_t
, uint8_t, v16qi
, qi
, u8
)
20338 __LD2Q_LANE_FUNC (uint16x8x2_t
, uint16x8_t
, uint16_t, v8hi
, hi
, u16
)
20339 __LD2Q_LANE_FUNC (uint32x4x2_t
, uint32x4_t
, uint32_t, v4si
, si
, u32
)
20340 __LD2Q_LANE_FUNC (uint64x2x2_t
, uint64x2_t
, uint64_t, v2di
, di
, u64
)
20344 #define __LD3_LANE_FUNC(intype, vectype, largetype, ptrtype, mode, \
20345 qmode, ptrmode, funcsuffix, signedtype) \
20346 __extension__ extern __inline intype \
20347 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20348 vld3_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20350 __builtin_aarch64_simd_ci __o; \
20351 largetype __temp; \
20353 vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0)); \
20355 vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0)); \
20357 vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0)); \
20358 __o = __builtin_aarch64_set_qregci##qmode (__o, \
20359 (signedtype) __temp.val[0], \
20361 __o = __builtin_aarch64_set_qregci##qmode (__o, \
20362 (signedtype) __temp.val[1], \
20364 __o = __builtin_aarch64_set_qregci##qmode (__o, \
20365 (signedtype) __temp.val[2], \
20367 __o = __builtin_aarch64_ld3_lane##mode ( \
20368 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20369 __b.val[0] = (vectype) __builtin_aarch64_get_dregcidi (__o, 0); \
20370 __b.val[1] = (vectype) __builtin_aarch64_get_dregcidi (__o, 1); \
20371 __b.val[2] = (vectype) __builtin_aarch64_get_dregcidi (__o, 2); \
20375 __LD3_LANE_FUNC (float16x4x3_t
, float16x4_t
, float16x8x3_t
, float16_t
, v4hf
,
20376 v8hf
, hf
, f16
, float16x8_t
)
20377 __LD3_LANE_FUNC (float32x2x3_t
, float32x2_t
, float32x4x3_t
, float32_t
, v2sf
, v4sf
,
20378 sf
, f32
, float32x4_t
)
20379 __LD3_LANE_FUNC (float64x1x3_t
, float64x1_t
, float64x2x3_t
, float64_t
, df
, v2df
,
20380 df
, f64
, float64x2_t
)
20381 __LD3_LANE_FUNC (poly8x8x3_t
, poly8x8_t
, poly8x16x3_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
20383 __LD3_LANE_FUNC (poly16x4x3_t
, poly16x4_t
, poly16x8x3_t
, poly16_t
, v4hi
, v8hi
, hi
,
20385 __LD3_LANE_FUNC (poly64x1x3_t
, poly64x1_t
, poly64x2x3_t
, poly64_t
, di
,
20386 v2di_ssps
, di
, p64
, poly64x2_t
)
20387 __LD3_LANE_FUNC (int8x8x3_t
, int8x8_t
, int8x16x3_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
20389 __LD3_LANE_FUNC (int16x4x3_t
, int16x4_t
, int16x8x3_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
20391 __LD3_LANE_FUNC (int32x2x3_t
, int32x2_t
, int32x4x3_t
, int32_t, v2si
, v4si
, si
, s32
,
20393 __LD3_LANE_FUNC (int64x1x3_t
, int64x1_t
, int64x2x3_t
, int64_t, di
, v2di
, di
, s64
,
20395 __LD3_LANE_FUNC (uint8x8x3_t
, uint8x8_t
, uint8x16x3_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
20397 __LD3_LANE_FUNC (uint16x4x3_t
, uint16x4_t
, uint16x8x3_t
, uint16_t, v4hi
, v8hi
, hi
,
20399 __LD3_LANE_FUNC (uint32x2x3_t
, uint32x2_t
, uint32x4x3_t
, uint32_t, v2si
, v4si
, si
,
20401 __LD3_LANE_FUNC (uint64x1x3_t
, uint64x1_t
, uint64x2x3_t
, uint64_t, di
, v2di
, di
,
20406 #define __LD3Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20407 __extension__ extern __inline intype \
20408 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20409 vld3q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20411 __builtin_aarch64_simd_ci __o; \
20413 __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[0], 0); \
20414 __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[1], 1); \
20415 __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[2], 2); \
20416 __o = __builtin_aarch64_ld3_lane##mode ( \
20417 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20418 ret.val[0] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 0); \
20419 ret.val[1] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 1); \
20420 ret.val[2] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 2); \
20424 __LD3Q_LANE_FUNC (float16x8x3_t
, float16x8_t
, float16_t
, v8hf
, hf
, f16
)
20425 __LD3Q_LANE_FUNC (float32x4x3_t
, float32x4_t
, float32_t
, v4sf
, sf
, f32
)
20426 __LD3Q_LANE_FUNC (float64x2x3_t
, float64x2_t
, float64_t
, v2df
, df
, f64
)
20427 __LD3Q_LANE_FUNC (poly8x16x3_t
, poly8x16_t
, poly8_t
, v16qi
, qi
, p8
)
20428 __LD3Q_LANE_FUNC (poly16x8x3_t
, poly16x8_t
, poly16_t
, v8hi
, hi
, p16
)
20429 __LD3Q_LANE_FUNC (poly64x2x3_t
, poly64x2_t
, poly64_t
, v2di
, di
, p64
)
20430 __LD3Q_LANE_FUNC (int8x16x3_t
, int8x16_t
, int8_t, v16qi
, qi
, s8
)
20431 __LD3Q_LANE_FUNC (int16x8x3_t
, int16x8_t
, int16_t, v8hi
, hi
, s16
)
20432 __LD3Q_LANE_FUNC (int32x4x3_t
, int32x4_t
, int32_t, v4si
, si
, s32
)
20433 __LD3Q_LANE_FUNC (int64x2x3_t
, int64x2_t
, int64_t, v2di
, di
, s64
)
20434 __LD3Q_LANE_FUNC (uint8x16x3_t
, uint8x16_t
, uint8_t, v16qi
, qi
, u8
)
20435 __LD3Q_LANE_FUNC (uint16x8x3_t
, uint16x8_t
, uint16_t, v8hi
, hi
, u16
)
20436 __LD3Q_LANE_FUNC (uint32x4x3_t
, uint32x4_t
, uint32_t, v4si
, si
, u32
)
20437 __LD3Q_LANE_FUNC (uint64x2x3_t
, uint64x2_t
, uint64_t, v2di
, di
, u64
)
20441 #define __LD4_LANE_FUNC(intype, vectype, largetype, ptrtype, mode, \
20442 qmode, ptrmode, funcsuffix, signedtype) \
20443 __extension__ extern __inline intype \
20444 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20445 vld4_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20447 __builtin_aarch64_simd_xi __o; \
20448 largetype __temp; \
20450 vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0)); \
20452 vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0)); \
20454 vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0)); \
20456 vcombine_##funcsuffix (__b.val[3], vcreate_##funcsuffix (0)); \
20457 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
20458 (signedtype) __temp.val[0], \
20460 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
20461 (signedtype) __temp.val[1], \
20463 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
20464 (signedtype) __temp.val[2], \
20466 __o = __builtin_aarch64_set_qregxi##qmode (__o, \
20467 (signedtype) __temp.val[3], \
20469 __o = __builtin_aarch64_ld4_lane##mode ( \
20470 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20471 __b.val[0] = (vectype) __builtin_aarch64_get_dregxidi (__o, 0); \
20472 __b.val[1] = (vectype) __builtin_aarch64_get_dregxidi (__o, 1); \
20473 __b.val[2] = (vectype) __builtin_aarch64_get_dregxidi (__o, 2); \
20474 __b.val[3] = (vectype) __builtin_aarch64_get_dregxidi (__o, 3); \
20480 __LD4_LANE_FUNC (float16x4x4_t
, float16x4_t
, float16x8x4_t
, float16_t
, v4hf
,
20481 v8hf
, hf
, f16
, float16x8_t
)
20482 __LD4_LANE_FUNC (float32x2x4_t
, float32x2_t
, float32x4x4_t
, float32_t
, v2sf
, v4sf
,
20483 sf
, f32
, float32x4_t
)
20484 __LD4_LANE_FUNC (float64x1x4_t
, float64x1_t
, float64x2x4_t
, float64_t
, df
, v2df
,
20485 df
, f64
, float64x2_t
)
20486 __LD4_LANE_FUNC (poly8x8x4_t
, poly8x8_t
, poly8x16x4_t
, poly8_t
, v8qi
, v16qi
, qi
, p8
,
20488 __LD4_LANE_FUNC (poly16x4x4_t
, poly16x4_t
, poly16x8x4_t
, poly16_t
, v4hi
, v8hi
, hi
,
20490 __LD4_LANE_FUNC (poly64x1x4_t
, poly64x1_t
, poly64x2x4_t
, poly64_t
, di
,
20491 v2di_ssps
, di
, p64
, poly64x2_t
)
20492 __LD4_LANE_FUNC (int8x8x4_t
, int8x8_t
, int8x16x4_t
, int8_t, v8qi
, v16qi
, qi
, s8
,
20494 __LD4_LANE_FUNC (int16x4x4_t
, int16x4_t
, int16x8x4_t
, int16_t, v4hi
, v8hi
, hi
, s16
,
20496 __LD4_LANE_FUNC (int32x2x4_t
, int32x2_t
, int32x4x4_t
, int32_t, v2si
, v4si
, si
, s32
,
20498 __LD4_LANE_FUNC (int64x1x4_t
, int64x1_t
, int64x2x4_t
, int64_t, di
, v2di
, di
, s64
,
20500 __LD4_LANE_FUNC (uint8x8x4_t
, uint8x8_t
, uint8x16x4_t
, uint8_t, v8qi
, v16qi
, qi
, u8
,
20502 __LD4_LANE_FUNC (uint16x4x4_t
, uint16x4_t
, uint16x8x4_t
, uint16_t, v4hi
, v8hi
, hi
,
20504 __LD4_LANE_FUNC (uint32x2x4_t
, uint32x2_t
, uint32x4x4_t
, uint32_t, v2si
, v4si
, si
,
20506 __LD4_LANE_FUNC (uint64x1x4_t
, uint64x1_t
, uint64x2x4_t
, uint64_t, di
, v2di
, di
,
20511 #define __LD4Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20512 __extension__ extern __inline intype \
20513 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20514 vld4q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20516 __builtin_aarch64_simd_xi __o; \
20518 __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[0], 0); \
20519 __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[1], 1); \
20520 __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[2], 2); \
20521 __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[3], 3); \
20522 __o = __builtin_aarch64_ld4_lane##mode ( \
20523 (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c); \
20524 ret.val[0] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 0); \
20525 ret.val[1] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 1); \
20526 ret.val[2] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 2); \
20527 ret.val[3] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 3); \
20531 __LD4Q_LANE_FUNC (float16x8x4_t
, float16x8_t
, float16_t
, v8hf
, hf
, f16
)
20532 __LD4Q_LANE_FUNC (float32x4x4_t
, float32x4_t
, float32_t
, v4sf
, sf
, f32
)
20533 __LD4Q_LANE_FUNC (float64x2x4_t
, float64x2_t
, float64_t
, v2df
, df
, f64
)
20534 __LD4Q_LANE_FUNC (poly8x16x4_t
, poly8x16_t
, poly8_t
, v16qi
, qi
, p8
)
20535 __LD4Q_LANE_FUNC (poly16x8x4_t
, poly16x8_t
, poly16_t
, v8hi
, hi
, p16
)
20536 __LD4Q_LANE_FUNC (poly64x2x4_t
, poly64x2_t
, poly64_t
, v2di
, di
, p64
)
20537 __LD4Q_LANE_FUNC (int8x16x4_t
, int8x16_t
, int8_t, v16qi
, qi
, s8
)
20538 __LD4Q_LANE_FUNC (int16x8x4_t
, int16x8_t
, int16_t, v8hi
, hi
, s16
)
20539 __LD4Q_LANE_FUNC (int32x4x4_t
, int32x4_t
, int32_t, v4si
, si
, s32
)
20540 __LD4Q_LANE_FUNC (int64x2x4_t
, int64x2_t
, int64_t, v2di
, di
, s64
)
20541 __LD4Q_LANE_FUNC (uint8x16x4_t
, uint8x16_t
, uint8_t, v16qi
, qi
, u8
)
20542 __LD4Q_LANE_FUNC (uint16x8x4_t
, uint16x8_t
, uint16_t, v8hi
, hi
, u16
)
20543 __LD4Q_LANE_FUNC (uint32x4x4_t
, uint32x4_t
, uint32_t, v4si
, si
, u32
)
20544 __LD4Q_LANE_FUNC (uint64x2x4_t
, uint64x2_t
, uint64_t, v2di
, di
, u64
)
20548 __extension__
extern __inline float32x2_t
20549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20550 vmax_f32 (float32x2_t __a
, float32x2_t __b
)
20552 return __builtin_aarch64_smax_nanv2sf (__a
, __b
);
20555 __extension__
extern __inline float64x1_t
20556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20557 vmax_f64 (float64x1_t __a
, float64x1_t __b
)
20559 return (float64x1_t
)
20560 { __builtin_aarch64_smax_nandf (vget_lane_f64 (__a
, 0),
20561 vget_lane_f64 (__b
, 0)) };
20564 __extension__
extern __inline int8x8_t
20565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20566 vmax_s8 (int8x8_t __a
, int8x8_t __b
)
20568 return __builtin_aarch64_smaxv8qi (__a
, __b
);
20571 __extension__
extern __inline int16x4_t
20572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20573 vmax_s16 (int16x4_t __a
, int16x4_t __b
)
20575 return __builtin_aarch64_smaxv4hi (__a
, __b
);
20578 __extension__
extern __inline int32x2_t
20579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20580 vmax_s32 (int32x2_t __a
, int32x2_t __b
)
20582 return __builtin_aarch64_smaxv2si (__a
, __b
);
20585 __extension__
extern __inline uint8x8_t
20586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20587 vmax_u8 (uint8x8_t __a
, uint8x8_t __b
)
20589 return (uint8x8_t
) __builtin_aarch64_umaxv8qi ((int8x8_t
) __a
,
20593 __extension__
extern __inline uint16x4_t
20594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20595 vmax_u16 (uint16x4_t __a
, uint16x4_t __b
)
20597 return (uint16x4_t
) __builtin_aarch64_umaxv4hi ((int16x4_t
) __a
,
20601 __extension__
extern __inline uint32x2_t
20602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20603 vmax_u32 (uint32x2_t __a
, uint32x2_t __b
)
20605 return (uint32x2_t
) __builtin_aarch64_umaxv2si ((int32x2_t
) __a
,
20609 __extension__
extern __inline float32x4_t
20610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20611 vmaxq_f32 (float32x4_t __a
, float32x4_t __b
)
20613 return __builtin_aarch64_smax_nanv4sf (__a
, __b
);
20616 __extension__
extern __inline float64x2_t
20617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20618 vmaxq_f64 (float64x2_t __a
, float64x2_t __b
)
20620 return __builtin_aarch64_smax_nanv2df (__a
, __b
);
20623 __extension__
extern __inline int8x16_t
20624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20625 vmaxq_s8 (int8x16_t __a
, int8x16_t __b
)
20627 return __builtin_aarch64_smaxv16qi (__a
, __b
);
20630 __extension__
extern __inline int16x8_t
20631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20632 vmaxq_s16 (int16x8_t __a
, int16x8_t __b
)
20634 return __builtin_aarch64_smaxv8hi (__a
, __b
);
20637 __extension__
extern __inline int32x4_t
20638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20639 vmaxq_s32 (int32x4_t __a
, int32x4_t __b
)
20641 return __builtin_aarch64_smaxv4si (__a
, __b
);
20644 __extension__
extern __inline uint8x16_t
20645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20646 vmaxq_u8 (uint8x16_t __a
, uint8x16_t __b
)
20648 return (uint8x16_t
) __builtin_aarch64_umaxv16qi ((int8x16_t
) __a
,
20652 __extension__
extern __inline uint16x8_t
20653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20654 vmaxq_u16 (uint16x8_t __a
, uint16x8_t __b
)
20656 return (uint16x8_t
) __builtin_aarch64_umaxv8hi ((int16x8_t
) __a
,
20660 __extension__
extern __inline uint32x4_t
20661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20662 vmaxq_u32 (uint32x4_t __a
, uint32x4_t __b
)
20664 return (uint32x4_t
) __builtin_aarch64_umaxv4si ((int32x4_t
) __a
,
20669 __extension__
extern __inline float32x2_t
20670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20671 vmulx_f32 (float32x2_t __a
, float32x2_t __b
)
20673 return __builtin_aarch64_fmulxv2sf (__a
, __b
);
20676 __extension__
extern __inline float32x4_t
20677 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20678 vmulxq_f32 (float32x4_t __a
, float32x4_t __b
)
20680 return __builtin_aarch64_fmulxv4sf (__a
, __b
);
20683 __extension__
extern __inline float64x1_t
20684 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20685 vmulx_f64 (float64x1_t __a
, float64x1_t __b
)
20687 return (float64x1_t
) {__builtin_aarch64_fmulxdf (__a
[0], __b
[0])};
20690 __extension__
extern __inline float64x2_t
20691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20692 vmulxq_f64 (float64x2_t __a
, float64x2_t __b
)
20694 return __builtin_aarch64_fmulxv2df (__a
, __b
);
20697 __extension__
extern __inline float32_t
20698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20699 vmulxs_f32 (float32_t __a
, float32_t __b
)
20701 return __builtin_aarch64_fmulxsf (__a
, __b
);
20704 __extension__
extern __inline float64_t
20705 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20706 vmulxd_f64 (float64_t __a
, float64_t __b
)
20708 return __builtin_aarch64_fmulxdf (__a
, __b
);
20711 __extension__
extern __inline float32x2_t
20712 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20713 vmulx_lane_f32 (float32x2_t __a
, float32x2_t __v
, const int __lane
)
20715 return vmulx_f32 (__a
, __aarch64_vdup_lane_f32 (__v
, __lane
));
20718 __extension__
extern __inline float64x1_t
20719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20720 vmulx_lane_f64 (float64x1_t __a
, float64x1_t __v
, const int __lane
)
20722 return vmulx_f64 (__a
, __aarch64_vdup_lane_f64 (__v
, __lane
));
20725 __extension__
extern __inline float32x4_t
20726 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20727 vmulxq_lane_f32 (float32x4_t __a
, float32x2_t __v
, const int __lane
)
20729 return vmulxq_f32 (__a
, __aarch64_vdupq_lane_f32 (__v
, __lane
));
20732 __extension__
extern __inline float64x2_t
20733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20734 vmulxq_lane_f64 (float64x2_t __a
, float64x1_t __v
, const int __lane
)
20736 return vmulxq_f64 (__a
, __aarch64_vdupq_lane_f64 (__v
, __lane
));
20739 __extension__
extern __inline float32x2_t
20740 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20741 vmulx_laneq_f32 (float32x2_t __a
, float32x4_t __v
, const int __lane
)
20743 return vmulx_f32 (__a
, __aarch64_vdup_laneq_f32 (__v
, __lane
));
20746 __extension__
extern __inline float64x1_t
20747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20748 vmulx_laneq_f64 (float64x1_t __a
, float64x2_t __v
, const int __lane
)
20750 return vmulx_f64 (__a
, __aarch64_vdup_laneq_f64 (__v
, __lane
));
20753 __extension__
extern __inline float32x4_t
20754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20755 vmulxq_laneq_f32 (float32x4_t __a
, float32x4_t __v
, const int __lane
)
20757 return vmulxq_f32 (__a
, __aarch64_vdupq_laneq_f32 (__v
, __lane
));
20760 __extension__
extern __inline float64x2_t
20761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20762 vmulxq_laneq_f64 (float64x2_t __a
, float64x2_t __v
, const int __lane
)
20764 return vmulxq_f64 (__a
, __aarch64_vdupq_laneq_f64 (__v
, __lane
));
20767 __extension__
extern __inline float32_t
20768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20769 vmulxs_lane_f32 (float32_t __a
, float32x2_t __v
, const int __lane
)
20771 return vmulxs_f32 (__a
, __aarch64_vget_lane_any (__v
, __lane
));
20774 __extension__
extern __inline float32_t
20775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20776 vmulxs_laneq_f32 (float32_t __a
, float32x4_t __v
, const int __lane
)
20778 return vmulxs_f32 (__a
, __aarch64_vget_lane_any (__v
, __lane
));
20781 __extension__
extern __inline float64_t
20782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20783 vmulxd_lane_f64 (float64_t __a
, float64x1_t __v
, const int __lane
)
20785 return vmulxd_f64 (__a
, __aarch64_vget_lane_any (__v
, __lane
));
20788 __extension__
extern __inline float64_t
20789 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20790 vmulxd_laneq_f64 (float64_t __a
, float64x2_t __v
, const int __lane
)
20792 return vmulxd_f64 (__a
, __aarch64_vget_lane_any (__v
, __lane
));
20797 __extension__
extern __inline int8x8_t
20798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20799 vpmax_s8 (int8x8_t __a
, int8x8_t __b
)
20801 return __builtin_aarch64_smaxpv8qi (__a
, __b
);
20804 __extension__
extern __inline int16x4_t
20805 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20806 vpmax_s16 (int16x4_t __a
, int16x4_t __b
)
20808 return __builtin_aarch64_smaxpv4hi (__a
, __b
);
20811 __extension__
extern __inline int32x2_t
20812 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20813 vpmax_s32 (int32x2_t __a
, int32x2_t __b
)
20815 return __builtin_aarch64_smaxpv2si (__a
, __b
);
20818 __extension__
extern __inline uint8x8_t
20819 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20820 vpmax_u8 (uint8x8_t __a
, uint8x8_t __b
)
20822 return (uint8x8_t
) __builtin_aarch64_umaxpv8qi ((int8x8_t
) __a
,
20826 __extension__
extern __inline uint16x4_t
20827 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20828 vpmax_u16 (uint16x4_t __a
, uint16x4_t __b
)
20830 return (uint16x4_t
) __builtin_aarch64_umaxpv4hi ((int16x4_t
) __a
,
20834 __extension__
extern __inline uint32x2_t
20835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20836 vpmax_u32 (uint32x2_t __a
, uint32x2_t __b
)
20838 return (uint32x2_t
) __builtin_aarch64_umaxpv2si ((int32x2_t
) __a
,
20842 __extension__
extern __inline int8x16_t
20843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20844 vpmaxq_s8 (int8x16_t __a
, int8x16_t __b
)
20846 return __builtin_aarch64_smaxpv16qi (__a
, __b
);
20849 __extension__
extern __inline int16x8_t
20850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20851 vpmaxq_s16 (int16x8_t __a
, int16x8_t __b
)
20853 return __builtin_aarch64_smaxpv8hi (__a
, __b
);
20856 __extension__
extern __inline int32x4_t
20857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20858 vpmaxq_s32 (int32x4_t __a
, int32x4_t __b
)
20860 return __builtin_aarch64_smaxpv4si (__a
, __b
);
20863 __extension__
extern __inline uint8x16_t
20864 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20865 vpmaxq_u8 (uint8x16_t __a
, uint8x16_t __b
)
20867 return (uint8x16_t
) __builtin_aarch64_umaxpv16qi ((int8x16_t
) __a
,
20871 __extension__
extern __inline uint16x8_t
20872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20873 vpmaxq_u16 (uint16x8_t __a
, uint16x8_t __b
)
20875 return (uint16x8_t
) __builtin_aarch64_umaxpv8hi ((int16x8_t
) __a
,
20879 __extension__
extern __inline uint32x4_t
20880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20881 vpmaxq_u32 (uint32x4_t __a
, uint32x4_t __b
)
20883 return (uint32x4_t
) __builtin_aarch64_umaxpv4si ((int32x4_t
) __a
,
20887 __extension__
extern __inline float32x2_t
20888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20889 vpmax_f32 (float32x2_t __a
, float32x2_t __b
)
20891 return __builtin_aarch64_smax_nanpv2sf (__a
, __b
);
20894 __extension__
extern __inline float32x4_t
20895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20896 vpmaxq_f32 (float32x4_t __a
, float32x4_t __b
)
20898 return __builtin_aarch64_smax_nanpv4sf (__a
, __b
);
20901 __extension__
extern __inline float64x2_t
20902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20903 vpmaxq_f64 (float64x2_t __a
, float64x2_t __b
)
20905 return __builtin_aarch64_smax_nanpv2df (__a
, __b
);
20908 __extension__
extern __inline float64_t
20909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20910 vpmaxqd_f64 (float64x2_t __a
)
20912 return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a
);
20915 __extension__
extern __inline float32_t
20916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20917 vpmaxs_f32 (float32x2_t __a
)
20919 return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a
);
20924 __extension__
extern __inline float32x2_t
20925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20926 vpmaxnm_f32 (float32x2_t __a
, float32x2_t __b
)
20928 return __builtin_aarch64_smaxpv2sf (__a
, __b
);
20931 __extension__
extern __inline float32x4_t
20932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20933 vpmaxnmq_f32 (float32x4_t __a
, float32x4_t __b
)
20935 return __builtin_aarch64_smaxpv4sf (__a
, __b
);
20938 __extension__
extern __inline float64x2_t
20939 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20940 vpmaxnmq_f64 (float64x2_t __a
, float64x2_t __b
)
20942 return __builtin_aarch64_smaxpv2df (__a
, __b
);
20945 __extension__
extern __inline float64_t
20946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20947 vpmaxnmqd_f64 (float64x2_t __a
)
20949 return __builtin_aarch64_reduc_smax_scal_v2df (__a
);
20952 __extension__
extern __inline float32_t
20953 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20954 vpmaxnms_f32 (float32x2_t __a
)
20956 return __builtin_aarch64_reduc_smax_scal_v2sf (__a
);
20961 __extension__
extern __inline int8x8_t
20962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20963 vpmin_s8 (int8x8_t __a
, int8x8_t __b
)
20965 return __builtin_aarch64_sminpv8qi (__a
, __b
);
20968 __extension__
extern __inline int16x4_t
20969 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20970 vpmin_s16 (int16x4_t __a
, int16x4_t __b
)
20972 return __builtin_aarch64_sminpv4hi (__a
, __b
);
20975 __extension__
extern __inline int32x2_t
20976 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20977 vpmin_s32 (int32x2_t __a
, int32x2_t __b
)
20979 return __builtin_aarch64_sminpv2si (__a
, __b
);
20982 __extension__
extern __inline uint8x8_t
20983 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20984 vpmin_u8 (uint8x8_t __a
, uint8x8_t __b
)
20986 return (uint8x8_t
) __builtin_aarch64_uminpv8qi ((int8x8_t
) __a
,
20990 __extension__
extern __inline uint16x4_t
20991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20992 vpmin_u16 (uint16x4_t __a
, uint16x4_t __b
)
20994 return (uint16x4_t
) __builtin_aarch64_uminpv4hi ((int16x4_t
) __a
,
20998 __extension__
extern __inline uint32x2_t
20999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21000 vpmin_u32 (uint32x2_t __a
, uint32x2_t __b
)
21002 return (uint32x2_t
) __builtin_aarch64_uminpv2si ((int32x2_t
) __a
,
21006 __extension__
extern __inline int8x16_t
21007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21008 vpminq_s8 (int8x16_t __a
, int8x16_t __b
)
21010 return __builtin_aarch64_sminpv16qi (__a
, __b
);
21013 __extension__
extern __inline int16x8_t
21014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21015 vpminq_s16 (int16x8_t __a
, int16x8_t __b
)
21017 return __builtin_aarch64_sminpv8hi (__a
, __b
);
21020 __extension__
extern __inline int32x4_t
21021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21022 vpminq_s32 (int32x4_t __a
, int32x4_t __b
)
21024 return __builtin_aarch64_sminpv4si (__a
, __b
);
21027 __extension__
extern __inline uint8x16_t
21028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21029 vpminq_u8 (uint8x16_t __a
, uint8x16_t __b
)
21031 return (uint8x16_t
) __builtin_aarch64_uminpv16qi ((int8x16_t
) __a
,
21035 __extension__
extern __inline uint16x8_t
21036 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21037 vpminq_u16 (uint16x8_t __a
, uint16x8_t __b
)
21039 return (uint16x8_t
) __builtin_aarch64_uminpv8hi ((int16x8_t
) __a
,
21043 __extension__
extern __inline uint32x4_t
21044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21045 vpminq_u32 (uint32x4_t __a
, uint32x4_t __b
)
21047 return (uint32x4_t
) __builtin_aarch64_uminpv4si ((int32x4_t
) __a
,
21051 __extension__
extern __inline float32x2_t
21052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21053 vpmin_f32 (float32x2_t __a
, float32x2_t __b
)
21055 return __builtin_aarch64_smin_nanpv2sf (__a
, __b
);
21058 __extension__
extern __inline float32x4_t
21059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21060 vpminq_f32 (float32x4_t __a
, float32x4_t __b
)
21062 return __builtin_aarch64_smin_nanpv4sf (__a
, __b
);
21065 __extension__
extern __inline float64x2_t
21066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21067 vpminq_f64 (float64x2_t __a
, float64x2_t __b
)
21069 return __builtin_aarch64_smin_nanpv2df (__a
, __b
);
21072 __extension__
extern __inline float64_t
21073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21074 vpminqd_f64 (float64x2_t __a
)
21076 return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a
);
21079 __extension__
extern __inline float32_t
21080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21081 vpmins_f32 (float32x2_t __a
)
21083 return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a
);
21088 __extension__
extern __inline float32x2_t
21089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21090 vpminnm_f32 (float32x2_t __a
, float32x2_t __b
)
21092 return __builtin_aarch64_sminpv2sf (__a
, __b
);
21095 __extension__
extern __inline float32x4_t
21096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21097 vpminnmq_f32 (float32x4_t __a
, float32x4_t __b
)
21099 return __builtin_aarch64_sminpv4sf (__a
, __b
);
21102 __extension__
extern __inline float64x2_t
21103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21104 vpminnmq_f64 (float64x2_t __a
, float64x2_t __b
)
21106 return __builtin_aarch64_sminpv2df (__a
, __b
);
21109 __extension__
extern __inline float64_t
21110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21111 vpminnmqd_f64 (float64x2_t __a
)
21113 return __builtin_aarch64_reduc_smin_scal_v2df (__a
);
21116 __extension__
extern __inline float32_t
21117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21118 vpminnms_f32 (float32x2_t __a
)
21120 return __builtin_aarch64_reduc_smin_scal_v2sf (__a
);
21125 __extension__
extern __inline float32x2_t
21126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21127 vmaxnm_f32 (float32x2_t __a
, float32x2_t __b
)
21129 return __builtin_aarch64_fmaxv2sf (__a
, __b
);
21132 __extension__
extern __inline float64x1_t
21133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21134 vmaxnm_f64 (float64x1_t __a
, float64x1_t __b
)
21136 return (float64x1_t
)
21137 { __builtin_aarch64_fmaxdf (vget_lane_f64 (__a
, 0),
21138 vget_lane_f64 (__b
, 0)) };
21141 __extension__
extern __inline float32x4_t
21142 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21143 vmaxnmq_f32 (float32x4_t __a
, float32x4_t __b
)
21145 return __builtin_aarch64_fmaxv4sf (__a
, __b
);
21148 __extension__
extern __inline float64x2_t
21149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21150 vmaxnmq_f64 (float64x2_t __a
, float64x2_t __b
)
21152 return __builtin_aarch64_fmaxv2df (__a
, __b
);
21157 __extension__
extern __inline float32_t
21158 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21159 vmaxv_f32 (float32x2_t __a
)
21161 return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a
);
21164 __extension__
extern __inline
int8_t
21165 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21166 vmaxv_s8 (int8x8_t __a
)
21168 return __builtin_aarch64_reduc_smax_scal_v8qi (__a
);
21171 __extension__
extern __inline
int16_t
21172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21173 vmaxv_s16 (int16x4_t __a
)
21175 return __builtin_aarch64_reduc_smax_scal_v4hi (__a
);
21178 __extension__
extern __inline
int32_t
21179 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21180 vmaxv_s32 (int32x2_t __a
)
21182 return __builtin_aarch64_reduc_smax_scal_v2si (__a
);
21185 __extension__
extern __inline
uint8_t
21186 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21187 vmaxv_u8 (uint8x8_t __a
)
21189 return __builtin_aarch64_reduc_umax_scal_v8qi_uu (__a
);
21192 __extension__
extern __inline
uint16_t
21193 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21194 vmaxv_u16 (uint16x4_t __a
)
21196 return __builtin_aarch64_reduc_umax_scal_v4hi_uu (__a
);
21199 __extension__
extern __inline
uint32_t
21200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21201 vmaxv_u32 (uint32x2_t __a
)
21203 return __builtin_aarch64_reduc_umax_scal_v2si_uu (__a
);
21206 __extension__
extern __inline float32_t
21207 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21208 vmaxvq_f32 (float32x4_t __a
)
21210 return __builtin_aarch64_reduc_smax_nan_scal_v4sf (__a
);
21213 __extension__
extern __inline float64_t
21214 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21215 vmaxvq_f64 (float64x2_t __a
)
21217 return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a
);
21220 __extension__
extern __inline
int8_t
21221 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21222 vmaxvq_s8 (int8x16_t __a
)
21224 return __builtin_aarch64_reduc_smax_scal_v16qi (__a
);
21227 __extension__
extern __inline
int16_t
21228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21229 vmaxvq_s16 (int16x8_t __a
)
21231 return __builtin_aarch64_reduc_smax_scal_v8hi (__a
);
21234 __extension__
extern __inline
int32_t
21235 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21236 vmaxvq_s32 (int32x4_t __a
)
21238 return __builtin_aarch64_reduc_smax_scal_v4si (__a
);
21241 __extension__
extern __inline
uint8_t
21242 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21243 vmaxvq_u8 (uint8x16_t __a
)
21245 return __builtin_aarch64_reduc_umax_scal_v16qi_uu (__a
);
21248 __extension__
extern __inline
uint16_t
21249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21250 vmaxvq_u16 (uint16x8_t __a
)
21252 return __builtin_aarch64_reduc_umax_scal_v8hi_uu (__a
);
21255 __extension__
extern __inline
uint32_t
21256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21257 vmaxvq_u32 (uint32x4_t __a
)
21259 return __builtin_aarch64_reduc_umax_scal_v4si_uu (__a
);
21264 __extension__
extern __inline float32_t
21265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21266 vmaxnmv_f32 (float32x2_t __a
)
21268 return __builtin_aarch64_reduc_smax_scal_v2sf (__a
);
21271 __extension__
extern __inline float32_t
21272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21273 vmaxnmvq_f32 (float32x4_t __a
)
21275 return __builtin_aarch64_reduc_smax_scal_v4sf (__a
);
21278 __extension__
extern __inline float64_t
21279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21280 vmaxnmvq_f64 (float64x2_t __a
)
21282 return __builtin_aarch64_reduc_smax_scal_v2df (__a
);
21287 __extension__
extern __inline float32x2_t
21288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21289 vmin_f32 (float32x2_t __a
, float32x2_t __b
)
21291 return __builtin_aarch64_smin_nanv2sf (__a
, __b
);
21294 __extension__
extern __inline float64x1_t
21295 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21296 vmin_f64 (float64x1_t __a
, float64x1_t __b
)
21298 return (float64x1_t
)
21299 { __builtin_aarch64_smin_nandf (vget_lane_f64 (__a
, 0),
21300 vget_lane_f64 (__b
, 0)) };
21303 __extension__
extern __inline int8x8_t
21304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21305 vmin_s8 (int8x8_t __a
, int8x8_t __b
)
21307 return __builtin_aarch64_sminv8qi (__a
, __b
);
21310 __extension__
extern __inline int16x4_t
21311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21312 vmin_s16 (int16x4_t __a
, int16x4_t __b
)
21314 return __builtin_aarch64_sminv4hi (__a
, __b
);
21317 __extension__
extern __inline int32x2_t
21318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21319 vmin_s32 (int32x2_t __a
, int32x2_t __b
)
21321 return __builtin_aarch64_sminv2si (__a
, __b
);
21324 __extension__
extern __inline uint8x8_t
21325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21326 vmin_u8 (uint8x8_t __a
, uint8x8_t __b
)
21328 return (uint8x8_t
) __builtin_aarch64_uminv8qi ((int8x8_t
) __a
,
21332 __extension__
extern __inline uint16x4_t
21333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21334 vmin_u16 (uint16x4_t __a
, uint16x4_t __b
)
21336 return (uint16x4_t
) __builtin_aarch64_uminv4hi ((int16x4_t
) __a
,
21340 __extension__
extern __inline uint32x2_t
21341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21342 vmin_u32 (uint32x2_t __a
, uint32x2_t __b
)
21344 return (uint32x2_t
) __builtin_aarch64_uminv2si ((int32x2_t
) __a
,
21348 __extension__
extern __inline float32x4_t
21349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21350 vminq_f32 (float32x4_t __a
, float32x4_t __b
)
21352 return __builtin_aarch64_smin_nanv4sf (__a
, __b
);
21355 __extension__
extern __inline float64x2_t
21356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21357 vminq_f64 (float64x2_t __a
, float64x2_t __b
)
21359 return __builtin_aarch64_smin_nanv2df (__a
, __b
);
21362 __extension__
extern __inline int8x16_t
21363 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21364 vminq_s8 (int8x16_t __a
, int8x16_t __b
)
21366 return __builtin_aarch64_sminv16qi (__a
, __b
);
21369 __extension__
extern __inline int16x8_t
21370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21371 vminq_s16 (int16x8_t __a
, int16x8_t __b
)
21373 return __builtin_aarch64_sminv8hi (__a
, __b
);
21376 __extension__
extern __inline int32x4_t
21377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21378 vminq_s32 (int32x4_t __a
, int32x4_t __b
)
21380 return __builtin_aarch64_sminv4si (__a
, __b
);
21383 __extension__
extern __inline uint8x16_t
21384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21385 vminq_u8 (uint8x16_t __a
, uint8x16_t __b
)
21387 return (uint8x16_t
) __builtin_aarch64_uminv16qi ((int8x16_t
) __a
,
21391 __extension__
extern __inline uint16x8_t
21392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21393 vminq_u16 (uint16x8_t __a
, uint16x8_t __b
)
21395 return (uint16x8_t
) __builtin_aarch64_uminv8hi ((int16x8_t
) __a
,
21399 __extension__
extern __inline uint32x4_t
21400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21401 vminq_u32 (uint32x4_t __a
, uint32x4_t __b
)
21403 return (uint32x4_t
) __builtin_aarch64_uminv4si ((int32x4_t
) __a
,
21409 __extension__
extern __inline float32x2_t
21410 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21411 vminnm_f32 (float32x2_t __a
, float32x2_t __b
)
21413 return __builtin_aarch64_fminv2sf (__a
, __b
);
21416 __extension__
extern __inline float64x1_t
21417 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21418 vminnm_f64 (float64x1_t __a
, float64x1_t __b
)
21420 return (float64x1_t
)
21421 { __builtin_aarch64_fmindf (vget_lane_f64 (__a
, 0),
21422 vget_lane_f64 (__b
, 0)) };
21425 __extension__
extern __inline float32x4_t
21426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21427 vminnmq_f32 (float32x4_t __a
, float32x4_t __b
)
21429 return __builtin_aarch64_fminv4sf (__a
, __b
);
21432 __extension__
extern __inline float64x2_t
21433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21434 vminnmq_f64 (float64x2_t __a
, float64x2_t __b
)
21436 return __builtin_aarch64_fminv2df (__a
, __b
);
21441 __extension__
extern __inline float32_t
21442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21443 vminv_f32 (float32x2_t __a
)
21445 return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a
);
21448 __extension__
extern __inline
int8_t
21449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21450 vminv_s8 (int8x8_t __a
)
21452 return __builtin_aarch64_reduc_smin_scal_v8qi (__a
);
21455 __extension__
extern __inline
int16_t
21456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21457 vminv_s16 (int16x4_t __a
)
21459 return __builtin_aarch64_reduc_smin_scal_v4hi (__a
);
21462 __extension__
extern __inline
int32_t
21463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21464 vminv_s32 (int32x2_t __a
)
21466 return __builtin_aarch64_reduc_smin_scal_v2si (__a
);
21469 __extension__
extern __inline
uint8_t
21470 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21471 vminv_u8 (uint8x8_t __a
)
21473 return __builtin_aarch64_reduc_umin_scal_v8qi_uu (__a
);
21476 __extension__
extern __inline
uint16_t
21477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21478 vminv_u16 (uint16x4_t __a
)
21480 return __builtin_aarch64_reduc_umin_scal_v4hi_uu (__a
);
21483 __extension__
extern __inline
uint32_t
21484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21485 vminv_u32 (uint32x2_t __a
)
21487 return __builtin_aarch64_reduc_umin_scal_v2si_uu (__a
);
21490 __extension__
extern __inline float32_t
21491 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21492 vminvq_f32 (float32x4_t __a
)
21494 return __builtin_aarch64_reduc_smin_nan_scal_v4sf (__a
);
21497 __extension__
extern __inline float64_t
21498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21499 vminvq_f64 (float64x2_t __a
)
21501 return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a
);
21504 __extension__
extern __inline
int8_t
21505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21506 vminvq_s8 (int8x16_t __a
)
21508 return __builtin_aarch64_reduc_smin_scal_v16qi (__a
);
21511 __extension__
extern __inline
int16_t
21512 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21513 vminvq_s16 (int16x8_t __a
)
21515 return __builtin_aarch64_reduc_smin_scal_v8hi (__a
);
21518 __extension__
extern __inline
int32_t
21519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21520 vminvq_s32 (int32x4_t __a
)
21522 return __builtin_aarch64_reduc_smin_scal_v4si (__a
);
21525 __extension__
extern __inline
uint8_t
21526 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21527 vminvq_u8 (uint8x16_t __a
)
21529 return __builtin_aarch64_reduc_umin_scal_v16qi_uu (__a
);
21532 __extension__
extern __inline
uint16_t
21533 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21534 vminvq_u16 (uint16x8_t __a
)
21536 return __builtin_aarch64_reduc_umin_scal_v8hi_uu (__a
);
21539 __extension__
extern __inline
uint32_t
21540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21541 vminvq_u32 (uint32x4_t __a
)
21543 return __builtin_aarch64_reduc_umin_scal_v4si_uu (__a
);
21548 __extension__
extern __inline float32_t
21549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21550 vminnmv_f32 (float32x2_t __a
)
21552 return __builtin_aarch64_reduc_smin_scal_v2sf (__a
);
21555 __extension__
extern __inline float32_t
21556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21557 vminnmvq_f32 (float32x4_t __a
)
21559 return __builtin_aarch64_reduc_smin_scal_v4sf (__a
);
21562 __extension__
extern __inline float64_t
21563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21564 vminnmvq_f64 (float64x2_t __a
)
21566 return __builtin_aarch64_reduc_smin_scal_v2df (__a
);
21571 __extension__
extern __inline float32x2_t
21572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21573 vmla_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
21575 return __a
+ __b
* __c
;
21578 __extension__
extern __inline float64x1_t
21579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21580 vmla_f64 (float64x1_t __a
, float64x1_t __b
, float64x1_t __c
)
21582 return __a
+ __b
* __c
;
21585 __extension__
extern __inline float32x4_t
21586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21587 vmlaq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
21589 return __a
+ __b
* __c
;
21592 __extension__
extern __inline float64x2_t
21593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21594 vmlaq_f64 (float64x2_t __a
, float64x2_t __b
, float64x2_t __c
)
21596 return __a
+ __b
* __c
;
21601 __extension__
extern __inline float32x2_t
21602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21603 vmla_lane_f32 (float32x2_t __a
, float32x2_t __b
,
21604 float32x2_t __c
, const int __lane
)
21606 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21609 __extension__
extern __inline int16x4_t
21610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21611 vmla_lane_s16 (int16x4_t __a
, int16x4_t __b
,
21612 int16x4_t __c
, const int __lane
)
21614 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21617 __extension__
extern __inline int32x2_t
21618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21619 vmla_lane_s32 (int32x2_t __a
, int32x2_t __b
,
21620 int32x2_t __c
, const int __lane
)
21622 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21625 __extension__
extern __inline uint16x4_t
21626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21627 vmla_lane_u16 (uint16x4_t __a
, uint16x4_t __b
,
21628 uint16x4_t __c
, const int __lane
)
21630 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21633 __extension__
extern __inline uint32x2_t
21634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21635 vmla_lane_u32 (uint32x2_t __a
, uint32x2_t __b
,
21636 uint32x2_t __c
, const int __lane
)
21638 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21643 __extension__
extern __inline float32x2_t
21644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21645 vmla_laneq_f32 (float32x2_t __a
, float32x2_t __b
,
21646 float32x4_t __c
, const int __lane
)
21648 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21651 __extension__
extern __inline int16x4_t
21652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21653 vmla_laneq_s16 (int16x4_t __a
, int16x4_t __b
,
21654 int16x8_t __c
, const int __lane
)
21656 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21659 __extension__
extern __inline int32x2_t
21660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21661 vmla_laneq_s32 (int32x2_t __a
, int32x2_t __b
,
21662 int32x4_t __c
, const int __lane
)
21664 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21667 __extension__
extern __inline uint16x4_t
21668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21669 vmla_laneq_u16 (uint16x4_t __a
, uint16x4_t __b
,
21670 uint16x8_t __c
, const int __lane
)
21672 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21675 __extension__
extern __inline uint32x2_t
21676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21677 vmla_laneq_u32 (uint32x2_t __a
, uint32x2_t __b
,
21678 uint32x4_t __c
, const int __lane
)
21680 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21685 __extension__
extern __inline float32x4_t
21686 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21687 vmlaq_lane_f32 (float32x4_t __a
, float32x4_t __b
,
21688 float32x2_t __c
, const int __lane
)
21690 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21693 __extension__
extern __inline int16x8_t
21694 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21695 vmlaq_lane_s16 (int16x8_t __a
, int16x8_t __b
,
21696 int16x4_t __c
, const int __lane
)
21698 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21701 __extension__
extern __inline int32x4_t
21702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21703 vmlaq_lane_s32 (int32x4_t __a
, int32x4_t __b
,
21704 int32x2_t __c
, const int __lane
)
21706 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21709 __extension__
extern __inline uint16x8_t
21710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21711 vmlaq_lane_u16 (uint16x8_t __a
, uint16x8_t __b
,
21712 uint16x4_t __c
, const int __lane
)
21714 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21717 __extension__
extern __inline uint32x4_t
21718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21719 vmlaq_lane_u32 (uint32x4_t __a
, uint32x4_t __b
,
21720 uint32x2_t __c
, const int __lane
)
21722 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21727 __extension__
extern __inline float32x4_t
21728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21729 vmlaq_laneq_f32 (float32x4_t __a
, float32x4_t __b
,
21730 float32x4_t __c
, const int __lane
)
21732 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21735 __extension__
extern __inline int16x8_t
21736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21737 vmlaq_laneq_s16 (int16x8_t __a
, int16x8_t __b
,
21738 int16x8_t __c
, const int __lane
)
21740 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21743 __extension__
extern __inline int32x4_t
21744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21745 vmlaq_laneq_s32 (int32x4_t __a
, int32x4_t __b
,
21746 int32x4_t __c
, const int __lane
)
21748 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21751 __extension__
extern __inline uint16x8_t
21752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21753 vmlaq_laneq_u16 (uint16x8_t __a
, uint16x8_t __b
,
21754 uint16x8_t __c
, const int __lane
)
21756 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21759 __extension__
extern __inline uint32x4_t
21760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21761 vmlaq_laneq_u32 (uint32x4_t __a
, uint32x4_t __b
,
21762 uint32x4_t __c
, const int __lane
)
21764 return (__a
+ (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21769 __extension__
extern __inline float32x2_t
21770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21771 vmls_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
21773 return __a
- __b
* __c
;
21776 __extension__
extern __inline float64x1_t
21777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21778 vmls_f64 (float64x1_t __a
, float64x1_t __b
, float64x1_t __c
)
21780 return __a
- __b
* __c
;
21783 __extension__
extern __inline float32x4_t
21784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21785 vmlsq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
21787 return __a
- __b
* __c
;
21790 __extension__
extern __inline float64x2_t
21791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21792 vmlsq_f64 (float64x2_t __a
, float64x2_t __b
, float64x2_t __c
)
21794 return __a
- __b
* __c
;
21799 __extension__
extern __inline float32x2_t
21800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21801 vmls_lane_f32 (float32x2_t __a
, float32x2_t __b
,
21802 float32x2_t __c
, const int __lane
)
21804 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21807 __extension__
extern __inline int16x4_t
21808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21809 vmls_lane_s16 (int16x4_t __a
, int16x4_t __b
,
21810 int16x4_t __c
, const int __lane
)
21812 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21815 __extension__
extern __inline int32x2_t
21816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21817 vmls_lane_s32 (int32x2_t __a
, int32x2_t __b
,
21818 int32x2_t __c
, const int __lane
)
21820 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21823 __extension__
extern __inline uint16x4_t
21824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21825 vmls_lane_u16 (uint16x4_t __a
, uint16x4_t __b
,
21826 uint16x4_t __c
, const int __lane
)
21828 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21831 __extension__
extern __inline uint32x2_t
21832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21833 vmls_lane_u32 (uint32x2_t __a
, uint32x2_t __b
,
21834 uint32x2_t __c
, const int __lane
)
21836 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21841 __extension__
extern __inline float32x2_t
21842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21843 vmls_laneq_f32 (float32x2_t __a
, float32x2_t __b
,
21844 float32x4_t __c
, const int __lane
)
21846 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21849 __extension__
extern __inline int16x4_t
21850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21851 vmls_laneq_s16 (int16x4_t __a
, int16x4_t __b
,
21852 int16x8_t __c
, const int __lane
)
21854 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21857 __extension__
extern __inline int32x2_t
21858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21859 vmls_laneq_s32 (int32x2_t __a
, int32x2_t __b
,
21860 int32x4_t __c
, const int __lane
)
21862 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21865 __extension__
extern __inline uint16x4_t
21866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21867 vmls_laneq_u16 (uint16x4_t __a
, uint16x4_t __b
,
21868 uint16x8_t __c
, const int __lane
)
21870 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21873 __extension__
extern __inline uint32x2_t
21874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21875 vmls_laneq_u32 (uint32x2_t __a
, uint32x2_t __b
,
21876 uint32x4_t __c
, const int __lane
)
21878 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21883 __extension__
extern __inline float32x4_t
21884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21885 vmlsq_lane_f32 (float32x4_t __a
, float32x4_t __b
,
21886 float32x2_t __c
, const int __lane
)
21888 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21891 __extension__
extern __inline int16x8_t
21892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21893 vmlsq_lane_s16 (int16x8_t __a
, int16x8_t __b
,
21894 int16x4_t __c
, const int __lane
)
21896 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21899 __extension__
extern __inline int32x4_t
21900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21901 vmlsq_lane_s32 (int32x4_t __a
, int32x4_t __b
,
21902 int32x2_t __c
, const int __lane
)
21904 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21907 __extension__
extern __inline uint16x8_t
21908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21909 vmlsq_lane_u16 (uint16x8_t __a
, uint16x8_t __b
,
21910 uint16x4_t __c
, const int __lane
)
21912 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21915 __extension__
extern __inline uint32x4_t
21916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21917 vmlsq_lane_u32 (uint32x4_t __a
, uint32x4_t __b
,
21918 uint32x2_t __c
, const int __lane
)
21920 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21925 __extension__
extern __inline float32x4_t
21926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21927 vmlsq_laneq_f32 (float32x4_t __a
, float32x4_t __b
,
21928 float32x4_t __c
, const int __lane
)
21930 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21933 __extension__
extern __inline int16x8_t
21934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21935 vmlsq_laneq_s16 (int16x8_t __a
, int16x8_t __b
,
21936 int16x8_t __c
, const int __lane
)
21938 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21941 __extension__
extern __inline int32x4_t
21942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21943 vmlsq_laneq_s32 (int32x4_t __a
, int32x4_t __b
,
21944 int32x4_t __c
, const int __lane
)
21946 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21948 __extension__
extern __inline uint16x8_t
21949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21950 vmlsq_laneq_u16 (uint16x8_t __a
, uint16x8_t __b
,
21951 uint16x8_t __c
, const int __lane
)
21953 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21956 __extension__
extern __inline uint32x4_t
21957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21958 vmlsq_laneq_u32 (uint32x4_t __a
, uint32x4_t __b
,
21959 uint32x4_t __c
, const int __lane
)
21961 return (__a
- (__b
* __aarch64_vget_lane_any (__c
, __lane
)));
21966 __extension__
extern __inline float16x4_t
21967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21968 vmov_n_f16 (float16_t __a
)
21970 return vdup_n_f16 (__a
);
21973 __extension__
extern __inline float32x2_t
21974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21975 vmov_n_f32 (float32_t __a
)
21977 return vdup_n_f32 (__a
);
21980 __extension__
extern __inline float64x1_t
21981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21982 vmov_n_f64 (float64_t __a
)
21984 return (float64x1_t
) {__a
};
21987 __extension__
extern __inline poly8x8_t
21988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21989 vmov_n_p8 (poly8_t __a
)
21991 return vdup_n_p8 (__a
);
21994 __extension__
extern __inline poly16x4_t
21995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21996 vmov_n_p16 (poly16_t __a
)
21998 return vdup_n_p16 (__a
);
22001 __extension__
extern __inline poly64x1_t
22002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22003 vmov_n_p64 (poly64_t __a
)
22005 return vdup_n_p64 (__a
);
22008 __extension__
extern __inline int8x8_t
22009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22010 vmov_n_s8 (int8_t __a
)
22012 return vdup_n_s8 (__a
);
22015 __extension__
extern __inline int16x4_t
22016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22017 vmov_n_s16 (int16_t __a
)
22019 return vdup_n_s16 (__a
);
22022 __extension__
extern __inline int32x2_t
22023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22024 vmov_n_s32 (int32_t __a
)
22026 return vdup_n_s32 (__a
);
22029 __extension__
extern __inline int64x1_t
22030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22031 vmov_n_s64 (int64_t __a
)
22033 return (int64x1_t
) {__a
};
22036 __extension__
extern __inline uint8x8_t
22037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22038 vmov_n_u8 (uint8_t __a
)
22040 return vdup_n_u8 (__a
);
22043 __extension__
extern __inline uint16x4_t
22044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22045 vmov_n_u16 (uint16_t __a
)
22047 return vdup_n_u16 (__a
);
22050 __extension__
extern __inline uint32x2_t
22051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22052 vmov_n_u32 (uint32_t __a
)
22054 return vdup_n_u32 (__a
);
22057 __extension__
extern __inline uint64x1_t
22058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22059 vmov_n_u64 (uint64_t __a
)
22061 return (uint64x1_t
) {__a
};
22064 __extension__
extern __inline float16x8_t
22065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22066 vmovq_n_f16 (float16_t __a
)
22068 return vdupq_n_f16 (__a
);
22071 __extension__
extern __inline float32x4_t
22072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22073 vmovq_n_f32 (float32_t __a
)
22075 return vdupq_n_f32 (__a
);
22078 __extension__
extern __inline float64x2_t
22079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22080 vmovq_n_f64 (float64_t __a
)
22082 return vdupq_n_f64 (__a
);
22085 __extension__
extern __inline poly8x16_t
22086 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22087 vmovq_n_p8 (poly8_t __a
)
22089 return vdupq_n_p8 (__a
);
22092 __extension__
extern __inline poly16x8_t
22093 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22094 vmovq_n_p16 (poly16_t __a
)
22096 return vdupq_n_p16 (__a
);
22099 __extension__
extern __inline poly64x2_t
22100 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22101 vmovq_n_p64 (poly64_t __a
)
22103 return vdupq_n_p64 (__a
);
22106 __extension__
extern __inline int8x16_t
22107 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22108 vmovq_n_s8 (int8_t __a
)
22110 return vdupq_n_s8 (__a
);
22113 __extension__
extern __inline int16x8_t
22114 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22115 vmovq_n_s16 (int16_t __a
)
22117 return vdupq_n_s16 (__a
);
22120 __extension__
extern __inline int32x4_t
22121 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22122 vmovq_n_s32 (int32_t __a
)
22124 return vdupq_n_s32 (__a
);
22127 __extension__
extern __inline int64x2_t
22128 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22129 vmovq_n_s64 (int64_t __a
)
22131 return vdupq_n_s64 (__a
);
22134 __extension__
extern __inline uint8x16_t
22135 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22136 vmovq_n_u8 (uint8_t __a
)
22138 return vdupq_n_u8 (__a
);
22141 __extension__
extern __inline uint16x8_t
22142 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22143 vmovq_n_u16 (uint16_t __a
)
22145 return vdupq_n_u16 (__a
);
22148 __extension__
extern __inline uint32x4_t
22149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22150 vmovq_n_u32 (uint32_t __a
)
22152 return vdupq_n_u32 (__a
);
22155 __extension__
extern __inline uint64x2_t
22156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22157 vmovq_n_u64 (uint64_t __a
)
22159 return vdupq_n_u64 (__a
);
22164 __extension__
extern __inline float32x2_t
22165 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22166 vmul_lane_f32 (float32x2_t __a
, float32x2_t __b
, const int __lane
)
22168 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22171 __extension__
extern __inline float64x1_t
22172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22173 vmul_lane_f64 (float64x1_t __a
, float64x1_t __b
, const int __lane
)
22178 __extension__
extern __inline int16x4_t
22179 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22180 vmul_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __lane
)
22182 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22185 __extension__
extern __inline int32x2_t
22186 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22187 vmul_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __lane
)
22189 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22192 __extension__
extern __inline uint16x4_t
22193 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22194 vmul_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __lane
)
22196 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22199 __extension__
extern __inline uint32x2_t
22200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22201 vmul_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __lane
)
22203 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22208 __extension__
extern __inline float64_t
22209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22210 vmuld_lane_f64 (float64_t __a
, float64x1_t __b
, const int __lane
)
22212 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22215 __extension__
extern __inline float64_t
22216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22217 vmuld_laneq_f64 (float64_t __a
, float64x2_t __b
, const int __lane
)
22219 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22224 __extension__
extern __inline float32_t
22225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22226 vmuls_lane_f32 (float32_t __a
, float32x2_t __b
, const int __lane
)
22228 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22231 __extension__
extern __inline float32_t
22232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22233 vmuls_laneq_f32 (float32_t __a
, float32x4_t __b
, const int __lane
)
22235 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22240 __extension__
extern __inline float32x2_t
22241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22242 vmul_laneq_f32 (float32x2_t __a
, float32x4_t __b
, const int __lane
)
22244 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22247 __extension__
extern __inline float64x1_t
22248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22249 vmul_laneq_f64 (float64x1_t __a
, float64x2_t __b
, const int __lane
)
22251 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22254 __extension__
extern __inline int16x4_t
22255 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22256 vmul_laneq_s16 (int16x4_t __a
, int16x8_t __b
, const int __lane
)
22258 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22261 __extension__
extern __inline int32x2_t
22262 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22263 vmul_laneq_s32 (int32x2_t __a
, int32x4_t __b
, const int __lane
)
22265 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22268 __extension__
extern __inline uint16x4_t
22269 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22270 vmul_laneq_u16 (uint16x4_t __a
, uint16x8_t __b
, const int __lane
)
22272 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22275 __extension__
extern __inline uint32x2_t
22276 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22277 vmul_laneq_u32 (uint32x2_t __a
, uint32x4_t __b
, const int __lane
)
22279 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22284 __extension__
extern __inline float64x1_t
22285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22286 vmul_n_f64 (float64x1_t __a
, float64_t __b
)
22288 return (float64x1_t
) { vget_lane_f64 (__a
, 0) * __b
};
22293 __extension__
extern __inline float32x4_t
22294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22295 vmulq_lane_f32 (float32x4_t __a
, float32x2_t __b
, const int __lane
)
22297 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22300 __extension__
extern __inline float64x2_t
22301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22302 vmulq_lane_f64 (float64x2_t __a
, float64x1_t __b
, const int __lane
)
22304 __AARCH64_LANE_CHECK (__a
, __lane
);
22305 return __a
* __b
[0];
22308 __extension__
extern __inline int16x8_t
22309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22310 vmulq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __lane
)
22312 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22315 __extension__
extern __inline int32x4_t
22316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22317 vmulq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __lane
)
22319 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22322 __extension__
extern __inline uint16x8_t
22323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22324 vmulq_lane_u16 (uint16x8_t __a
, uint16x4_t __b
, const int __lane
)
22326 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22329 __extension__
extern __inline uint32x4_t
22330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22331 vmulq_lane_u32 (uint32x4_t __a
, uint32x2_t __b
, const int __lane
)
22333 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22338 __extension__
extern __inline float32x4_t
22339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22340 vmulq_laneq_f32 (float32x4_t __a
, float32x4_t __b
, const int __lane
)
22342 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22345 __extension__
extern __inline float64x2_t
22346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22347 vmulq_laneq_f64 (float64x2_t __a
, float64x2_t __b
, const int __lane
)
22349 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22352 __extension__
extern __inline int16x8_t
22353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22354 vmulq_laneq_s16 (int16x8_t __a
, int16x8_t __b
, const int __lane
)
22356 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22359 __extension__
extern __inline int32x4_t
22360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22361 vmulq_laneq_s32 (int32x4_t __a
, int32x4_t __b
, const int __lane
)
22363 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22366 __extension__
extern __inline uint16x8_t
22367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22368 vmulq_laneq_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __lane
)
22370 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22373 __extension__
extern __inline uint32x4_t
22374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22375 vmulq_laneq_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __lane
)
22377 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
22382 __extension__
extern __inline float32x2_t
22383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22384 vmul_n_f32 (float32x2_t __a
, float32_t __b
)
22389 __extension__
extern __inline float32x4_t
22390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22391 vmulq_n_f32 (float32x4_t __a
, float32_t __b
)
22396 __extension__
extern __inline float64x2_t
22397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22398 vmulq_n_f64 (float64x2_t __a
, float64_t __b
)
22403 __extension__
extern __inline int16x4_t
22404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22405 vmul_n_s16 (int16x4_t __a
, int16_t __b
)
22410 __extension__
extern __inline int16x8_t
22411 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22412 vmulq_n_s16 (int16x8_t __a
, int16_t __b
)
22417 __extension__
extern __inline int32x2_t
22418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22419 vmul_n_s32 (int32x2_t __a
, int32_t __b
)
22424 __extension__
extern __inline int32x4_t
22425 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22426 vmulq_n_s32 (int32x4_t __a
, int32_t __b
)
22431 __extension__
extern __inline uint16x4_t
22432 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22433 vmul_n_u16 (uint16x4_t __a
, uint16_t __b
)
22438 __extension__
extern __inline uint16x8_t
22439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22440 vmulq_n_u16 (uint16x8_t __a
, uint16_t __b
)
22445 __extension__
extern __inline uint32x2_t
22446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22447 vmul_n_u32 (uint32x2_t __a
, uint32_t __b
)
22452 __extension__
extern __inline uint32x4_t
22453 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22454 vmulq_n_u32 (uint32x4_t __a
, uint32_t __b
)
22461 __extension__
extern __inline poly8x8_t
22462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22463 vmvn_p8 (poly8x8_t __a
)
22465 return (poly8x8_t
) ~((int8x8_t
) __a
);
22468 __extension__
extern __inline int8x8_t
22469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22470 vmvn_s8 (int8x8_t __a
)
22475 __extension__
extern __inline int16x4_t
22476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22477 vmvn_s16 (int16x4_t __a
)
22482 __extension__
extern __inline int32x2_t
22483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22484 vmvn_s32 (int32x2_t __a
)
22489 __extension__
extern __inline uint8x8_t
22490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22491 vmvn_u8 (uint8x8_t __a
)
22496 __extension__
extern __inline uint16x4_t
22497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22498 vmvn_u16 (uint16x4_t __a
)
22503 __extension__
extern __inline uint32x2_t
22504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22505 vmvn_u32 (uint32x2_t __a
)
22510 __extension__
extern __inline poly8x16_t
22511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22512 vmvnq_p8 (poly8x16_t __a
)
22514 return (poly8x16_t
) ~((int8x16_t
) __a
);
22517 __extension__
extern __inline int8x16_t
22518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22519 vmvnq_s8 (int8x16_t __a
)
22524 __extension__
extern __inline int16x8_t
22525 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22526 vmvnq_s16 (int16x8_t __a
)
22531 __extension__
extern __inline int32x4_t
22532 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22533 vmvnq_s32 (int32x4_t __a
)
22538 __extension__
extern __inline uint8x16_t
22539 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22540 vmvnq_u8 (uint8x16_t __a
)
22545 __extension__
extern __inline uint16x8_t
22546 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22547 vmvnq_u16 (uint16x8_t __a
)
22552 __extension__
extern __inline uint32x4_t
22553 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22554 vmvnq_u32 (uint32x4_t __a
)
22561 __extension__
extern __inline float32x2_t
22562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22563 vneg_f32 (float32x2_t __a
)
22568 __extension__
extern __inline float64x1_t
22569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22570 vneg_f64 (float64x1_t __a
)
22575 __extension__
extern __inline int8x8_t
22576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22577 vneg_s8 (int8x8_t __a
)
22582 __extension__
extern __inline int16x4_t
22583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22584 vneg_s16 (int16x4_t __a
)
22589 __extension__
extern __inline int32x2_t
22590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22591 vneg_s32 (int32x2_t __a
)
22596 __extension__
extern __inline int64x1_t
22597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22598 vneg_s64 (int64x1_t __a
)
22603 /* According to the ACLE, the negative of the minimum (signed)
22604 value is itself. This leads to a semantics mismatch, as this is
22605 undefined behaviour in C. The value range predictor is not
22606 aware that the negation of a negative number can still be negative
22607 and it may try to fold the expression. See the test in
22608 gcc.target/aarch64/vnegd_s64.c for an example.
22610 The cast below tricks the value range predictor to include
22611 INT64_MIN in the range it computes. So for x in the range
22612 [INT64_MIN, y] the range prediction after vnegd_s64 (x) will
22613 be ~[INT64_MIN + 1, y]. */
22615 __extension__
extern __inline
int64_t
22616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22617 vnegd_s64 (int64_t __a
)
22619 return - (uint64_t) __a
;
22622 __extension__
extern __inline float32x4_t
22623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22624 vnegq_f32 (float32x4_t __a
)
22629 __extension__
extern __inline float64x2_t
22630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22631 vnegq_f64 (float64x2_t __a
)
22636 __extension__
extern __inline int8x16_t
22637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22638 vnegq_s8 (int8x16_t __a
)
22643 __extension__
extern __inline int16x8_t
22644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22645 vnegq_s16 (int16x8_t __a
)
22650 __extension__
extern __inline int32x4_t
22651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22652 vnegq_s32 (int32x4_t __a
)
22657 __extension__
extern __inline int64x2_t
22658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22659 vnegq_s64 (int64x2_t __a
)
22666 __extension__
extern __inline float32x2_t
22667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22668 vpadd_f32 (float32x2_t __a
, float32x2_t __b
)
22670 return __builtin_aarch64_faddpv2sf (__a
, __b
);
22673 __extension__
extern __inline float32x4_t
22674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22675 vpaddq_f32 (float32x4_t __a
, float32x4_t __b
)
22677 return __builtin_aarch64_faddpv4sf (__a
, __b
);
22680 __extension__
extern __inline float64x2_t
22681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22682 vpaddq_f64 (float64x2_t __a
, float64x2_t __b
)
22684 return __builtin_aarch64_faddpv2df (__a
, __b
);
22687 __extension__
extern __inline int8x8_t
22688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22689 vpadd_s8 (int8x8_t __a
, int8x8_t __b
)
22691 return __builtin_aarch64_addpv8qi (__a
, __b
);
22694 __extension__
extern __inline int16x4_t
22695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22696 vpadd_s16 (int16x4_t __a
, int16x4_t __b
)
22698 return __builtin_aarch64_addpv4hi (__a
, __b
);
22701 __extension__
extern __inline int32x2_t
22702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22703 vpadd_s32 (int32x2_t __a
, int32x2_t __b
)
22705 return __builtin_aarch64_addpv2si (__a
, __b
);
22708 __extension__
extern __inline uint8x8_t
22709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22710 vpadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
22712 return (uint8x8_t
) __builtin_aarch64_addpv8qi ((int8x8_t
) __a
,
22716 __extension__
extern __inline uint16x4_t
22717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22718 vpadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
22720 return (uint16x4_t
) __builtin_aarch64_addpv4hi ((int16x4_t
) __a
,
22724 __extension__
extern __inline uint32x2_t
22725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22726 vpadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
22728 return (uint32x2_t
) __builtin_aarch64_addpv2si ((int32x2_t
) __a
,
22732 __extension__
extern __inline float32_t
22733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22734 vpadds_f32 (float32x2_t __a
)
22736 return __builtin_aarch64_reduc_plus_scal_v2sf (__a
);
22739 __extension__
extern __inline float64_t
22740 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22741 vpaddd_f64 (float64x2_t __a
)
22743 return __builtin_aarch64_reduc_plus_scal_v2df (__a
);
22746 __extension__
extern __inline
int64_t
22747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22748 vpaddd_s64 (int64x2_t __a
)
22750 return __builtin_aarch64_addpdi (__a
);
22753 __extension__
extern __inline
uint64_t
22754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22755 vpaddd_u64 (uint64x2_t __a
)
22757 return __builtin_aarch64_addpdi ((int64x2_t
) __a
);
22762 __extension__
extern __inline int64x2_t
22763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22764 vqabsq_s64 (int64x2_t __a
)
22766 return (int64x2_t
) __builtin_aarch64_sqabsv2di (__a
);
22769 __extension__
extern __inline
int8_t
22770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22771 vqabsb_s8 (int8_t __a
)
22773 return (int8_t) __builtin_aarch64_sqabsqi (__a
);
22776 __extension__
extern __inline
int16_t
22777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22778 vqabsh_s16 (int16_t __a
)
22780 return (int16_t) __builtin_aarch64_sqabshi (__a
);
22783 __extension__
extern __inline
int32_t
22784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22785 vqabss_s32 (int32_t __a
)
22787 return (int32_t) __builtin_aarch64_sqabssi (__a
);
22790 __extension__
extern __inline
int64_t
22791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22792 vqabsd_s64 (int64_t __a
)
22794 return __builtin_aarch64_sqabsdi (__a
);
22799 __extension__
extern __inline
int8_t
22800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22801 vqaddb_s8 (int8_t __a
, int8_t __b
)
22803 return (int8_t) __builtin_aarch64_sqaddqi (__a
, __b
);
22806 __extension__
extern __inline
int16_t
22807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22808 vqaddh_s16 (int16_t __a
, int16_t __b
)
22810 return (int16_t) __builtin_aarch64_sqaddhi (__a
, __b
);
22813 __extension__
extern __inline
int32_t
22814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22815 vqadds_s32 (int32_t __a
, int32_t __b
)
22817 return (int32_t) __builtin_aarch64_sqaddsi (__a
, __b
);
22820 __extension__
extern __inline
int64_t
22821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22822 vqaddd_s64 (int64_t __a
, int64_t __b
)
22824 return __builtin_aarch64_sqadddi (__a
, __b
);
22827 __extension__
extern __inline
uint8_t
22828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22829 vqaddb_u8 (uint8_t __a
, uint8_t __b
)
22831 return (uint8_t) __builtin_aarch64_uqaddqi_uuu (__a
, __b
);
22834 __extension__
extern __inline
uint16_t
22835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22836 vqaddh_u16 (uint16_t __a
, uint16_t __b
)
22838 return (uint16_t) __builtin_aarch64_uqaddhi_uuu (__a
, __b
);
22841 __extension__
extern __inline
uint32_t
22842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22843 vqadds_u32 (uint32_t __a
, uint32_t __b
)
22845 return (uint32_t) __builtin_aarch64_uqaddsi_uuu (__a
, __b
);
22848 __extension__
extern __inline
uint64_t
22849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22850 vqaddd_u64 (uint64_t __a
, uint64_t __b
)
22852 return __builtin_aarch64_uqadddi_uuu (__a
, __b
);
22857 __extension__
extern __inline int32x4_t
22858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22859 vqdmlal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
22861 return __builtin_aarch64_sqdmlalv4hi (__a
, __b
, __c
);
22864 __extension__
extern __inline int32x4_t
22865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22866 vqdmlal_high_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
)
22868 return __builtin_aarch64_sqdmlal2v8hi (__a
, __b
, __c
);
22871 __extension__
extern __inline int32x4_t
22872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22873 vqdmlal_high_lane_s16 (int32x4_t __a
, int16x8_t __b
, int16x4_t __c
,
22876 return __builtin_aarch64_sqdmlal2_lanev8hi (__a
, __b
, __c
, __d
);
22879 __extension__
extern __inline int32x4_t
22880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22881 vqdmlal_high_laneq_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
,
22884 return __builtin_aarch64_sqdmlal2_laneqv8hi (__a
, __b
, __c
, __d
);
22887 __extension__
extern __inline int32x4_t
22888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22889 vqdmlal_high_n_s16 (int32x4_t __a
, int16x8_t __b
, int16_t __c
)
22891 return __builtin_aarch64_sqdmlal2_nv8hi (__a
, __b
, __c
);
22894 __extension__
extern __inline int32x4_t
22895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22896 vqdmlal_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, int const __d
)
22898 return __builtin_aarch64_sqdmlal_lanev4hi (__a
, __b
, __c
, __d
);
22901 __extension__
extern __inline int32x4_t
22902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22903 vqdmlal_laneq_s16 (int32x4_t __a
, int16x4_t __b
, int16x8_t __c
, int const __d
)
22905 return __builtin_aarch64_sqdmlal_laneqv4hi (__a
, __b
, __c
, __d
);
22908 __extension__
extern __inline int32x4_t
22909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22910 vqdmlal_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
22912 return __builtin_aarch64_sqdmlal_nv4hi (__a
, __b
, __c
);
22915 __extension__
extern __inline int64x2_t
22916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22917 vqdmlal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
22919 return __builtin_aarch64_sqdmlalv2si (__a
, __b
, __c
);
22922 __extension__
extern __inline int64x2_t
22923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22924 vqdmlal_high_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
)
22926 return __builtin_aarch64_sqdmlal2v4si (__a
, __b
, __c
);
22929 __extension__
extern __inline int64x2_t
22930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22931 vqdmlal_high_lane_s32 (int64x2_t __a
, int32x4_t __b
, int32x2_t __c
,
22934 return __builtin_aarch64_sqdmlal2_lanev4si (__a
, __b
, __c
, __d
);
22937 __extension__
extern __inline int64x2_t
22938 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22939 vqdmlal_high_laneq_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
,
22942 return __builtin_aarch64_sqdmlal2_laneqv4si (__a
, __b
, __c
, __d
);
22945 __extension__
extern __inline int64x2_t
22946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22947 vqdmlal_high_n_s32 (int64x2_t __a
, int32x4_t __b
, int32_t __c
)
22949 return __builtin_aarch64_sqdmlal2_nv4si (__a
, __b
, __c
);
22952 __extension__
extern __inline int64x2_t
22953 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22954 vqdmlal_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, int const __d
)
22956 return __builtin_aarch64_sqdmlal_lanev2si (__a
, __b
, __c
, __d
);
22959 __extension__
extern __inline int64x2_t
22960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22961 vqdmlal_laneq_s32 (int64x2_t __a
, int32x2_t __b
, int32x4_t __c
, int const __d
)
22963 return __builtin_aarch64_sqdmlal_laneqv2si (__a
, __b
, __c
, __d
);
22966 __extension__
extern __inline int64x2_t
22967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22968 vqdmlal_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
22970 return __builtin_aarch64_sqdmlal_nv2si (__a
, __b
, __c
);
22973 __extension__
extern __inline
int32_t
22974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22975 vqdmlalh_s16 (int32_t __a
, int16_t __b
, int16_t __c
)
22977 return __builtin_aarch64_sqdmlalhi (__a
, __b
, __c
);
22980 __extension__
extern __inline
int32_t
22981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22982 vqdmlalh_lane_s16 (int32_t __a
, int16_t __b
, int16x4_t __c
, const int __d
)
22984 return __builtin_aarch64_sqdmlal_lanehi (__a
, __b
, __c
, __d
);
22987 __extension__
extern __inline
int32_t
22988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22989 vqdmlalh_laneq_s16 (int32_t __a
, int16_t __b
, int16x8_t __c
, const int __d
)
22991 return __builtin_aarch64_sqdmlal_laneqhi (__a
, __b
, __c
, __d
);
22994 __extension__
extern __inline
int64_t
22995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
22996 vqdmlals_s32 (int64_t __a
, int32_t __b
, int32_t __c
)
22998 return __builtin_aarch64_sqdmlalsi (__a
, __b
, __c
);
23001 __extension__
extern __inline
int64_t
23002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23003 vqdmlals_lane_s32 (int64_t __a
, int32_t __b
, int32x2_t __c
, const int __d
)
23005 return __builtin_aarch64_sqdmlal_lanesi (__a
, __b
, __c
, __d
);
23008 __extension__
extern __inline
int64_t
23009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23010 vqdmlals_laneq_s32 (int64_t __a
, int32_t __b
, int32x4_t __c
, const int __d
)
23012 return __builtin_aarch64_sqdmlal_laneqsi (__a
, __b
, __c
, __d
);
23017 __extension__
extern __inline int32x4_t
23018 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23019 vqdmlsl_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
23021 return __builtin_aarch64_sqdmlslv4hi (__a
, __b
, __c
);
23024 __extension__
extern __inline int32x4_t
23025 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23026 vqdmlsl_high_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
)
23028 return __builtin_aarch64_sqdmlsl2v8hi (__a
, __b
, __c
);
23031 __extension__
extern __inline int32x4_t
23032 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23033 vqdmlsl_high_lane_s16 (int32x4_t __a
, int16x8_t __b
, int16x4_t __c
,
23036 return __builtin_aarch64_sqdmlsl2_lanev8hi (__a
, __b
, __c
, __d
);
23039 __extension__
extern __inline int32x4_t
23040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23041 vqdmlsl_high_laneq_s16 (int32x4_t __a
, int16x8_t __b
, int16x8_t __c
,
23044 return __builtin_aarch64_sqdmlsl2_laneqv8hi (__a
, __b
, __c
, __d
);
23047 __extension__
extern __inline int32x4_t
23048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23049 vqdmlsl_high_n_s16 (int32x4_t __a
, int16x8_t __b
, int16_t __c
)
23051 return __builtin_aarch64_sqdmlsl2_nv8hi (__a
, __b
, __c
);
23054 __extension__
extern __inline int32x4_t
23055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23056 vqdmlsl_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, int const __d
)
23058 return __builtin_aarch64_sqdmlsl_lanev4hi (__a
, __b
, __c
, __d
);
23061 __extension__
extern __inline int32x4_t
23062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23063 vqdmlsl_laneq_s16 (int32x4_t __a
, int16x4_t __b
, int16x8_t __c
, int const __d
)
23065 return __builtin_aarch64_sqdmlsl_laneqv4hi (__a
, __b
, __c
, __d
);
23068 __extension__
extern __inline int32x4_t
23069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23070 vqdmlsl_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
23072 return __builtin_aarch64_sqdmlsl_nv4hi (__a
, __b
, __c
);
23075 __extension__
extern __inline int64x2_t
23076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23077 vqdmlsl_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
23079 return __builtin_aarch64_sqdmlslv2si (__a
, __b
, __c
);
23082 __extension__
extern __inline int64x2_t
23083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23084 vqdmlsl_high_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
)
23086 return __builtin_aarch64_sqdmlsl2v4si (__a
, __b
, __c
);
23089 __extension__
extern __inline int64x2_t
23090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23091 vqdmlsl_high_lane_s32 (int64x2_t __a
, int32x4_t __b
, int32x2_t __c
,
23094 return __builtin_aarch64_sqdmlsl2_lanev4si (__a
, __b
, __c
, __d
);
23097 __extension__
extern __inline int64x2_t
23098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23099 vqdmlsl_high_laneq_s32 (int64x2_t __a
, int32x4_t __b
, int32x4_t __c
,
23102 return __builtin_aarch64_sqdmlsl2_laneqv4si (__a
, __b
, __c
, __d
);
23105 __extension__
extern __inline int64x2_t
23106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23107 vqdmlsl_high_n_s32 (int64x2_t __a
, int32x4_t __b
, int32_t __c
)
23109 return __builtin_aarch64_sqdmlsl2_nv4si (__a
, __b
, __c
);
23112 __extension__
extern __inline int64x2_t
23113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23114 vqdmlsl_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, int const __d
)
23116 return __builtin_aarch64_sqdmlsl_lanev2si (__a
, __b
, __c
, __d
);
23119 __extension__
extern __inline int64x2_t
23120 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23121 vqdmlsl_laneq_s32 (int64x2_t __a
, int32x2_t __b
, int32x4_t __c
, int const __d
)
23123 return __builtin_aarch64_sqdmlsl_laneqv2si (__a
, __b
, __c
, __d
);
23126 __extension__
extern __inline int64x2_t
23127 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23128 vqdmlsl_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
23130 return __builtin_aarch64_sqdmlsl_nv2si (__a
, __b
, __c
);
23133 __extension__
extern __inline
int32_t
23134 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23135 vqdmlslh_s16 (int32_t __a
, int16_t __b
, int16_t __c
)
23137 return __builtin_aarch64_sqdmlslhi (__a
, __b
, __c
);
23140 __extension__
extern __inline
int32_t
23141 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23142 vqdmlslh_lane_s16 (int32_t __a
, int16_t __b
, int16x4_t __c
, const int __d
)
23144 return __builtin_aarch64_sqdmlsl_lanehi (__a
, __b
, __c
, __d
);
23147 __extension__
extern __inline
int32_t
23148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23149 vqdmlslh_laneq_s16 (int32_t __a
, int16_t __b
, int16x8_t __c
, const int __d
)
23151 return __builtin_aarch64_sqdmlsl_laneqhi (__a
, __b
, __c
, __d
);
23154 __extension__
extern __inline
int64_t
23155 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23156 vqdmlsls_s32 (int64_t __a
, int32_t __b
, int32_t __c
)
23158 return __builtin_aarch64_sqdmlslsi (__a
, __b
, __c
);
23161 __extension__
extern __inline
int64_t
23162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23163 vqdmlsls_lane_s32 (int64_t __a
, int32_t __b
, int32x2_t __c
, const int __d
)
23165 return __builtin_aarch64_sqdmlsl_lanesi (__a
, __b
, __c
, __d
);
23168 __extension__
extern __inline
int64_t
23169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23170 vqdmlsls_laneq_s32 (int64_t __a
, int32_t __b
, int32x4_t __c
, const int __d
)
23172 return __builtin_aarch64_sqdmlsl_laneqsi (__a
, __b
, __c
, __d
);
23177 __extension__
extern __inline int16x4_t
23178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23179 vqdmulh_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
23181 return __builtin_aarch64_sqdmulh_lanev4hi (__a
, __b
, __c
);
23184 __extension__
extern __inline int32x2_t
23185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23186 vqdmulh_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
23188 return __builtin_aarch64_sqdmulh_lanev2si (__a
, __b
, __c
);
23191 __extension__
extern __inline int16x8_t
23192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23193 vqdmulhq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __c
)
23195 return __builtin_aarch64_sqdmulh_lanev8hi (__a
, __b
, __c
);
23198 __extension__
extern __inline int32x4_t
23199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23200 vqdmulhq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __c
)
23202 return __builtin_aarch64_sqdmulh_lanev4si (__a
, __b
, __c
);
23205 __extension__
extern __inline
int16_t
23206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23207 vqdmulhh_s16 (int16_t __a
, int16_t __b
)
23209 return (int16_t) __builtin_aarch64_sqdmulhhi (__a
, __b
);
23212 __extension__
extern __inline
int16_t
23213 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23214 vqdmulhh_lane_s16 (int16_t __a
, int16x4_t __b
, const int __c
)
23216 return __builtin_aarch64_sqdmulh_lanehi (__a
, __b
, __c
);
23219 __extension__
extern __inline
int16_t
23220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23221 vqdmulhh_laneq_s16 (int16_t __a
, int16x8_t __b
, const int __c
)
23223 return __builtin_aarch64_sqdmulh_laneqhi (__a
, __b
, __c
);
23226 __extension__
extern __inline
int32_t
23227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23228 vqdmulhs_s32 (int32_t __a
, int32_t __b
)
23230 return (int32_t) __builtin_aarch64_sqdmulhsi (__a
, __b
);
23233 __extension__
extern __inline
int32_t
23234 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23235 vqdmulhs_lane_s32 (int32_t __a
, int32x2_t __b
, const int __c
)
23237 return __builtin_aarch64_sqdmulh_lanesi (__a
, __b
, __c
);
23240 __extension__
extern __inline
int32_t
23241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23242 vqdmulhs_laneq_s32 (int32_t __a
, int32x4_t __b
, const int __c
)
23244 return __builtin_aarch64_sqdmulh_laneqsi (__a
, __b
, __c
);
23249 __extension__
extern __inline int32x4_t
23250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23251 vqdmull_s16 (int16x4_t __a
, int16x4_t __b
)
23253 return __builtin_aarch64_sqdmullv4hi (__a
, __b
);
23256 __extension__
extern __inline int32x4_t
23257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23258 vqdmull_high_s16 (int16x8_t __a
, int16x8_t __b
)
23260 return __builtin_aarch64_sqdmull2v8hi (__a
, __b
);
23263 __extension__
extern __inline int32x4_t
23264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23265 vqdmull_high_lane_s16 (int16x8_t __a
, int16x4_t __b
, int const __c
)
23267 return __builtin_aarch64_sqdmull2_lanev8hi (__a
, __b
,__c
);
23270 __extension__
extern __inline int32x4_t
23271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23272 vqdmull_high_laneq_s16 (int16x8_t __a
, int16x8_t __b
, int const __c
)
23274 return __builtin_aarch64_sqdmull2_laneqv8hi (__a
, __b
,__c
);
23277 __extension__
extern __inline int32x4_t
23278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23279 vqdmull_high_n_s16 (int16x8_t __a
, int16_t __b
)
23281 return __builtin_aarch64_sqdmull2_nv8hi (__a
, __b
);
23284 __extension__
extern __inline int32x4_t
23285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23286 vqdmull_lane_s16 (int16x4_t __a
, int16x4_t __b
, int const __c
)
23288 return __builtin_aarch64_sqdmull_lanev4hi (__a
, __b
, __c
);
23291 __extension__
extern __inline int32x4_t
23292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23293 vqdmull_laneq_s16 (int16x4_t __a
, int16x8_t __b
, int const __c
)
23295 return __builtin_aarch64_sqdmull_laneqv4hi (__a
, __b
, __c
);
23298 __extension__
extern __inline int32x4_t
23299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23300 vqdmull_n_s16 (int16x4_t __a
, int16_t __b
)
23302 return __builtin_aarch64_sqdmull_nv4hi (__a
, __b
);
23305 __extension__
extern __inline int64x2_t
23306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23307 vqdmull_s32 (int32x2_t __a
, int32x2_t __b
)
23309 return __builtin_aarch64_sqdmullv2si (__a
, __b
);
23312 __extension__
extern __inline int64x2_t
23313 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23314 vqdmull_high_s32 (int32x4_t __a
, int32x4_t __b
)
23316 return __builtin_aarch64_sqdmull2v4si (__a
, __b
);
23319 __extension__
extern __inline int64x2_t
23320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23321 vqdmull_high_lane_s32 (int32x4_t __a
, int32x2_t __b
, int const __c
)
23323 return __builtin_aarch64_sqdmull2_lanev4si (__a
, __b
, __c
);
23326 __extension__
extern __inline int64x2_t
23327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23328 vqdmull_high_laneq_s32 (int32x4_t __a
, int32x4_t __b
, int const __c
)
23330 return __builtin_aarch64_sqdmull2_laneqv4si (__a
, __b
, __c
);
23333 __extension__
extern __inline int64x2_t
23334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23335 vqdmull_high_n_s32 (int32x4_t __a
, int32_t __b
)
23337 return __builtin_aarch64_sqdmull2_nv4si (__a
, __b
);
23340 __extension__
extern __inline int64x2_t
23341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23342 vqdmull_lane_s32 (int32x2_t __a
, int32x2_t __b
, int const __c
)
23344 return __builtin_aarch64_sqdmull_lanev2si (__a
, __b
, __c
);
23347 __extension__
extern __inline int64x2_t
23348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23349 vqdmull_laneq_s32 (int32x2_t __a
, int32x4_t __b
, int const __c
)
23351 return __builtin_aarch64_sqdmull_laneqv2si (__a
, __b
, __c
);
23354 __extension__
extern __inline int64x2_t
23355 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23356 vqdmull_n_s32 (int32x2_t __a
, int32_t __b
)
23358 return __builtin_aarch64_sqdmull_nv2si (__a
, __b
);
23361 __extension__
extern __inline
int32_t
23362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23363 vqdmullh_s16 (int16_t __a
, int16_t __b
)
23365 return (int32_t) __builtin_aarch64_sqdmullhi (__a
, __b
);
23368 __extension__
extern __inline
int32_t
23369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23370 vqdmullh_lane_s16 (int16_t __a
, int16x4_t __b
, const int __c
)
23372 return __builtin_aarch64_sqdmull_lanehi (__a
, __b
, __c
);
23375 __extension__
extern __inline
int32_t
23376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23377 vqdmullh_laneq_s16 (int16_t __a
, int16x8_t __b
, const int __c
)
23379 return __builtin_aarch64_sqdmull_laneqhi (__a
, __b
, __c
);
23382 __extension__
extern __inline
int64_t
23383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23384 vqdmulls_s32 (int32_t __a
, int32_t __b
)
23386 return __builtin_aarch64_sqdmullsi (__a
, __b
);
23389 __extension__
extern __inline
int64_t
23390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23391 vqdmulls_lane_s32 (int32_t __a
, int32x2_t __b
, const int __c
)
23393 return __builtin_aarch64_sqdmull_lanesi (__a
, __b
, __c
);
23396 __extension__
extern __inline
int64_t
23397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23398 vqdmulls_laneq_s32 (int32_t __a
, int32x4_t __b
, const int __c
)
23400 return __builtin_aarch64_sqdmull_laneqsi (__a
, __b
, __c
);
23405 __extension__
extern __inline int8x8_t
23406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23407 vqmovn_s16 (int16x8_t __a
)
23409 return (int8x8_t
) __builtin_aarch64_sqmovnv8hi (__a
);
23412 __extension__
extern __inline int16x4_t
23413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23414 vqmovn_s32 (int32x4_t __a
)
23416 return (int16x4_t
) __builtin_aarch64_sqmovnv4si (__a
);
23419 __extension__
extern __inline int32x2_t
23420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23421 vqmovn_s64 (int64x2_t __a
)
23423 return (int32x2_t
) __builtin_aarch64_sqmovnv2di (__a
);
23426 __extension__
extern __inline uint8x8_t
23427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23428 vqmovn_u16 (uint16x8_t __a
)
23430 return (uint8x8_t
) __builtin_aarch64_uqmovnv8hi ((int16x8_t
) __a
);
23433 __extension__
extern __inline uint16x4_t
23434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23435 vqmovn_u32 (uint32x4_t __a
)
23437 return (uint16x4_t
) __builtin_aarch64_uqmovnv4si ((int32x4_t
) __a
);
23440 __extension__
extern __inline uint32x2_t
23441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23442 vqmovn_u64 (uint64x2_t __a
)
23444 return (uint32x2_t
) __builtin_aarch64_uqmovnv2di ((int64x2_t
) __a
);
23447 __extension__
extern __inline
int8_t
23448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23449 vqmovnh_s16 (int16_t __a
)
23451 return (int8_t) __builtin_aarch64_sqmovnhi (__a
);
23454 __extension__
extern __inline
int16_t
23455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23456 vqmovns_s32 (int32_t __a
)
23458 return (int16_t) __builtin_aarch64_sqmovnsi (__a
);
23461 __extension__
extern __inline
int32_t
23462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23463 vqmovnd_s64 (int64_t __a
)
23465 return (int32_t) __builtin_aarch64_sqmovndi (__a
);
23468 __extension__
extern __inline
uint8_t
23469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23470 vqmovnh_u16 (uint16_t __a
)
23472 return (uint8_t) __builtin_aarch64_uqmovnhi (__a
);
23475 __extension__
extern __inline
uint16_t
23476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23477 vqmovns_u32 (uint32_t __a
)
23479 return (uint16_t) __builtin_aarch64_uqmovnsi (__a
);
23482 __extension__
extern __inline
uint32_t
23483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23484 vqmovnd_u64 (uint64_t __a
)
23486 return (uint32_t) __builtin_aarch64_uqmovndi (__a
);
23491 __extension__
extern __inline uint8x8_t
23492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23493 vqmovun_s16 (int16x8_t __a
)
23495 return __builtin_aarch64_sqmovunv8hi_us (__a
);
23498 __extension__
extern __inline uint16x4_t
23499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23500 vqmovun_s32 (int32x4_t __a
)
23502 return __builtin_aarch64_sqmovunv4si_us (__a
);
23505 __extension__
extern __inline uint32x2_t
23506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23507 vqmovun_s64 (int64x2_t __a
)
23509 return __builtin_aarch64_sqmovunv2di_us (__a
);
23512 __extension__
extern __inline
uint8_t
23513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23514 vqmovunh_s16 (int16_t __a
)
23516 return __builtin_aarch64_sqmovunhi_us (__a
);
23519 __extension__
extern __inline
uint16_t
23520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23521 vqmovuns_s32 (int32_t __a
)
23523 return __builtin_aarch64_sqmovunsi_us (__a
);
23526 __extension__
extern __inline
uint32_t
23527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23528 vqmovund_s64 (int64_t __a
)
23530 return __builtin_aarch64_sqmovundi_us (__a
);
23535 __extension__
extern __inline int64x2_t
23536 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23537 vqnegq_s64 (int64x2_t __a
)
23539 return (int64x2_t
) __builtin_aarch64_sqnegv2di (__a
);
23542 __extension__
extern __inline
int8_t
23543 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23544 vqnegb_s8 (int8_t __a
)
23546 return (int8_t) __builtin_aarch64_sqnegqi (__a
);
23549 __extension__
extern __inline
int16_t
23550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23551 vqnegh_s16 (int16_t __a
)
23553 return (int16_t) __builtin_aarch64_sqneghi (__a
);
23556 __extension__
extern __inline
int32_t
23557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23558 vqnegs_s32 (int32_t __a
)
23560 return (int32_t) __builtin_aarch64_sqnegsi (__a
);
23563 __extension__
extern __inline
int64_t
23564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23565 vqnegd_s64 (int64_t __a
)
23567 return __builtin_aarch64_sqnegdi (__a
);
23572 __extension__
extern __inline int16x4_t
23573 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23574 vqrdmulh_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
23576 return __builtin_aarch64_sqrdmulh_lanev4hi (__a
, __b
, __c
);
23579 __extension__
extern __inline int32x2_t
23580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23581 vqrdmulh_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
23583 return __builtin_aarch64_sqrdmulh_lanev2si (__a
, __b
, __c
);
23586 __extension__
extern __inline int16x8_t
23587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23588 vqrdmulhq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __c
)
23590 return __builtin_aarch64_sqrdmulh_lanev8hi (__a
, __b
, __c
);
23593 __extension__
extern __inline int32x4_t
23594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23595 vqrdmulhq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __c
)
23597 return __builtin_aarch64_sqrdmulh_lanev4si (__a
, __b
, __c
);
23600 __extension__
extern __inline
int16_t
23601 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23602 vqrdmulhh_s16 (int16_t __a
, int16_t __b
)
23604 return (int16_t) __builtin_aarch64_sqrdmulhhi (__a
, __b
);
23607 __extension__
extern __inline
int16_t
23608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23609 vqrdmulhh_lane_s16 (int16_t __a
, int16x4_t __b
, const int __c
)
23611 return __builtin_aarch64_sqrdmulh_lanehi (__a
, __b
, __c
);
23614 __extension__
extern __inline
int16_t
23615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23616 vqrdmulhh_laneq_s16 (int16_t __a
, int16x8_t __b
, const int __c
)
23618 return __builtin_aarch64_sqrdmulh_laneqhi (__a
, __b
, __c
);
23621 __extension__
extern __inline
int32_t
23622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23623 vqrdmulhs_s32 (int32_t __a
, int32_t __b
)
23625 return (int32_t) __builtin_aarch64_sqrdmulhsi (__a
, __b
);
23628 __extension__
extern __inline
int32_t
23629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23630 vqrdmulhs_lane_s32 (int32_t __a
, int32x2_t __b
, const int __c
)
23632 return __builtin_aarch64_sqrdmulh_lanesi (__a
, __b
, __c
);
23635 __extension__
extern __inline
int32_t
23636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23637 vqrdmulhs_laneq_s32 (int32_t __a
, int32x4_t __b
, const int __c
)
23639 return __builtin_aarch64_sqrdmulh_laneqsi (__a
, __b
, __c
);
23644 __extension__
extern __inline int8x8_t
23645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23646 vqrshl_s8 (int8x8_t __a
, int8x8_t __b
)
23648 return __builtin_aarch64_sqrshlv8qi (__a
, __b
);
23651 __extension__
extern __inline int16x4_t
23652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23653 vqrshl_s16 (int16x4_t __a
, int16x4_t __b
)
23655 return __builtin_aarch64_sqrshlv4hi (__a
, __b
);
23658 __extension__
extern __inline int32x2_t
23659 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23660 vqrshl_s32 (int32x2_t __a
, int32x2_t __b
)
23662 return __builtin_aarch64_sqrshlv2si (__a
, __b
);
23665 __extension__
extern __inline int64x1_t
23666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23667 vqrshl_s64 (int64x1_t __a
, int64x1_t __b
)
23669 return (int64x1_t
) {__builtin_aarch64_sqrshldi (__a
[0], __b
[0])};
23672 __extension__
extern __inline uint8x8_t
23673 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23674 vqrshl_u8 (uint8x8_t __a
, int8x8_t __b
)
23676 return __builtin_aarch64_uqrshlv8qi_uus ( __a
, __b
);
23679 __extension__
extern __inline uint16x4_t
23680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23681 vqrshl_u16 (uint16x4_t __a
, int16x4_t __b
)
23683 return __builtin_aarch64_uqrshlv4hi_uus ( __a
, __b
);
23686 __extension__
extern __inline uint32x2_t
23687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23688 vqrshl_u32 (uint32x2_t __a
, int32x2_t __b
)
23690 return __builtin_aarch64_uqrshlv2si_uus ( __a
, __b
);
23693 __extension__
extern __inline uint64x1_t
23694 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23695 vqrshl_u64 (uint64x1_t __a
, int64x1_t __b
)
23697 return (uint64x1_t
) {__builtin_aarch64_uqrshldi_uus (__a
[0], __b
[0])};
23700 __extension__
extern __inline int8x16_t
23701 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23702 vqrshlq_s8 (int8x16_t __a
, int8x16_t __b
)
23704 return __builtin_aarch64_sqrshlv16qi (__a
, __b
);
23707 __extension__
extern __inline int16x8_t
23708 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23709 vqrshlq_s16 (int16x8_t __a
, int16x8_t __b
)
23711 return __builtin_aarch64_sqrshlv8hi (__a
, __b
);
23714 __extension__
extern __inline int32x4_t
23715 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23716 vqrshlq_s32 (int32x4_t __a
, int32x4_t __b
)
23718 return __builtin_aarch64_sqrshlv4si (__a
, __b
);
23721 __extension__
extern __inline int64x2_t
23722 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23723 vqrshlq_s64 (int64x2_t __a
, int64x2_t __b
)
23725 return __builtin_aarch64_sqrshlv2di (__a
, __b
);
23728 __extension__
extern __inline uint8x16_t
23729 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23730 vqrshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
23732 return __builtin_aarch64_uqrshlv16qi_uus ( __a
, __b
);
23735 __extension__
extern __inline uint16x8_t
23736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23737 vqrshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
23739 return __builtin_aarch64_uqrshlv8hi_uus ( __a
, __b
);
23742 __extension__
extern __inline uint32x4_t
23743 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23744 vqrshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
23746 return __builtin_aarch64_uqrshlv4si_uus ( __a
, __b
);
23749 __extension__
extern __inline uint64x2_t
23750 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23751 vqrshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
23753 return __builtin_aarch64_uqrshlv2di_uus ( __a
, __b
);
23756 __extension__
extern __inline
int8_t
23757 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23758 vqrshlb_s8 (int8_t __a
, int8_t __b
)
23760 return __builtin_aarch64_sqrshlqi (__a
, __b
);
23763 __extension__
extern __inline
int16_t
23764 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23765 vqrshlh_s16 (int16_t __a
, int16_t __b
)
23767 return __builtin_aarch64_sqrshlhi (__a
, __b
);
23770 __extension__
extern __inline
int32_t
23771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23772 vqrshls_s32 (int32_t __a
, int32_t __b
)
23774 return __builtin_aarch64_sqrshlsi (__a
, __b
);
23777 __extension__
extern __inline
int64_t
23778 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23779 vqrshld_s64 (int64_t __a
, int64_t __b
)
23781 return __builtin_aarch64_sqrshldi (__a
, __b
);
23784 __extension__
extern __inline
uint8_t
23785 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23786 vqrshlb_u8 (uint8_t __a
, int8_t __b
)
23788 return __builtin_aarch64_uqrshlqi_uus (__a
, __b
);
23791 __extension__
extern __inline
uint16_t
23792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23793 vqrshlh_u16 (uint16_t __a
, int16_t __b
)
23795 return __builtin_aarch64_uqrshlhi_uus (__a
, __b
);
23798 __extension__
extern __inline
uint32_t
23799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23800 vqrshls_u32 (uint32_t __a
, int32_t __b
)
23802 return __builtin_aarch64_uqrshlsi_uus (__a
, __b
);
23805 __extension__
extern __inline
uint64_t
23806 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23807 vqrshld_u64 (uint64_t __a
, int64_t __b
)
23809 return __builtin_aarch64_uqrshldi_uus (__a
, __b
);
23814 __extension__
extern __inline int8x8_t
23815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23816 vqrshrn_n_s16 (int16x8_t __a
, const int __b
)
23818 return (int8x8_t
) __builtin_aarch64_sqrshrn_nv8hi (__a
, __b
);
23821 __extension__
extern __inline int16x4_t
23822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23823 vqrshrn_n_s32 (int32x4_t __a
, const int __b
)
23825 return (int16x4_t
) __builtin_aarch64_sqrshrn_nv4si (__a
, __b
);
23828 __extension__
extern __inline int32x2_t
23829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23830 vqrshrn_n_s64 (int64x2_t __a
, const int __b
)
23832 return (int32x2_t
) __builtin_aarch64_sqrshrn_nv2di (__a
, __b
);
23835 __extension__
extern __inline uint8x8_t
23836 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23837 vqrshrn_n_u16 (uint16x8_t __a
, const int __b
)
23839 return __builtin_aarch64_uqrshrn_nv8hi_uus ( __a
, __b
);
23842 __extension__
extern __inline uint16x4_t
23843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23844 vqrshrn_n_u32 (uint32x4_t __a
, const int __b
)
23846 return __builtin_aarch64_uqrshrn_nv4si_uus ( __a
, __b
);
23849 __extension__
extern __inline uint32x2_t
23850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23851 vqrshrn_n_u64 (uint64x2_t __a
, const int __b
)
23853 return __builtin_aarch64_uqrshrn_nv2di_uus ( __a
, __b
);
23856 __extension__
extern __inline
int8_t
23857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23858 vqrshrnh_n_s16 (int16_t __a
, const int __b
)
23860 return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a
, __b
);
23863 __extension__
extern __inline
int16_t
23864 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23865 vqrshrns_n_s32 (int32_t __a
, const int __b
)
23867 return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a
, __b
);
23870 __extension__
extern __inline
int32_t
23871 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23872 vqrshrnd_n_s64 (int64_t __a
, const int __b
)
23874 return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a
, __b
);
23877 __extension__
extern __inline
uint8_t
23878 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23879 vqrshrnh_n_u16 (uint16_t __a
, const int __b
)
23881 return __builtin_aarch64_uqrshrn_nhi_uus (__a
, __b
);
23884 __extension__
extern __inline
uint16_t
23885 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23886 vqrshrns_n_u32 (uint32_t __a
, const int __b
)
23888 return __builtin_aarch64_uqrshrn_nsi_uus (__a
, __b
);
23891 __extension__
extern __inline
uint32_t
23892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23893 vqrshrnd_n_u64 (uint64_t __a
, const int __b
)
23895 return __builtin_aarch64_uqrshrn_ndi_uus (__a
, __b
);
23900 __extension__
extern __inline uint8x8_t
23901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23902 vqrshrun_n_s16 (int16x8_t __a
, const int __b
)
23904 return (uint8x8_t
) __builtin_aarch64_sqrshrun_nv8hi (__a
, __b
);
23907 __extension__
extern __inline uint16x4_t
23908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23909 vqrshrun_n_s32 (int32x4_t __a
, const int __b
)
23911 return (uint16x4_t
) __builtin_aarch64_sqrshrun_nv4si (__a
, __b
);
23914 __extension__
extern __inline uint32x2_t
23915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23916 vqrshrun_n_s64 (int64x2_t __a
, const int __b
)
23918 return (uint32x2_t
) __builtin_aarch64_sqrshrun_nv2di (__a
, __b
);
23921 __extension__
extern __inline
int8_t
23922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23923 vqrshrunh_n_s16 (int16_t __a
, const int __b
)
23925 return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a
, __b
);
23928 __extension__
extern __inline
int16_t
23929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23930 vqrshruns_n_s32 (int32_t __a
, const int __b
)
23932 return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a
, __b
);
23935 __extension__
extern __inline
int32_t
23936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23937 vqrshrund_n_s64 (int64_t __a
, const int __b
)
23939 return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a
, __b
);
23944 __extension__
extern __inline int8x8_t
23945 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23946 vqshl_s8 (int8x8_t __a
, int8x8_t __b
)
23948 return __builtin_aarch64_sqshlv8qi (__a
, __b
);
23951 __extension__
extern __inline int16x4_t
23952 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23953 vqshl_s16 (int16x4_t __a
, int16x4_t __b
)
23955 return __builtin_aarch64_sqshlv4hi (__a
, __b
);
23958 __extension__
extern __inline int32x2_t
23959 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23960 vqshl_s32 (int32x2_t __a
, int32x2_t __b
)
23962 return __builtin_aarch64_sqshlv2si (__a
, __b
);
23965 __extension__
extern __inline int64x1_t
23966 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23967 vqshl_s64 (int64x1_t __a
, int64x1_t __b
)
23969 return (int64x1_t
) {__builtin_aarch64_sqshldi (__a
[0], __b
[0])};
23972 __extension__
extern __inline uint8x8_t
23973 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23974 vqshl_u8 (uint8x8_t __a
, int8x8_t __b
)
23976 return __builtin_aarch64_uqshlv8qi_uus ( __a
, __b
);
23979 __extension__
extern __inline uint16x4_t
23980 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23981 vqshl_u16 (uint16x4_t __a
, int16x4_t __b
)
23983 return __builtin_aarch64_uqshlv4hi_uus ( __a
, __b
);
23986 __extension__
extern __inline uint32x2_t
23987 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23988 vqshl_u32 (uint32x2_t __a
, int32x2_t __b
)
23990 return __builtin_aarch64_uqshlv2si_uus ( __a
, __b
);
23993 __extension__
extern __inline uint64x1_t
23994 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
23995 vqshl_u64 (uint64x1_t __a
, int64x1_t __b
)
23997 return (uint64x1_t
) {__builtin_aarch64_uqshldi_uus (__a
[0], __b
[0])};
24000 __extension__
extern __inline int8x16_t
24001 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24002 vqshlq_s8 (int8x16_t __a
, int8x16_t __b
)
24004 return __builtin_aarch64_sqshlv16qi (__a
, __b
);
24007 __extension__
extern __inline int16x8_t
24008 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24009 vqshlq_s16 (int16x8_t __a
, int16x8_t __b
)
24011 return __builtin_aarch64_sqshlv8hi (__a
, __b
);
24014 __extension__
extern __inline int32x4_t
24015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24016 vqshlq_s32 (int32x4_t __a
, int32x4_t __b
)
24018 return __builtin_aarch64_sqshlv4si (__a
, __b
);
24021 __extension__
extern __inline int64x2_t
24022 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24023 vqshlq_s64 (int64x2_t __a
, int64x2_t __b
)
24025 return __builtin_aarch64_sqshlv2di (__a
, __b
);
24028 __extension__
extern __inline uint8x16_t
24029 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24030 vqshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
24032 return __builtin_aarch64_uqshlv16qi_uus ( __a
, __b
);
24035 __extension__
extern __inline uint16x8_t
24036 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24037 vqshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
24039 return __builtin_aarch64_uqshlv8hi_uus ( __a
, __b
);
24042 __extension__
extern __inline uint32x4_t
24043 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24044 vqshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
24046 return __builtin_aarch64_uqshlv4si_uus ( __a
, __b
);
24049 __extension__
extern __inline uint64x2_t
24050 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24051 vqshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
24053 return __builtin_aarch64_uqshlv2di_uus ( __a
, __b
);
24056 __extension__
extern __inline
int8_t
24057 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24058 vqshlb_s8 (int8_t __a
, int8_t __b
)
24060 return __builtin_aarch64_sqshlqi (__a
, __b
);
24063 __extension__
extern __inline
int16_t
24064 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24065 vqshlh_s16 (int16_t __a
, int16_t __b
)
24067 return __builtin_aarch64_sqshlhi (__a
, __b
);
24070 __extension__
extern __inline
int32_t
24071 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24072 vqshls_s32 (int32_t __a
, int32_t __b
)
24074 return __builtin_aarch64_sqshlsi (__a
, __b
);
24077 __extension__
extern __inline
int64_t
24078 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24079 vqshld_s64 (int64_t __a
, int64_t __b
)
24081 return __builtin_aarch64_sqshldi (__a
, __b
);
24084 __extension__
extern __inline
uint8_t
24085 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24086 vqshlb_u8 (uint8_t __a
, int8_t __b
)
24088 return __builtin_aarch64_uqshlqi_uus (__a
, __b
);
24091 __extension__
extern __inline
uint16_t
24092 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24093 vqshlh_u16 (uint16_t __a
, int16_t __b
)
24095 return __builtin_aarch64_uqshlhi_uus (__a
, __b
);
24098 __extension__
extern __inline
uint32_t
24099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24100 vqshls_u32 (uint32_t __a
, int32_t __b
)
24102 return __builtin_aarch64_uqshlsi_uus (__a
, __b
);
24105 __extension__
extern __inline
uint64_t
24106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24107 vqshld_u64 (uint64_t __a
, int64_t __b
)
24109 return __builtin_aarch64_uqshldi_uus (__a
, __b
);
24112 __extension__
extern __inline int8x8_t
24113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24114 vqshl_n_s8 (int8x8_t __a
, const int __b
)
24116 return (int8x8_t
) __builtin_aarch64_sqshl_nv8qi (__a
, __b
);
24119 __extension__
extern __inline int16x4_t
24120 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24121 vqshl_n_s16 (int16x4_t __a
, const int __b
)
24123 return (int16x4_t
) __builtin_aarch64_sqshl_nv4hi (__a
, __b
);
24126 __extension__
extern __inline int32x2_t
24127 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24128 vqshl_n_s32 (int32x2_t __a
, const int __b
)
24130 return (int32x2_t
) __builtin_aarch64_sqshl_nv2si (__a
, __b
);
24133 __extension__
extern __inline int64x1_t
24134 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24135 vqshl_n_s64 (int64x1_t __a
, const int __b
)
24137 return (int64x1_t
) {__builtin_aarch64_sqshl_ndi (__a
[0], __b
)};
24140 __extension__
extern __inline uint8x8_t
24141 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24142 vqshl_n_u8 (uint8x8_t __a
, const int __b
)
24144 return __builtin_aarch64_uqshl_nv8qi_uus (__a
, __b
);
24147 __extension__
extern __inline uint16x4_t
24148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24149 vqshl_n_u16 (uint16x4_t __a
, const int __b
)
24151 return __builtin_aarch64_uqshl_nv4hi_uus (__a
, __b
);
24154 __extension__
extern __inline uint32x2_t
24155 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24156 vqshl_n_u32 (uint32x2_t __a
, const int __b
)
24158 return __builtin_aarch64_uqshl_nv2si_uus (__a
, __b
);
24161 __extension__
extern __inline uint64x1_t
24162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24163 vqshl_n_u64 (uint64x1_t __a
, const int __b
)
24165 return (uint64x1_t
) {__builtin_aarch64_uqshl_ndi_uus (__a
[0], __b
)};
24168 __extension__
extern __inline int8x16_t
24169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24170 vqshlq_n_s8 (int8x16_t __a
, const int __b
)
24172 return (int8x16_t
) __builtin_aarch64_sqshl_nv16qi (__a
, __b
);
24175 __extension__
extern __inline int16x8_t
24176 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24177 vqshlq_n_s16 (int16x8_t __a
, const int __b
)
24179 return (int16x8_t
) __builtin_aarch64_sqshl_nv8hi (__a
, __b
);
24182 __extension__
extern __inline int32x4_t
24183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24184 vqshlq_n_s32 (int32x4_t __a
, const int __b
)
24186 return (int32x4_t
) __builtin_aarch64_sqshl_nv4si (__a
, __b
);
24189 __extension__
extern __inline int64x2_t
24190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24191 vqshlq_n_s64 (int64x2_t __a
, const int __b
)
24193 return (int64x2_t
) __builtin_aarch64_sqshl_nv2di (__a
, __b
);
24196 __extension__
extern __inline uint8x16_t
24197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24198 vqshlq_n_u8 (uint8x16_t __a
, const int __b
)
24200 return __builtin_aarch64_uqshl_nv16qi_uus (__a
, __b
);
24203 __extension__
extern __inline uint16x8_t
24204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24205 vqshlq_n_u16 (uint16x8_t __a
, const int __b
)
24207 return __builtin_aarch64_uqshl_nv8hi_uus (__a
, __b
);
24210 __extension__
extern __inline uint32x4_t
24211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24212 vqshlq_n_u32 (uint32x4_t __a
, const int __b
)
24214 return __builtin_aarch64_uqshl_nv4si_uus (__a
, __b
);
24217 __extension__
extern __inline uint64x2_t
24218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24219 vqshlq_n_u64 (uint64x2_t __a
, const int __b
)
24221 return __builtin_aarch64_uqshl_nv2di_uus (__a
, __b
);
24224 __extension__
extern __inline
int8_t
24225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24226 vqshlb_n_s8 (int8_t __a
, const int __b
)
24228 return (int8_t) __builtin_aarch64_sqshl_nqi (__a
, __b
);
24231 __extension__
extern __inline
int16_t
24232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24233 vqshlh_n_s16 (int16_t __a
, const int __b
)
24235 return (int16_t) __builtin_aarch64_sqshl_nhi (__a
, __b
);
24238 __extension__
extern __inline
int32_t
24239 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24240 vqshls_n_s32 (int32_t __a
, const int __b
)
24242 return (int32_t) __builtin_aarch64_sqshl_nsi (__a
, __b
);
24245 __extension__
extern __inline
int64_t
24246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24247 vqshld_n_s64 (int64_t __a
, const int __b
)
24249 return __builtin_aarch64_sqshl_ndi (__a
, __b
);
24252 __extension__
extern __inline
uint8_t
24253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24254 vqshlb_n_u8 (uint8_t __a
, const int __b
)
24256 return __builtin_aarch64_uqshl_nqi_uus (__a
, __b
);
24259 __extension__
extern __inline
uint16_t
24260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24261 vqshlh_n_u16 (uint16_t __a
, const int __b
)
24263 return __builtin_aarch64_uqshl_nhi_uus (__a
, __b
);
24266 __extension__
extern __inline
uint32_t
24267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24268 vqshls_n_u32 (uint32_t __a
, const int __b
)
24270 return __builtin_aarch64_uqshl_nsi_uus (__a
, __b
);
24273 __extension__
extern __inline
uint64_t
24274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24275 vqshld_n_u64 (uint64_t __a
, const int __b
)
24277 return __builtin_aarch64_uqshl_ndi_uus (__a
, __b
);
24282 __extension__
extern __inline uint8x8_t
24283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24284 vqshlu_n_s8 (int8x8_t __a
, const int __b
)
24286 return __builtin_aarch64_sqshlu_nv8qi_uss (__a
, __b
);
24289 __extension__
extern __inline uint16x4_t
24290 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24291 vqshlu_n_s16 (int16x4_t __a
, const int __b
)
24293 return __builtin_aarch64_sqshlu_nv4hi_uss (__a
, __b
);
24296 __extension__
extern __inline uint32x2_t
24297 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24298 vqshlu_n_s32 (int32x2_t __a
, const int __b
)
24300 return __builtin_aarch64_sqshlu_nv2si_uss (__a
, __b
);
24303 __extension__
extern __inline uint64x1_t
24304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24305 vqshlu_n_s64 (int64x1_t __a
, const int __b
)
24307 return (uint64x1_t
) {__builtin_aarch64_sqshlu_ndi_uss (__a
[0], __b
)};
24310 __extension__
extern __inline uint8x16_t
24311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24312 vqshluq_n_s8 (int8x16_t __a
, const int __b
)
24314 return __builtin_aarch64_sqshlu_nv16qi_uss (__a
, __b
);
24317 __extension__
extern __inline uint16x8_t
24318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24319 vqshluq_n_s16 (int16x8_t __a
, const int __b
)
24321 return __builtin_aarch64_sqshlu_nv8hi_uss (__a
, __b
);
24324 __extension__
extern __inline uint32x4_t
24325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24326 vqshluq_n_s32 (int32x4_t __a
, const int __b
)
24328 return __builtin_aarch64_sqshlu_nv4si_uss (__a
, __b
);
24331 __extension__
extern __inline uint64x2_t
24332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24333 vqshluq_n_s64 (int64x2_t __a
, const int __b
)
24335 return __builtin_aarch64_sqshlu_nv2di_uss (__a
, __b
);
24338 __extension__
extern __inline
int8_t
24339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24340 vqshlub_n_s8 (int8_t __a
, const int __b
)
24342 return (int8_t) __builtin_aarch64_sqshlu_nqi_uss (__a
, __b
);
24345 __extension__
extern __inline
int16_t
24346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24347 vqshluh_n_s16 (int16_t __a
, const int __b
)
24349 return (int16_t) __builtin_aarch64_sqshlu_nhi_uss (__a
, __b
);
24352 __extension__
extern __inline
int32_t
24353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24354 vqshlus_n_s32 (int32_t __a
, const int __b
)
24356 return (int32_t) __builtin_aarch64_sqshlu_nsi_uss (__a
, __b
);
24359 __extension__
extern __inline
uint64_t
24360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24361 vqshlud_n_s64 (int64_t __a
, const int __b
)
24363 return __builtin_aarch64_sqshlu_ndi_uss (__a
, __b
);
24368 __extension__
extern __inline int8x8_t
24369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24370 vqshrn_n_s16 (int16x8_t __a
, const int __b
)
24372 return (int8x8_t
) __builtin_aarch64_sqshrn_nv8hi (__a
, __b
);
24375 __extension__
extern __inline int16x4_t
24376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24377 vqshrn_n_s32 (int32x4_t __a
, const int __b
)
24379 return (int16x4_t
) __builtin_aarch64_sqshrn_nv4si (__a
, __b
);
24382 __extension__
extern __inline int32x2_t
24383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24384 vqshrn_n_s64 (int64x2_t __a
, const int __b
)
24386 return (int32x2_t
) __builtin_aarch64_sqshrn_nv2di (__a
, __b
);
24389 __extension__
extern __inline uint8x8_t
24390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24391 vqshrn_n_u16 (uint16x8_t __a
, const int __b
)
24393 return __builtin_aarch64_uqshrn_nv8hi_uus ( __a
, __b
);
24396 __extension__
extern __inline uint16x4_t
24397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24398 vqshrn_n_u32 (uint32x4_t __a
, const int __b
)
24400 return __builtin_aarch64_uqshrn_nv4si_uus ( __a
, __b
);
24403 __extension__
extern __inline uint32x2_t
24404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24405 vqshrn_n_u64 (uint64x2_t __a
, const int __b
)
24407 return __builtin_aarch64_uqshrn_nv2di_uus ( __a
, __b
);
24410 __extension__
extern __inline
int8_t
24411 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24412 vqshrnh_n_s16 (int16_t __a
, const int __b
)
24414 return (int8_t) __builtin_aarch64_sqshrn_nhi (__a
, __b
);
24417 __extension__
extern __inline
int16_t
24418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24419 vqshrns_n_s32 (int32_t __a
, const int __b
)
24421 return (int16_t) __builtin_aarch64_sqshrn_nsi (__a
, __b
);
24424 __extension__
extern __inline
int32_t
24425 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24426 vqshrnd_n_s64 (int64_t __a
, const int __b
)
24428 return (int32_t) __builtin_aarch64_sqshrn_ndi (__a
, __b
);
24431 __extension__
extern __inline
uint8_t
24432 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24433 vqshrnh_n_u16 (uint16_t __a
, const int __b
)
24435 return __builtin_aarch64_uqshrn_nhi_uus (__a
, __b
);
24438 __extension__
extern __inline
uint16_t
24439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24440 vqshrns_n_u32 (uint32_t __a
, const int __b
)
24442 return __builtin_aarch64_uqshrn_nsi_uus (__a
, __b
);
24445 __extension__
extern __inline
uint32_t
24446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24447 vqshrnd_n_u64 (uint64_t __a
, const int __b
)
24449 return __builtin_aarch64_uqshrn_ndi_uus (__a
, __b
);
24454 __extension__
extern __inline uint8x8_t
24455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24456 vqshrun_n_s16 (int16x8_t __a
, const int __b
)
24458 return (uint8x8_t
) __builtin_aarch64_sqshrun_nv8hi (__a
, __b
);
24461 __extension__
extern __inline uint16x4_t
24462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24463 vqshrun_n_s32 (int32x4_t __a
, const int __b
)
24465 return (uint16x4_t
) __builtin_aarch64_sqshrun_nv4si (__a
, __b
);
24468 __extension__
extern __inline uint32x2_t
24469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24470 vqshrun_n_s64 (int64x2_t __a
, const int __b
)
24472 return (uint32x2_t
) __builtin_aarch64_sqshrun_nv2di (__a
, __b
);
24475 __extension__
extern __inline
int8_t
24476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24477 vqshrunh_n_s16 (int16_t __a
, const int __b
)
24479 return (int8_t) __builtin_aarch64_sqshrun_nhi (__a
, __b
);
24482 __extension__
extern __inline
int16_t
24483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24484 vqshruns_n_s32 (int32_t __a
, const int __b
)
24486 return (int16_t) __builtin_aarch64_sqshrun_nsi (__a
, __b
);
24489 __extension__
extern __inline
int32_t
24490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24491 vqshrund_n_s64 (int64_t __a
, const int __b
)
24493 return (int32_t) __builtin_aarch64_sqshrun_ndi (__a
, __b
);
24498 __extension__
extern __inline
int8_t
24499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24500 vqsubb_s8 (int8_t __a
, int8_t __b
)
24502 return (int8_t) __builtin_aarch64_sqsubqi (__a
, __b
);
24505 __extension__
extern __inline
int16_t
24506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24507 vqsubh_s16 (int16_t __a
, int16_t __b
)
24509 return (int16_t) __builtin_aarch64_sqsubhi (__a
, __b
);
24512 __extension__
extern __inline
int32_t
24513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24514 vqsubs_s32 (int32_t __a
, int32_t __b
)
24516 return (int32_t) __builtin_aarch64_sqsubsi (__a
, __b
);
24519 __extension__
extern __inline
int64_t
24520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24521 vqsubd_s64 (int64_t __a
, int64_t __b
)
24523 return __builtin_aarch64_sqsubdi (__a
, __b
);
24526 __extension__
extern __inline
uint8_t
24527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24528 vqsubb_u8 (uint8_t __a
, uint8_t __b
)
24530 return (uint8_t) __builtin_aarch64_uqsubqi_uuu (__a
, __b
);
24533 __extension__
extern __inline
uint16_t
24534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24535 vqsubh_u16 (uint16_t __a
, uint16_t __b
)
24537 return (uint16_t) __builtin_aarch64_uqsubhi_uuu (__a
, __b
);
24540 __extension__
extern __inline
uint32_t
24541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24542 vqsubs_u32 (uint32_t __a
, uint32_t __b
)
24544 return (uint32_t) __builtin_aarch64_uqsubsi_uuu (__a
, __b
);
24547 __extension__
extern __inline
uint64_t
24548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24549 vqsubd_u64 (uint64_t __a
, uint64_t __b
)
24551 return __builtin_aarch64_uqsubdi_uuu (__a
, __b
);
24556 __extension__
extern __inline int8x8_t
24557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24558 vqtbl2_s8 (int8x16x2_t __tab
, uint8x8_t __idx
)
24560 __builtin_aarch64_simd_oi __o
;
24561 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[0], 0);
24562 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[1], 1);
24563 return __builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
24566 __extension__
extern __inline uint8x8_t
24567 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24568 vqtbl2_u8 (uint8x16x2_t __tab
, uint8x8_t __idx
)
24570 __builtin_aarch64_simd_oi __o
;
24571 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24572 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24573 return (uint8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
24576 __extension__
extern __inline poly8x8_t
24577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24578 vqtbl2_p8 (poly8x16x2_t __tab
, uint8x8_t __idx
)
24580 __builtin_aarch64_simd_oi __o
;
24581 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24582 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24583 return (poly8x8_t
)__builtin_aarch64_tbl3v8qi (__o
, (int8x8_t
)__idx
);
24586 __extension__
extern __inline int8x16_t
24587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24588 vqtbl2q_s8 (int8x16x2_t __tab
, uint8x16_t __idx
)
24590 __builtin_aarch64_simd_oi __o
;
24591 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24592 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24593 return __builtin_aarch64_tbl3v16qi (__o
, (int8x16_t
)__idx
);
24596 __extension__
extern __inline uint8x16_t
24597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24598 vqtbl2q_u8 (uint8x16x2_t __tab
, uint8x16_t __idx
)
24600 __builtin_aarch64_simd_oi __o
;
24601 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24602 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24603 return (uint8x16_t
)__builtin_aarch64_tbl3v16qi (__o
, (int8x16_t
)__idx
);
24606 __extension__
extern __inline poly8x16_t
24607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24608 vqtbl2q_p8 (poly8x16x2_t __tab
, uint8x16_t __idx
)
24610 __builtin_aarch64_simd_oi __o
;
24611 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24612 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24613 return (poly8x16_t
)__builtin_aarch64_tbl3v16qi (__o
, (int8x16_t
)__idx
);
24618 __extension__
extern __inline int8x8_t
24619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24620 vqtbl3_s8 (int8x16x3_t __tab
, uint8x8_t __idx
)
24622 __builtin_aarch64_simd_ci __o
;
24623 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24624 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24625 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24626 return __builtin_aarch64_qtbl3v8qi (__o
, (int8x8_t
)__idx
);
24629 __extension__
extern __inline uint8x8_t
24630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24631 vqtbl3_u8 (uint8x16x3_t __tab
, uint8x8_t __idx
)
24633 __builtin_aarch64_simd_ci __o
;
24634 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24635 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24636 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24637 return (uint8x8_t
)__builtin_aarch64_qtbl3v8qi (__o
, (int8x8_t
)__idx
);
24640 __extension__
extern __inline poly8x8_t
24641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24642 vqtbl3_p8 (poly8x16x3_t __tab
, uint8x8_t __idx
)
24644 __builtin_aarch64_simd_ci __o
;
24645 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24646 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24647 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24648 return (poly8x8_t
)__builtin_aarch64_qtbl3v8qi (__o
, (int8x8_t
)__idx
);
24651 __extension__
extern __inline int8x16_t
24652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24653 vqtbl3q_s8 (int8x16x3_t __tab
, uint8x16_t __idx
)
24655 __builtin_aarch64_simd_ci __o
;
24656 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24657 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24658 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24659 return __builtin_aarch64_qtbl3v16qi (__o
, (int8x16_t
)__idx
);
24662 __extension__
extern __inline uint8x16_t
24663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24664 vqtbl3q_u8 (uint8x16x3_t __tab
, uint8x16_t __idx
)
24666 __builtin_aarch64_simd_ci __o
;
24667 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24668 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24669 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24670 return (uint8x16_t
)__builtin_aarch64_qtbl3v16qi (__o
, (int8x16_t
)__idx
);
24673 __extension__
extern __inline poly8x16_t
24674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24675 vqtbl3q_p8 (poly8x16x3_t __tab
, uint8x16_t __idx
)
24677 __builtin_aarch64_simd_ci __o
;
24678 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24679 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24680 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24681 return (poly8x16_t
)__builtin_aarch64_qtbl3v16qi (__o
, (int8x16_t
)__idx
);
24686 __extension__
extern __inline int8x8_t
24687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24688 vqtbl4_s8 (int8x16x4_t __tab
, uint8x8_t __idx
)
24690 __builtin_aarch64_simd_xi __o
;
24691 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24692 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24693 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24694 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24695 return __builtin_aarch64_qtbl4v8qi (__o
, (int8x8_t
)__idx
);
24698 __extension__
extern __inline uint8x8_t
24699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24700 vqtbl4_u8 (uint8x16x4_t __tab
, uint8x8_t __idx
)
24702 __builtin_aarch64_simd_xi __o
;
24703 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24704 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24705 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24706 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24707 return (uint8x8_t
)__builtin_aarch64_qtbl4v8qi (__o
, (int8x8_t
)__idx
);
24710 __extension__
extern __inline poly8x8_t
24711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24712 vqtbl4_p8 (poly8x16x4_t __tab
, uint8x8_t __idx
)
24714 __builtin_aarch64_simd_xi __o
;
24715 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24716 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24717 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24718 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24719 return (poly8x8_t
)__builtin_aarch64_qtbl4v8qi (__o
, (int8x8_t
)__idx
);
24722 __extension__
extern __inline int8x16_t
24723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24724 vqtbl4q_s8 (int8x16x4_t __tab
, uint8x16_t __idx
)
24726 __builtin_aarch64_simd_xi __o
;
24727 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24728 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24729 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24730 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24731 return __builtin_aarch64_qtbl4v16qi (__o
, (int8x16_t
)__idx
);
24734 __extension__
extern __inline uint8x16_t
24735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24736 vqtbl4q_u8 (uint8x16x4_t __tab
, uint8x16_t __idx
)
24738 __builtin_aarch64_simd_xi __o
;
24739 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24740 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24741 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24742 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24743 return (uint8x16_t
)__builtin_aarch64_qtbl4v16qi (__o
, (int8x16_t
)__idx
);
24746 __extension__
extern __inline poly8x16_t
24747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24748 vqtbl4q_p8 (poly8x16x4_t __tab
, uint8x16_t __idx
)
24750 __builtin_aarch64_simd_xi __o
;
24751 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24752 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24753 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24754 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24755 return (poly8x16_t
)__builtin_aarch64_qtbl4v16qi (__o
, (int8x16_t
)__idx
);
24760 __extension__
extern __inline int8x8_t
24761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24762 vqtbx2_s8 (int8x8_t __r
, int8x16x2_t __tab
, uint8x8_t __idx
)
24764 __builtin_aarch64_simd_oi __o
;
24765 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[0], 0);
24766 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[1], 1);
24767 return __builtin_aarch64_tbx4v8qi (__r
, __o
, (int8x8_t
)__idx
);
24770 __extension__
extern __inline uint8x8_t
24771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24772 vqtbx2_u8 (uint8x8_t __r
, uint8x16x2_t __tab
, uint8x8_t __idx
)
24774 __builtin_aarch64_simd_oi __o
;
24775 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24776 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24777 return (uint8x8_t
)__builtin_aarch64_tbx4v8qi ((int8x8_t
)__r
, __o
,
24781 __extension__
extern __inline poly8x8_t
24782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24783 vqtbx2_p8 (poly8x8_t __r
, poly8x16x2_t __tab
, uint8x8_t __idx
)
24785 __builtin_aarch64_simd_oi __o
;
24786 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24787 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24788 return (poly8x8_t
)__builtin_aarch64_tbx4v8qi ((int8x8_t
)__r
, __o
,
24792 __extension__
extern __inline int8x16_t
24793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24794 vqtbx2q_s8 (int8x16_t __r
, int8x16x2_t __tab
, uint8x16_t __idx
)
24796 __builtin_aarch64_simd_oi __o
;
24797 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[0], 0);
24798 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, __tab
.val
[1], 1);
24799 return __builtin_aarch64_tbx4v16qi (__r
, __o
, (int8x16_t
)__idx
);
24802 __extension__
extern __inline uint8x16_t
24803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24804 vqtbx2q_u8 (uint8x16_t __r
, uint8x16x2_t __tab
, uint8x16_t __idx
)
24806 __builtin_aarch64_simd_oi __o
;
24807 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24808 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24809 return (uint8x16_t
)__builtin_aarch64_tbx4v16qi ((int8x16_t
)__r
, __o
,
24813 __extension__
extern __inline poly8x16_t
24814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24815 vqtbx2q_p8 (poly8x16_t __r
, poly8x16x2_t __tab
, uint8x16_t __idx
)
24817 __builtin_aarch64_simd_oi __o
;
24818 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24819 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24820 return (poly8x16_t
)__builtin_aarch64_tbx4v16qi ((int8x16_t
)__r
, __o
,
24825 __extension__
extern __inline int8x8_t
24826 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24827 vqtbx3_s8 (int8x8_t __r
, int8x16x3_t __tab
, uint8x8_t __idx
)
24829 __builtin_aarch64_simd_ci __o
;
24830 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[0], 0);
24831 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[1], 1);
24832 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[2], 2);
24833 return __builtin_aarch64_qtbx3v8qi (__r
, __o
, (int8x8_t
)__idx
);
24836 __extension__
extern __inline uint8x8_t
24837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24838 vqtbx3_u8 (uint8x8_t __r
, uint8x16x3_t __tab
, uint8x8_t __idx
)
24840 __builtin_aarch64_simd_ci __o
;
24841 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24842 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24843 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24844 return (uint8x8_t
)__builtin_aarch64_qtbx3v8qi ((int8x8_t
)__r
, __o
,
24848 __extension__
extern __inline poly8x8_t
24849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24850 vqtbx3_p8 (poly8x8_t __r
, poly8x16x3_t __tab
, uint8x8_t __idx
)
24852 __builtin_aarch64_simd_ci __o
;
24853 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24854 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24855 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24856 return (poly8x8_t
)__builtin_aarch64_qtbx3v8qi ((int8x8_t
)__r
, __o
,
24860 __extension__
extern __inline int8x16_t
24861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24862 vqtbx3q_s8 (int8x16_t __r
, int8x16x3_t __tab
, uint8x16_t __idx
)
24864 __builtin_aarch64_simd_ci __o
;
24865 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[0], 0);
24866 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[1], 1);
24867 __o
= __builtin_aarch64_set_qregciv16qi (__o
, __tab
.val
[2], 2);
24868 return __builtin_aarch64_qtbx3v16qi (__r
, __o
, (int8x16_t
)__idx
);
24871 __extension__
extern __inline uint8x16_t
24872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24873 vqtbx3q_u8 (uint8x16_t __r
, uint8x16x3_t __tab
, uint8x16_t __idx
)
24875 __builtin_aarch64_simd_ci __o
;
24876 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24877 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24878 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24879 return (uint8x16_t
)__builtin_aarch64_qtbx3v16qi ((int8x16_t
)__r
, __o
,
24883 __extension__
extern __inline poly8x16_t
24884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24885 vqtbx3q_p8 (poly8x16_t __r
, poly8x16x3_t __tab
, uint8x16_t __idx
)
24887 __builtin_aarch64_simd_ci __o
;
24888 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24889 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24890 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24891 return (poly8x16_t
)__builtin_aarch64_qtbx3v16qi ((int8x16_t
)__r
, __o
,
24897 __extension__
extern __inline int8x8_t
24898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24899 vqtbx4_s8 (int8x8_t __r
, int8x16x4_t __tab
, uint8x8_t __idx
)
24901 __builtin_aarch64_simd_xi __o
;
24902 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[0], 0);
24903 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[1], 1);
24904 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[2], 2);
24905 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[3], 3);
24906 return __builtin_aarch64_qtbx4v8qi (__r
, __o
, (int8x8_t
)__idx
);
24909 __extension__
extern __inline uint8x8_t
24910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24911 vqtbx4_u8 (uint8x8_t __r
, uint8x16x4_t __tab
, uint8x8_t __idx
)
24913 __builtin_aarch64_simd_xi __o
;
24914 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24915 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24916 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24917 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24918 return (uint8x8_t
)__builtin_aarch64_qtbx4v8qi ((int8x8_t
)__r
, __o
,
24922 __extension__
extern __inline poly8x8_t
24923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24924 vqtbx4_p8 (poly8x8_t __r
, poly8x16x4_t __tab
, uint8x8_t __idx
)
24926 __builtin_aarch64_simd_xi __o
;
24927 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24928 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24929 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24930 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24931 return (poly8x8_t
)__builtin_aarch64_qtbx4v8qi ((int8x8_t
)__r
, __o
,
24935 __extension__
extern __inline int8x16_t
24936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24937 vqtbx4q_s8 (int8x16_t __r
, int8x16x4_t __tab
, uint8x16_t __idx
)
24939 __builtin_aarch64_simd_xi __o
;
24940 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[0], 0);
24941 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[1], 1);
24942 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[2], 2);
24943 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, __tab
.val
[3], 3);
24944 return __builtin_aarch64_qtbx4v16qi (__r
, __o
, (int8x16_t
)__idx
);
24947 __extension__
extern __inline uint8x16_t
24948 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24949 vqtbx4q_u8 (uint8x16_t __r
, uint8x16x4_t __tab
, uint8x16_t __idx
)
24951 __builtin_aarch64_simd_xi __o
;
24952 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24953 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24954 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24955 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24956 return (uint8x16_t
)__builtin_aarch64_qtbx4v16qi ((int8x16_t
)__r
, __o
,
24960 __extension__
extern __inline poly8x16_t
24961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24962 vqtbx4q_p8 (poly8x16_t __r
, poly8x16x4_t __tab
, uint8x16_t __idx
)
24964 __builtin_aarch64_simd_xi __o
;
24965 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[0], 0);
24966 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[1], 1);
24967 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[2], 2);
24968 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
)__tab
.val
[3], 3);
24969 return (poly8x16_t
)__builtin_aarch64_qtbx4v16qi ((int8x16_t
)__r
, __o
,
24975 __extension__
extern __inline poly8x8_t
24976 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24977 vrbit_p8 (poly8x8_t __a
)
24979 return (poly8x8_t
) __builtin_aarch64_rbitv8qi ((int8x8_t
) __a
);
24982 __extension__
extern __inline int8x8_t
24983 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24984 vrbit_s8 (int8x8_t __a
)
24986 return __builtin_aarch64_rbitv8qi (__a
);
24989 __extension__
extern __inline uint8x8_t
24990 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24991 vrbit_u8 (uint8x8_t __a
)
24993 return (uint8x8_t
) __builtin_aarch64_rbitv8qi ((int8x8_t
) __a
);
24996 __extension__
extern __inline poly8x16_t
24997 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
24998 vrbitq_p8 (poly8x16_t __a
)
25000 return (poly8x16_t
) __builtin_aarch64_rbitv16qi ((int8x16_t
)__a
);
25003 __extension__
extern __inline int8x16_t
25004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25005 vrbitq_s8 (int8x16_t __a
)
25007 return __builtin_aarch64_rbitv16qi (__a
);
25010 __extension__
extern __inline uint8x16_t
25011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25012 vrbitq_u8 (uint8x16_t __a
)
25014 return (uint8x16_t
) __builtin_aarch64_rbitv16qi ((int8x16_t
) __a
);
25019 __extension__
extern __inline uint32x2_t
25020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25021 vrecpe_u32 (uint32x2_t __a
)
25023 return (uint32x2_t
) __builtin_aarch64_urecpev2si ((int32x2_t
) __a
);
25026 __extension__
extern __inline uint32x4_t
25027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25028 vrecpeq_u32 (uint32x4_t __a
)
25030 return (uint32x4_t
) __builtin_aarch64_urecpev4si ((int32x4_t
) __a
);
25033 __extension__
extern __inline float32_t
25034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25035 vrecpes_f32 (float32_t __a
)
25037 return __builtin_aarch64_frecpesf (__a
);
25040 __extension__
extern __inline float64_t
25041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25042 vrecped_f64 (float64_t __a
)
25044 return __builtin_aarch64_frecpedf (__a
);
25047 __extension__
extern __inline float32x2_t
25048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25049 vrecpe_f32 (float32x2_t __a
)
25051 return __builtin_aarch64_frecpev2sf (__a
);
25054 __extension__
extern __inline float64x1_t
25055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25056 vrecpe_f64 (float64x1_t __a
)
25058 return (float64x1_t
) { vrecped_f64 (vget_lane_f64 (__a
, 0)) };
25061 __extension__
extern __inline float32x4_t
25062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25063 vrecpeq_f32 (float32x4_t __a
)
25065 return __builtin_aarch64_frecpev4sf (__a
);
25068 __extension__
extern __inline float64x2_t
25069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25070 vrecpeq_f64 (float64x2_t __a
)
25072 return __builtin_aarch64_frecpev2df (__a
);
25077 __extension__
extern __inline float32_t
25078 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25079 vrecpss_f32 (float32_t __a
, float32_t __b
)
25081 return __builtin_aarch64_frecpssf (__a
, __b
);
25084 __extension__
extern __inline float64_t
25085 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25086 vrecpsd_f64 (float64_t __a
, float64_t __b
)
25088 return __builtin_aarch64_frecpsdf (__a
, __b
);
25091 __extension__
extern __inline float32x2_t
25092 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25093 vrecps_f32 (float32x2_t __a
, float32x2_t __b
)
25095 return __builtin_aarch64_frecpsv2sf (__a
, __b
);
25098 __extension__
extern __inline float64x1_t
25099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25100 vrecps_f64 (float64x1_t __a
, float64x1_t __b
)
25102 return (float64x1_t
) { vrecpsd_f64 (vget_lane_f64 (__a
, 0),
25103 vget_lane_f64 (__b
, 0)) };
25106 __extension__
extern __inline float32x4_t
25107 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25108 vrecpsq_f32 (float32x4_t __a
, float32x4_t __b
)
25110 return __builtin_aarch64_frecpsv4sf (__a
, __b
);
25113 __extension__
extern __inline float64x2_t
25114 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25115 vrecpsq_f64 (float64x2_t __a
, float64x2_t __b
)
25117 return __builtin_aarch64_frecpsv2df (__a
, __b
);
25122 __extension__
extern __inline float32_t
25123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25124 vrecpxs_f32 (float32_t __a
)
25126 return __builtin_aarch64_frecpxsf (__a
);
25129 __extension__
extern __inline float64_t
25130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25131 vrecpxd_f64 (float64_t __a
)
25133 return __builtin_aarch64_frecpxdf (__a
);
25139 __extension__
extern __inline poly8x8_t
25140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25141 vrev16_p8 (poly8x8_t __a
)
25143 return __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25146 __extension__
extern __inline int8x8_t
25147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25148 vrev16_s8 (int8x8_t __a
)
25150 return __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25153 __extension__
extern __inline uint8x8_t
25154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25155 vrev16_u8 (uint8x8_t __a
)
25157 return __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25160 __extension__
extern __inline poly8x16_t
25161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25162 vrev16q_p8 (poly8x16_t __a
)
25164 return __builtin_shuffle (__a
,
25165 (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25168 __extension__
extern __inline int8x16_t
25169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25170 vrev16q_s8 (int8x16_t __a
)
25172 return __builtin_shuffle (__a
,
25173 (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25176 __extension__
extern __inline uint8x16_t
25177 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25178 vrev16q_u8 (uint8x16_t __a
)
25180 return __builtin_shuffle (__a
,
25181 (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25184 __extension__
extern __inline poly8x8_t
25185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25186 vrev32_p8 (poly8x8_t __a
)
25188 return __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25191 __extension__
extern __inline poly16x4_t
25192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25193 vrev32_p16 (poly16x4_t __a
)
25195 return __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
25198 __extension__
extern __inline int8x8_t
25199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25200 vrev32_s8 (int8x8_t __a
)
25202 return __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25205 __extension__
extern __inline int16x4_t
25206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25207 vrev32_s16 (int16x4_t __a
)
25209 return __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
25212 __extension__
extern __inline uint8x8_t
25213 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25214 vrev32_u8 (uint8x8_t __a
)
25216 return __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25219 __extension__
extern __inline uint16x4_t
25220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25221 vrev32_u16 (uint16x4_t __a
)
25223 return __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
25226 __extension__
extern __inline poly8x16_t
25227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25228 vrev32q_p8 (poly8x16_t __a
)
25230 return __builtin_shuffle (__a
,
25231 (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25234 __extension__
extern __inline poly16x8_t
25235 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25236 vrev32q_p16 (poly16x8_t __a
)
25238 return __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25241 __extension__
extern __inline int8x16_t
25242 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25243 vrev32q_s8 (int8x16_t __a
)
25245 return __builtin_shuffle (__a
,
25246 (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25249 __extension__
extern __inline int16x8_t
25250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25251 vrev32q_s16 (int16x8_t __a
)
25253 return __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25256 __extension__
extern __inline uint8x16_t
25257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25258 vrev32q_u8 (uint8x16_t __a
)
25260 return __builtin_shuffle (__a
,
25261 (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25264 __extension__
extern __inline uint16x8_t
25265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25266 vrev32q_u16 (uint16x8_t __a
)
25268 return __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
25271 __extension__
extern __inline float16x4_t
25272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25273 vrev64_f16 (float16x4_t __a
)
25275 return __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
25278 __extension__
extern __inline float32x2_t
25279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25280 vrev64_f32 (float32x2_t __a
)
25282 return __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
25285 __extension__
extern __inline poly8x8_t
25286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25287 vrev64_p8 (poly8x8_t __a
)
25289 return __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
25292 __extension__
extern __inline poly16x4_t
25293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25294 vrev64_p16 (poly16x4_t __a
)
25296 return __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
25299 __extension__
extern __inline int8x8_t
25300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25301 vrev64_s8 (int8x8_t __a
)
25303 return __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
25306 __extension__
extern __inline int16x4_t
25307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25308 vrev64_s16 (int16x4_t __a
)
25310 return __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
25313 __extension__
extern __inline int32x2_t
25314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25315 vrev64_s32 (int32x2_t __a
)
25317 return __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
25320 __extension__
extern __inline uint8x8_t
25321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25322 vrev64_u8 (uint8x8_t __a
)
25324 return __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
25327 __extension__
extern __inline uint16x4_t
25328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25329 vrev64_u16 (uint16x4_t __a
)
25331 return __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
25334 __extension__
extern __inline uint32x2_t
25335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25336 vrev64_u32 (uint32x2_t __a
)
25338 return __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
25341 __extension__
extern __inline float16x8_t
25342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25343 vrev64q_f16 (float16x8_t __a
)
25345 return __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25348 __extension__
extern __inline float32x4_t
25349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25350 vrev64q_f32 (float32x4_t __a
)
25352 return __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
25355 __extension__
extern __inline poly8x16_t
25356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25357 vrev64q_p8 (poly8x16_t __a
)
25359 return __builtin_shuffle (__a
,
25360 (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25363 __extension__
extern __inline poly16x8_t
25364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25365 vrev64q_p16 (poly16x8_t __a
)
25367 return __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25370 __extension__
extern __inline int8x16_t
25371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25372 vrev64q_s8 (int8x16_t __a
)
25374 return __builtin_shuffle (__a
,
25375 (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25378 __extension__
extern __inline int16x8_t
25379 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25380 vrev64q_s16 (int16x8_t __a
)
25382 return __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25385 __extension__
extern __inline int32x4_t
25386 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25387 vrev64q_s32 (int32x4_t __a
)
25389 return __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
25392 __extension__
extern __inline uint8x16_t
25393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25394 vrev64q_u8 (uint8x16_t __a
)
25396 return __builtin_shuffle (__a
,
25397 (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25400 __extension__
extern __inline uint16x8_t
25401 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25402 vrev64q_u16 (uint16x8_t __a
)
25404 return __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
25407 __extension__
extern __inline uint32x4_t
25408 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25409 vrev64q_u32 (uint32x4_t __a
)
25411 return __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
25416 __extension__
extern __inline float32x2_t
25417 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25418 vrnd_f32 (float32x2_t __a
)
25420 return __builtin_aarch64_btruncv2sf (__a
);
25423 __extension__
extern __inline float64x1_t
25424 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25425 vrnd_f64 (float64x1_t __a
)
25427 return vset_lane_f64 (__builtin_trunc (vget_lane_f64 (__a
, 0)), __a
, 0);
25430 __extension__
extern __inline float32x4_t
25431 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25432 vrndq_f32 (float32x4_t __a
)
25434 return __builtin_aarch64_btruncv4sf (__a
);
25437 __extension__
extern __inline float64x2_t
25438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25439 vrndq_f64 (float64x2_t __a
)
25441 return __builtin_aarch64_btruncv2df (__a
);
25446 __extension__
extern __inline float32x2_t
25447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25448 vrnda_f32 (float32x2_t __a
)
25450 return __builtin_aarch64_roundv2sf (__a
);
25453 __extension__
extern __inline float64x1_t
25454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25455 vrnda_f64 (float64x1_t __a
)
25457 return vset_lane_f64 (__builtin_round (vget_lane_f64 (__a
, 0)), __a
, 0);
25460 __extension__
extern __inline float32x4_t
25461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25462 vrndaq_f32 (float32x4_t __a
)
25464 return __builtin_aarch64_roundv4sf (__a
);
25467 __extension__
extern __inline float64x2_t
25468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25469 vrndaq_f64 (float64x2_t __a
)
25471 return __builtin_aarch64_roundv2df (__a
);
25476 __extension__
extern __inline float32x2_t
25477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25478 vrndi_f32 (float32x2_t __a
)
25480 return __builtin_aarch64_nearbyintv2sf (__a
);
25483 __extension__
extern __inline float64x1_t
25484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25485 vrndi_f64 (float64x1_t __a
)
25487 return vset_lane_f64 (__builtin_nearbyint (vget_lane_f64 (__a
, 0)), __a
, 0);
25490 __extension__
extern __inline float32x4_t
25491 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25492 vrndiq_f32 (float32x4_t __a
)
25494 return __builtin_aarch64_nearbyintv4sf (__a
);
25497 __extension__
extern __inline float64x2_t
25498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25499 vrndiq_f64 (float64x2_t __a
)
25501 return __builtin_aarch64_nearbyintv2df (__a
);
25506 __extension__
extern __inline float32x2_t
25507 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25508 vrndm_f32 (float32x2_t __a
)
25510 return __builtin_aarch64_floorv2sf (__a
);
25513 __extension__
extern __inline float64x1_t
25514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25515 vrndm_f64 (float64x1_t __a
)
25517 return vset_lane_f64 (__builtin_floor (vget_lane_f64 (__a
, 0)), __a
, 0);
25520 __extension__
extern __inline float32x4_t
25521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25522 vrndmq_f32 (float32x4_t __a
)
25524 return __builtin_aarch64_floorv4sf (__a
);
25527 __extension__
extern __inline float64x2_t
25528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25529 vrndmq_f64 (float64x2_t __a
)
25531 return __builtin_aarch64_floorv2df (__a
);
25536 __extension__
extern __inline float32_t
25537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25538 vrndns_f32 (float32_t __a
)
25540 return __builtin_aarch64_frintnsf (__a
);
25543 __extension__
extern __inline float32x2_t
25544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25545 vrndn_f32 (float32x2_t __a
)
25547 return __builtin_aarch64_frintnv2sf (__a
);
25550 __extension__
extern __inline float64x1_t
25551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25552 vrndn_f64 (float64x1_t __a
)
25554 return (float64x1_t
) {__builtin_aarch64_frintndf (__a
[0])};
25557 __extension__
extern __inline float32x4_t
25558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25559 vrndnq_f32 (float32x4_t __a
)
25561 return __builtin_aarch64_frintnv4sf (__a
);
25564 __extension__
extern __inline float64x2_t
25565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25566 vrndnq_f64 (float64x2_t __a
)
25568 return __builtin_aarch64_frintnv2df (__a
);
25573 __extension__
extern __inline float32x2_t
25574 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25575 vrndp_f32 (float32x2_t __a
)
25577 return __builtin_aarch64_ceilv2sf (__a
);
25580 __extension__
extern __inline float64x1_t
25581 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25582 vrndp_f64 (float64x1_t __a
)
25584 return vset_lane_f64 (__builtin_ceil (vget_lane_f64 (__a
, 0)), __a
, 0);
25587 __extension__
extern __inline float32x4_t
25588 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25589 vrndpq_f32 (float32x4_t __a
)
25591 return __builtin_aarch64_ceilv4sf (__a
);
25594 __extension__
extern __inline float64x2_t
25595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25596 vrndpq_f64 (float64x2_t __a
)
25598 return __builtin_aarch64_ceilv2df (__a
);
25603 __extension__
extern __inline float32x2_t
25604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25605 vrndx_f32 (float32x2_t __a
)
25607 return __builtin_aarch64_rintv2sf (__a
);
25610 __extension__
extern __inline float64x1_t
25611 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25612 vrndx_f64 (float64x1_t __a
)
25614 return vset_lane_f64 (__builtin_rint (vget_lane_f64 (__a
, 0)), __a
, 0);
25617 __extension__
extern __inline float32x4_t
25618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25619 vrndxq_f32 (float32x4_t __a
)
25621 return __builtin_aarch64_rintv4sf (__a
);
25624 __extension__
extern __inline float64x2_t
25625 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25626 vrndxq_f64 (float64x2_t __a
)
25628 return __builtin_aarch64_rintv2df (__a
);
25633 __extension__
extern __inline int8x8_t
25634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25635 vrshl_s8 (int8x8_t __a
, int8x8_t __b
)
25637 return (int8x8_t
) __builtin_aarch64_srshlv8qi (__a
, __b
);
25640 __extension__
extern __inline int16x4_t
25641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25642 vrshl_s16 (int16x4_t __a
, int16x4_t __b
)
25644 return (int16x4_t
) __builtin_aarch64_srshlv4hi (__a
, __b
);
25647 __extension__
extern __inline int32x2_t
25648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25649 vrshl_s32 (int32x2_t __a
, int32x2_t __b
)
25651 return (int32x2_t
) __builtin_aarch64_srshlv2si (__a
, __b
);
25654 __extension__
extern __inline int64x1_t
25655 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25656 vrshl_s64 (int64x1_t __a
, int64x1_t __b
)
25658 return (int64x1_t
) {__builtin_aarch64_srshldi (__a
[0], __b
[0])};
25661 __extension__
extern __inline uint8x8_t
25662 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25663 vrshl_u8 (uint8x8_t __a
, int8x8_t __b
)
25665 return __builtin_aarch64_urshlv8qi_uus (__a
, __b
);
25668 __extension__
extern __inline uint16x4_t
25669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25670 vrshl_u16 (uint16x4_t __a
, int16x4_t __b
)
25672 return __builtin_aarch64_urshlv4hi_uus (__a
, __b
);
25675 __extension__
extern __inline uint32x2_t
25676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25677 vrshl_u32 (uint32x2_t __a
, int32x2_t __b
)
25679 return __builtin_aarch64_urshlv2si_uus (__a
, __b
);
25682 __extension__
extern __inline uint64x1_t
25683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25684 vrshl_u64 (uint64x1_t __a
, int64x1_t __b
)
25686 return (uint64x1_t
) {__builtin_aarch64_urshldi_uus (__a
[0], __b
[0])};
25689 __extension__
extern __inline int8x16_t
25690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25691 vrshlq_s8 (int8x16_t __a
, int8x16_t __b
)
25693 return (int8x16_t
) __builtin_aarch64_srshlv16qi (__a
, __b
);
25696 __extension__
extern __inline int16x8_t
25697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25698 vrshlq_s16 (int16x8_t __a
, int16x8_t __b
)
25700 return (int16x8_t
) __builtin_aarch64_srshlv8hi (__a
, __b
);
25703 __extension__
extern __inline int32x4_t
25704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25705 vrshlq_s32 (int32x4_t __a
, int32x4_t __b
)
25707 return (int32x4_t
) __builtin_aarch64_srshlv4si (__a
, __b
);
25710 __extension__
extern __inline int64x2_t
25711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25712 vrshlq_s64 (int64x2_t __a
, int64x2_t __b
)
25714 return (int64x2_t
) __builtin_aarch64_srshlv2di (__a
, __b
);
25717 __extension__
extern __inline uint8x16_t
25718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25719 vrshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
25721 return __builtin_aarch64_urshlv16qi_uus (__a
, __b
);
25724 __extension__
extern __inline uint16x8_t
25725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25726 vrshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
25728 return __builtin_aarch64_urshlv8hi_uus (__a
, __b
);
25731 __extension__
extern __inline uint32x4_t
25732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25733 vrshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
25735 return __builtin_aarch64_urshlv4si_uus (__a
, __b
);
25738 __extension__
extern __inline uint64x2_t
25739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25740 vrshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
25742 return __builtin_aarch64_urshlv2di_uus (__a
, __b
);
25745 __extension__
extern __inline
int64_t
25746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25747 vrshld_s64 (int64_t __a
, int64_t __b
)
25749 return __builtin_aarch64_srshldi (__a
, __b
);
25752 __extension__
extern __inline
uint64_t
25753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25754 vrshld_u64 (uint64_t __a
, int64_t __b
)
25756 return __builtin_aarch64_urshldi_uus (__a
, __b
);
25761 __extension__
extern __inline int8x8_t
25762 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25763 vrshr_n_s8 (int8x8_t __a
, const int __b
)
25765 return (int8x8_t
) __builtin_aarch64_srshr_nv8qi (__a
, __b
);
25768 __extension__
extern __inline int16x4_t
25769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25770 vrshr_n_s16 (int16x4_t __a
, const int __b
)
25772 return (int16x4_t
) __builtin_aarch64_srshr_nv4hi (__a
, __b
);
25775 __extension__
extern __inline int32x2_t
25776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25777 vrshr_n_s32 (int32x2_t __a
, const int __b
)
25779 return (int32x2_t
) __builtin_aarch64_srshr_nv2si (__a
, __b
);
25782 __extension__
extern __inline int64x1_t
25783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25784 vrshr_n_s64 (int64x1_t __a
, const int __b
)
25786 return (int64x1_t
) {__builtin_aarch64_srshr_ndi (__a
[0], __b
)};
25789 __extension__
extern __inline uint8x8_t
25790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25791 vrshr_n_u8 (uint8x8_t __a
, const int __b
)
25793 return __builtin_aarch64_urshr_nv8qi_uus (__a
, __b
);
25796 __extension__
extern __inline uint16x4_t
25797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25798 vrshr_n_u16 (uint16x4_t __a
, const int __b
)
25800 return __builtin_aarch64_urshr_nv4hi_uus (__a
, __b
);
25803 __extension__
extern __inline uint32x2_t
25804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25805 vrshr_n_u32 (uint32x2_t __a
, const int __b
)
25807 return __builtin_aarch64_urshr_nv2si_uus (__a
, __b
);
25810 __extension__
extern __inline uint64x1_t
25811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25812 vrshr_n_u64 (uint64x1_t __a
, const int __b
)
25814 return (uint64x1_t
) {__builtin_aarch64_urshr_ndi_uus (__a
[0], __b
)};
25817 __extension__
extern __inline int8x16_t
25818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25819 vrshrq_n_s8 (int8x16_t __a
, const int __b
)
25821 return (int8x16_t
) __builtin_aarch64_srshr_nv16qi (__a
, __b
);
25824 __extension__
extern __inline int16x8_t
25825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25826 vrshrq_n_s16 (int16x8_t __a
, const int __b
)
25828 return (int16x8_t
) __builtin_aarch64_srshr_nv8hi (__a
, __b
);
25831 __extension__
extern __inline int32x4_t
25832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25833 vrshrq_n_s32 (int32x4_t __a
, const int __b
)
25835 return (int32x4_t
) __builtin_aarch64_srshr_nv4si (__a
, __b
);
25838 __extension__
extern __inline int64x2_t
25839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25840 vrshrq_n_s64 (int64x2_t __a
, const int __b
)
25842 return (int64x2_t
) __builtin_aarch64_srshr_nv2di (__a
, __b
);
25845 __extension__
extern __inline uint8x16_t
25846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25847 vrshrq_n_u8 (uint8x16_t __a
, const int __b
)
25849 return __builtin_aarch64_urshr_nv16qi_uus (__a
, __b
);
25852 __extension__
extern __inline uint16x8_t
25853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25854 vrshrq_n_u16 (uint16x8_t __a
, const int __b
)
25856 return __builtin_aarch64_urshr_nv8hi_uus (__a
, __b
);
25859 __extension__
extern __inline uint32x4_t
25860 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25861 vrshrq_n_u32 (uint32x4_t __a
, const int __b
)
25863 return __builtin_aarch64_urshr_nv4si_uus (__a
, __b
);
25866 __extension__
extern __inline uint64x2_t
25867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25868 vrshrq_n_u64 (uint64x2_t __a
, const int __b
)
25870 return __builtin_aarch64_urshr_nv2di_uus (__a
, __b
);
25873 __extension__
extern __inline
int64_t
25874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25875 vrshrd_n_s64 (int64_t __a
, const int __b
)
25877 return __builtin_aarch64_srshr_ndi (__a
, __b
);
25880 __extension__
extern __inline
uint64_t
25881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25882 vrshrd_n_u64 (uint64_t __a
, const int __b
)
25884 return __builtin_aarch64_urshr_ndi_uus (__a
, __b
);
25889 __extension__
extern __inline float32_t
25890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25891 vrsqrtes_f32 (float32_t __a
)
25893 return __builtin_aarch64_rsqrtesf (__a
);
25896 __extension__
extern __inline float64_t
25897 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25898 vrsqrted_f64 (float64_t __a
)
25900 return __builtin_aarch64_rsqrtedf (__a
);
25903 __extension__
extern __inline float32x2_t
25904 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25905 vrsqrte_f32 (float32x2_t __a
)
25907 return __builtin_aarch64_rsqrtev2sf (__a
);
25910 __extension__
extern __inline float64x1_t
25911 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25912 vrsqrte_f64 (float64x1_t __a
)
25914 return (float64x1_t
) {vrsqrted_f64 (vget_lane_f64 (__a
, 0))};
25917 __extension__
extern __inline float32x4_t
25918 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25919 vrsqrteq_f32 (float32x4_t __a
)
25921 return __builtin_aarch64_rsqrtev4sf (__a
);
25924 __extension__
extern __inline float64x2_t
25925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25926 vrsqrteq_f64 (float64x2_t __a
)
25928 return __builtin_aarch64_rsqrtev2df (__a
);
25933 __extension__
extern __inline float32_t
25934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25935 vrsqrtss_f32 (float32_t __a
, float32_t __b
)
25937 return __builtin_aarch64_rsqrtssf (__a
, __b
);
25940 __extension__
extern __inline float64_t
25941 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25942 vrsqrtsd_f64 (float64_t __a
, float64_t __b
)
25944 return __builtin_aarch64_rsqrtsdf (__a
, __b
);
25947 __extension__
extern __inline float32x2_t
25948 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25949 vrsqrts_f32 (float32x2_t __a
, float32x2_t __b
)
25951 return __builtin_aarch64_rsqrtsv2sf (__a
, __b
);
25954 __extension__
extern __inline float64x1_t
25955 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25956 vrsqrts_f64 (float64x1_t __a
, float64x1_t __b
)
25958 return (float64x1_t
) {vrsqrtsd_f64 (vget_lane_f64 (__a
, 0),
25959 vget_lane_f64 (__b
, 0))};
25962 __extension__
extern __inline float32x4_t
25963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25964 vrsqrtsq_f32 (float32x4_t __a
, float32x4_t __b
)
25966 return __builtin_aarch64_rsqrtsv4sf (__a
, __b
);
25969 __extension__
extern __inline float64x2_t
25970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25971 vrsqrtsq_f64 (float64x2_t __a
, float64x2_t __b
)
25973 return __builtin_aarch64_rsqrtsv2df (__a
, __b
);
25978 __extension__
extern __inline int8x8_t
25979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25980 vrsra_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
25982 return (int8x8_t
) __builtin_aarch64_srsra_nv8qi (__a
, __b
, __c
);
25985 __extension__
extern __inline int16x4_t
25986 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25987 vrsra_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
25989 return (int16x4_t
) __builtin_aarch64_srsra_nv4hi (__a
, __b
, __c
);
25992 __extension__
extern __inline int32x2_t
25993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
25994 vrsra_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
25996 return (int32x2_t
) __builtin_aarch64_srsra_nv2si (__a
, __b
, __c
);
25999 __extension__
extern __inline int64x1_t
26000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26001 vrsra_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
26003 return (int64x1_t
) {__builtin_aarch64_srsra_ndi (__a
[0], __b
[0], __c
)};
26006 __extension__
extern __inline uint8x8_t
26007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26008 vrsra_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
26010 return __builtin_aarch64_ursra_nv8qi_uuus (__a
, __b
, __c
);
26013 __extension__
extern __inline uint16x4_t
26014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26015 vrsra_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
26017 return __builtin_aarch64_ursra_nv4hi_uuus (__a
, __b
, __c
);
26020 __extension__
extern __inline uint32x2_t
26021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26022 vrsra_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
26024 return __builtin_aarch64_ursra_nv2si_uuus (__a
, __b
, __c
);
26027 __extension__
extern __inline uint64x1_t
26028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26029 vrsra_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
26031 return (uint64x1_t
) {__builtin_aarch64_ursra_ndi_uuus (__a
[0], __b
[0], __c
)};
26034 __extension__
extern __inline int8x16_t
26035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26036 vrsraq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
26038 return (int8x16_t
) __builtin_aarch64_srsra_nv16qi (__a
, __b
, __c
);
26041 __extension__
extern __inline int16x8_t
26042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26043 vrsraq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
26045 return (int16x8_t
) __builtin_aarch64_srsra_nv8hi (__a
, __b
, __c
);
26048 __extension__
extern __inline int32x4_t
26049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26050 vrsraq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
26052 return (int32x4_t
) __builtin_aarch64_srsra_nv4si (__a
, __b
, __c
);
26055 __extension__
extern __inline int64x2_t
26056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26057 vrsraq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
26059 return (int64x2_t
) __builtin_aarch64_srsra_nv2di (__a
, __b
, __c
);
26062 __extension__
extern __inline uint8x16_t
26063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26064 vrsraq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
26066 return __builtin_aarch64_ursra_nv16qi_uuus (__a
, __b
, __c
);
26069 __extension__
extern __inline uint16x8_t
26070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26071 vrsraq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
26073 return __builtin_aarch64_ursra_nv8hi_uuus (__a
, __b
, __c
);
26076 __extension__
extern __inline uint32x4_t
26077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26078 vrsraq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
26080 return __builtin_aarch64_ursra_nv4si_uuus (__a
, __b
, __c
);
26083 __extension__
extern __inline uint64x2_t
26084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26085 vrsraq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
26087 return __builtin_aarch64_ursra_nv2di_uuus (__a
, __b
, __c
);
26090 __extension__
extern __inline
int64_t
26091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26092 vrsrad_n_s64 (int64_t __a
, int64_t __b
, const int __c
)
26094 return __builtin_aarch64_srsra_ndi (__a
, __b
, __c
);
26097 __extension__
extern __inline
uint64_t
26098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26099 vrsrad_n_u64 (uint64_t __a
, uint64_t __b
, const int __c
)
26101 return __builtin_aarch64_ursra_ndi_uuus (__a
, __b
, __c
);
26104 #pragma GCC push_options
26105 #pragma GCC target ("+nothing+crypto")
26109 __extension__
extern __inline uint32x4_t
26110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26111 vsha1cq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
26113 return __builtin_aarch64_crypto_sha1cv4si_uuuu (__hash_abcd
, __hash_e
, __wk
);
26116 __extension__
extern __inline uint32x4_t
26117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26118 vsha1mq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
26120 return __builtin_aarch64_crypto_sha1mv4si_uuuu (__hash_abcd
, __hash_e
, __wk
);
26123 __extension__
extern __inline uint32x4_t
26124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26125 vsha1pq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
26127 return __builtin_aarch64_crypto_sha1pv4si_uuuu (__hash_abcd
, __hash_e
, __wk
);
26130 __extension__
extern __inline
uint32_t
26131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26132 vsha1h_u32 (uint32_t __hash_e
)
26134 return __builtin_aarch64_crypto_sha1hsi_uu (__hash_e
);
26137 __extension__
extern __inline uint32x4_t
26138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26139 vsha1su0q_u32 (uint32x4_t __w0_3
, uint32x4_t __w4_7
, uint32x4_t __w8_11
)
26141 return __builtin_aarch64_crypto_sha1su0v4si_uuuu (__w0_3
, __w4_7
, __w8_11
);
26144 __extension__
extern __inline uint32x4_t
26145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26146 vsha1su1q_u32 (uint32x4_t __tw0_3
, uint32x4_t __w12_15
)
26148 return __builtin_aarch64_crypto_sha1su1v4si_uuu (__tw0_3
, __w12_15
);
26151 __extension__
extern __inline uint32x4_t
26152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26153 vsha256hq_u32 (uint32x4_t __hash_abcd
, uint32x4_t __hash_efgh
, uint32x4_t __wk
)
26155 return __builtin_aarch64_crypto_sha256hv4si_uuuu (__hash_abcd
, __hash_efgh
,
26159 __extension__
extern __inline uint32x4_t
26160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26161 vsha256h2q_u32 (uint32x4_t __hash_efgh
, uint32x4_t __hash_abcd
, uint32x4_t __wk
)
26163 return __builtin_aarch64_crypto_sha256h2v4si_uuuu (__hash_efgh
, __hash_abcd
,
26167 __extension__
extern __inline uint32x4_t
26168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26169 vsha256su0q_u32 (uint32x4_t __w0_3
, uint32x4_t __w4_7
)
26171 return __builtin_aarch64_crypto_sha256su0v4si_uuu (__w0_3
, __w4_7
);
26174 __extension__
extern __inline uint32x4_t
26175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26176 vsha256su1q_u32 (uint32x4_t __tw0_3
, uint32x4_t __w8_11
, uint32x4_t __w12_15
)
26178 return __builtin_aarch64_crypto_sha256su1v4si_uuuu (__tw0_3
, __w8_11
,
26182 __extension__
extern __inline poly128_t
26183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26184 vmull_p64 (poly64_t __a
, poly64_t __b
)
26187 __builtin_aarch64_crypto_pmulldi_ppp (__a
, __b
);
26190 __extension__
extern __inline poly128_t
26191 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26192 vmull_high_p64 (poly64x2_t __a
, poly64x2_t __b
)
26194 return __builtin_aarch64_crypto_pmullv2di_ppp (__a
, __b
);
26197 #pragma GCC pop_options
26201 __extension__
extern __inline int8x8_t
26202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26203 vshl_n_s8 (int8x8_t __a
, const int __b
)
26205 return (int8x8_t
) __builtin_aarch64_ashlv8qi (__a
, __b
);
26208 __extension__
extern __inline int16x4_t
26209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26210 vshl_n_s16 (int16x4_t __a
, const int __b
)
26212 return (int16x4_t
) __builtin_aarch64_ashlv4hi (__a
, __b
);
26215 __extension__
extern __inline int32x2_t
26216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26217 vshl_n_s32 (int32x2_t __a
, const int __b
)
26219 return (int32x2_t
) __builtin_aarch64_ashlv2si (__a
, __b
);
26222 __extension__
extern __inline int64x1_t
26223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26224 vshl_n_s64 (int64x1_t __a
, const int __b
)
26226 return (int64x1_t
) {__builtin_aarch64_ashldi (__a
[0], __b
)};
26229 __extension__
extern __inline uint8x8_t
26230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26231 vshl_n_u8 (uint8x8_t __a
, const int __b
)
26233 return (uint8x8_t
) __builtin_aarch64_ashlv8qi ((int8x8_t
) __a
, __b
);
26236 __extension__
extern __inline uint16x4_t
26237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26238 vshl_n_u16 (uint16x4_t __a
, const int __b
)
26240 return (uint16x4_t
) __builtin_aarch64_ashlv4hi ((int16x4_t
) __a
, __b
);
26243 __extension__
extern __inline uint32x2_t
26244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26245 vshl_n_u32 (uint32x2_t __a
, const int __b
)
26247 return (uint32x2_t
) __builtin_aarch64_ashlv2si ((int32x2_t
) __a
, __b
);
26250 __extension__
extern __inline uint64x1_t
26251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26252 vshl_n_u64 (uint64x1_t __a
, const int __b
)
26254 return (uint64x1_t
) {__builtin_aarch64_ashldi ((int64_t) __a
[0], __b
)};
26257 __extension__
extern __inline int8x16_t
26258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26259 vshlq_n_s8 (int8x16_t __a
, const int __b
)
26261 return (int8x16_t
) __builtin_aarch64_ashlv16qi (__a
, __b
);
26264 __extension__
extern __inline int16x8_t
26265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26266 vshlq_n_s16 (int16x8_t __a
, const int __b
)
26268 return (int16x8_t
) __builtin_aarch64_ashlv8hi (__a
, __b
);
26271 __extension__
extern __inline int32x4_t
26272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26273 vshlq_n_s32 (int32x4_t __a
, const int __b
)
26275 return (int32x4_t
) __builtin_aarch64_ashlv4si (__a
, __b
);
26278 __extension__
extern __inline int64x2_t
26279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26280 vshlq_n_s64 (int64x2_t __a
, const int __b
)
26282 return (int64x2_t
) __builtin_aarch64_ashlv2di (__a
, __b
);
26285 __extension__
extern __inline uint8x16_t
26286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26287 vshlq_n_u8 (uint8x16_t __a
, const int __b
)
26289 return (uint8x16_t
) __builtin_aarch64_ashlv16qi ((int8x16_t
) __a
, __b
);
26292 __extension__
extern __inline uint16x8_t
26293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26294 vshlq_n_u16 (uint16x8_t __a
, const int __b
)
26296 return (uint16x8_t
) __builtin_aarch64_ashlv8hi ((int16x8_t
) __a
, __b
);
26299 __extension__
extern __inline uint32x4_t
26300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26301 vshlq_n_u32 (uint32x4_t __a
, const int __b
)
26303 return (uint32x4_t
) __builtin_aarch64_ashlv4si ((int32x4_t
) __a
, __b
);
26306 __extension__
extern __inline uint64x2_t
26307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26308 vshlq_n_u64 (uint64x2_t __a
, const int __b
)
26310 return (uint64x2_t
) __builtin_aarch64_ashlv2di ((int64x2_t
) __a
, __b
);
26313 __extension__
extern __inline
int64_t
26314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26315 vshld_n_s64 (int64_t __a
, const int __b
)
26317 return __builtin_aarch64_ashldi (__a
, __b
);
26320 __extension__
extern __inline
uint64_t
26321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26322 vshld_n_u64 (uint64_t __a
, const int __b
)
26324 return (uint64_t) __builtin_aarch64_ashldi (__a
, __b
);
26327 __extension__
extern __inline int8x8_t
26328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26329 vshl_s8 (int8x8_t __a
, int8x8_t __b
)
26331 return __builtin_aarch64_sshlv8qi (__a
, __b
);
26334 __extension__
extern __inline int16x4_t
26335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26336 vshl_s16 (int16x4_t __a
, int16x4_t __b
)
26338 return __builtin_aarch64_sshlv4hi (__a
, __b
);
26341 __extension__
extern __inline int32x2_t
26342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26343 vshl_s32 (int32x2_t __a
, int32x2_t __b
)
26345 return __builtin_aarch64_sshlv2si (__a
, __b
);
26348 __extension__
extern __inline int64x1_t
26349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26350 vshl_s64 (int64x1_t __a
, int64x1_t __b
)
26352 return (int64x1_t
) {__builtin_aarch64_sshldi (__a
[0], __b
[0])};
26355 __extension__
extern __inline uint8x8_t
26356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26357 vshl_u8 (uint8x8_t __a
, int8x8_t __b
)
26359 return __builtin_aarch64_ushlv8qi_uus (__a
, __b
);
26362 __extension__
extern __inline uint16x4_t
26363 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26364 vshl_u16 (uint16x4_t __a
, int16x4_t __b
)
26366 return __builtin_aarch64_ushlv4hi_uus (__a
, __b
);
26369 __extension__
extern __inline uint32x2_t
26370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26371 vshl_u32 (uint32x2_t __a
, int32x2_t __b
)
26373 return __builtin_aarch64_ushlv2si_uus (__a
, __b
);
26376 __extension__
extern __inline uint64x1_t
26377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26378 vshl_u64 (uint64x1_t __a
, int64x1_t __b
)
26380 return (uint64x1_t
) {__builtin_aarch64_ushldi_uus (__a
[0], __b
[0])};
26383 __extension__
extern __inline int8x16_t
26384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26385 vshlq_s8 (int8x16_t __a
, int8x16_t __b
)
26387 return __builtin_aarch64_sshlv16qi (__a
, __b
);
26390 __extension__
extern __inline int16x8_t
26391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26392 vshlq_s16 (int16x8_t __a
, int16x8_t __b
)
26394 return __builtin_aarch64_sshlv8hi (__a
, __b
);
26397 __extension__
extern __inline int32x4_t
26398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26399 vshlq_s32 (int32x4_t __a
, int32x4_t __b
)
26401 return __builtin_aarch64_sshlv4si (__a
, __b
);
26404 __extension__
extern __inline int64x2_t
26405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26406 vshlq_s64 (int64x2_t __a
, int64x2_t __b
)
26408 return __builtin_aarch64_sshlv2di (__a
, __b
);
26411 __extension__
extern __inline uint8x16_t
26412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26413 vshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
26415 return __builtin_aarch64_ushlv16qi_uus (__a
, __b
);
26418 __extension__
extern __inline uint16x8_t
26419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26420 vshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
26422 return __builtin_aarch64_ushlv8hi_uus (__a
, __b
);
26425 __extension__
extern __inline uint32x4_t
26426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26427 vshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
26429 return __builtin_aarch64_ushlv4si_uus (__a
, __b
);
26432 __extension__
extern __inline uint64x2_t
26433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26434 vshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
26436 return __builtin_aarch64_ushlv2di_uus (__a
, __b
);
26439 __extension__
extern __inline
int64_t
26440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26441 vshld_s64 (int64_t __a
, int64_t __b
)
26443 return __builtin_aarch64_sshldi (__a
, __b
);
26446 __extension__
extern __inline
uint64_t
26447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26448 vshld_u64 (uint64_t __a
, int64_t __b
)
26450 return __builtin_aarch64_ushldi_uus (__a
, __b
);
26453 __extension__
extern __inline int16x8_t
26454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26455 vshll_high_n_s8 (int8x16_t __a
, const int __b
)
26457 return __builtin_aarch64_sshll2_nv16qi (__a
, __b
);
26460 __extension__
extern __inline int32x4_t
26461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26462 vshll_high_n_s16 (int16x8_t __a
, const int __b
)
26464 return __builtin_aarch64_sshll2_nv8hi (__a
, __b
);
26467 __extension__
extern __inline int64x2_t
26468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26469 vshll_high_n_s32 (int32x4_t __a
, const int __b
)
26471 return __builtin_aarch64_sshll2_nv4si (__a
, __b
);
26474 __extension__
extern __inline uint16x8_t
26475 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26476 vshll_high_n_u8 (uint8x16_t __a
, const int __b
)
26478 return (uint16x8_t
) __builtin_aarch64_ushll2_nv16qi ((int8x16_t
) __a
, __b
);
26481 __extension__
extern __inline uint32x4_t
26482 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26483 vshll_high_n_u16 (uint16x8_t __a
, const int __b
)
26485 return (uint32x4_t
) __builtin_aarch64_ushll2_nv8hi ((int16x8_t
) __a
, __b
);
26488 __extension__
extern __inline uint64x2_t
26489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26490 vshll_high_n_u32 (uint32x4_t __a
, const int __b
)
26492 return (uint64x2_t
) __builtin_aarch64_ushll2_nv4si ((int32x4_t
) __a
, __b
);
26495 __extension__
extern __inline int16x8_t
26496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26497 vshll_n_s8 (int8x8_t __a
, const int __b
)
26499 return __builtin_aarch64_sshll_nv8qi (__a
, __b
);
26502 __extension__
extern __inline int32x4_t
26503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26504 vshll_n_s16 (int16x4_t __a
, const int __b
)
26506 return __builtin_aarch64_sshll_nv4hi (__a
, __b
);
26509 __extension__
extern __inline int64x2_t
26510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26511 vshll_n_s32 (int32x2_t __a
, const int __b
)
26513 return __builtin_aarch64_sshll_nv2si (__a
, __b
);
26516 __extension__
extern __inline uint16x8_t
26517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26518 vshll_n_u8 (uint8x8_t __a
, const int __b
)
26520 return __builtin_aarch64_ushll_nv8qi_uus (__a
, __b
);
26523 __extension__
extern __inline uint32x4_t
26524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26525 vshll_n_u16 (uint16x4_t __a
, const int __b
)
26527 return __builtin_aarch64_ushll_nv4hi_uus (__a
, __b
);
26530 __extension__
extern __inline uint64x2_t
26531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26532 vshll_n_u32 (uint32x2_t __a
, const int __b
)
26534 return __builtin_aarch64_ushll_nv2si_uus (__a
, __b
);
26539 __extension__
extern __inline int8x8_t
26540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26541 vshr_n_s8 (int8x8_t __a
, const int __b
)
26543 return (int8x8_t
) __builtin_aarch64_ashrv8qi (__a
, __b
);
26546 __extension__
extern __inline int16x4_t
26547 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26548 vshr_n_s16 (int16x4_t __a
, const int __b
)
26550 return (int16x4_t
) __builtin_aarch64_ashrv4hi (__a
, __b
);
26553 __extension__
extern __inline int32x2_t
26554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26555 vshr_n_s32 (int32x2_t __a
, const int __b
)
26557 return (int32x2_t
) __builtin_aarch64_ashrv2si (__a
, __b
);
26560 __extension__
extern __inline int64x1_t
26561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26562 vshr_n_s64 (int64x1_t __a
, const int __b
)
26564 return (int64x1_t
) {__builtin_aarch64_ashr_simddi (__a
[0], __b
)};
26567 __extension__
extern __inline uint8x8_t
26568 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26569 vshr_n_u8 (uint8x8_t __a
, const int __b
)
26571 return (uint8x8_t
) __builtin_aarch64_lshrv8qi ((int8x8_t
) __a
, __b
);
26574 __extension__
extern __inline uint16x4_t
26575 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26576 vshr_n_u16 (uint16x4_t __a
, const int __b
)
26578 return (uint16x4_t
) __builtin_aarch64_lshrv4hi ((int16x4_t
) __a
, __b
);
26581 __extension__
extern __inline uint32x2_t
26582 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26583 vshr_n_u32 (uint32x2_t __a
, const int __b
)
26585 return (uint32x2_t
) __builtin_aarch64_lshrv2si ((int32x2_t
) __a
, __b
);
26588 __extension__
extern __inline uint64x1_t
26589 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26590 vshr_n_u64 (uint64x1_t __a
, const int __b
)
26592 return (uint64x1_t
) {__builtin_aarch64_lshr_simddi_uus ( __a
[0], __b
)};
26595 __extension__
extern __inline int8x16_t
26596 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26597 vshrq_n_s8 (int8x16_t __a
, const int __b
)
26599 return (int8x16_t
) __builtin_aarch64_ashrv16qi (__a
, __b
);
26602 __extension__
extern __inline int16x8_t
26603 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26604 vshrq_n_s16 (int16x8_t __a
, const int __b
)
26606 return (int16x8_t
) __builtin_aarch64_ashrv8hi (__a
, __b
);
26609 __extension__
extern __inline int32x4_t
26610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26611 vshrq_n_s32 (int32x4_t __a
, const int __b
)
26613 return (int32x4_t
) __builtin_aarch64_ashrv4si (__a
, __b
);
26616 __extension__
extern __inline int64x2_t
26617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26618 vshrq_n_s64 (int64x2_t __a
, const int __b
)
26620 return (int64x2_t
) __builtin_aarch64_ashrv2di (__a
, __b
);
26623 __extension__
extern __inline uint8x16_t
26624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26625 vshrq_n_u8 (uint8x16_t __a
, const int __b
)
26627 return (uint8x16_t
) __builtin_aarch64_lshrv16qi ((int8x16_t
) __a
, __b
);
26630 __extension__
extern __inline uint16x8_t
26631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26632 vshrq_n_u16 (uint16x8_t __a
, const int __b
)
26634 return (uint16x8_t
) __builtin_aarch64_lshrv8hi ((int16x8_t
) __a
, __b
);
26637 __extension__
extern __inline uint32x4_t
26638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26639 vshrq_n_u32 (uint32x4_t __a
, const int __b
)
26641 return (uint32x4_t
) __builtin_aarch64_lshrv4si ((int32x4_t
) __a
, __b
);
26644 __extension__
extern __inline uint64x2_t
26645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26646 vshrq_n_u64 (uint64x2_t __a
, const int __b
)
26648 return (uint64x2_t
) __builtin_aarch64_lshrv2di ((int64x2_t
) __a
, __b
);
26651 __extension__
extern __inline
int64_t
26652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26653 vshrd_n_s64 (int64_t __a
, const int __b
)
26655 return __builtin_aarch64_ashr_simddi (__a
, __b
);
26658 __extension__
extern __inline
uint64_t
26659 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26660 vshrd_n_u64 (uint64_t __a
, const int __b
)
26662 return __builtin_aarch64_lshr_simddi_uus (__a
, __b
);
26667 __extension__
extern __inline int8x8_t
26668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26669 vsli_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
26671 return (int8x8_t
) __builtin_aarch64_ssli_nv8qi (__a
, __b
, __c
);
26674 __extension__
extern __inline int16x4_t
26675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26676 vsli_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
26678 return (int16x4_t
) __builtin_aarch64_ssli_nv4hi (__a
, __b
, __c
);
26681 __extension__
extern __inline int32x2_t
26682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26683 vsli_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
26685 return (int32x2_t
) __builtin_aarch64_ssli_nv2si (__a
, __b
, __c
);
26688 __extension__
extern __inline int64x1_t
26689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26690 vsli_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
26692 return (int64x1_t
) {__builtin_aarch64_ssli_ndi (__a
[0], __b
[0], __c
)};
26695 __extension__
extern __inline uint8x8_t
26696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26697 vsli_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
26699 return __builtin_aarch64_usli_nv8qi_uuus (__a
, __b
, __c
);
26702 __extension__
extern __inline uint16x4_t
26703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26704 vsli_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
26706 return __builtin_aarch64_usli_nv4hi_uuus (__a
, __b
, __c
);
26709 __extension__
extern __inline uint32x2_t
26710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26711 vsli_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
26713 return __builtin_aarch64_usli_nv2si_uuus (__a
, __b
, __c
);
26716 __extension__
extern __inline uint64x1_t
26717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26718 vsli_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
26720 return (uint64x1_t
) {__builtin_aarch64_usli_ndi_uuus (__a
[0], __b
[0], __c
)};
26723 __extension__
extern __inline poly64x1_t
26724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26725 vsli_n_p64 (poly64x1_t __a
, poly64x1_t __b
, const int __c
)
26727 return (poly64x1_t
) {__builtin_aarch64_ssli_ndi_ppps (__a
[0], __b
[0], __c
)};
26730 __extension__
extern __inline int8x16_t
26731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26732 vsliq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
26734 return (int8x16_t
) __builtin_aarch64_ssli_nv16qi (__a
, __b
, __c
);
26737 __extension__
extern __inline int16x8_t
26738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26739 vsliq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
26741 return (int16x8_t
) __builtin_aarch64_ssli_nv8hi (__a
, __b
, __c
);
26744 __extension__
extern __inline int32x4_t
26745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26746 vsliq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
26748 return (int32x4_t
) __builtin_aarch64_ssli_nv4si (__a
, __b
, __c
);
26751 __extension__
extern __inline int64x2_t
26752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26753 vsliq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
26755 return (int64x2_t
) __builtin_aarch64_ssli_nv2di (__a
, __b
, __c
);
26758 __extension__
extern __inline uint8x16_t
26759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26760 vsliq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
26762 return __builtin_aarch64_usli_nv16qi_uuus (__a
, __b
, __c
);
26765 __extension__
extern __inline uint16x8_t
26766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26767 vsliq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
26769 return __builtin_aarch64_usli_nv8hi_uuus (__a
, __b
, __c
);
26772 __extension__
extern __inline uint32x4_t
26773 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26774 vsliq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
26776 return __builtin_aarch64_usli_nv4si_uuus (__a
, __b
, __c
);
26779 __extension__
extern __inline uint64x2_t
26780 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26781 vsliq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
26783 return __builtin_aarch64_usli_nv2di_uuus (__a
, __b
, __c
);
26786 __extension__
extern __inline poly64x2_t
26787 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26788 vsliq_n_p64 (poly64x2_t __a
, poly64x2_t __b
, const int __c
)
26790 return __builtin_aarch64_ssli_nv2di_ppps (__a
, __b
, __c
);
26793 __extension__
extern __inline
int64_t
26794 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26795 vslid_n_s64 (int64_t __a
, int64_t __b
, const int __c
)
26797 return __builtin_aarch64_ssli_ndi (__a
, __b
, __c
);
26800 __extension__
extern __inline
uint64_t
26801 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26802 vslid_n_u64 (uint64_t __a
, uint64_t __b
, const int __c
)
26804 return __builtin_aarch64_usli_ndi_uuus (__a
, __b
, __c
);
26809 __extension__
extern __inline uint8x8_t
26810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26811 vsqadd_u8 (uint8x8_t __a
, int8x8_t __b
)
26813 return __builtin_aarch64_usqaddv8qi_uus (__a
, __b
);
26816 __extension__
extern __inline uint16x4_t
26817 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26818 vsqadd_u16 (uint16x4_t __a
, int16x4_t __b
)
26820 return __builtin_aarch64_usqaddv4hi_uus (__a
, __b
);
26823 __extension__
extern __inline uint32x2_t
26824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26825 vsqadd_u32 (uint32x2_t __a
, int32x2_t __b
)
26827 return __builtin_aarch64_usqaddv2si_uus (__a
, __b
);
26830 __extension__
extern __inline uint64x1_t
26831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26832 vsqadd_u64 (uint64x1_t __a
, int64x1_t __b
)
26834 return (uint64x1_t
) {__builtin_aarch64_usqadddi_uus (__a
[0], __b
[0])};
26837 __extension__
extern __inline uint8x16_t
26838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26839 vsqaddq_u8 (uint8x16_t __a
, int8x16_t __b
)
26841 return __builtin_aarch64_usqaddv16qi_uus (__a
, __b
);
26844 __extension__
extern __inline uint16x8_t
26845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26846 vsqaddq_u16 (uint16x8_t __a
, int16x8_t __b
)
26848 return __builtin_aarch64_usqaddv8hi_uus (__a
, __b
);
26851 __extension__
extern __inline uint32x4_t
26852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26853 vsqaddq_u32 (uint32x4_t __a
, int32x4_t __b
)
26855 return __builtin_aarch64_usqaddv4si_uus (__a
, __b
);
26858 __extension__
extern __inline uint64x2_t
26859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26860 vsqaddq_u64 (uint64x2_t __a
, int64x2_t __b
)
26862 return __builtin_aarch64_usqaddv2di_uus (__a
, __b
);
26865 __extension__
extern __inline
uint8_t
26866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26867 vsqaddb_u8 (uint8_t __a
, int8_t __b
)
26869 return __builtin_aarch64_usqaddqi_uus (__a
, __b
);
26872 __extension__
extern __inline
uint16_t
26873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26874 vsqaddh_u16 (uint16_t __a
, int16_t __b
)
26876 return __builtin_aarch64_usqaddhi_uus (__a
, __b
);
26879 __extension__
extern __inline
uint32_t
26880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26881 vsqadds_u32 (uint32_t __a
, int32_t __b
)
26883 return __builtin_aarch64_usqaddsi_uus (__a
, __b
);
26886 __extension__
extern __inline
uint64_t
26887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26888 vsqaddd_u64 (uint64_t __a
, int64_t __b
)
26890 return __builtin_aarch64_usqadddi_uus (__a
, __b
);
26894 __extension__
extern __inline float32x2_t
26895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26896 vsqrt_f32 (float32x2_t __a
)
26898 return __builtin_aarch64_sqrtv2sf (__a
);
26901 __extension__
extern __inline float32x4_t
26902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26903 vsqrtq_f32 (float32x4_t __a
)
26905 return __builtin_aarch64_sqrtv4sf (__a
);
26908 __extension__
extern __inline float64x1_t
26909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26910 vsqrt_f64 (float64x1_t __a
)
26912 return (float64x1_t
) { __builtin_aarch64_sqrtdf (__a
[0]) };
26915 __extension__
extern __inline float64x2_t
26916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26917 vsqrtq_f64 (float64x2_t __a
)
26919 return __builtin_aarch64_sqrtv2df (__a
);
26924 __extension__
extern __inline int8x8_t
26925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26926 vsra_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
26928 return (int8x8_t
) __builtin_aarch64_ssra_nv8qi (__a
, __b
, __c
);
26931 __extension__
extern __inline int16x4_t
26932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26933 vsra_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
26935 return (int16x4_t
) __builtin_aarch64_ssra_nv4hi (__a
, __b
, __c
);
26938 __extension__
extern __inline int32x2_t
26939 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26940 vsra_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
26942 return (int32x2_t
) __builtin_aarch64_ssra_nv2si (__a
, __b
, __c
);
26945 __extension__
extern __inline int64x1_t
26946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26947 vsra_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
26949 return (int64x1_t
) {__builtin_aarch64_ssra_ndi (__a
[0], __b
[0], __c
)};
26952 __extension__
extern __inline uint8x8_t
26953 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26954 vsra_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
26956 return __builtin_aarch64_usra_nv8qi_uuus (__a
, __b
, __c
);
26959 __extension__
extern __inline uint16x4_t
26960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26961 vsra_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
26963 return __builtin_aarch64_usra_nv4hi_uuus (__a
, __b
, __c
);
26966 __extension__
extern __inline uint32x2_t
26967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26968 vsra_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
26970 return __builtin_aarch64_usra_nv2si_uuus (__a
, __b
, __c
);
26973 __extension__
extern __inline uint64x1_t
26974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26975 vsra_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
26977 return (uint64x1_t
) {__builtin_aarch64_usra_ndi_uuus (__a
[0], __b
[0], __c
)};
26980 __extension__
extern __inline int8x16_t
26981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26982 vsraq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
26984 return (int8x16_t
) __builtin_aarch64_ssra_nv16qi (__a
, __b
, __c
);
26987 __extension__
extern __inline int16x8_t
26988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26989 vsraq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
26991 return (int16x8_t
) __builtin_aarch64_ssra_nv8hi (__a
, __b
, __c
);
26994 __extension__
extern __inline int32x4_t
26995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
26996 vsraq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
26998 return (int32x4_t
) __builtin_aarch64_ssra_nv4si (__a
, __b
, __c
);
27001 __extension__
extern __inline int64x2_t
27002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27003 vsraq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
27005 return (int64x2_t
) __builtin_aarch64_ssra_nv2di (__a
, __b
, __c
);
27008 __extension__
extern __inline uint8x16_t
27009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27010 vsraq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
27012 return __builtin_aarch64_usra_nv16qi_uuus (__a
, __b
, __c
);
27015 __extension__
extern __inline uint16x8_t
27016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27017 vsraq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
27019 return __builtin_aarch64_usra_nv8hi_uuus (__a
, __b
, __c
);
27022 __extension__
extern __inline uint32x4_t
27023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27024 vsraq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
27026 return __builtin_aarch64_usra_nv4si_uuus (__a
, __b
, __c
);
27029 __extension__
extern __inline uint64x2_t
27030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27031 vsraq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
27033 return __builtin_aarch64_usra_nv2di_uuus (__a
, __b
, __c
);
27036 __extension__
extern __inline
int64_t
27037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27038 vsrad_n_s64 (int64_t __a
, int64_t __b
, const int __c
)
27040 return __builtin_aarch64_ssra_ndi (__a
, __b
, __c
);
27043 __extension__
extern __inline
uint64_t
27044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27045 vsrad_n_u64 (uint64_t __a
, uint64_t __b
, const int __c
)
27047 return __builtin_aarch64_usra_ndi_uuus (__a
, __b
, __c
);
27052 __extension__
extern __inline int8x8_t
27053 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27054 vsri_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
27056 return (int8x8_t
) __builtin_aarch64_ssri_nv8qi (__a
, __b
, __c
);
27059 __extension__
extern __inline int16x4_t
27060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27061 vsri_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
27063 return (int16x4_t
) __builtin_aarch64_ssri_nv4hi (__a
, __b
, __c
);
27066 __extension__
extern __inline int32x2_t
27067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27068 vsri_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
27070 return (int32x2_t
) __builtin_aarch64_ssri_nv2si (__a
, __b
, __c
);
27073 __extension__
extern __inline int64x1_t
27074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27075 vsri_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
27077 return (int64x1_t
) {__builtin_aarch64_ssri_ndi (__a
[0], __b
[0], __c
)};
27080 __extension__
extern __inline uint8x8_t
27081 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27082 vsri_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
27084 return __builtin_aarch64_usri_nv8qi_uuus (__a
, __b
, __c
);
27087 __extension__
extern __inline uint16x4_t
27088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27089 vsri_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
27091 return __builtin_aarch64_usri_nv4hi_uuus (__a
, __b
, __c
);
27094 __extension__
extern __inline uint32x2_t
27095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27096 vsri_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
27098 return __builtin_aarch64_usri_nv2si_uuus (__a
, __b
, __c
);
27101 __extension__
extern __inline uint64x1_t
27102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27103 vsri_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
27105 return (uint64x1_t
) {__builtin_aarch64_usri_ndi_uuus (__a
[0], __b
[0], __c
)};
27108 __extension__
extern __inline int8x16_t
27109 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27110 vsriq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
27112 return (int8x16_t
) __builtin_aarch64_ssri_nv16qi (__a
, __b
, __c
);
27115 __extension__
extern __inline int16x8_t
27116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27117 vsriq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
27119 return (int16x8_t
) __builtin_aarch64_ssri_nv8hi (__a
, __b
, __c
);
27122 __extension__
extern __inline int32x4_t
27123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27124 vsriq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
27126 return (int32x4_t
) __builtin_aarch64_ssri_nv4si (__a
, __b
, __c
);
27129 __extension__
extern __inline int64x2_t
27130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27131 vsriq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
27133 return (int64x2_t
) __builtin_aarch64_ssri_nv2di (__a
, __b
, __c
);
27136 __extension__
extern __inline uint8x16_t
27137 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27138 vsriq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
27140 return __builtin_aarch64_usri_nv16qi_uuus (__a
, __b
, __c
);
27143 __extension__
extern __inline uint16x8_t
27144 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27145 vsriq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
27147 return __builtin_aarch64_usri_nv8hi_uuus (__a
, __b
, __c
);
27150 __extension__
extern __inline uint32x4_t
27151 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27152 vsriq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
27154 return __builtin_aarch64_usri_nv4si_uuus (__a
, __b
, __c
);
27157 __extension__
extern __inline uint64x2_t
27158 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27159 vsriq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
27161 return __builtin_aarch64_usri_nv2di_uuus (__a
, __b
, __c
);
27164 __extension__
extern __inline
int64_t
27165 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27166 vsrid_n_s64 (int64_t __a
, int64_t __b
, const int __c
)
27168 return __builtin_aarch64_ssri_ndi (__a
, __b
, __c
);
27171 __extension__
extern __inline
uint64_t
27172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27173 vsrid_n_u64 (uint64_t __a
, uint64_t __b
, const int __c
)
27175 return __builtin_aarch64_usri_ndi_uuus (__a
, __b
, __c
);
27180 __extension__
extern __inline
void
27181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27182 vst1_f16 (float16_t
*__a
, float16x4_t __b
)
27184 __builtin_aarch64_st1v4hf (__a
, __b
);
27187 __extension__
extern __inline
void
27188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27189 vst1_f32 (float32_t
*__a
, float32x2_t __b
)
27191 __builtin_aarch64_st1v2sf ((__builtin_aarch64_simd_sf
*) __a
, __b
);
27194 __extension__
extern __inline
void
27195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27196 vst1_f64 (float64_t
*__a
, float64x1_t __b
)
27201 __extension__
extern __inline
void
27202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27203 vst1_p8 (poly8_t
*__a
, poly8x8_t __b
)
27205 __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi
*) __a
,
27209 __extension__
extern __inline
void
27210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27211 vst1_p16 (poly16_t
*__a
, poly16x4_t __b
)
27213 __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi
*) __a
,
27217 __extension__
extern __inline
void
27218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27219 vst1_p64 (poly64_t
*__a
, poly64x1_t __b
)
27224 __extension__
extern __inline
void
27225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27226 vst1_s8 (int8_t *__a
, int8x8_t __b
)
27228 __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi
*) __a
, __b
);
27231 __extension__
extern __inline
void
27232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27233 vst1_s16 (int16_t *__a
, int16x4_t __b
)
27235 __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi
*) __a
, __b
);
27238 __extension__
extern __inline
void
27239 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27240 vst1_s32 (int32_t *__a
, int32x2_t __b
)
27242 __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si
*) __a
, __b
);
27245 __extension__
extern __inline
void
27246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27247 vst1_s64 (int64_t *__a
, int64x1_t __b
)
27252 __extension__
extern __inline
void
27253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27254 vst1_u8 (uint8_t *__a
, uint8x8_t __b
)
27256 __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi
*) __a
,
27260 __extension__
extern __inline
void
27261 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27262 vst1_u16 (uint16_t *__a
, uint16x4_t __b
)
27264 __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi
*) __a
,
27268 __extension__
extern __inline
void
27269 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27270 vst1_u32 (uint32_t *__a
, uint32x2_t __b
)
27272 __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si
*) __a
,
27276 __extension__
extern __inline
void
27277 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27278 vst1_u64 (uint64_t *__a
, uint64x1_t __b
)
27285 __extension__
extern __inline
void
27286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27287 vst1q_f16 (float16_t
*__a
, float16x8_t __b
)
27289 __builtin_aarch64_st1v8hf (__a
, __b
);
27292 __extension__
extern __inline
void
27293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27294 vst1q_f32 (float32_t
*__a
, float32x4_t __b
)
27296 __builtin_aarch64_st1v4sf ((__builtin_aarch64_simd_sf
*) __a
, __b
);
27299 __extension__
extern __inline
void
27300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27301 vst1q_f64 (float64_t
*__a
, float64x2_t __b
)
27303 __builtin_aarch64_st1v2df ((__builtin_aarch64_simd_df
*) __a
, __b
);
27306 __extension__
extern __inline
void
27307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27308 vst1q_p8 (poly8_t
*__a
, poly8x16_t __b
)
27310 __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi
*) __a
,
27314 __extension__
extern __inline
void
27315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27316 vst1q_p16 (poly16_t
*__a
, poly16x8_t __b
)
27318 __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi
*) __a
,
27322 __extension__
extern __inline
void
27323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27324 vst1q_p64 (poly64_t
*__a
, poly64x2_t __b
)
27326 __builtin_aarch64_st1v2di_sp ((__builtin_aarch64_simd_di
*) __a
,
27330 __extension__
extern __inline
void
27331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27332 vst1q_s8 (int8_t *__a
, int8x16_t __b
)
27334 __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi
*) __a
, __b
);
27337 __extension__
extern __inline
void
27338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27339 vst1q_s16 (int16_t *__a
, int16x8_t __b
)
27341 __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi
*) __a
, __b
);
27344 __extension__
extern __inline
void
27345 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27346 vst1q_s32 (int32_t *__a
, int32x4_t __b
)
27348 __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si
*) __a
, __b
);
27351 __extension__
extern __inline
void
27352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27353 vst1q_s64 (int64_t *__a
, int64x2_t __b
)
27355 __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di
*) __a
, __b
);
27358 __extension__
extern __inline
void
27359 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27360 vst1q_u8 (uint8_t *__a
, uint8x16_t __b
)
27362 __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi
*) __a
,
27366 __extension__
extern __inline
void
27367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27368 vst1q_u16 (uint16_t *__a
, uint16x8_t __b
)
27370 __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi
*) __a
,
27374 __extension__
extern __inline
void
27375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27376 vst1q_u32 (uint32_t *__a
, uint32x4_t __b
)
27378 __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si
*) __a
,
27382 __extension__
extern __inline
void
27383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27384 vst1q_u64 (uint64_t *__a
, uint64x2_t __b
)
27386 __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di
*) __a
,
27392 __extension__
extern __inline
void
27393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27394 vst1_lane_f16 (float16_t
*__a
, float16x4_t __b
, const int __lane
)
27396 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27399 __extension__
extern __inline
void
27400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27401 vst1_lane_f32 (float32_t
*__a
, float32x2_t __b
, const int __lane
)
27403 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27406 __extension__
extern __inline
void
27407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27408 vst1_lane_f64 (float64_t
*__a
, float64x1_t __b
, const int __lane
)
27410 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27413 __extension__
extern __inline
void
27414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27415 vst1_lane_p8 (poly8_t
*__a
, poly8x8_t __b
, const int __lane
)
27417 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27420 __extension__
extern __inline
void
27421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27422 vst1_lane_p16 (poly16_t
*__a
, poly16x4_t __b
, const int __lane
)
27424 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27427 __extension__
extern __inline
void
27428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27429 vst1_lane_p64 (poly64_t
*__a
, poly64x1_t __b
, const int __lane
)
27431 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27434 __extension__
extern __inline
void
27435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27436 vst1_lane_s8 (int8_t *__a
, int8x8_t __b
, const int __lane
)
27438 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27441 __extension__
extern __inline
void
27442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27443 vst1_lane_s16 (int16_t *__a
, int16x4_t __b
, const int __lane
)
27445 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27448 __extension__
extern __inline
void
27449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27450 vst1_lane_s32 (int32_t *__a
, int32x2_t __b
, const int __lane
)
27452 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27455 __extension__
extern __inline
void
27456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27457 vst1_lane_s64 (int64_t *__a
, int64x1_t __b
, const int __lane
)
27459 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27462 __extension__
extern __inline
void
27463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27464 vst1_lane_u8 (uint8_t *__a
, uint8x8_t __b
, const int __lane
)
27466 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27469 __extension__
extern __inline
void
27470 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27471 vst1_lane_u16 (uint16_t *__a
, uint16x4_t __b
, const int __lane
)
27473 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27476 __extension__
extern __inline
void
27477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27478 vst1_lane_u32 (uint32_t *__a
, uint32x2_t __b
, const int __lane
)
27480 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27483 __extension__
extern __inline
void
27484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27485 vst1_lane_u64 (uint64_t *__a
, uint64x1_t __b
, const int __lane
)
27487 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27492 __extension__
extern __inline
void
27493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27494 vst1q_lane_f16 (float16_t
*__a
, float16x8_t __b
, const int __lane
)
27496 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27499 __extension__
extern __inline
void
27500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27501 vst1q_lane_f32 (float32_t
*__a
, float32x4_t __b
, const int __lane
)
27503 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27506 __extension__
extern __inline
void
27507 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27508 vst1q_lane_f64 (float64_t
*__a
, float64x2_t __b
, const int __lane
)
27510 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27513 __extension__
extern __inline
void
27514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27515 vst1q_lane_p8 (poly8_t
*__a
, poly8x16_t __b
, const int __lane
)
27517 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27520 __extension__
extern __inline
void
27521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27522 vst1q_lane_p16 (poly16_t
*__a
, poly16x8_t __b
, const int __lane
)
27524 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27527 __extension__
extern __inline
void
27528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27529 vst1q_lane_p64 (poly64_t
*__a
, poly64x2_t __b
, const int __lane
)
27531 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27534 __extension__
extern __inline
void
27535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27536 vst1q_lane_s8 (int8_t *__a
, int8x16_t __b
, const int __lane
)
27538 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27541 __extension__
extern __inline
void
27542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27543 vst1q_lane_s16 (int16_t *__a
, int16x8_t __b
, const int __lane
)
27545 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27548 __extension__
extern __inline
void
27549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27550 vst1q_lane_s32 (int32_t *__a
, int32x4_t __b
, const int __lane
)
27552 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27555 __extension__
extern __inline
void
27556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27557 vst1q_lane_s64 (int64_t *__a
, int64x2_t __b
, const int __lane
)
27559 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27562 __extension__
extern __inline
void
27563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27564 vst1q_lane_u8 (uint8_t *__a
, uint8x16_t __b
, const int __lane
)
27566 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27569 __extension__
extern __inline
void
27570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27571 vst1q_lane_u16 (uint16_t *__a
, uint16x8_t __b
, const int __lane
)
27573 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27576 __extension__
extern __inline
void
27577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27578 vst1q_lane_u32 (uint32_t *__a
, uint32x4_t __b
, const int __lane
)
27580 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27583 __extension__
extern __inline
void
27584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27585 vst1q_lane_u64 (uint64_t *__a
, uint64x2_t __b
, const int __lane
)
27587 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
27592 __extension__
extern __inline
void
27593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27594 vst1_s64_x2 (int64_t * __a
, int64x1x2_t __val
)
27596 __builtin_aarch64_simd_oi __o
;
27597 int64x2x2_t __temp
;
27599 = vcombine_s64 (__val
.val
[0], vcreate_s64 (__AARCH64_INT64_C (0)));
27601 = vcombine_s64 (__val
.val
[1], vcreate_s64 (__AARCH64_INT64_C (0)));
27602 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
27603 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
27604 __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27607 __extension__
extern __inline
void
27608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27609 vst1_u64_x2 (uint64_t * __a
, uint64x1x2_t __val
)
27611 __builtin_aarch64_simd_oi __o
;
27612 uint64x2x2_t __temp
;
27614 = vcombine_u64 (__val
.val
[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
27616 = vcombine_u64 (__val
.val
[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
27617 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
27618 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
27619 __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27622 __extension__
extern __inline
void
27623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27624 vst1_f64_x2 (float64_t
* __a
, float64x1x2_t __val
)
27626 __builtin_aarch64_simd_oi __o
;
27627 float64x2x2_t __temp
;
27629 = vcombine_f64 (__val
.val
[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
27631 = vcombine_f64 (__val
.val
[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
27632 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __temp
.val
[0], 0);
27633 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __temp
.val
[1], 1);
27634 __builtin_aarch64_st1x2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
27637 __extension__
extern __inline
void
27638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27639 vst1_s8_x2 (int8_t * __a
, int8x8x2_t __val
)
27641 __builtin_aarch64_simd_oi __o
;
27642 int8x16x2_t __temp
;
27644 = vcombine_s8 (__val
.val
[0], vcreate_s8 (__AARCH64_INT64_C (0)));
27646 = vcombine_s8 (__val
.val
[1], vcreate_s8 (__AARCH64_INT64_C (0)));
27647 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
27648 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
27649 __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27652 __extension__
extern __inline
void
27653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27654 vst1_p8_x2 (poly8_t
* __a
, poly8x8x2_t __val
)
27656 __builtin_aarch64_simd_oi __o
;
27657 poly8x16x2_t __temp
;
27659 = vcombine_p8 (__val
.val
[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
27661 = vcombine_p8 (__val
.val
[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
27662 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
27663 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
27664 __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27667 __extension__
extern __inline
void
27668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27669 vst1_s16_x2 (int16_t * __a
, int16x4x2_t __val
)
27671 __builtin_aarch64_simd_oi __o
;
27672 int16x8x2_t __temp
;
27674 = vcombine_s16 (__val
.val
[0], vcreate_s16 (__AARCH64_INT64_C (0)));
27676 = vcombine_s16 (__val
.val
[1], vcreate_s16 (__AARCH64_INT64_C (0)));
27677 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
27678 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
27679 __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27682 __extension__
extern __inline
void
27683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27684 vst1_p16_x2 (poly16_t
* __a
, poly16x4x2_t __val
)
27686 __builtin_aarch64_simd_oi __o
;
27687 poly16x8x2_t __temp
;
27689 = vcombine_p16 (__val
.val
[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
27691 = vcombine_p16 (__val
.val
[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
27692 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
27693 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
27694 __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27697 __extension__
extern __inline
void
27698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27699 vst1_s32_x2 (int32_t * __a
, int32x2x2_t __val
)
27701 __builtin_aarch64_simd_oi __o
;
27702 int32x4x2_t __temp
;
27704 = vcombine_s32 (__val
.val
[0], vcreate_s32 (__AARCH64_INT64_C (0)));
27706 = vcombine_s32 (__val
.val
[1], vcreate_s32 (__AARCH64_INT64_C (0)));
27707 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
27708 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
27709 __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
27712 __extension__
extern __inline
void
27713 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27714 vst1_u8_x2 (uint8_t * __a
, uint8x8x2_t __val
)
27716 __builtin_aarch64_simd_oi __o
;
27717 uint8x16x2_t __temp
;
27718 __temp
.val
[0] = vcombine_u8 (__val
.val
[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
27719 __temp
.val
[1] = vcombine_u8 (__val
.val
[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
27720 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
27721 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
27722 __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27725 __extension__
extern __inline
void
27726 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27727 vst1_u16_x2 (uint16_t * __a
, uint16x4x2_t __val
)
27729 __builtin_aarch64_simd_oi __o
;
27730 uint16x8x2_t __temp
;
27731 __temp
.val
[0] = vcombine_u16 (__val
.val
[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
27732 __temp
.val
[1] = vcombine_u16 (__val
.val
[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
27733 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
27734 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
27735 __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27738 __extension__
extern __inline
void
27739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27740 vst1_u32_x2 (uint32_t * __a
, uint32x2x2_t __val
)
27742 __builtin_aarch64_simd_oi __o
;
27743 uint32x4x2_t __temp
;
27744 __temp
.val
[0] = vcombine_u32 (__val
.val
[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
27745 __temp
.val
[1] = vcombine_u32 (__val
.val
[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
27746 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
27747 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
27748 __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
27751 __extension__
extern __inline
void
27752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27753 vst1_f16_x2 (float16_t
* __a
, float16x4x2_t __val
)
27755 __builtin_aarch64_simd_oi __o
;
27756 float16x8x2_t __temp
;
27757 __temp
.val
[0] = vcombine_f16 (__val
.val
[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
27758 __temp
.val
[1] = vcombine_f16 (__val
.val
[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
27759 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __temp
.val
[0], 0);
27760 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __temp
.val
[1], 1);
27761 __builtin_aarch64_st1x2v4hf (__a
, __o
);
27764 __extension__
extern __inline
void
27765 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27766 vst1_f32_x2 (float32_t
* __a
, float32x2x2_t __val
)
27768 __builtin_aarch64_simd_oi __o
;
27769 float32x4x2_t __temp
;
27770 __temp
.val
[0] = vcombine_f32 (__val
.val
[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
27771 __temp
.val
[1] = vcombine_f32 (__val
.val
[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
27772 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __temp
.val
[0], 0);
27773 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __temp
.val
[1], 1);
27774 __builtin_aarch64_st1x2v2sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
27777 __extension__
extern __inline
void
27778 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27779 vst1_p64_x2 (poly64_t
* __a
, poly64x1x2_t __val
)
27781 __builtin_aarch64_simd_oi __o
;
27782 poly64x2x2_t __temp
;
27783 __temp
.val
[0] = vcombine_p64 (__val
.val
[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
27784 __temp
.val
[1] = vcombine_p64 (__val
.val
[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
27785 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
27786 (poly64x2_t
) __temp
.val
[0], 0);
27787 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
27788 (poly64x2_t
) __temp
.val
[1], 1);
27789 __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27792 __extension__
extern __inline
void
27793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27794 vst1q_s8_x2 (int8_t * __a
, int8x16x2_t __val
)
27796 __builtin_aarch64_simd_oi __o
;
27797 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
27798 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
27799 __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27802 __extension__
extern __inline
void
27803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27804 vst1q_p8_x2 (poly8_t
* __a
, poly8x16x2_t __val
)
27806 __builtin_aarch64_simd_oi __o
;
27807 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
27808 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
27809 __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27812 __extension__
extern __inline
void
27813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27814 vst1q_s16_x2 (int16_t * __a
, int16x8x2_t __val
)
27816 __builtin_aarch64_simd_oi __o
;
27817 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
27818 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
27819 __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27822 __extension__
extern __inline
void
27823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27824 vst1q_p16_x2 (poly16_t
* __a
, poly16x8x2_t __val
)
27826 __builtin_aarch64_simd_oi __o
;
27827 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
27828 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
27829 __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27832 __extension__
extern __inline
void
27833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27834 vst1q_s32_x2 (int32_t * __a
, int32x4x2_t __val
)
27836 __builtin_aarch64_simd_oi __o
;
27837 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
27838 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
27839 __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
27842 __extension__
extern __inline
void
27843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27844 vst1q_s64_x2 (int64_t * __a
, int64x2x2_t __val
)
27846 __builtin_aarch64_simd_oi __o
;
27847 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
27848 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
27849 __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27852 __extension__
extern __inline
void
27853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27854 vst1q_u8_x2 (uint8_t * __a
, uint8x16x2_t __val
)
27856 __builtin_aarch64_simd_oi __o
;
27857 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
27858 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
27859 __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27862 __extension__
extern __inline
void
27863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27864 vst1q_u16_x2 (uint16_t * __a
, uint16x8x2_t __val
)
27866 __builtin_aarch64_simd_oi __o
;
27867 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
27868 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
27869 __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
27872 __extension__
extern __inline
void
27873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27874 vst1q_u32_x2 (uint32_t * __a
, uint32x4x2_t __val
)
27876 __builtin_aarch64_simd_oi __o
;
27877 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
27878 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
27879 __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
27882 __extension__
extern __inline
void
27883 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27884 vst1q_u64_x2 (uint64_t * __a
, uint64x2x2_t __val
)
27886 __builtin_aarch64_simd_oi __o
;
27887 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
27888 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
27889 __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27892 __extension__
extern __inline
void
27893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27894 vst1q_f16_x2 (float16_t
* __a
, float16x8x2_t __val
)
27896 __builtin_aarch64_simd_oi __o
;
27897 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __val
.val
[0], 0);
27898 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __val
.val
[1], 1);
27899 __builtin_aarch64_st1x2v8hf (__a
, __o
);
27902 __extension__
extern __inline
void
27903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27904 vst1q_f32_x2 (float32_t
* __a
, float32x4x2_t __val
)
27906 __builtin_aarch64_simd_oi __o
;
27907 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __val
.val
[0], 0);
27908 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __val
.val
[1], 1);
27909 __builtin_aarch64_st1x2v4sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
27912 __extension__
extern __inline
void
27913 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27914 vst1q_f64_x2 (float64_t
* __a
, float64x2x2_t __val
)
27916 __builtin_aarch64_simd_oi __o
;
27917 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __val
.val
[0], 0);
27918 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __val
.val
[1], 1);
27919 __builtin_aarch64_st1x2v2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
27922 __extension__
extern __inline
void
27923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27924 vst1q_p64_x2 (poly64_t
* __a
, poly64x2x2_t __val
)
27926 __builtin_aarch64_simd_oi __o
;
27927 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
27928 (poly64x2_t
) __val
.val
[0], 0);
27929 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
27930 (poly64x2_t
) __val
.val
[1], 1);
27931 __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27936 __extension__
extern __inline
void
27937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27938 vst1_s64_x3 (int64_t * __a
, int64x1x3_t __val
)
27940 __builtin_aarch64_simd_ci __o
;
27941 int64x2x3_t __temp
;
27942 __temp
.val
[0] = vcombine_s64 (__val
.val
[0], vcreate_s64 (__AARCH64_INT64_C (0)));
27943 __temp
.val
[1] = vcombine_s64 (__val
.val
[1], vcreate_s64 (__AARCH64_INT64_C (0)));
27944 __temp
.val
[2] = vcombine_s64 (__val
.val
[2], vcreate_s64 (__AARCH64_INT64_C (0)));
27945 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
27946 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
27947 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
27948 __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27951 __extension__
extern __inline
void
27952 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27953 vst1_u64_x3 (uint64_t * __a
, uint64x1x3_t __val
)
27955 __builtin_aarch64_simd_ci __o
;
27956 uint64x2x3_t __temp
;
27957 __temp
.val
[0] = vcombine_u64 (__val
.val
[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
27958 __temp
.val
[1] = vcombine_u64 (__val
.val
[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
27959 __temp
.val
[2] = vcombine_u64 (__val
.val
[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
27960 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
27961 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
27962 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
27963 __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
27966 __extension__
extern __inline
void
27967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27968 vst1_f64_x3 (float64_t
* __a
, float64x1x3_t __val
)
27970 __builtin_aarch64_simd_ci __o
;
27971 float64x2x3_t __temp
;
27972 __temp
.val
[0] = vcombine_f64 (__val
.val
[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
27973 __temp
.val
[1] = vcombine_f64 (__val
.val
[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
27974 __temp
.val
[2] = vcombine_f64 (__val
.val
[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
27975 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[0], 0);
27976 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[1], 1);
27977 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[2], 2);
27978 __builtin_aarch64_st1x3df ((__builtin_aarch64_simd_df
*) __a
, __o
);
27981 __extension__
extern __inline
void
27982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27983 vst1_s8_x3 (int8_t * __a
, int8x8x3_t __val
)
27985 __builtin_aarch64_simd_ci __o
;
27986 int8x16x3_t __temp
;
27987 __temp
.val
[0] = vcombine_s8 (__val
.val
[0], vcreate_s8 (__AARCH64_INT64_C (0)));
27988 __temp
.val
[1] = vcombine_s8 (__val
.val
[1], vcreate_s8 (__AARCH64_INT64_C (0)));
27989 __temp
.val
[2] = vcombine_s8 (__val
.val
[2], vcreate_s8 (__AARCH64_INT64_C (0)));
27990 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
27991 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
27992 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
27993 __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
27996 __extension__
extern __inline
void
27997 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
27998 vst1_p8_x3 (poly8_t
* __a
, poly8x8x3_t __val
)
28000 __builtin_aarch64_simd_ci __o
;
28001 poly8x16x3_t __temp
;
28002 __temp
.val
[0] = vcombine_p8 (__val
.val
[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28003 __temp
.val
[1] = vcombine_p8 (__val
.val
[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28004 __temp
.val
[2] = vcombine_p8 (__val
.val
[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28005 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28006 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28007 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
28008 __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28011 __extension__
extern __inline
void
28012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28013 vst1_s16_x3 (int16_t * __a
, int16x4x3_t __val
)
28015 __builtin_aarch64_simd_ci __o
;
28016 int16x8x3_t __temp
;
28017 __temp
.val
[0] = vcombine_s16 (__val
.val
[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28018 __temp
.val
[1] = vcombine_s16 (__val
.val
[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28019 __temp
.val
[2] = vcombine_s16 (__val
.val
[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28020 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28021 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28022 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
28023 __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28026 __extension__
extern __inline
void
28027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28028 vst1_p16_x3 (poly16_t
* __a
, poly16x4x3_t __val
)
28030 __builtin_aarch64_simd_ci __o
;
28031 poly16x8x3_t __temp
;
28032 __temp
.val
[0] = vcombine_p16 (__val
.val
[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28033 __temp
.val
[1] = vcombine_p16 (__val
.val
[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28034 __temp
.val
[2] = vcombine_p16 (__val
.val
[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28035 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28036 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28037 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
28038 __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28041 __extension__
extern __inline
void
28042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28043 vst1_s32_x3 (int32_t * __a
, int32x2x3_t __val
)
28045 __builtin_aarch64_simd_ci __o
;
28046 int32x4x3_t __temp
;
28047 __temp
.val
[0] = vcombine_s32 (__val
.val
[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28048 __temp
.val
[1] = vcombine_s32 (__val
.val
[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28049 __temp
.val
[2] = vcombine_s32 (__val
.val
[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28050 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
28051 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
28052 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
28053 __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28056 __extension__
extern __inline
void
28057 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28058 vst1_u8_x3 (uint8_t * __a
, uint8x8x3_t __val
)
28060 __builtin_aarch64_simd_ci __o
;
28061 uint8x16x3_t __temp
;
28062 __temp
.val
[0] = vcombine_u8 (__val
.val
[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28063 __temp
.val
[1] = vcombine_u8 (__val
.val
[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28064 __temp
.val
[2] = vcombine_u8 (__val
.val
[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28065 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28066 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28067 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
28068 __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28071 __extension__
extern __inline
void
28072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28073 vst1_u16_x3 (uint16_t * __a
, uint16x4x3_t __val
)
28075 __builtin_aarch64_simd_ci __o
;
28076 uint16x8x3_t __temp
;
28077 __temp
.val
[0] = vcombine_u16 (__val
.val
[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28078 __temp
.val
[1] = vcombine_u16 (__val
.val
[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28079 __temp
.val
[2] = vcombine_u16 (__val
.val
[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
28080 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28081 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28082 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
28083 __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28086 __extension__
extern __inline
void
28087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28088 vst1_u32_x3 (uint32_t * __a
, uint32x2x3_t __val
)
28090 __builtin_aarch64_simd_ci __o
;
28091 uint32x4x3_t __temp
;
28092 __temp
.val
[0] = vcombine_u32 (__val
.val
[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28093 __temp
.val
[1] = vcombine_u32 (__val
.val
[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28094 __temp
.val
[2] = vcombine_u32 (__val
.val
[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
28095 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
28096 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
28097 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
28098 __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28101 __extension__
extern __inline
void
28102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28103 vst1_f16_x3 (float16_t
* __a
, float16x4x3_t __val
)
28105 __builtin_aarch64_simd_ci __o
;
28106 float16x8x3_t __temp
;
28107 __temp
.val
[0] = vcombine_f16 (__val
.val
[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28108 __temp
.val
[1] = vcombine_f16 (__val
.val
[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28109 __temp
.val
[2] = vcombine_f16 (__val
.val
[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
28110 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[0], 0);
28111 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[1], 1);
28112 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[2], 2);
28113 __builtin_aarch64_st1x3v4hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
28116 __extension__
extern __inline
void
28117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28118 vst1_f32_x3 (float32_t
* __a
, float32x2x3_t __val
)
28120 __builtin_aarch64_simd_ci __o
;
28121 float32x4x3_t __temp
;
28122 __temp
.val
[0] = vcombine_f32 (__val
.val
[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28123 __temp
.val
[1] = vcombine_f32 (__val
.val
[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28124 __temp
.val
[2] = vcombine_f32 (__val
.val
[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
28125 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[0], 0);
28126 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[1], 1);
28127 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[2], 2);
28128 __builtin_aarch64_st1x3v2sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
28131 __extension__
extern __inline
void
28132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28133 vst1_p64_x3 (poly64_t
* __a
, poly64x1x3_t __val
)
28135 __builtin_aarch64_simd_ci __o
;
28136 poly64x2x3_t __temp
;
28137 __temp
.val
[0] = vcombine_p64 (__val
.val
[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28138 __temp
.val
[1] = vcombine_p64 (__val
.val
[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28139 __temp
.val
[2] = vcombine_p64 (__val
.val
[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
28140 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28141 (poly64x2_t
) __temp
.val
[0], 0);
28142 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28143 (poly64x2_t
) __temp
.val
[1], 1);
28144 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28145 (poly64x2_t
) __temp
.val
[2], 2);
28146 __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28149 __extension__
extern __inline
void
28150 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28151 vst1q_s8_x3 (int8_t * __a
, int8x16x3_t __val
)
28153 __builtin_aarch64_simd_ci __o
;
28154 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28155 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28156 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
28157 __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28160 __extension__
extern __inline
void
28161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28162 vst1q_p8_x3 (poly8_t
* __a
, poly8x16x3_t __val
)
28164 __builtin_aarch64_simd_ci __o
;
28165 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28166 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28167 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
28168 __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28171 __extension__
extern __inline
void
28172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28173 vst1q_s16_x3 (int16_t * __a
, int16x8x3_t __val
)
28175 __builtin_aarch64_simd_ci __o
;
28176 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28177 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28178 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
28179 __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28182 __extension__
extern __inline
void
28183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28184 vst1q_p16_x3 (poly16_t
* __a
, poly16x8x3_t __val
)
28186 __builtin_aarch64_simd_ci __o
;
28187 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28188 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28189 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
28190 __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28193 __extension__
extern __inline
void
28194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28195 vst1q_s32_x3 (int32_t * __a
, int32x4x3_t __val
)
28197 __builtin_aarch64_simd_ci __o
;
28198 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
28199 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
28200 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
28201 __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28204 __extension__
extern __inline
void
28205 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28206 vst1q_s64_x3 (int64_t * __a
, int64x2x3_t __val
)
28208 __builtin_aarch64_simd_ci __o
;
28209 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
28210 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
28211 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
28212 __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28215 __extension__
extern __inline
void
28216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28217 vst1q_u8_x3 (uint8_t * __a
, uint8x16x3_t __val
)
28219 __builtin_aarch64_simd_ci __o
;
28220 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28221 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28222 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
28223 __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28226 __extension__
extern __inline
void
28227 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28228 vst1q_u16_x3 (uint16_t * __a
, uint16x8x3_t __val
)
28230 __builtin_aarch64_simd_ci __o
;
28231 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28232 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28233 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
28234 __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28237 __extension__
extern __inline
void
28238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28239 vst1q_u32_x3 (uint32_t * __a
, uint32x4x3_t __val
)
28241 __builtin_aarch64_simd_ci __o
;
28242 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
28243 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
28244 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
28245 __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28248 __extension__
extern __inline
void
28249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28250 vst1q_u64_x3 (uint64_t * __a
, uint64x2x3_t __val
)
28252 __builtin_aarch64_simd_ci __o
;
28253 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
28254 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
28255 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
28256 __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28259 __extension__
extern __inline
void
28260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28261 vst1q_f16_x3 (float16_t
* __a
, float16x8x3_t __val
)
28263 __builtin_aarch64_simd_ci __o
;
28264 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[0], 0);
28265 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[1], 1);
28266 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[2], 2);
28267 __builtin_aarch64_st1x3v8hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
28270 __extension__
extern __inline
void
28271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28272 vst1q_f32_x3 (float32_t
* __a
, float32x4x3_t __val
)
28274 __builtin_aarch64_simd_ci __o
;
28275 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[0], 0);
28276 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[1], 1);
28277 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[2], 2);
28278 __builtin_aarch64_st1x3v4sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
28281 __extension__
extern __inline
void
28282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28283 vst1q_f64_x3 (float64_t
* __a
, float64x2x3_t __val
)
28285 __builtin_aarch64_simd_ci __o
;
28286 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[0], 0);
28287 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[1], 1);
28288 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[2], 2);
28289 __builtin_aarch64_st1x3v2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
28292 __extension__
extern __inline
void
28293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28294 vst1q_p64_x3 (poly64_t
* __a
, poly64x2x3_t __val
)
28296 __builtin_aarch64_simd_ci __o
;
28297 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28298 (poly64x2_t
) __val
.val
[0], 0);
28299 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28300 (poly64x2_t
) __val
.val
[1], 1);
28301 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
28302 (poly64x2_t
) __val
.val
[2], 2);
28303 __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28308 __extension__
extern __inline
void
28309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28310 vst1_s8_x4 (int8_t * __a
, int8x8x4_t val
)
28312 union { int8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28313 __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28316 __extension__
extern __inline
void
28317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28318 vst1q_s8_x4 (int8_t * __a
, int8x16x4_t val
)
28320 union { int8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28321 __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28324 __extension__
extern __inline
void
28325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28326 vst1_s16_x4 (int16_t * __a
, int16x4x4_t val
)
28328 union { int16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28329 __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28332 __extension__
extern __inline
void
28333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28334 vst1q_s16_x4 (int16_t * __a
, int16x8x4_t val
)
28336 union { int16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28337 __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28340 __extension__
extern __inline
void
28341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28342 vst1_s32_x4 (int32_t * __a
, int32x2x4_t val
)
28344 union { int32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28345 __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si
*) __a
, __u
.__o
);
28348 __extension__
extern __inline
void
28349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28350 vst1q_s32_x4 (int32_t * __a
, int32x4x4_t val
)
28352 union { int32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28353 __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si
*) __a
, __u
.__o
);
28356 __extension__
extern __inline
void
28357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28358 vst1_u8_x4 (uint8_t * __a
, uint8x8x4_t val
)
28360 union { uint8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28361 __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28364 __extension__
extern __inline
void
28365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28366 vst1q_u8_x4 (uint8_t * __a
, uint8x16x4_t val
)
28368 union { uint8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28369 __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28372 __extension__
extern __inline
void
28373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28374 vst1_u16_x4 (uint16_t * __a
, uint16x4x4_t val
)
28376 union { uint16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28377 __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28380 __extension__
extern __inline
void
28381 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28382 vst1q_u16_x4 (uint16_t * __a
, uint16x8x4_t val
)
28384 union { uint16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28385 __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28388 __extension__
extern __inline
void
28389 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28390 vst1_u32_x4 (uint32_t * __a
, uint32x2x4_t val
)
28392 union { uint32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28393 __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si
*) __a
, __u
.__o
);
28396 __extension__
extern __inline
void
28397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28398 vst1q_u32_x4 (uint32_t * __a
, uint32x4x4_t val
)
28400 union { uint32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28401 __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si
*) __a
, __u
.__o
);
28404 __extension__
extern __inline
void
28405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28406 vst1_f16_x4 (float16_t
* __a
, float16x4x4_t val
)
28408 union { float16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28409 __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf
*) __a
, __u
.__o
);
28412 __extension__
extern __inline
void
28413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28414 vst1q_f16_x4 (float16_t
* __a
, float16x8x4_t val
)
28416 union { float16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28417 __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf
*) __a
, __u
.__o
);
28420 __extension__
extern __inline
void
28421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28422 vst1_f32_x4 (float32_t
* __a
, float32x2x4_t val
)
28424 union { float32x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28425 __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf
*) __a
, __u
.__o
);
28428 __extension__
extern __inline
void
28429 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28430 vst1q_f32_x4 (float32_t
* __a
, float32x4x4_t val
)
28432 union { float32x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28433 __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf
*) __a
, __u
.__o
);
28436 __extension__
extern __inline
void
28437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28438 vst1_p8_x4 (poly8_t
* __a
, poly8x8x4_t val
)
28440 union { poly8x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28441 __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28444 __extension__
extern __inline
void
28445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28446 vst1q_p8_x4 (poly8_t
* __a
, poly8x16x4_t val
)
28448 union { poly8x16x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28449 __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __u
.__o
);
28452 __extension__
extern __inline
void
28453 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28454 vst1_p16_x4 (poly16_t
* __a
, poly16x4x4_t val
)
28456 union { poly16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28457 __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28460 __extension__
extern __inline
void
28461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28462 vst1q_p16_x4 (poly16_t
* __a
, poly16x8x4_t val
)
28464 union { poly16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28465 __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __u
.__o
);
28468 __extension__
extern __inline
void
28469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28470 vst1_s64_x4 (int64_t * __a
, int64x1x4_t val
)
28472 union { int64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28473 __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28476 __extension__
extern __inline
void
28477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28478 vst1_u64_x4 (uint64_t * __a
, uint64x1x4_t val
)
28480 union { uint64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28481 __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28484 __extension__
extern __inline
void
28485 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28486 vst1_p64_x4 (poly64_t
* __a
, poly64x1x4_t val
)
28488 union { poly64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28489 __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28492 __extension__
extern __inline
void
28493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28494 vst1q_s64_x4 (int64_t * __a
, int64x2x4_t val
)
28496 union { int64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28497 __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28500 __extension__
extern __inline
void
28501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28502 vst1q_u64_x4 (uint64_t * __a
, uint64x2x4_t val
)
28504 union { uint64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28505 __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28508 __extension__
extern __inline
void
28509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28510 vst1q_p64_x4 (poly64_t
* __a
, poly64x2x4_t val
)
28512 union { poly64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28513 __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di
*) __a
, __u
.__o
);
28516 __extension__
extern __inline
void
28517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28518 vst1_f64_x4 (float64_t
* __a
, float64x1x4_t val
)
28520 union { float64x1x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28521 __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df
*) __a
, __u
.__o
);
28524 __extension__
extern __inline
void
28525 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28526 vst1q_f64_x4 (float64_t
* __a
, float64x2x4_t val
)
28528 union { float64x2x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
28529 __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df
*) __a
, __u
.__o
);
28534 __extension__
extern __inline
void
28535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28536 vst2_s64 (int64_t * __a
, int64x1x2_t __val
)
28538 __builtin_aarch64_simd_oi __o
;
28539 int64x2x2_t __temp
;
28540 __temp
.val
[0] = vcombine_s64 (__val
.val
[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28541 __temp
.val
[1] = vcombine_s64 (__val
.val
[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28542 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
28543 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
28544 __builtin_aarch64_st2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28547 __extension__
extern __inline
void
28548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28549 vst2_u64 (uint64_t * __a
, uint64x1x2_t __val
)
28551 __builtin_aarch64_simd_oi __o
;
28552 uint64x2x2_t __temp
;
28553 __temp
.val
[0] = vcombine_u64 (__val
.val
[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28554 __temp
.val
[1] = vcombine_u64 (__val
.val
[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28555 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
28556 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
28557 __builtin_aarch64_st2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28560 __extension__
extern __inline
void
28561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28562 vst2_f64 (float64_t
* __a
, float64x1x2_t __val
)
28564 __builtin_aarch64_simd_oi __o
;
28565 float64x2x2_t __temp
;
28566 __temp
.val
[0] = vcombine_f64 (__val
.val
[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28567 __temp
.val
[1] = vcombine_f64 (__val
.val
[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28568 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __temp
.val
[0], 0);
28569 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __temp
.val
[1], 1);
28570 __builtin_aarch64_st2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
28573 __extension__
extern __inline
void
28574 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28575 vst2_s8 (int8_t * __a
, int8x8x2_t __val
)
28577 __builtin_aarch64_simd_oi __o
;
28578 int8x16x2_t __temp
;
28579 __temp
.val
[0] = vcombine_s8 (__val
.val
[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28580 __temp
.val
[1] = vcombine_s8 (__val
.val
[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28581 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28582 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28583 __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28586 __extension__
extern __inline
void
28587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28588 vst2_p8 (poly8_t
* __a
, poly8x8x2_t __val
)
28590 __builtin_aarch64_simd_oi __o
;
28591 poly8x16x2_t __temp
;
28592 __temp
.val
[0] = vcombine_p8 (__val
.val
[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28593 __temp
.val
[1] = vcombine_p8 (__val
.val
[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28594 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28595 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28596 __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28599 __extension__
extern __inline
void
28600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28601 vst2_s16 (int16_t * __a
, int16x4x2_t __val
)
28603 __builtin_aarch64_simd_oi __o
;
28604 int16x8x2_t __temp
;
28605 __temp
.val
[0] = vcombine_s16 (__val
.val
[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28606 __temp
.val
[1] = vcombine_s16 (__val
.val
[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28607 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28608 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28609 __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28612 __extension__
extern __inline
void
28613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28614 vst2_p16 (poly16_t
* __a
, poly16x4x2_t __val
)
28616 __builtin_aarch64_simd_oi __o
;
28617 poly16x8x2_t __temp
;
28618 __temp
.val
[0] = vcombine_p16 (__val
.val
[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28619 __temp
.val
[1] = vcombine_p16 (__val
.val
[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28620 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28621 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28622 __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28625 __extension__
extern __inline
void
28626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28627 vst2_s32 (int32_t * __a
, int32x2x2_t __val
)
28629 __builtin_aarch64_simd_oi __o
;
28630 int32x4x2_t __temp
;
28631 __temp
.val
[0] = vcombine_s32 (__val
.val
[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28632 __temp
.val
[1] = vcombine_s32 (__val
.val
[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28633 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
28634 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
28635 __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28638 __extension__
extern __inline
void
28639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28640 vst2_u8 (uint8_t * __a
, uint8x8x2_t __val
)
28642 __builtin_aarch64_simd_oi __o
;
28643 uint8x16x2_t __temp
;
28644 __temp
.val
[0] = vcombine_u8 (__val
.val
[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28645 __temp
.val
[1] = vcombine_u8 (__val
.val
[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28646 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28647 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28648 __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28651 __extension__
extern __inline
void
28652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28653 vst2_u16 (uint16_t * __a
, uint16x4x2_t __val
)
28655 __builtin_aarch64_simd_oi __o
;
28656 uint16x8x2_t __temp
;
28657 __temp
.val
[0] = vcombine_u16 (__val
.val
[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28658 __temp
.val
[1] = vcombine_u16 (__val
.val
[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28659 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28660 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28661 __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28664 __extension__
extern __inline
void
28665 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28666 vst2_u32 (uint32_t * __a
, uint32x2x2_t __val
)
28668 __builtin_aarch64_simd_oi __o
;
28669 uint32x4x2_t __temp
;
28670 __temp
.val
[0] = vcombine_u32 (__val
.val
[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28671 __temp
.val
[1] = vcombine_u32 (__val
.val
[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28672 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
28673 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
28674 __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28677 __extension__
extern __inline
void
28678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28679 vst2_f16 (float16_t
* __a
, float16x4x2_t __val
)
28681 __builtin_aarch64_simd_oi __o
;
28682 float16x8x2_t __temp
;
28683 __temp
.val
[0] = vcombine_f16 (__val
.val
[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28684 __temp
.val
[1] = vcombine_f16 (__val
.val
[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28685 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __temp
.val
[0], 0);
28686 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __temp
.val
[1], 1);
28687 __builtin_aarch64_st2v4hf (__a
, __o
);
28690 __extension__
extern __inline
void
28691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28692 vst2_f32 (float32_t
* __a
, float32x2x2_t __val
)
28694 __builtin_aarch64_simd_oi __o
;
28695 float32x4x2_t __temp
;
28696 __temp
.val
[0] = vcombine_f32 (__val
.val
[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28697 __temp
.val
[1] = vcombine_f32 (__val
.val
[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28698 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __temp
.val
[0], 0);
28699 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __temp
.val
[1], 1);
28700 __builtin_aarch64_st2v2sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
28703 __extension__
extern __inline
void
28704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28705 vst2_p64 (poly64_t
* __a
, poly64x1x2_t __val
)
28707 __builtin_aarch64_simd_oi __o
;
28708 poly64x2x2_t __temp
;
28709 __temp
.val
[0] = vcombine_p64 (__val
.val
[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28710 __temp
.val
[1] = vcombine_p64 (__val
.val
[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28711 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
28712 (poly64x2_t
) __temp
.val
[0], 0);
28713 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
28714 (poly64x2_t
) __temp
.val
[1], 1);
28715 __builtin_aarch64_st2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28718 __extension__
extern __inline
void
28719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28720 vst2q_s8 (int8_t * __a
, int8x16x2_t __val
)
28722 __builtin_aarch64_simd_oi __o
;
28723 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28724 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28725 __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28728 __extension__
extern __inline
void
28729 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28730 vst2q_p8 (poly8_t
* __a
, poly8x16x2_t __val
)
28732 __builtin_aarch64_simd_oi __o
;
28733 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28734 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28735 __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28738 __extension__
extern __inline
void
28739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28740 vst2q_s16 (int16_t * __a
, int16x8x2_t __val
)
28742 __builtin_aarch64_simd_oi __o
;
28743 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28744 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28745 __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28748 __extension__
extern __inline
void
28749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28750 vst2q_p16 (poly16_t
* __a
, poly16x8x2_t __val
)
28752 __builtin_aarch64_simd_oi __o
;
28753 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28754 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28755 __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28758 __extension__
extern __inline
void
28759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28760 vst2q_s32 (int32_t * __a
, int32x4x2_t __val
)
28762 __builtin_aarch64_simd_oi __o
;
28763 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
28764 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
28765 __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28768 __extension__
extern __inline
void
28769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28770 vst2q_s64 (int64_t * __a
, int64x2x2_t __val
)
28772 __builtin_aarch64_simd_oi __o
;
28773 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
28774 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
28775 __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28778 __extension__
extern __inline
void
28779 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28780 vst2q_u8 (uint8_t * __a
, uint8x16x2_t __val
)
28782 __builtin_aarch64_simd_oi __o
;
28783 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
28784 __o
= __builtin_aarch64_set_qregoiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
28785 __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28788 __extension__
extern __inline
void
28789 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28790 vst2q_u16 (uint16_t * __a
, uint16x8x2_t __val
)
28792 __builtin_aarch64_simd_oi __o
;
28793 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
28794 __o
= __builtin_aarch64_set_qregoiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
28795 __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28798 __extension__
extern __inline
void
28799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28800 vst2q_u32 (uint32_t * __a
, uint32x4x2_t __val
)
28802 __builtin_aarch64_simd_oi __o
;
28803 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
28804 __o
= __builtin_aarch64_set_qregoiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
28805 __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28808 __extension__
extern __inline
void
28809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28810 vst2q_u64 (uint64_t * __a
, uint64x2x2_t __val
)
28812 __builtin_aarch64_simd_oi __o
;
28813 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
28814 __o
= __builtin_aarch64_set_qregoiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
28815 __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28818 __extension__
extern __inline
void
28819 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28820 vst2q_f16 (float16_t
* __a
, float16x8x2_t __val
)
28822 __builtin_aarch64_simd_oi __o
;
28823 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __val
.val
[0], 0);
28824 __o
= __builtin_aarch64_set_qregoiv8hf (__o
, __val
.val
[1], 1);
28825 __builtin_aarch64_st2v8hf (__a
, __o
);
28828 __extension__
extern __inline
void
28829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28830 vst2q_f32 (float32_t
* __a
, float32x4x2_t __val
)
28832 __builtin_aarch64_simd_oi __o
;
28833 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __val
.val
[0], 0);
28834 __o
= __builtin_aarch64_set_qregoiv4sf (__o
, (float32x4_t
) __val
.val
[1], 1);
28835 __builtin_aarch64_st2v4sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
28838 __extension__
extern __inline
void
28839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28840 vst2q_f64 (float64_t
* __a
, float64x2x2_t __val
)
28842 __builtin_aarch64_simd_oi __o
;
28843 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __val
.val
[0], 0);
28844 __o
= __builtin_aarch64_set_qregoiv2df (__o
, (float64x2_t
) __val
.val
[1], 1);
28845 __builtin_aarch64_st2v2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
28848 __extension__
extern __inline
void
28849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28850 vst2q_p64 (poly64_t
* __a
, poly64x2x2_t __val
)
28852 __builtin_aarch64_simd_oi __o
;
28853 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
28854 (poly64x2_t
) __val
.val
[0], 0);
28855 __o
= __builtin_aarch64_set_qregoiv2di_ssps (__o
,
28856 (poly64x2_t
) __val
.val
[1], 1);
28857 __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28860 __extension__
extern __inline
void
28861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28862 vst3_s64 (int64_t * __a
, int64x1x3_t __val
)
28864 __builtin_aarch64_simd_ci __o
;
28865 int64x2x3_t __temp
;
28866 __temp
.val
[0] = vcombine_s64 (__val
.val
[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28867 __temp
.val
[1] = vcombine_s64 (__val
.val
[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28868 __temp
.val
[2] = vcombine_s64 (__val
.val
[2], vcreate_s64 (__AARCH64_INT64_C (0)));
28869 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
28870 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
28871 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
28872 __builtin_aarch64_st3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28875 __extension__
extern __inline
void
28876 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28877 vst3_u64 (uint64_t * __a
, uint64x1x3_t __val
)
28879 __builtin_aarch64_simd_ci __o
;
28880 uint64x2x3_t __temp
;
28881 __temp
.val
[0] = vcombine_u64 (__val
.val
[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28882 __temp
.val
[1] = vcombine_u64 (__val
.val
[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28883 __temp
.val
[2] = vcombine_u64 (__val
.val
[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
28884 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
28885 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
28886 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
28887 __builtin_aarch64_st3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
28890 __extension__
extern __inline
void
28891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28892 vst3_f64 (float64_t
* __a
, float64x1x3_t __val
)
28894 __builtin_aarch64_simd_ci __o
;
28895 float64x2x3_t __temp
;
28896 __temp
.val
[0] = vcombine_f64 (__val
.val
[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28897 __temp
.val
[1] = vcombine_f64 (__val
.val
[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28898 __temp
.val
[2] = vcombine_f64 (__val
.val
[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
28899 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[0], 0);
28900 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[1], 1);
28901 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __temp
.val
[2], 2);
28902 __builtin_aarch64_st3df ((__builtin_aarch64_simd_df
*) __a
, __o
);
28905 __extension__
extern __inline
void
28906 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28907 vst3_s8 (int8_t * __a
, int8x8x3_t __val
)
28909 __builtin_aarch64_simd_ci __o
;
28910 int8x16x3_t __temp
;
28911 __temp
.val
[0] = vcombine_s8 (__val
.val
[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28912 __temp
.val
[1] = vcombine_s8 (__val
.val
[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28913 __temp
.val
[2] = vcombine_s8 (__val
.val
[2], vcreate_s8 (__AARCH64_INT64_C (0)));
28914 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28915 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28916 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
28917 __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28920 __extension__
extern __inline
void
28921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28922 vst3_p8 (poly8_t
* __a
, poly8x8x3_t __val
)
28924 __builtin_aarch64_simd_ci __o
;
28925 poly8x16x3_t __temp
;
28926 __temp
.val
[0] = vcombine_p8 (__val
.val
[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28927 __temp
.val
[1] = vcombine_p8 (__val
.val
[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28928 __temp
.val
[2] = vcombine_p8 (__val
.val
[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28929 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28930 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28931 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
28932 __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28935 __extension__
extern __inline
void
28936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28937 vst3_s16 (int16_t * __a
, int16x4x3_t __val
)
28939 __builtin_aarch64_simd_ci __o
;
28940 int16x8x3_t __temp
;
28941 __temp
.val
[0] = vcombine_s16 (__val
.val
[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28942 __temp
.val
[1] = vcombine_s16 (__val
.val
[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28943 __temp
.val
[2] = vcombine_s16 (__val
.val
[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28944 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28945 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28946 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
28947 __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28950 __extension__
extern __inline
void
28951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28952 vst3_p16 (poly16_t
* __a
, poly16x4x3_t __val
)
28954 __builtin_aarch64_simd_ci __o
;
28955 poly16x8x3_t __temp
;
28956 __temp
.val
[0] = vcombine_p16 (__val
.val
[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28957 __temp
.val
[1] = vcombine_p16 (__val
.val
[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28958 __temp
.val
[2] = vcombine_p16 (__val
.val
[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28959 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
28960 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
28961 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
28962 __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
28965 __extension__
extern __inline
void
28966 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28967 vst3_s32 (int32_t * __a
, int32x2x3_t __val
)
28969 __builtin_aarch64_simd_ci __o
;
28970 int32x4x3_t __temp
;
28971 __temp
.val
[0] = vcombine_s32 (__val
.val
[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28972 __temp
.val
[1] = vcombine_s32 (__val
.val
[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28973 __temp
.val
[2] = vcombine_s32 (__val
.val
[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28974 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
28975 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
28976 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
28977 __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
28980 __extension__
extern __inline
void
28981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28982 vst3_u8 (uint8_t * __a
, uint8x8x3_t __val
)
28984 __builtin_aarch64_simd_ci __o
;
28985 uint8x16x3_t __temp
;
28986 __temp
.val
[0] = vcombine_u8 (__val
.val
[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28987 __temp
.val
[1] = vcombine_u8 (__val
.val
[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28988 __temp
.val
[2] = vcombine_u8 (__val
.val
[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28989 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
28990 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
28991 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
28992 __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
28995 __extension__
extern __inline
void
28996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
28997 vst3_u16 (uint16_t * __a
, uint16x4x3_t __val
)
28999 __builtin_aarch64_simd_ci __o
;
29000 uint16x8x3_t __temp
;
29001 __temp
.val
[0] = vcombine_u16 (__val
.val
[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29002 __temp
.val
[1] = vcombine_u16 (__val
.val
[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29003 __temp
.val
[2] = vcombine_u16 (__val
.val
[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29004 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
29005 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
29006 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
29007 __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29010 __extension__
extern __inline
void
29011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29012 vst3_u32 (uint32_t * __a
, uint32x2x3_t __val
)
29014 __builtin_aarch64_simd_ci __o
;
29015 uint32x4x3_t __temp
;
29016 __temp
.val
[0] = vcombine_u32 (__val
.val
[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29017 __temp
.val
[1] = vcombine_u32 (__val
.val
[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29018 __temp
.val
[2] = vcombine_u32 (__val
.val
[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29019 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
29020 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
29021 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
29022 __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29025 __extension__
extern __inline
void
29026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29027 vst3_f16 (float16_t
* __a
, float16x4x3_t __val
)
29029 __builtin_aarch64_simd_ci __o
;
29030 float16x8x3_t __temp
;
29031 __temp
.val
[0] = vcombine_f16 (__val
.val
[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29032 __temp
.val
[1] = vcombine_f16 (__val
.val
[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29033 __temp
.val
[2] = vcombine_f16 (__val
.val
[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29034 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[0], 0);
29035 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[1], 1);
29036 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __temp
.val
[2], 2);
29037 __builtin_aarch64_st3v4hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
29040 __extension__
extern __inline
void
29041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29042 vst3_f32 (float32_t
* __a
, float32x2x3_t __val
)
29044 __builtin_aarch64_simd_ci __o
;
29045 float32x4x3_t __temp
;
29046 __temp
.val
[0] = vcombine_f32 (__val
.val
[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29047 __temp
.val
[1] = vcombine_f32 (__val
.val
[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29048 __temp
.val
[2] = vcombine_f32 (__val
.val
[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29049 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[0], 0);
29050 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[1], 1);
29051 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __temp
.val
[2], 2);
29052 __builtin_aarch64_st3v2sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
29055 __extension__
extern __inline
void
29056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29057 vst3_p64 (poly64_t
* __a
, poly64x1x3_t __val
)
29059 __builtin_aarch64_simd_ci __o
;
29060 poly64x2x3_t __temp
;
29061 __temp
.val
[0] = vcombine_p64 (__val
.val
[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29062 __temp
.val
[1] = vcombine_p64 (__val
.val
[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29063 __temp
.val
[2] = vcombine_p64 (__val
.val
[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29064 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29065 (poly64x2_t
) __temp
.val
[0], 0);
29066 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29067 (poly64x2_t
) __temp
.val
[1], 1);
29068 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29069 (poly64x2_t
) __temp
.val
[2], 2);
29070 __builtin_aarch64_st3di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29073 __extension__
extern __inline
void
29074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29075 vst3q_s8 (int8_t * __a
, int8x16x3_t __val
)
29077 __builtin_aarch64_simd_ci __o
;
29078 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29079 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29080 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29081 __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29084 __extension__
extern __inline
void
29085 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29086 vst3q_p8 (poly8_t
* __a
, poly8x16x3_t __val
)
29088 __builtin_aarch64_simd_ci __o
;
29089 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29090 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29091 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29092 __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29095 __extension__
extern __inline
void
29096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29097 vst3q_s16 (int16_t * __a
, int16x8x3_t __val
)
29099 __builtin_aarch64_simd_ci __o
;
29100 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29101 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29102 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29103 __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29106 __extension__
extern __inline
void
29107 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29108 vst3q_p16 (poly16_t
* __a
, poly16x8x3_t __val
)
29110 __builtin_aarch64_simd_ci __o
;
29111 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29112 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29113 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29114 __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29117 __extension__
extern __inline
void
29118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29119 vst3q_s32 (int32_t * __a
, int32x4x3_t __val
)
29121 __builtin_aarch64_simd_ci __o
;
29122 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
29123 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
29124 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
29125 __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29128 __extension__
extern __inline
void
29129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29130 vst3q_s64 (int64_t * __a
, int64x2x3_t __val
)
29132 __builtin_aarch64_simd_ci __o
;
29133 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
29134 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
29135 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
29136 __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29139 __extension__
extern __inline
void
29140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29141 vst3q_u8 (uint8_t * __a
, uint8x16x3_t __val
)
29143 __builtin_aarch64_simd_ci __o
;
29144 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29145 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29146 __o
= __builtin_aarch64_set_qregciv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29147 __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29150 __extension__
extern __inline
void
29151 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29152 vst3q_u16 (uint16_t * __a
, uint16x8x3_t __val
)
29154 __builtin_aarch64_simd_ci __o
;
29155 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29156 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29157 __o
= __builtin_aarch64_set_qregciv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29158 __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29161 __extension__
extern __inline
void
29162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29163 vst3q_u32 (uint32_t * __a
, uint32x4x3_t __val
)
29165 __builtin_aarch64_simd_ci __o
;
29166 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
29167 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
29168 __o
= __builtin_aarch64_set_qregciv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
29169 __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29172 __extension__
extern __inline
void
29173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29174 vst3q_u64 (uint64_t * __a
, uint64x2x3_t __val
)
29176 __builtin_aarch64_simd_ci __o
;
29177 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
29178 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
29179 __o
= __builtin_aarch64_set_qregciv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
29180 __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29183 __extension__
extern __inline
void
29184 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29185 vst3q_f16 (float16_t
* __a
, float16x8x3_t __val
)
29187 __builtin_aarch64_simd_ci __o
;
29188 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[0], 0);
29189 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[1], 1);
29190 __o
= __builtin_aarch64_set_qregciv8hf (__o
, (float16x8_t
) __val
.val
[2], 2);
29191 __builtin_aarch64_st3v8hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
29194 __extension__
extern __inline
void
29195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29196 vst3q_f32 (float32_t
* __a
, float32x4x3_t __val
)
29198 __builtin_aarch64_simd_ci __o
;
29199 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[0], 0);
29200 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[1], 1);
29201 __o
= __builtin_aarch64_set_qregciv4sf (__o
, (float32x4_t
) __val
.val
[2], 2);
29202 __builtin_aarch64_st3v4sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
29205 __extension__
extern __inline
void
29206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29207 vst3q_f64 (float64_t
* __a
, float64x2x3_t __val
)
29209 __builtin_aarch64_simd_ci __o
;
29210 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[0], 0);
29211 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[1], 1);
29212 __o
= __builtin_aarch64_set_qregciv2df (__o
, (float64x2_t
) __val
.val
[2], 2);
29213 __builtin_aarch64_st3v2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
29216 __extension__
extern __inline
void
29217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29218 vst3q_p64 (poly64_t
* __a
, poly64x2x3_t __val
)
29220 __builtin_aarch64_simd_ci __o
;
29221 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29222 (poly64x2_t
) __val
.val
[0], 0);
29223 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29224 (poly64x2_t
) __val
.val
[1], 1);
29225 __o
= __builtin_aarch64_set_qregciv2di_ssps (__o
,
29226 (poly64x2_t
) __val
.val
[2], 2);
29227 __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29230 __extension__
extern __inline
void
29231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29232 vst4_s64 (int64_t * __a
, int64x1x4_t __val
)
29234 __builtin_aarch64_simd_xi __o
;
29235 int64x2x4_t __temp
;
29236 __temp
.val
[0] = vcombine_s64 (__val
.val
[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29237 __temp
.val
[1] = vcombine_s64 (__val
.val
[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29238 __temp
.val
[2] = vcombine_s64 (__val
.val
[2], vcreate_s64 (__AARCH64_INT64_C (0)));
29239 __temp
.val
[3] = vcombine_s64 (__val
.val
[3], vcreate_s64 (__AARCH64_INT64_C (0)));
29240 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
29241 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
29242 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
29243 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[3], 3);
29244 __builtin_aarch64_st4di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29247 __extension__
extern __inline
void
29248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29249 vst4_u64 (uint64_t * __a
, uint64x1x4_t __val
)
29251 __builtin_aarch64_simd_xi __o
;
29252 uint64x2x4_t __temp
;
29253 __temp
.val
[0] = vcombine_u64 (__val
.val
[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29254 __temp
.val
[1] = vcombine_u64 (__val
.val
[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29255 __temp
.val
[2] = vcombine_u64 (__val
.val
[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
29256 __temp
.val
[3] = vcombine_u64 (__val
.val
[3], vcreate_u64 (__AARCH64_UINT64_C (0)));
29257 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[0], 0);
29258 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[1], 1);
29259 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[2], 2);
29260 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __temp
.val
[3], 3);
29261 __builtin_aarch64_st4di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29264 __extension__
extern __inline
void
29265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29266 vst4_f64 (float64_t
* __a
, float64x1x4_t __val
)
29268 __builtin_aarch64_simd_xi __o
;
29269 float64x2x4_t __temp
;
29270 __temp
.val
[0] = vcombine_f64 (__val
.val
[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29271 __temp
.val
[1] = vcombine_f64 (__val
.val
[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29272 __temp
.val
[2] = vcombine_f64 (__val
.val
[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
29273 __temp
.val
[3] = vcombine_f64 (__val
.val
[3], vcreate_f64 (__AARCH64_UINT64_C (0)));
29274 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __temp
.val
[0], 0);
29275 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __temp
.val
[1], 1);
29276 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __temp
.val
[2], 2);
29277 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __temp
.val
[3], 3);
29278 __builtin_aarch64_st4df ((__builtin_aarch64_simd_df
*) __a
, __o
);
29281 __extension__
extern __inline
void
29282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29283 vst4_s8 (int8_t * __a
, int8x8x4_t __val
)
29285 __builtin_aarch64_simd_xi __o
;
29286 int8x16x4_t __temp
;
29287 __temp
.val
[0] = vcombine_s8 (__val
.val
[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29288 __temp
.val
[1] = vcombine_s8 (__val
.val
[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29289 __temp
.val
[2] = vcombine_s8 (__val
.val
[2], vcreate_s8 (__AARCH64_INT64_C (0)));
29290 __temp
.val
[3] = vcombine_s8 (__val
.val
[3], vcreate_s8 (__AARCH64_INT64_C (0)));
29291 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
29292 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
29293 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
29294 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[3], 3);
29295 __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29298 __extension__
extern __inline
void
29299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29300 vst4_p8 (poly8_t
* __a
, poly8x8x4_t __val
)
29302 __builtin_aarch64_simd_xi __o
;
29303 poly8x16x4_t __temp
;
29304 __temp
.val
[0] = vcombine_p8 (__val
.val
[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29305 __temp
.val
[1] = vcombine_p8 (__val
.val
[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29306 __temp
.val
[2] = vcombine_p8 (__val
.val
[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
29307 __temp
.val
[3] = vcombine_p8 (__val
.val
[3], vcreate_p8 (__AARCH64_UINT64_C (0)));
29308 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
29309 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
29310 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
29311 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[3], 3);
29312 __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29315 __extension__
extern __inline
void
29316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29317 vst4_s16 (int16_t * __a
, int16x4x4_t __val
)
29319 __builtin_aarch64_simd_xi __o
;
29320 int16x8x4_t __temp
;
29321 __temp
.val
[0] = vcombine_s16 (__val
.val
[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29322 __temp
.val
[1] = vcombine_s16 (__val
.val
[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29323 __temp
.val
[2] = vcombine_s16 (__val
.val
[2], vcreate_s16 (__AARCH64_INT64_C (0)));
29324 __temp
.val
[3] = vcombine_s16 (__val
.val
[3], vcreate_s16 (__AARCH64_INT64_C (0)));
29325 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
29326 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
29327 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
29328 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[3], 3);
29329 __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29332 __extension__
extern __inline
void
29333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29334 vst4_p16 (poly16_t
* __a
, poly16x4x4_t __val
)
29336 __builtin_aarch64_simd_xi __o
;
29337 poly16x8x4_t __temp
;
29338 __temp
.val
[0] = vcombine_p16 (__val
.val
[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29339 __temp
.val
[1] = vcombine_p16 (__val
.val
[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29340 __temp
.val
[2] = vcombine_p16 (__val
.val
[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
29341 __temp
.val
[3] = vcombine_p16 (__val
.val
[3], vcreate_p16 (__AARCH64_UINT64_C (0)));
29342 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
29343 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
29344 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
29345 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[3], 3);
29346 __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29349 __extension__
extern __inline
void
29350 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29351 vst4_s32 (int32_t * __a
, int32x2x4_t __val
)
29353 __builtin_aarch64_simd_xi __o
;
29354 int32x4x4_t __temp
;
29355 __temp
.val
[0] = vcombine_s32 (__val
.val
[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29356 __temp
.val
[1] = vcombine_s32 (__val
.val
[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29357 __temp
.val
[2] = vcombine_s32 (__val
.val
[2], vcreate_s32 (__AARCH64_INT64_C (0)));
29358 __temp
.val
[3] = vcombine_s32 (__val
.val
[3], vcreate_s32 (__AARCH64_INT64_C (0)));
29359 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
29360 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
29361 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
29362 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[3], 3);
29363 __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29366 __extension__
extern __inline
void
29367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29368 vst4_u8 (uint8_t * __a
, uint8x8x4_t __val
)
29370 __builtin_aarch64_simd_xi __o
;
29371 uint8x16x4_t __temp
;
29372 __temp
.val
[0] = vcombine_u8 (__val
.val
[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29373 __temp
.val
[1] = vcombine_u8 (__val
.val
[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29374 __temp
.val
[2] = vcombine_u8 (__val
.val
[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
29375 __temp
.val
[3] = vcombine_u8 (__val
.val
[3], vcreate_u8 (__AARCH64_UINT64_C (0)));
29376 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[0], 0);
29377 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[1], 1);
29378 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[2], 2);
29379 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __temp
.val
[3], 3);
29380 __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29383 __extension__
extern __inline
void
29384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29385 vst4_u16 (uint16_t * __a
, uint16x4x4_t __val
)
29387 __builtin_aarch64_simd_xi __o
;
29388 uint16x8x4_t __temp
;
29389 __temp
.val
[0] = vcombine_u16 (__val
.val
[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29390 __temp
.val
[1] = vcombine_u16 (__val
.val
[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29391 __temp
.val
[2] = vcombine_u16 (__val
.val
[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29392 __temp
.val
[3] = vcombine_u16 (__val
.val
[3], vcreate_u16 (__AARCH64_UINT64_C (0)));
29393 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[0], 0);
29394 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[1], 1);
29395 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[2], 2);
29396 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __temp
.val
[3], 3);
29397 __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29400 __extension__
extern __inline
void
29401 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29402 vst4_u32 (uint32_t * __a
, uint32x2x4_t __val
)
29404 __builtin_aarch64_simd_xi __o
;
29405 uint32x4x4_t __temp
;
29406 __temp
.val
[0] = vcombine_u32 (__val
.val
[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29407 __temp
.val
[1] = vcombine_u32 (__val
.val
[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29408 __temp
.val
[2] = vcombine_u32 (__val
.val
[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29409 __temp
.val
[3] = vcombine_u32 (__val
.val
[3], vcreate_u32 (__AARCH64_UINT64_C (0)));
29410 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[0], 0);
29411 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[1], 1);
29412 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[2], 2);
29413 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __temp
.val
[3], 3);
29414 __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29417 __extension__
extern __inline
void
29418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29419 vst4_f16 (float16_t
* __a
, float16x4x4_t __val
)
29421 __builtin_aarch64_simd_xi __o
;
29422 float16x8x4_t __temp
;
29423 __temp
.val
[0] = vcombine_f16 (__val
.val
[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29424 __temp
.val
[1] = vcombine_f16 (__val
.val
[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29425 __temp
.val
[2] = vcombine_f16 (__val
.val
[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29426 __temp
.val
[3] = vcombine_f16 (__val
.val
[3], vcreate_f16 (__AARCH64_UINT64_C (0)));
29427 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __temp
.val
[0], 0);
29428 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __temp
.val
[1], 1);
29429 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __temp
.val
[2], 2);
29430 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __temp
.val
[3], 3);
29431 __builtin_aarch64_st4v4hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
29434 __extension__
extern __inline
void
29435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29436 vst4_f32 (float32_t
* __a
, float32x2x4_t __val
)
29438 __builtin_aarch64_simd_xi __o
;
29439 float32x4x4_t __temp
;
29440 __temp
.val
[0] = vcombine_f32 (__val
.val
[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29441 __temp
.val
[1] = vcombine_f32 (__val
.val
[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29442 __temp
.val
[2] = vcombine_f32 (__val
.val
[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29443 __temp
.val
[3] = vcombine_f32 (__val
.val
[3], vcreate_f32 (__AARCH64_UINT64_C (0)));
29444 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __temp
.val
[0], 0);
29445 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __temp
.val
[1], 1);
29446 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __temp
.val
[2], 2);
29447 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __temp
.val
[3], 3);
29448 __builtin_aarch64_st4v2sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
29451 __extension__
extern __inline
void
29452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29453 vst4_p64 (poly64_t
* __a
, poly64x1x4_t __val
)
29455 __builtin_aarch64_simd_xi __o
;
29456 poly64x2x4_t __temp
;
29457 __temp
.val
[0] = vcombine_p64 (__val
.val
[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29458 __temp
.val
[1] = vcombine_p64 (__val
.val
[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29459 __temp
.val
[2] = vcombine_p64 (__val
.val
[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29460 __temp
.val
[3] = vcombine_p64 (__val
.val
[3], vcreate_p64 (__AARCH64_UINT64_C (0)));
29461 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29462 (poly64x2_t
) __temp
.val
[0], 0);
29463 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29464 (poly64x2_t
) __temp
.val
[1], 1);
29465 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29466 (poly64x2_t
) __temp
.val
[2], 2);
29467 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29468 (poly64x2_t
) __temp
.val
[3], 3);
29469 __builtin_aarch64_st4di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29472 __extension__
extern __inline
void
29473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29474 vst4q_s8 (int8_t * __a
, int8x16x4_t __val
)
29476 __builtin_aarch64_simd_xi __o
;
29477 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29478 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29479 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29480 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[3], 3);
29481 __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29484 __extension__
extern __inline
void
29485 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29486 vst4q_p8 (poly8_t
* __a
, poly8x16x4_t __val
)
29488 __builtin_aarch64_simd_xi __o
;
29489 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29490 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29491 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29492 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[3], 3);
29493 __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29496 __extension__
extern __inline
void
29497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29498 vst4q_s16 (int16_t * __a
, int16x8x4_t __val
)
29500 __builtin_aarch64_simd_xi __o
;
29501 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29502 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29503 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29504 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[3], 3);
29505 __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29508 __extension__
extern __inline
void
29509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29510 vst4q_p16 (poly16_t
* __a
, poly16x8x4_t __val
)
29512 __builtin_aarch64_simd_xi __o
;
29513 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29514 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29515 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29516 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[3], 3);
29517 __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29520 __extension__
extern __inline
void
29521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29522 vst4q_s32 (int32_t * __a
, int32x4x4_t __val
)
29524 __builtin_aarch64_simd_xi __o
;
29525 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
29526 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
29527 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
29528 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[3], 3);
29529 __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29532 __extension__
extern __inline
void
29533 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29534 vst4q_s64 (int64_t * __a
, int64x2x4_t __val
)
29536 __builtin_aarch64_simd_xi __o
;
29537 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
29538 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
29539 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
29540 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[3], 3);
29541 __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29544 __extension__
extern __inline
void
29545 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29546 vst4q_u8 (uint8_t * __a
, uint8x16x4_t __val
)
29548 __builtin_aarch64_simd_xi __o
;
29549 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[0], 0);
29550 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[1], 1);
29551 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[2], 2);
29552 __o
= __builtin_aarch64_set_qregxiv16qi (__o
, (int8x16_t
) __val
.val
[3], 3);
29553 __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi
*) __a
, __o
);
29556 __extension__
extern __inline
void
29557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29558 vst4q_u16 (uint16_t * __a
, uint16x8x4_t __val
)
29560 __builtin_aarch64_simd_xi __o
;
29561 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[0], 0);
29562 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[1], 1);
29563 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[2], 2);
29564 __o
= __builtin_aarch64_set_qregxiv8hi (__o
, (int16x8_t
) __val
.val
[3], 3);
29565 __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi
*) __a
, __o
);
29568 __extension__
extern __inline
void
29569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29570 vst4q_u32 (uint32_t * __a
, uint32x4x4_t __val
)
29572 __builtin_aarch64_simd_xi __o
;
29573 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[0], 0);
29574 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[1], 1);
29575 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[2], 2);
29576 __o
= __builtin_aarch64_set_qregxiv4si (__o
, (int32x4_t
) __val
.val
[3], 3);
29577 __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si
*) __a
, __o
);
29580 __extension__
extern __inline
void
29581 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29582 vst4q_u64 (uint64_t * __a
, uint64x2x4_t __val
)
29584 __builtin_aarch64_simd_xi __o
;
29585 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[0], 0);
29586 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[1], 1);
29587 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[2], 2);
29588 __o
= __builtin_aarch64_set_qregxiv2di (__o
, (int64x2_t
) __val
.val
[3], 3);
29589 __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29592 __extension__
extern __inline
void
29593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29594 vst4q_f16 (float16_t
* __a
, float16x8x4_t __val
)
29596 __builtin_aarch64_simd_xi __o
;
29597 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __val
.val
[0], 0);
29598 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __val
.val
[1], 1);
29599 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __val
.val
[2], 2);
29600 __o
= __builtin_aarch64_set_qregxiv8hf (__o
, (float16x8_t
) __val
.val
[3], 3);
29601 __builtin_aarch64_st4v8hf ((__builtin_aarch64_simd_hf
*) __a
, __o
);
29604 __extension__
extern __inline
void
29605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29606 vst4q_f32 (float32_t
* __a
, float32x4x4_t __val
)
29608 __builtin_aarch64_simd_xi __o
;
29609 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __val
.val
[0], 0);
29610 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __val
.val
[1], 1);
29611 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __val
.val
[2], 2);
29612 __o
= __builtin_aarch64_set_qregxiv4sf (__o
, (float32x4_t
) __val
.val
[3], 3);
29613 __builtin_aarch64_st4v4sf ((__builtin_aarch64_simd_sf
*) __a
, __o
);
29616 __extension__
extern __inline
void
29617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29618 vst4q_f64 (float64_t
* __a
, float64x2x4_t __val
)
29620 __builtin_aarch64_simd_xi __o
;
29621 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __val
.val
[0], 0);
29622 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __val
.val
[1], 1);
29623 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __val
.val
[2], 2);
29624 __o
= __builtin_aarch64_set_qregxiv2df (__o
, (float64x2_t
) __val
.val
[3], 3);
29625 __builtin_aarch64_st4v2df ((__builtin_aarch64_simd_df
*) __a
, __o
);
29628 __extension__
extern __inline
void
29629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29630 vst4q_p64 (poly64_t
* __a
, poly64x2x4_t __val
)
29632 __builtin_aarch64_simd_xi __o
;
29633 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29634 (poly64x2_t
) __val
.val
[0], 0);
29635 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29636 (poly64x2_t
) __val
.val
[1], 1);
29637 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29638 (poly64x2_t
) __val
.val
[2], 2);
29639 __o
= __builtin_aarch64_set_qregxiv2di_ssps (__o
,
29640 (poly64x2_t
) __val
.val
[3], 3);
29641 __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di
*) __a
, __o
);
29644 __extension__
extern __inline
void
29645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29646 vstrq_p128 (poly128_t
* __ptr
, poly128_t __val
)
29653 __extension__
extern __inline
int64_t
29654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29655 vsubd_s64 (int64_t __a
, int64_t __b
)
29660 __extension__
extern __inline
uint64_t
29661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29662 vsubd_u64 (uint64_t __a
, uint64_t __b
)
29669 __extension__
extern __inline int8x8_t
29670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29671 vtbx1_s8 (int8x8_t __r
, int8x8_t __tab
, int8x8_t __idx
)
29673 uint8x8_t __mask
= vclt_u8 (vreinterpret_u8_s8 (__idx
),
29675 int8x8_t __tbl
= vtbl1_s8 (__tab
, __idx
);
29677 return vbsl_s8 (__mask
, __tbl
, __r
);
29680 __extension__
extern __inline uint8x8_t
29681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29682 vtbx1_u8 (uint8x8_t __r
, uint8x8_t __tab
, uint8x8_t __idx
)
29684 uint8x8_t __mask
= vclt_u8 (__idx
, vmov_n_u8 (8));
29685 uint8x8_t __tbl
= vtbl1_u8 (__tab
, __idx
);
29687 return vbsl_u8 (__mask
, __tbl
, __r
);
29690 __extension__
extern __inline poly8x8_t
29691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29692 vtbx1_p8 (poly8x8_t __r
, poly8x8_t __tab
, uint8x8_t __idx
)
29694 uint8x8_t __mask
= vclt_u8 (__idx
, vmov_n_u8 (8));
29695 poly8x8_t __tbl
= vtbl1_p8 (__tab
, __idx
);
29697 return vbsl_p8 (__mask
, __tbl
, __r
);
29702 __extension__
extern __inline int8x8_t
29703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29704 vtbx3_s8 (int8x8_t __r
, int8x8x3_t __tab
, int8x8_t __idx
)
29706 uint8x8_t __mask
= vclt_u8 (vreinterpret_u8_s8 (__idx
),
29708 int8x8_t __tbl
= vtbl3_s8 (__tab
, __idx
);
29710 return vbsl_s8 (__mask
, __tbl
, __r
);
29713 __extension__
extern __inline uint8x8_t
29714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29715 vtbx3_u8 (uint8x8_t __r
, uint8x8x3_t __tab
, uint8x8_t __idx
)
29717 uint8x8_t __mask
= vclt_u8 (__idx
, vmov_n_u8 (24));
29718 uint8x8_t __tbl
= vtbl3_u8 (__tab
, __idx
);
29720 return vbsl_u8 (__mask
, __tbl
, __r
);
29723 __extension__
extern __inline poly8x8_t
29724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29725 vtbx3_p8 (poly8x8_t __r
, poly8x8x3_t __tab
, uint8x8_t __idx
)
29727 uint8x8_t __mask
= vclt_u8 (__idx
, vmov_n_u8 (24));
29728 poly8x8_t __tbl
= vtbl3_p8 (__tab
, __idx
);
29730 return vbsl_p8 (__mask
, __tbl
, __r
);
29735 __extension__
extern __inline int8x8_t
29736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29737 vtbx4_s8 (int8x8_t __r
, int8x8x4_t __tab
, int8x8_t __idx
)
29740 int8x16x2_t __temp
;
29741 __builtin_aarch64_simd_oi __o
;
29742 __temp
.val
[0] = vcombine_s8 (__tab
.val
[0], __tab
.val
[1]);
29743 __temp
.val
[1] = vcombine_s8 (__tab
.val
[2], __tab
.val
[3]);
29744 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29745 (int8x16_t
) __temp
.val
[0], 0);
29746 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29747 (int8x16_t
) __temp
.val
[1], 1);
29748 __result
= __builtin_aarch64_tbx4v8qi (__r
, __o
, __idx
);
29752 __extension__
extern __inline uint8x8_t
29753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29754 vtbx4_u8 (uint8x8_t __r
, uint8x8x4_t __tab
, uint8x8_t __idx
)
29756 uint8x8_t __result
;
29757 uint8x16x2_t __temp
;
29758 __builtin_aarch64_simd_oi __o
;
29759 __temp
.val
[0] = vcombine_u8 (__tab
.val
[0], __tab
.val
[1]);
29760 __temp
.val
[1] = vcombine_u8 (__tab
.val
[2], __tab
.val
[3]);
29761 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29762 (int8x16_t
) __temp
.val
[0], 0);
29763 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29764 (int8x16_t
) __temp
.val
[1], 1);
29765 __result
= (uint8x8_t
)__builtin_aarch64_tbx4v8qi ((int8x8_t
)__r
, __o
,
29770 __extension__
extern __inline poly8x8_t
29771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29772 vtbx4_p8 (poly8x8_t __r
, poly8x8x4_t __tab
, uint8x8_t __idx
)
29774 poly8x8_t __result
;
29775 poly8x16x2_t __temp
;
29776 __builtin_aarch64_simd_oi __o
;
29777 __temp
.val
[0] = vcombine_p8 (__tab
.val
[0], __tab
.val
[1]);
29778 __temp
.val
[1] = vcombine_p8 (__tab
.val
[2], __tab
.val
[3]);
29779 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29780 (int8x16_t
) __temp
.val
[0], 0);
29781 __o
= __builtin_aarch64_set_qregoiv16qi (__o
,
29782 (int8x16_t
) __temp
.val
[1], 1);
29783 __result
= (poly8x8_t
)__builtin_aarch64_tbx4v8qi ((int8x8_t
)__r
, __o
,
29790 __extension__
extern __inline float16x4_t
29791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29792 vtrn1_f16 (float16x4_t __a
, float16x4_t __b
)
29794 #ifdef __AARCH64EB__
29795 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 1, 7, 3});
29797 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 2, 6});
29801 __extension__
extern __inline float32x2_t
29802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29803 vtrn1_f32 (float32x2_t __a
, float32x2_t __b
)
29805 #ifdef __AARCH64EB__
29806 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
29808 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
29812 __extension__
extern __inline poly8x8_t
29813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29814 vtrn1_p8 (poly8x8_t __a
, poly8x8_t __b
)
29816 #ifdef __AARCH64EB__
29817 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29819 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29823 __extension__
extern __inline poly16x4_t
29824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29825 vtrn1_p16 (poly16x4_t __a
, poly16x4_t __b
)
29827 #ifdef __AARCH64EB__
29828 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 1, 7, 3});
29830 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 2, 6});
29834 __extension__
extern __inline int8x8_t
29835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29836 vtrn1_s8 (int8x8_t __a
, int8x8_t __b
)
29838 #ifdef __AARCH64EB__
29839 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29841 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29845 __extension__
extern __inline int16x4_t
29846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29847 vtrn1_s16 (int16x4_t __a
, int16x4_t __b
)
29849 #ifdef __AARCH64EB__
29850 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 1, 7, 3});
29852 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 2, 6});
29856 __extension__
extern __inline int32x2_t
29857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29858 vtrn1_s32 (int32x2_t __a
, int32x2_t __b
)
29860 #ifdef __AARCH64EB__
29861 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
29863 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
29867 __extension__
extern __inline uint8x8_t
29868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29869 vtrn1_u8 (uint8x8_t __a
, uint8x8_t __b
)
29871 #ifdef __AARCH64EB__
29872 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29874 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29878 __extension__
extern __inline uint16x4_t
29879 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29880 vtrn1_u16 (uint16x4_t __a
, uint16x4_t __b
)
29882 #ifdef __AARCH64EB__
29883 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 1, 7, 3});
29885 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 2, 6});
29889 __extension__
extern __inline uint32x2_t
29890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29891 vtrn1_u32 (uint32x2_t __a
, uint32x2_t __b
)
29893 #ifdef __AARCH64EB__
29894 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
29896 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
29900 __extension__
extern __inline float16x8_t
29901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29902 vtrn1q_f16 (float16x8_t __a
, float16x8_t __b
)
29904 #ifdef __AARCH64EB__
29905 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29907 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29911 __extension__
extern __inline float32x4_t
29912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29913 vtrn1q_f32 (float32x4_t __a
, float32x4_t __b
)
29915 #ifdef __AARCH64EB__
29916 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 1, 7, 3});
29918 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 2, 6});
29922 __extension__
extern __inline float64x2_t
29923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29924 vtrn1q_f64 (float64x2_t __a
, float64x2_t __b
)
29926 #ifdef __AARCH64EB__
29927 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
29929 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
29933 __extension__
extern __inline poly8x16_t
29934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29935 vtrn1q_p8 (poly8x16_t __a
, poly8x16_t __b
)
29937 #ifdef __AARCH64EB__
29938 return __builtin_shuffle (__a
, __b
,
29939 (uint8x16_t
) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
29941 return __builtin_shuffle (__a
, __b
,
29942 (uint8x16_t
) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
29946 __extension__
extern __inline poly16x8_t
29947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29948 vtrn1q_p16 (poly16x8_t __a
, poly16x8_t __b
)
29950 #ifdef __AARCH64EB__
29951 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29953 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29957 __extension__
extern __inline int8x16_t
29958 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29959 vtrn1q_s8 (int8x16_t __a
, int8x16_t __b
)
29961 #ifdef __AARCH64EB__
29962 return __builtin_shuffle (__a
, __b
,
29963 (uint8x16_t
) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
29965 return __builtin_shuffle (__a
, __b
,
29966 (uint8x16_t
) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
29970 __extension__
extern __inline int16x8_t
29971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29972 vtrn1q_s16 (int16x8_t __a
, int16x8_t __b
)
29974 #ifdef __AARCH64EB__
29975 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
29977 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
29981 __extension__
extern __inline int32x4_t
29982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29983 vtrn1q_s32 (int32x4_t __a
, int32x4_t __b
)
29985 #ifdef __AARCH64EB__
29986 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 1, 7, 3});
29988 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 2, 6});
29992 __extension__
extern __inline int64x2_t
29993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
29994 vtrn1q_s64 (int64x2_t __a
, int64x2_t __b
)
29996 #ifdef __AARCH64EB__
29997 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
29999 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
30003 __extension__
extern __inline uint8x16_t
30004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30005 vtrn1q_u8 (uint8x16_t __a
, uint8x16_t __b
)
30007 #ifdef __AARCH64EB__
30008 return __builtin_shuffle (__a
, __b
,
30009 (uint8x16_t
) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30011 return __builtin_shuffle (__a
, __b
,
30012 (uint8x16_t
) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30016 __extension__
extern __inline uint16x8_t
30017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30018 vtrn1q_u16 (uint16x8_t __a
, uint16x8_t __b
)
30020 #ifdef __AARCH64EB__
30021 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 1, 11, 3, 13, 5, 15, 7});
30023 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 2, 10, 4, 12, 6, 14});
30027 __extension__
extern __inline uint32x4_t
30028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30029 vtrn1q_u32 (uint32x4_t __a
, uint32x4_t __b
)
30031 #ifdef __AARCH64EB__
30032 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 1, 7, 3});
30034 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 2, 6});
30038 __extension__
extern __inline poly64x2_t
30039 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30040 vtrn1q_p64 (poly64x2_t __a
, poly64x2_t __b
)
30042 #ifdef __AARCH64EB__
30043 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {3, 1});
30045 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {0, 2});
30049 __extension__
extern __inline uint64x2_t
30050 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30051 vtrn1q_u64 (uint64x2_t __a
, uint64x2_t __b
)
30053 #ifdef __AARCH64EB__
30054 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
30056 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
30060 __extension__
extern __inline float16x4_t
30061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30062 vtrn2_f16 (float16x4_t __a
, float16x4_t __b
)
30064 #ifdef __AARCH64EB__
30065 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 6, 2});
30067 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 5, 3, 7});
30071 __extension__
extern __inline float32x2_t
30072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30073 vtrn2_f32 (float32x2_t __a
, float32x2_t __b
)
30075 #ifdef __AARCH64EB__
30076 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
30078 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
30082 __extension__
extern __inline poly8x8_t
30083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30084 vtrn2_p8 (poly8x8_t __a
, poly8x8_t __b
)
30086 #ifdef __AARCH64EB__
30087 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30089 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30093 __extension__
extern __inline poly16x4_t
30094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30095 vtrn2_p16 (poly16x4_t __a
, poly16x4_t __b
)
30097 #ifdef __AARCH64EB__
30098 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 6, 2});
30100 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 5, 3, 7});
30104 __extension__
extern __inline int8x8_t
30105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30106 vtrn2_s8 (int8x8_t __a
, int8x8_t __b
)
30108 #ifdef __AARCH64EB__
30109 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30111 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30115 __extension__
extern __inline int16x4_t
30116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30117 vtrn2_s16 (int16x4_t __a
, int16x4_t __b
)
30119 #ifdef __AARCH64EB__
30120 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 6, 2});
30122 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 5, 3, 7});
30126 __extension__
extern __inline int32x2_t
30127 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30128 vtrn2_s32 (int32x2_t __a
, int32x2_t __b
)
30130 #ifdef __AARCH64EB__
30131 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
30133 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
30137 __extension__
extern __inline uint8x8_t
30138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30139 vtrn2_u8 (uint8x8_t __a
, uint8x8_t __b
)
30141 #ifdef __AARCH64EB__
30142 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30144 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30148 __extension__
extern __inline uint16x4_t
30149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30150 vtrn2_u16 (uint16x4_t __a
, uint16x4_t __b
)
30152 #ifdef __AARCH64EB__
30153 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 6, 2});
30155 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 5, 3, 7});
30159 __extension__
extern __inline uint32x2_t
30160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30161 vtrn2_u32 (uint32x2_t __a
, uint32x2_t __b
)
30163 #ifdef __AARCH64EB__
30164 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
30166 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
30170 __extension__
extern __inline float16x8_t
30171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30172 vtrn2q_f16 (float16x8_t __a
, float16x8_t __b
)
30174 #ifdef __AARCH64EB__
30175 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30177 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30181 __extension__
extern __inline float32x4_t
30182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30183 vtrn2q_f32 (float32x4_t __a
, float32x4_t __b
)
30185 #ifdef __AARCH64EB__
30186 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 6, 2});
30188 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 5, 3, 7});
30192 __extension__
extern __inline float64x2_t
30193 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30194 vtrn2q_f64 (float64x2_t __a
, float64x2_t __b
)
30196 #ifdef __AARCH64EB__
30197 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
30199 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
30203 __extension__
extern __inline poly8x16_t
30204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30205 vtrn2q_p8 (poly8x16_t __a
, poly8x16_t __b
)
30207 #ifdef __AARCH64EB__
30208 return __builtin_shuffle (__a
, __b
,
30209 (uint8x16_t
) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30211 return __builtin_shuffle (__a
, __b
,
30212 (uint8x16_t
) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30216 __extension__
extern __inline poly16x8_t
30217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30218 vtrn2q_p16 (poly16x8_t __a
, poly16x8_t __b
)
30220 #ifdef __AARCH64EB__
30221 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30223 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30227 __extension__
extern __inline int8x16_t
30228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30229 vtrn2q_s8 (int8x16_t __a
, int8x16_t __b
)
30231 #ifdef __AARCH64EB__
30232 return __builtin_shuffle (__a
, __b
,
30233 (uint8x16_t
) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30235 return __builtin_shuffle (__a
, __b
,
30236 (uint8x16_t
) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30240 __extension__
extern __inline int16x8_t
30241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30242 vtrn2q_s16 (int16x8_t __a
, int16x8_t __b
)
30244 #ifdef __AARCH64EB__
30245 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30247 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30251 __extension__
extern __inline int32x4_t
30252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30253 vtrn2q_s32 (int32x4_t __a
, int32x4_t __b
)
30255 #ifdef __AARCH64EB__
30256 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 6, 2});
30258 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 5, 3, 7});
30262 __extension__
extern __inline int64x2_t
30263 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30264 vtrn2q_s64 (int64x2_t __a
, int64x2_t __b
)
30266 #ifdef __AARCH64EB__
30267 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
30269 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
30273 __extension__
extern __inline uint8x16_t
30274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30275 vtrn2q_u8 (uint8x16_t __a
, uint8x16_t __b
)
30277 #ifdef __AARCH64EB__
30278 return __builtin_shuffle (__a
, __b
,
30279 (uint8x16_t
) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30281 return __builtin_shuffle (__a
, __b
,
30282 (uint8x16_t
) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30286 __extension__
extern __inline uint16x8_t
30287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30288 vtrn2q_u16 (uint16x8_t __a
, uint16x8_t __b
)
30290 #ifdef __AARCH64EB__
30291 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 10, 2, 12, 4, 14, 6});
30293 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 9, 3, 11, 5, 13, 7, 15});
30297 __extension__
extern __inline uint32x4_t
30298 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30299 vtrn2q_u32 (uint32x4_t __a
, uint32x4_t __b
)
30301 #ifdef __AARCH64EB__
30302 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 6, 2});
30304 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 5, 3, 7});
30308 __extension__
extern __inline uint64x2_t
30309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30310 vtrn2q_u64 (uint64x2_t __a
, uint64x2_t __b
)
30312 #ifdef __AARCH64EB__
30313 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
30315 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
30320 __extension__
extern __inline poly64x2_t
30321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30322 vtrn2q_p64 (poly64x2_t __a
, poly64x2_t __b
)
30324 #ifdef __AARCH64EB__
30325 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {2, 0});
30327 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {1, 3});
30331 __extension__
extern __inline float16x4x2_t
30332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30333 vtrn_f16 (float16x4_t __a
, float16x4_t __b
)
30335 return (float16x4x2_t
) {vtrn1_f16 (__a
, __b
), vtrn2_f16 (__a
, __b
)};
30338 __extension__
extern __inline float32x2x2_t
30339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30340 vtrn_f32 (float32x2_t __a
, float32x2_t __b
)
30342 return (float32x2x2_t
) {vtrn1_f32 (__a
, __b
), vtrn2_f32 (__a
, __b
)};
30345 __extension__
extern __inline poly8x8x2_t
30346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30347 vtrn_p8 (poly8x8_t __a
, poly8x8_t __b
)
30349 return (poly8x8x2_t
) {vtrn1_p8 (__a
, __b
), vtrn2_p8 (__a
, __b
)};
30352 __extension__
extern __inline poly16x4x2_t
30353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30354 vtrn_p16 (poly16x4_t __a
, poly16x4_t __b
)
30356 return (poly16x4x2_t
) {vtrn1_p16 (__a
, __b
), vtrn2_p16 (__a
, __b
)};
30359 __extension__
extern __inline int8x8x2_t
30360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30361 vtrn_s8 (int8x8_t __a
, int8x8_t __b
)
30363 return (int8x8x2_t
) {vtrn1_s8 (__a
, __b
), vtrn2_s8 (__a
, __b
)};
30366 __extension__
extern __inline int16x4x2_t
30367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30368 vtrn_s16 (int16x4_t __a
, int16x4_t __b
)
30370 return (int16x4x2_t
) {vtrn1_s16 (__a
, __b
), vtrn2_s16 (__a
, __b
)};
30373 __extension__
extern __inline int32x2x2_t
30374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30375 vtrn_s32 (int32x2_t __a
, int32x2_t __b
)
30377 return (int32x2x2_t
) {vtrn1_s32 (__a
, __b
), vtrn2_s32 (__a
, __b
)};
30380 __extension__
extern __inline uint8x8x2_t
30381 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30382 vtrn_u8 (uint8x8_t __a
, uint8x8_t __b
)
30384 return (uint8x8x2_t
) {vtrn1_u8 (__a
, __b
), vtrn2_u8 (__a
, __b
)};
30387 __extension__
extern __inline uint16x4x2_t
30388 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30389 vtrn_u16 (uint16x4_t __a
, uint16x4_t __b
)
30391 return (uint16x4x2_t
) {vtrn1_u16 (__a
, __b
), vtrn2_u16 (__a
, __b
)};
30394 __extension__
extern __inline uint32x2x2_t
30395 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30396 vtrn_u32 (uint32x2_t __a
, uint32x2_t __b
)
30398 return (uint32x2x2_t
) {vtrn1_u32 (__a
, __b
), vtrn2_u32 (__a
, __b
)};
30401 __extension__
extern __inline float16x8x2_t
30402 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30403 vtrnq_f16 (float16x8_t __a
, float16x8_t __b
)
30405 return (float16x8x2_t
) {vtrn1q_f16 (__a
, __b
), vtrn2q_f16 (__a
, __b
)};
30408 __extension__
extern __inline float32x4x2_t
30409 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30410 vtrnq_f32 (float32x4_t __a
, float32x4_t __b
)
30412 return (float32x4x2_t
) {vtrn1q_f32 (__a
, __b
), vtrn2q_f32 (__a
, __b
)};
30415 __extension__
extern __inline poly8x16x2_t
30416 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30417 vtrnq_p8 (poly8x16_t __a
, poly8x16_t __b
)
30419 return (poly8x16x2_t
) {vtrn1q_p8 (__a
, __b
), vtrn2q_p8 (__a
, __b
)};
30422 __extension__
extern __inline poly16x8x2_t
30423 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30424 vtrnq_p16 (poly16x8_t __a
, poly16x8_t __b
)
30426 return (poly16x8x2_t
) {vtrn1q_p16 (__a
, __b
), vtrn2q_p16 (__a
, __b
)};
30429 __extension__
extern __inline int8x16x2_t
30430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30431 vtrnq_s8 (int8x16_t __a
, int8x16_t __b
)
30433 return (int8x16x2_t
) {vtrn1q_s8 (__a
, __b
), vtrn2q_s8 (__a
, __b
)};
30436 __extension__
extern __inline int16x8x2_t
30437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30438 vtrnq_s16 (int16x8_t __a
, int16x8_t __b
)
30440 return (int16x8x2_t
) {vtrn1q_s16 (__a
, __b
), vtrn2q_s16 (__a
, __b
)};
30443 __extension__
extern __inline int32x4x2_t
30444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30445 vtrnq_s32 (int32x4_t __a
, int32x4_t __b
)
30447 return (int32x4x2_t
) {vtrn1q_s32 (__a
, __b
), vtrn2q_s32 (__a
, __b
)};
30450 __extension__
extern __inline uint8x16x2_t
30451 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30452 vtrnq_u8 (uint8x16_t __a
, uint8x16_t __b
)
30454 return (uint8x16x2_t
) {vtrn1q_u8 (__a
, __b
), vtrn2q_u8 (__a
, __b
)};
30457 __extension__
extern __inline uint16x8x2_t
30458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30459 vtrnq_u16 (uint16x8_t __a
, uint16x8_t __b
)
30461 return (uint16x8x2_t
) {vtrn1q_u16 (__a
, __b
), vtrn2q_u16 (__a
, __b
)};
30464 __extension__
extern __inline uint32x4x2_t
30465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30466 vtrnq_u32 (uint32x4_t __a
, uint32x4_t __b
)
30468 return (uint32x4x2_t
) {vtrn1q_u32 (__a
, __b
), vtrn2q_u32 (__a
, __b
)};
30473 __extension__
extern __inline uint8x8_t
30474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30475 vtst_s8 (int8x8_t __a
, int8x8_t __b
)
30477 return (uint8x8_t
) ((__a
& __b
) != 0);
30480 __extension__
extern __inline uint16x4_t
30481 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30482 vtst_s16 (int16x4_t __a
, int16x4_t __b
)
30484 return (uint16x4_t
) ((__a
& __b
) != 0);
30487 __extension__
extern __inline uint32x2_t
30488 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30489 vtst_s32 (int32x2_t __a
, int32x2_t __b
)
30491 return (uint32x2_t
) ((__a
& __b
) != 0);
30494 __extension__
extern __inline uint64x1_t
30495 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30496 vtst_s64 (int64x1_t __a
, int64x1_t __b
)
30498 return (uint64x1_t
) ((__a
& __b
) != __AARCH64_INT64_C (0));
30501 __extension__
extern __inline uint8x8_t
30502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30503 vtst_u8 (uint8x8_t __a
, uint8x8_t __b
)
30505 return ((__a
& __b
) != 0);
30508 __extension__
extern __inline uint16x4_t
30509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30510 vtst_u16 (uint16x4_t __a
, uint16x4_t __b
)
30512 return ((__a
& __b
) != 0);
30515 __extension__
extern __inline uint32x2_t
30516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30517 vtst_u32 (uint32x2_t __a
, uint32x2_t __b
)
30519 return ((__a
& __b
) != 0);
30522 __extension__
extern __inline uint64x1_t
30523 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30524 vtst_u64 (uint64x1_t __a
, uint64x1_t __b
)
30526 return ((__a
& __b
) != __AARCH64_UINT64_C (0));
30529 __extension__
extern __inline uint8x16_t
30530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30531 vtstq_s8 (int8x16_t __a
, int8x16_t __b
)
30533 return (uint8x16_t
) ((__a
& __b
) != 0);
30536 __extension__
extern __inline uint16x8_t
30537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30538 vtstq_s16 (int16x8_t __a
, int16x8_t __b
)
30540 return (uint16x8_t
) ((__a
& __b
) != 0);
30543 __extension__
extern __inline uint32x4_t
30544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30545 vtstq_s32 (int32x4_t __a
, int32x4_t __b
)
30547 return (uint32x4_t
) ((__a
& __b
) != 0);
30550 __extension__
extern __inline uint64x2_t
30551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30552 vtstq_s64 (int64x2_t __a
, int64x2_t __b
)
30554 return (uint64x2_t
) ((__a
& __b
) != __AARCH64_INT64_C (0));
30557 __extension__
extern __inline uint8x16_t
30558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30559 vtstq_u8 (uint8x16_t __a
, uint8x16_t __b
)
30561 return ((__a
& __b
) != 0);
30564 __extension__
extern __inline uint16x8_t
30565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30566 vtstq_u16 (uint16x8_t __a
, uint16x8_t __b
)
30568 return ((__a
& __b
) != 0);
30571 __extension__
extern __inline uint32x4_t
30572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30573 vtstq_u32 (uint32x4_t __a
, uint32x4_t __b
)
30575 return ((__a
& __b
) != 0);
30578 __extension__
extern __inline uint64x2_t
30579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30580 vtstq_u64 (uint64x2_t __a
, uint64x2_t __b
)
30582 return ((__a
& __b
) != __AARCH64_UINT64_C (0));
30585 __extension__
extern __inline
uint64_t
30586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30587 vtstd_s64 (int64_t __a
, int64_t __b
)
30589 return (__a
& __b
) ? -1ll : 0ll;
30592 __extension__
extern __inline
uint64_t
30593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30594 vtstd_u64 (uint64_t __a
, uint64_t __b
)
30596 return (__a
& __b
) ? -1ll : 0ll;
30601 __extension__
extern __inline int8x8_t
30602 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30603 vuqadd_s8 (int8x8_t __a
, uint8x8_t __b
)
30605 return __builtin_aarch64_suqaddv8qi_ssu (__a
, __b
);
30608 __extension__
extern __inline int16x4_t
30609 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30610 vuqadd_s16 (int16x4_t __a
, uint16x4_t __b
)
30612 return __builtin_aarch64_suqaddv4hi_ssu (__a
, __b
);
30615 __extension__
extern __inline int32x2_t
30616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30617 vuqadd_s32 (int32x2_t __a
, uint32x2_t __b
)
30619 return __builtin_aarch64_suqaddv2si_ssu (__a
, __b
);
30622 __extension__
extern __inline int64x1_t
30623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30624 vuqadd_s64 (int64x1_t __a
, uint64x1_t __b
)
30626 return (int64x1_t
) {__builtin_aarch64_suqadddi_ssu (__a
[0], __b
[0])};
30629 __extension__
extern __inline int8x16_t
30630 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30631 vuqaddq_s8 (int8x16_t __a
, uint8x16_t __b
)
30633 return __builtin_aarch64_suqaddv16qi_ssu (__a
, __b
);
30636 __extension__
extern __inline int16x8_t
30637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30638 vuqaddq_s16 (int16x8_t __a
, uint16x8_t __b
)
30640 return __builtin_aarch64_suqaddv8hi_ssu (__a
, __b
);
30643 __extension__
extern __inline int32x4_t
30644 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30645 vuqaddq_s32 (int32x4_t __a
, uint32x4_t __b
)
30647 return __builtin_aarch64_suqaddv4si_ssu (__a
, __b
);
30650 __extension__
extern __inline int64x2_t
30651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30652 vuqaddq_s64 (int64x2_t __a
, uint64x2_t __b
)
30654 return __builtin_aarch64_suqaddv2di_ssu (__a
, __b
);
30657 __extension__
extern __inline
int8_t
30658 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30659 vuqaddb_s8 (int8_t __a
, uint8_t __b
)
30661 return __builtin_aarch64_suqaddqi_ssu (__a
, __b
);
30664 __extension__
extern __inline
int16_t
30665 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30666 vuqaddh_s16 (int16_t __a
, uint16_t __b
)
30668 return __builtin_aarch64_suqaddhi_ssu (__a
, __b
);
30671 __extension__
extern __inline
int32_t
30672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30673 vuqadds_s32 (int32_t __a
, uint32_t __b
)
30675 return __builtin_aarch64_suqaddsi_ssu (__a
, __b
);
30678 __extension__
extern __inline
int64_t
30679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30680 vuqaddd_s64 (int64_t __a
, uint64_t __b
)
30682 return __builtin_aarch64_suqadddi_ssu (__a
, __b
);
30685 #define __DEFINTERLEAVE(op, rettype, intype, funcsuffix, Q) \
30686 __extension__ extern __inline rettype \
30687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
30688 v ## op ## Q ## _ ## funcsuffix (intype a, intype b) \
30690 return (rettype) {v ## op ## 1 ## Q ## _ ## funcsuffix (a, b), \
30691 v ## op ## 2 ## Q ## _ ## funcsuffix (a, b)}; \
30694 #define __INTERLEAVE_LIST(op) \
30695 __DEFINTERLEAVE (op, float16x4x2_t, float16x4_t, f16,) \
30696 __DEFINTERLEAVE (op, float32x2x2_t, float32x2_t, f32,) \
30697 __DEFINTERLEAVE (op, poly8x8x2_t, poly8x8_t, p8,) \
30698 __DEFINTERLEAVE (op, poly16x4x2_t, poly16x4_t, p16,) \
30699 __DEFINTERLEAVE (op, int8x8x2_t, int8x8_t, s8,) \
30700 __DEFINTERLEAVE (op, int16x4x2_t, int16x4_t, s16,) \
30701 __DEFINTERLEAVE (op, int32x2x2_t, int32x2_t, s32,) \
30702 __DEFINTERLEAVE (op, uint8x8x2_t, uint8x8_t, u8,) \
30703 __DEFINTERLEAVE (op, uint16x4x2_t, uint16x4_t, u16,) \
30704 __DEFINTERLEAVE (op, uint32x2x2_t, uint32x2_t, u32,) \
30705 __DEFINTERLEAVE (op, float16x8x2_t, float16x8_t, f16, q) \
30706 __DEFINTERLEAVE (op, float32x4x2_t, float32x4_t, f32, q) \
30707 __DEFINTERLEAVE (op, poly8x16x2_t, poly8x16_t, p8, q) \
30708 __DEFINTERLEAVE (op, poly16x8x2_t, poly16x8_t, p16, q) \
30709 __DEFINTERLEAVE (op, int8x16x2_t, int8x16_t, s8, q) \
30710 __DEFINTERLEAVE (op, int16x8x2_t, int16x8_t, s16, q) \
30711 __DEFINTERLEAVE (op, int32x4x2_t, int32x4_t, s32, q) \
30712 __DEFINTERLEAVE (op, uint8x16x2_t, uint8x16_t, u8, q) \
30713 __DEFINTERLEAVE (op, uint16x8x2_t, uint16x8_t, u16, q) \
30714 __DEFINTERLEAVE (op, uint32x4x2_t, uint32x4_t, u32, q)
30718 __extension__
extern __inline float16x4_t
30719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30720 vuzp1_f16 (float16x4_t __a
, float16x4_t __b
)
30722 #ifdef __AARCH64EB__
30723 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 7, 1, 3});
30725 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 2, 4, 6});
30729 __extension__
extern __inline float32x2_t
30730 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30731 vuzp1_f32 (float32x2_t __a
, float32x2_t __b
)
30733 #ifdef __AARCH64EB__
30734 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
30736 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
30740 __extension__
extern __inline poly8x8_t
30741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30742 vuzp1_p8 (poly8x8_t __a
, poly8x8_t __b
)
30744 #ifdef __AARCH64EB__
30745 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30747 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30751 __extension__
extern __inline poly16x4_t
30752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30753 vuzp1_p16 (poly16x4_t __a
, poly16x4_t __b
)
30755 #ifdef __AARCH64EB__
30756 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 7, 1, 3});
30758 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 2, 4, 6});
30762 __extension__
extern __inline int8x8_t
30763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30764 vuzp1_s8 (int8x8_t __a
, int8x8_t __b
)
30766 #ifdef __AARCH64EB__
30767 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30769 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30773 __extension__
extern __inline int16x4_t
30774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30775 vuzp1_s16 (int16x4_t __a
, int16x4_t __b
)
30777 #ifdef __AARCH64EB__
30778 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 7, 1, 3});
30780 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 2, 4, 6});
30784 __extension__
extern __inline int32x2_t
30785 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30786 vuzp1_s32 (int32x2_t __a
, int32x2_t __b
)
30788 #ifdef __AARCH64EB__
30789 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
30791 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
30795 __extension__
extern __inline uint8x8_t
30796 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30797 vuzp1_u8 (uint8x8_t __a
, uint8x8_t __b
)
30799 #ifdef __AARCH64EB__
30800 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30802 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30806 __extension__
extern __inline uint16x4_t
30807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30808 vuzp1_u16 (uint16x4_t __a
, uint16x4_t __b
)
30810 #ifdef __AARCH64EB__
30811 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {5, 7, 1, 3});
30813 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 2, 4, 6});
30817 __extension__
extern __inline uint32x2_t
30818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30819 vuzp1_u32 (uint32x2_t __a
, uint32x2_t __b
)
30821 #ifdef __AARCH64EB__
30822 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
30824 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
30828 __extension__
extern __inline float16x8_t
30829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30830 vuzp1q_f16 (float16x8_t __a
, float16x8_t __b
)
30832 #ifdef __AARCH64EB__
30833 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30835 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30839 __extension__
extern __inline float32x4_t
30840 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30841 vuzp1q_f32 (float32x4_t __a
, float32x4_t __b
)
30843 #ifdef __AARCH64EB__
30844 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 7, 1, 3});
30846 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 2, 4, 6});
30850 __extension__
extern __inline float64x2_t
30851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30852 vuzp1q_f64 (float64x2_t __a
, float64x2_t __b
)
30854 #ifdef __AARCH64EB__
30855 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
30857 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
30861 __extension__
extern __inline poly8x16_t
30862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30863 vuzp1q_p8 (poly8x16_t __a
, poly8x16_t __b
)
30865 #ifdef __AARCH64EB__
30866 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
30867 {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
30869 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
30870 {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
30874 __extension__
extern __inline poly16x8_t
30875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30876 vuzp1q_p16 (poly16x8_t __a
, poly16x8_t __b
)
30878 #ifdef __AARCH64EB__
30879 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30881 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30885 __extension__
extern __inline int8x16_t
30886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30887 vuzp1q_s8 (int8x16_t __a
, int8x16_t __b
)
30889 #ifdef __AARCH64EB__
30890 return __builtin_shuffle (__a
, __b
,
30891 (uint8x16_t
) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
30893 return __builtin_shuffle (__a
, __b
,
30894 (uint8x16_t
) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
30898 __extension__
extern __inline int16x8_t
30899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30900 vuzp1q_s16 (int16x8_t __a
, int16x8_t __b
)
30902 #ifdef __AARCH64EB__
30903 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30905 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30909 __extension__
extern __inline int32x4_t
30910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30911 vuzp1q_s32 (int32x4_t __a
, int32x4_t __b
)
30913 #ifdef __AARCH64EB__
30914 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 7, 1, 3});
30916 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 2, 4, 6});
30920 __extension__
extern __inline int64x2_t
30921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30922 vuzp1q_s64 (int64x2_t __a
, int64x2_t __b
)
30924 #ifdef __AARCH64EB__
30925 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
30927 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
30931 __extension__
extern __inline uint8x16_t
30932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30933 vuzp1q_u8 (uint8x16_t __a
, uint8x16_t __b
)
30935 #ifdef __AARCH64EB__
30936 return __builtin_shuffle (__a
, __b
,
30937 (uint8x16_t
) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
30939 return __builtin_shuffle (__a
, __b
,
30940 (uint8x16_t
) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
30944 __extension__
extern __inline uint16x8_t
30945 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30946 vuzp1q_u16 (uint16x8_t __a
, uint16x8_t __b
)
30948 #ifdef __AARCH64EB__
30949 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {9, 11, 13, 15, 1, 3, 5, 7});
30951 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 2, 4, 6, 8, 10, 12, 14});
30955 __extension__
extern __inline uint32x4_t
30956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30957 vuzp1q_u32 (uint32x4_t __a
, uint32x4_t __b
)
30959 #ifdef __AARCH64EB__
30960 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {5, 7, 1, 3});
30962 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 2, 4, 6});
30966 __extension__
extern __inline uint64x2_t
30967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30968 vuzp1q_u64 (uint64x2_t __a
, uint64x2_t __b
)
30970 #ifdef __AARCH64EB__
30971 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
30973 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
30977 __extension__
extern __inline poly64x2_t
30978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30979 vuzp1q_p64 (poly64x2_t __a
, poly64x2_t __b
)
30981 #ifdef __AARCH64EB__
30982 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {3, 1});
30984 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {0, 2});
30988 __extension__
extern __inline float16x4_t
30989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
30990 vuzp2_f16 (float16x4_t __a
, float16x4_t __b
)
30992 #ifdef __AARCH64EB__
30993 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 6, 0, 2});
30995 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 3, 5, 7});
30999 __extension__
extern __inline float32x2_t
31000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31001 vuzp2_f32 (float32x2_t __a
, float32x2_t __b
)
31003 #ifdef __AARCH64EB__
31004 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31006 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31010 __extension__
extern __inline poly8x8_t
31011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31012 vuzp2_p8 (poly8x8_t __a
, poly8x8_t __b
)
31014 #ifdef __AARCH64EB__
31015 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31017 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31021 __extension__
extern __inline poly16x4_t
31022 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31023 vuzp2_p16 (poly16x4_t __a
, poly16x4_t __b
)
31025 #ifdef __AARCH64EB__
31026 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 6, 0, 2});
31028 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 3, 5, 7});
31032 __extension__
extern __inline int8x8_t
31033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31034 vuzp2_s8 (int8x8_t __a
, int8x8_t __b
)
31036 #ifdef __AARCH64EB__
31037 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31039 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31043 __extension__
extern __inline int16x4_t
31044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31045 vuzp2_s16 (int16x4_t __a
, int16x4_t __b
)
31047 #ifdef __AARCH64EB__
31048 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 6, 0, 2});
31050 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 3, 5, 7});
31054 __extension__
extern __inline int32x2_t
31055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31056 vuzp2_s32 (int32x2_t __a
, int32x2_t __b
)
31058 #ifdef __AARCH64EB__
31059 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31061 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31065 __extension__
extern __inline uint8x8_t
31066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31067 vuzp2_u8 (uint8x8_t __a
, uint8x8_t __b
)
31069 #ifdef __AARCH64EB__
31070 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31072 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31076 __extension__
extern __inline uint16x4_t
31077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31078 vuzp2_u16 (uint16x4_t __a
, uint16x4_t __b
)
31080 #ifdef __AARCH64EB__
31081 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 6, 0, 2});
31083 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {1, 3, 5, 7});
31087 __extension__
extern __inline uint32x2_t
31088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31089 vuzp2_u32 (uint32x2_t __a
, uint32x2_t __b
)
31091 #ifdef __AARCH64EB__
31092 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31094 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31098 __extension__
extern __inline float16x8_t
31099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31100 vuzp2q_f16 (float16x8_t __a
, float16x8_t __b
)
31102 #ifdef __AARCH64EB__
31103 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31105 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31109 __extension__
extern __inline float32x4_t
31110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31111 vuzp2q_f32 (float32x4_t __a
, float32x4_t __b
)
31113 #ifdef __AARCH64EB__
31114 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 6, 0, 2});
31116 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 3, 5, 7});
31120 __extension__
extern __inline float64x2_t
31121 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31122 vuzp2q_f64 (float64x2_t __a
, float64x2_t __b
)
31124 #ifdef __AARCH64EB__
31125 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31127 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31131 __extension__
extern __inline poly8x16_t
31132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31133 vuzp2q_p8 (poly8x16_t __a
, poly8x16_t __b
)
31135 #ifdef __AARCH64EB__
31136 return __builtin_shuffle (__a
, __b
,
31137 (uint8x16_t
) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31139 return __builtin_shuffle (__a
, __b
,
31140 (uint8x16_t
) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31144 __extension__
extern __inline poly16x8_t
31145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31146 vuzp2q_p16 (poly16x8_t __a
, poly16x8_t __b
)
31148 #ifdef __AARCH64EB__
31149 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31151 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31155 __extension__
extern __inline int8x16_t
31156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31157 vuzp2q_s8 (int8x16_t __a
, int8x16_t __b
)
31159 #ifdef __AARCH64EB__
31160 return __builtin_shuffle (__a
, __b
,
31161 (uint8x16_t
) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31163 return __builtin_shuffle (__a
, __b
,
31164 (uint8x16_t
) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31168 __extension__
extern __inline int16x8_t
31169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31170 vuzp2q_s16 (int16x8_t __a
, int16x8_t __b
)
31172 #ifdef __AARCH64EB__
31173 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31175 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31179 __extension__
extern __inline int32x4_t
31180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31181 vuzp2q_s32 (int32x4_t __a
, int32x4_t __b
)
31183 #ifdef __AARCH64EB__
31184 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 6, 0, 2});
31186 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 3, 5, 7});
31190 __extension__
extern __inline int64x2_t
31191 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31192 vuzp2q_s64 (int64x2_t __a
, int64x2_t __b
)
31194 #ifdef __AARCH64EB__
31195 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31197 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31201 __extension__
extern __inline uint8x16_t
31202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31203 vuzp2q_u8 (uint8x16_t __a
, uint8x16_t __b
)
31205 #ifdef __AARCH64EB__
31206 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31207 {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31209 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31210 {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31214 __extension__
extern __inline uint16x8_t
31215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31216 vuzp2q_u16 (uint16x8_t __a
, uint16x8_t __b
)
31218 #ifdef __AARCH64EB__
31219 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 10, 12, 14, 0, 2, 4, 6});
31221 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {1, 3, 5, 7, 9, 11, 13, 15});
31225 __extension__
extern __inline uint32x4_t
31226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31227 vuzp2q_u32 (uint32x4_t __a
, uint32x4_t __b
)
31229 #ifdef __AARCH64EB__
31230 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 6, 0, 2});
31232 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {1, 3, 5, 7});
31236 __extension__
extern __inline uint64x2_t
31237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31238 vuzp2q_u64 (uint64x2_t __a
, uint64x2_t __b
)
31240 #ifdef __AARCH64EB__
31241 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31243 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31247 __extension__
extern __inline poly64x2_t
31248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31249 vuzp2q_p64 (poly64x2_t __a
, poly64x2_t __b
)
31251 #ifdef __AARCH64EB__
31252 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {2, 0});
31254 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {1, 3});
31258 __INTERLEAVE_LIST (uzp
)
31262 __extension__
extern __inline float16x4_t
31263 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31264 vzip1_f16 (float16x4_t __a
, float16x4_t __b
)
31266 #ifdef __AARCH64EB__
31267 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {6, 2, 7, 3});
31269 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 1, 5});
31273 __extension__
extern __inline float32x2_t
31274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31275 vzip1_f32 (float32x2_t __a
, float32x2_t __b
)
31277 #ifdef __AARCH64EB__
31278 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
31280 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
31284 __extension__
extern __inline poly8x8_t
31285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31286 vzip1_p8 (poly8x8_t __a
, poly8x8_t __b
)
31288 #ifdef __AARCH64EB__
31289 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {12, 4, 13, 5, 14, 6, 15, 7});
31291 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31295 __extension__
extern __inline poly16x4_t
31296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31297 vzip1_p16 (poly16x4_t __a
, poly16x4_t __b
)
31299 #ifdef __AARCH64EB__
31300 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {6, 2, 7, 3});
31302 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 1, 5});
31306 __extension__
extern __inline int8x8_t
31307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31308 vzip1_s8 (int8x8_t __a
, int8x8_t __b
)
31310 #ifdef __AARCH64EB__
31311 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {12, 4, 13, 5, 14, 6, 15, 7});
31313 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31317 __extension__
extern __inline int16x4_t
31318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31319 vzip1_s16 (int16x4_t __a
, int16x4_t __b
)
31321 #ifdef __AARCH64EB__
31322 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {6, 2, 7, 3});
31324 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 1, 5});
31328 __extension__
extern __inline int32x2_t
31329 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31330 vzip1_s32 (int32x2_t __a
, int32x2_t __b
)
31332 #ifdef __AARCH64EB__
31333 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
31335 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
31339 __extension__
extern __inline uint8x8_t
31340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31341 vzip1_u8 (uint8x8_t __a
, uint8x8_t __b
)
31343 #ifdef __AARCH64EB__
31344 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {12, 4, 13, 5, 14, 6, 15, 7});
31346 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31350 __extension__
extern __inline uint16x4_t
31351 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31352 vzip1_u16 (uint16x4_t __a
, uint16x4_t __b
)
31354 #ifdef __AARCH64EB__
31355 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {6, 2, 7, 3});
31357 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {0, 4, 1, 5});
31361 __extension__
extern __inline uint32x2_t
31362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31363 vzip1_u32 (uint32x2_t __a
, uint32x2_t __b
)
31365 #ifdef __AARCH64EB__
31366 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {3, 1});
31368 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {0, 2});
31372 __extension__
extern __inline float16x8_t
31373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31374 vzip1q_f16 (float16x8_t __a
, float16x8_t __b
)
31376 #ifdef __AARCH64EB__
31377 return __builtin_shuffle (__a
, __b
,
31378 (uint16x8_t
) {12, 4, 13, 5, 14, 6, 15, 7});
31380 return __builtin_shuffle (__a
, __b
,
31381 (uint16x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31385 __extension__
extern __inline float32x4_t
31386 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31387 vzip1q_f32 (float32x4_t __a
, float32x4_t __b
)
31389 #ifdef __AARCH64EB__
31390 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {6, 2, 7, 3});
31392 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 1, 5});
31396 __extension__
extern __inline float64x2_t
31397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31398 vzip1q_f64 (float64x2_t __a
, float64x2_t __b
)
31400 #ifdef __AARCH64EB__
31401 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
31403 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
31407 __extension__
extern __inline poly8x16_t
31408 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31409 vzip1q_p8 (poly8x16_t __a
, poly8x16_t __b
)
31411 #ifdef __AARCH64EB__
31412 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31413 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31415 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31416 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31420 __extension__
extern __inline poly16x8_t
31421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31422 vzip1q_p16 (poly16x8_t __a
, poly16x8_t __b
)
31424 #ifdef __AARCH64EB__
31425 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31426 {12, 4, 13, 5, 14, 6, 15, 7});
31428 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31432 __extension__
extern __inline int8x16_t
31433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31434 vzip1q_s8 (int8x16_t __a
, int8x16_t __b
)
31436 #ifdef __AARCH64EB__
31437 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31438 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31440 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31441 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31445 __extension__
extern __inline int16x8_t
31446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31447 vzip1q_s16 (int16x8_t __a
, int16x8_t __b
)
31449 #ifdef __AARCH64EB__
31450 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31451 {12, 4, 13, 5, 14, 6, 15, 7});
31453 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31457 __extension__
extern __inline int32x4_t
31458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31459 vzip1q_s32 (int32x4_t __a
, int32x4_t __b
)
31461 #ifdef __AARCH64EB__
31462 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {6, 2, 7, 3});
31464 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 1, 5});
31468 __extension__
extern __inline int64x2_t
31469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31470 vzip1q_s64 (int64x2_t __a
, int64x2_t __b
)
31472 #ifdef __AARCH64EB__
31473 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
31475 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
31479 __extension__
extern __inline uint8x16_t
31480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31481 vzip1q_u8 (uint8x16_t __a
, uint8x16_t __b
)
31483 #ifdef __AARCH64EB__
31484 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31485 {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31487 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31488 {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31492 __extension__
extern __inline uint16x8_t
31493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31494 vzip1q_u16 (uint16x8_t __a
, uint16x8_t __b
)
31496 #ifdef __AARCH64EB__
31497 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31498 {12, 4, 13, 5, 14, 6, 15, 7});
31500 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {0, 8, 1, 9, 2, 10, 3, 11});
31504 __extension__
extern __inline uint32x4_t
31505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31506 vzip1q_u32 (uint32x4_t __a
, uint32x4_t __b
)
31508 #ifdef __AARCH64EB__
31509 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {6, 2, 7, 3});
31511 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {0, 4, 1, 5});
31515 __extension__
extern __inline uint64x2_t
31516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31517 vzip1q_u64 (uint64x2_t __a
, uint64x2_t __b
)
31519 #ifdef __AARCH64EB__
31520 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {3, 1});
31522 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {0, 2});
31526 __extension__
extern __inline poly64x2_t
31527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31528 vzip1q_p64 (poly64x2_t __a
, poly64x2_t __b
)
31530 #ifdef __AARCH64EB__
31531 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {3, 1});
31533 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {0, 2});
31537 __extension__
extern __inline float16x4_t
31538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31539 vzip2_f16 (float16x4_t __a
, float16x4_t __b
)
31541 #ifdef __AARCH64EB__
31542 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 5, 1});
31544 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {2, 6, 3, 7});
31548 __extension__
extern __inline float32x2_t
31549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31550 vzip2_f32 (float32x2_t __a
, float32x2_t __b
)
31552 #ifdef __AARCH64EB__
31553 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31555 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31559 __extension__
extern __inline poly8x8_t
31560 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31561 vzip2_p8 (poly8x8_t __a
, poly8x8_t __b
)
31563 #ifdef __AARCH64EB__
31564 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31566 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {4, 12, 5, 13, 6, 14, 7, 15});
31570 __extension__
extern __inline poly16x4_t
31571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31572 vzip2_p16 (poly16x4_t __a
, poly16x4_t __b
)
31574 #ifdef __AARCH64EB__
31575 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 5, 1});
31577 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {2, 6, 3, 7});
31581 __extension__
extern __inline int8x8_t
31582 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31583 vzip2_s8 (int8x8_t __a
, int8x8_t __b
)
31585 #ifdef __AARCH64EB__
31586 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31588 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {4, 12, 5, 13, 6, 14, 7, 15});
31592 __extension__
extern __inline int16x4_t
31593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31594 vzip2_s16 (int16x4_t __a
, int16x4_t __b
)
31596 #ifdef __AARCH64EB__
31597 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 5, 1});
31599 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {2, 6, 3, 7});
31603 __extension__
extern __inline int32x2_t
31604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31605 vzip2_s32 (int32x2_t __a
, int32x2_t __b
)
31607 #ifdef __AARCH64EB__
31608 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31610 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31614 __extension__
extern __inline uint8x8_t
31615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31616 vzip2_u8 (uint8x8_t __a
, uint8x8_t __b
)
31618 #ifdef __AARCH64EB__
31619 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31621 return __builtin_shuffle (__a
, __b
, (uint8x8_t
) {4, 12, 5, 13, 6, 14, 7, 15});
31625 __extension__
extern __inline uint16x4_t
31626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31627 vzip2_u16 (uint16x4_t __a
, uint16x4_t __b
)
31629 #ifdef __AARCH64EB__
31630 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {4, 0, 5, 1});
31632 return __builtin_shuffle (__a
, __b
, (uint16x4_t
) {2, 6, 3, 7});
31636 __extension__
extern __inline uint32x2_t
31637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31638 vzip2_u32 (uint32x2_t __a
, uint32x2_t __b
)
31640 #ifdef __AARCH64EB__
31641 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {2, 0});
31643 return __builtin_shuffle (__a
, __b
, (uint32x2_t
) {1, 3});
31647 __extension__
extern __inline float16x8_t
31648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31649 vzip2q_f16 (float16x8_t __a
, float16x8_t __b
)
31651 #ifdef __AARCH64EB__
31652 return __builtin_shuffle (__a
, __b
,
31653 (uint16x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31655 return __builtin_shuffle (__a
, __b
,
31656 (uint16x8_t
) {4, 12, 5, 13, 6, 14, 7, 15});
31660 __extension__
extern __inline float32x4_t
31661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31662 vzip2q_f32 (float32x4_t __a
, float32x4_t __b
)
31664 #ifdef __AARCH64EB__
31665 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 5, 1});
31667 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {2, 6, 3, 7});
31671 __extension__
extern __inline float64x2_t
31672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31673 vzip2q_f64 (float64x2_t __a
, float64x2_t __b
)
31675 #ifdef __AARCH64EB__
31676 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31678 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31682 __extension__
extern __inline poly8x16_t
31683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31684 vzip2q_p8 (poly8x16_t __a
, poly8x16_t __b
)
31686 #ifdef __AARCH64EB__
31687 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31688 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
31690 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31691 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
31695 __extension__
extern __inline poly16x8_t
31696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31697 vzip2q_p16 (poly16x8_t __a
, poly16x8_t __b
)
31699 #ifdef __AARCH64EB__
31700 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31702 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31703 {4, 12, 5, 13, 6, 14, 7, 15});
31707 __extension__
extern __inline int8x16_t
31708 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31709 vzip2q_s8 (int8x16_t __a
, int8x16_t __b
)
31711 #ifdef __AARCH64EB__
31712 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31713 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
31715 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31716 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
31720 __extension__
extern __inline int16x8_t
31721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31722 vzip2q_s16 (int16x8_t __a
, int16x8_t __b
)
31724 #ifdef __AARCH64EB__
31725 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31727 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31728 {4, 12, 5, 13, 6, 14, 7, 15});
31732 __extension__
extern __inline int32x4_t
31733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31734 vzip2q_s32 (int32x4_t __a
, int32x4_t __b
)
31736 #ifdef __AARCH64EB__
31737 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 5, 1});
31739 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {2, 6, 3, 7});
31743 __extension__
extern __inline int64x2_t
31744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31745 vzip2q_s64 (int64x2_t __a
, int64x2_t __b
)
31747 #ifdef __AARCH64EB__
31748 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31750 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31754 __extension__
extern __inline uint8x16_t
31755 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31756 vzip2q_u8 (uint8x16_t __a
, uint8x16_t __b
)
31758 #ifdef __AARCH64EB__
31759 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31760 {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
31762 return __builtin_shuffle (__a
, __b
, (uint8x16_t
)
31763 {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
31767 __extension__
extern __inline uint16x8_t
31768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31769 vzip2q_u16 (uint16x8_t __a
, uint16x8_t __b
)
31771 #ifdef __AARCH64EB__
31772 return __builtin_shuffle (__a
, __b
, (uint16x8_t
) {8, 0, 9, 1, 10, 2, 11, 3});
31774 return __builtin_shuffle (__a
, __b
, (uint16x8_t
)
31775 {4, 12, 5, 13, 6, 14, 7, 15});
31779 __extension__
extern __inline uint32x4_t
31780 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31781 vzip2q_u32 (uint32x4_t __a
, uint32x4_t __b
)
31783 #ifdef __AARCH64EB__
31784 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {4, 0, 5, 1});
31786 return __builtin_shuffle (__a
, __b
, (uint32x4_t
) {2, 6, 3, 7});
31790 __extension__
extern __inline uint64x2_t
31791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31792 vzip2q_u64 (uint64x2_t __a
, uint64x2_t __b
)
31794 #ifdef __AARCH64EB__
31795 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {2, 0});
31797 return __builtin_shuffle (__a
, __b
, (uint64x2_t
) {1, 3});
31801 __extension__
extern __inline poly64x2_t
31802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31803 vzip2q_p64 (poly64x2_t __a
, poly64x2_t __b
)
31805 #ifdef __AARCH64EB__
31806 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {2, 0});
31808 return __builtin_shuffle (__a
, __b
, (poly64x2_t
) {1, 3});
31812 __INTERLEAVE_LIST (zip
)
31814 #undef __INTERLEAVE_LIST
31815 #undef __DEFINTERLEAVE
31817 /* End of optimal implementations in approved order. */
31819 #pragma GCC pop_options
31821 /* ARMv8.2-A FP16 intrinsics. */
31823 #include "arm_fp16.h"
31825 #pragma GCC push_options
31826 #pragma GCC target ("arch=armv8.2-a+fp16")
31828 /* ARMv8.2-A FP16 one operand vector intrinsics. */
31830 __extension__
extern __inline float16x4_t
31831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31832 vabs_f16 (float16x4_t __a
)
31834 return __builtin_aarch64_absv4hf (__a
);
31837 __extension__
extern __inline float16x8_t
31838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31839 vabsq_f16 (float16x8_t __a
)
31841 return __builtin_aarch64_absv8hf (__a
);
31844 __extension__
extern __inline uint16x4_t
31845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31846 vceqz_f16 (float16x4_t __a
)
31848 return __builtin_aarch64_cmeqv4hf_uss (__a
, vdup_n_f16 (0.0f
));
31851 __extension__
extern __inline uint16x8_t
31852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31853 vceqzq_f16 (float16x8_t __a
)
31855 return __builtin_aarch64_cmeqv8hf_uss (__a
, vdupq_n_f16 (0.0f
));
31858 __extension__
extern __inline uint16x4_t
31859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31860 vcgez_f16 (float16x4_t __a
)
31862 return __builtin_aarch64_cmgev4hf_uss (__a
, vdup_n_f16 (0.0f
));
31865 __extension__
extern __inline uint16x8_t
31866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31867 vcgezq_f16 (float16x8_t __a
)
31869 return __builtin_aarch64_cmgev8hf_uss (__a
, vdupq_n_f16 (0.0f
));
31872 __extension__
extern __inline uint16x4_t
31873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31874 vcgtz_f16 (float16x4_t __a
)
31876 return __builtin_aarch64_cmgtv4hf_uss (__a
, vdup_n_f16 (0.0f
));
31879 __extension__
extern __inline uint16x8_t
31880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31881 vcgtzq_f16 (float16x8_t __a
)
31883 return __builtin_aarch64_cmgtv8hf_uss (__a
, vdupq_n_f16 (0.0f
));
31886 __extension__
extern __inline uint16x4_t
31887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31888 vclez_f16 (float16x4_t __a
)
31890 return __builtin_aarch64_cmlev4hf_uss (__a
, vdup_n_f16 (0.0f
));
31893 __extension__
extern __inline uint16x8_t
31894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31895 vclezq_f16 (float16x8_t __a
)
31897 return __builtin_aarch64_cmlev8hf_uss (__a
, vdupq_n_f16 (0.0f
));
31900 __extension__
extern __inline uint16x4_t
31901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31902 vcltz_f16 (float16x4_t __a
)
31904 return __builtin_aarch64_cmltv4hf_uss (__a
, vdup_n_f16 (0.0f
));
31907 __extension__
extern __inline uint16x8_t
31908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31909 vcltzq_f16 (float16x8_t __a
)
31911 return __builtin_aarch64_cmltv8hf_uss (__a
, vdupq_n_f16 (0.0f
));
31914 __extension__
extern __inline float16x4_t
31915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31916 vcvt_f16_s16 (int16x4_t __a
)
31918 return __builtin_aarch64_floatv4hiv4hf (__a
);
31921 __extension__
extern __inline float16x8_t
31922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31923 vcvtq_f16_s16 (int16x8_t __a
)
31925 return __builtin_aarch64_floatv8hiv8hf (__a
);
31928 __extension__
extern __inline float16x4_t
31929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31930 vcvt_f16_u16 (uint16x4_t __a
)
31932 return __builtin_aarch64_floatunsv4hiv4hf ((int16x4_t
) __a
);
31935 __extension__
extern __inline float16x8_t
31936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31937 vcvtq_f16_u16 (uint16x8_t __a
)
31939 return __builtin_aarch64_floatunsv8hiv8hf ((int16x8_t
) __a
);
31942 __extension__
extern __inline int16x4_t
31943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31944 vcvt_s16_f16 (float16x4_t __a
)
31946 return __builtin_aarch64_lbtruncv4hfv4hi (__a
);
31949 __extension__
extern __inline int16x8_t
31950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31951 vcvtq_s16_f16 (float16x8_t __a
)
31953 return __builtin_aarch64_lbtruncv8hfv8hi (__a
);
31956 __extension__
extern __inline uint16x4_t
31957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31958 vcvt_u16_f16 (float16x4_t __a
)
31960 return __builtin_aarch64_lbtruncuv4hfv4hi_us (__a
);
31963 __extension__
extern __inline uint16x8_t
31964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31965 vcvtq_u16_f16 (float16x8_t __a
)
31967 return __builtin_aarch64_lbtruncuv8hfv8hi_us (__a
);
31970 __extension__
extern __inline int16x4_t
31971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31972 vcvta_s16_f16 (float16x4_t __a
)
31974 return __builtin_aarch64_lroundv4hfv4hi (__a
);
31977 __extension__
extern __inline int16x8_t
31978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31979 vcvtaq_s16_f16 (float16x8_t __a
)
31981 return __builtin_aarch64_lroundv8hfv8hi (__a
);
31984 __extension__
extern __inline uint16x4_t
31985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31986 vcvta_u16_f16 (float16x4_t __a
)
31988 return __builtin_aarch64_lrounduv4hfv4hi_us (__a
);
31991 __extension__
extern __inline uint16x8_t
31992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
31993 vcvtaq_u16_f16 (float16x8_t __a
)
31995 return __builtin_aarch64_lrounduv8hfv8hi_us (__a
);
31998 __extension__
extern __inline int16x4_t
31999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32000 vcvtm_s16_f16 (float16x4_t __a
)
32002 return __builtin_aarch64_lfloorv4hfv4hi (__a
);
32005 __extension__
extern __inline int16x8_t
32006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32007 vcvtmq_s16_f16 (float16x8_t __a
)
32009 return __builtin_aarch64_lfloorv8hfv8hi (__a
);
32012 __extension__
extern __inline uint16x4_t
32013 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32014 vcvtm_u16_f16 (float16x4_t __a
)
32016 return __builtin_aarch64_lflooruv4hfv4hi_us (__a
);
32019 __extension__
extern __inline uint16x8_t
32020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32021 vcvtmq_u16_f16 (float16x8_t __a
)
32023 return __builtin_aarch64_lflooruv8hfv8hi_us (__a
);
32026 __extension__
extern __inline int16x4_t
32027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32028 vcvtn_s16_f16 (float16x4_t __a
)
32030 return __builtin_aarch64_lfrintnv4hfv4hi (__a
);
32033 __extension__
extern __inline int16x8_t
32034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32035 vcvtnq_s16_f16 (float16x8_t __a
)
32037 return __builtin_aarch64_lfrintnv8hfv8hi (__a
);
32040 __extension__
extern __inline uint16x4_t
32041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32042 vcvtn_u16_f16 (float16x4_t __a
)
32044 return __builtin_aarch64_lfrintnuv4hfv4hi_us (__a
);
32047 __extension__
extern __inline uint16x8_t
32048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32049 vcvtnq_u16_f16 (float16x8_t __a
)
32051 return __builtin_aarch64_lfrintnuv8hfv8hi_us (__a
);
32054 __extension__
extern __inline int16x4_t
32055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32056 vcvtp_s16_f16 (float16x4_t __a
)
32058 return __builtin_aarch64_lceilv4hfv4hi (__a
);
32061 __extension__
extern __inline int16x8_t
32062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32063 vcvtpq_s16_f16 (float16x8_t __a
)
32065 return __builtin_aarch64_lceilv8hfv8hi (__a
);
32068 __extension__
extern __inline uint16x4_t
32069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32070 vcvtp_u16_f16 (float16x4_t __a
)
32072 return __builtin_aarch64_lceiluv4hfv4hi_us (__a
);
32075 __extension__
extern __inline uint16x8_t
32076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32077 vcvtpq_u16_f16 (float16x8_t __a
)
32079 return __builtin_aarch64_lceiluv8hfv8hi_us (__a
);
32082 __extension__
extern __inline float16x4_t
32083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32084 vneg_f16 (float16x4_t __a
)
32089 __extension__
extern __inline float16x8_t
32090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32091 vnegq_f16 (float16x8_t __a
)
32096 __extension__
extern __inline float16x4_t
32097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32098 vrecpe_f16 (float16x4_t __a
)
32100 return __builtin_aarch64_frecpev4hf (__a
);
32103 __extension__
extern __inline float16x8_t
32104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32105 vrecpeq_f16 (float16x8_t __a
)
32107 return __builtin_aarch64_frecpev8hf (__a
);
32110 __extension__
extern __inline float16x4_t
32111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32112 vrnd_f16 (float16x4_t __a
)
32114 return __builtin_aarch64_btruncv4hf (__a
);
32117 __extension__
extern __inline float16x8_t
32118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32119 vrndq_f16 (float16x8_t __a
)
32121 return __builtin_aarch64_btruncv8hf (__a
);
32124 __extension__
extern __inline float16x4_t
32125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32126 vrnda_f16 (float16x4_t __a
)
32128 return __builtin_aarch64_roundv4hf (__a
);
32131 __extension__
extern __inline float16x8_t
32132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32133 vrndaq_f16 (float16x8_t __a
)
32135 return __builtin_aarch64_roundv8hf (__a
);
32138 __extension__
extern __inline float16x4_t
32139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32140 vrndi_f16 (float16x4_t __a
)
32142 return __builtin_aarch64_nearbyintv4hf (__a
);
32145 __extension__
extern __inline float16x8_t
32146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32147 vrndiq_f16 (float16x8_t __a
)
32149 return __builtin_aarch64_nearbyintv8hf (__a
);
32152 __extension__
extern __inline float16x4_t
32153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32154 vrndm_f16 (float16x4_t __a
)
32156 return __builtin_aarch64_floorv4hf (__a
);
32159 __extension__
extern __inline float16x8_t
32160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32161 vrndmq_f16 (float16x8_t __a
)
32163 return __builtin_aarch64_floorv8hf (__a
);
32166 __extension__
extern __inline float16x4_t
32167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32168 vrndn_f16 (float16x4_t __a
)
32170 return __builtin_aarch64_frintnv4hf (__a
);
32173 __extension__
extern __inline float16x8_t
32174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32175 vrndnq_f16 (float16x8_t __a
)
32177 return __builtin_aarch64_frintnv8hf (__a
);
32180 __extension__
extern __inline float16x4_t
32181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32182 vrndp_f16 (float16x4_t __a
)
32184 return __builtin_aarch64_ceilv4hf (__a
);
32187 __extension__
extern __inline float16x8_t
32188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32189 vrndpq_f16 (float16x8_t __a
)
32191 return __builtin_aarch64_ceilv8hf (__a
);
32194 __extension__
extern __inline float16x4_t
32195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32196 vrndx_f16 (float16x4_t __a
)
32198 return __builtin_aarch64_rintv4hf (__a
);
32201 __extension__
extern __inline float16x8_t
32202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32203 vrndxq_f16 (float16x8_t __a
)
32205 return __builtin_aarch64_rintv8hf (__a
);
32208 __extension__
extern __inline float16x4_t
32209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32210 vrsqrte_f16 (float16x4_t __a
)
32212 return __builtin_aarch64_rsqrtev4hf (__a
);
32215 __extension__
extern __inline float16x8_t
32216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32217 vrsqrteq_f16 (float16x8_t __a
)
32219 return __builtin_aarch64_rsqrtev8hf (__a
);
32222 __extension__
extern __inline float16x4_t
32223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32224 vsqrt_f16 (float16x4_t __a
)
32226 return __builtin_aarch64_sqrtv4hf (__a
);
32229 __extension__
extern __inline float16x8_t
32230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32231 vsqrtq_f16 (float16x8_t __a
)
32233 return __builtin_aarch64_sqrtv8hf (__a
);
32236 /* ARMv8.2-A FP16 two operands vector intrinsics. */
32238 __extension__
extern __inline float16x4_t
32239 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32240 vadd_f16 (float16x4_t __a
, float16x4_t __b
)
32245 __extension__
extern __inline float16x8_t
32246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32247 vaddq_f16 (float16x8_t __a
, float16x8_t __b
)
32252 __extension__
extern __inline float16x4_t
32253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32254 vabd_f16 (float16x4_t __a
, float16x4_t __b
)
32256 return __builtin_aarch64_fabdv4hf (__a
, __b
);
32259 __extension__
extern __inline float16x8_t
32260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32261 vabdq_f16 (float16x8_t __a
, float16x8_t __b
)
32263 return __builtin_aarch64_fabdv8hf (__a
, __b
);
32266 __extension__
extern __inline uint16x4_t
32267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32268 vcage_f16 (float16x4_t __a
, float16x4_t __b
)
32270 return __builtin_aarch64_facgev4hf_uss (__a
, __b
);
32273 __extension__
extern __inline uint16x8_t
32274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32275 vcageq_f16 (float16x8_t __a
, float16x8_t __b
)
32277 return __builtin_aarch64_facgev8hf_uss (__a
, __b
);
32280 __extension__
extern __inline uint16x4_t
32281 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32282 vcagt_f16 (float16x4_t __a
, float16x4_t __b
)
32284 return __builtin_aarch64_facgtv4hf_uss (__a
, __b
);
32287 __extension__
extern __inline uint16x8_t
32288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32289 vcagtq_f16 (float16x8_t __a
, float16x8_t __b
)
32291 return __builtin_aarch64_facgtv8hf_uss (__a
, __b
);
32294 __extension__
extern __inline uint16x4_t
32295 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32296 vcale_f16 (float16x4_t __a
, float16x4_t __b
)
32298 return __builtin_aarch64_faclev4hf_uss (__a
, __b
);
32301 __extension__
extern __inline uint16x8_t
32302 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32303 vcaleq_f16 (float16x8_t __a
, float16x8_t __b
)
32305 return __builtin_aarch64_faclev8hf_uss (__a
, __b
);
32308 __extension__
extern __inline uint16x4_t
32309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32310 vcalt_f16 (float16x4_t __a
, float16x4_t __b
)
32312 return __builtin_aarch64_facltv4hf_uss (__a
, __b
);
32315 __extension__
extern __inline uint16x8_t
32316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32317 vcaltq_f16 (float16x8_t __a
, float16x8_t __b
)
32319 return __builtin_aarch64_facltv8hf_uss (__a
, __b
);
32322 __extension__
extern __inline uint16x4_t
32323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32324 vceq_f16 (float16x4_t __a
, float16x4_t __b
)
32326 return __builtin_aarch64_cmeqv4hf_uss (__a
, __b
);
32329 __extension__
extern __inline uint16x8_t
32330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32331 vceqq_f16 (float16x8_t __a
, float16x8_t __b
)
32333 return __builtin_aarch64_cmeqv8hf_uss (__a
, __b
);
32336 __extension__
extern __inline uint16x4_t
32337 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32338 vcge_f16 (float16x4_t __a
, float16x4_t __b
)
32340 return __builtin_aarch64_cmgev4hf_uss (__a
, __b
);
32343 __extension__
extern __inline uint16x8_t
32344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32345 vcgeq_f16 (float16x8_t __a
, float16x8_t __b
)
32347 return __builtin_aarch64_cmgev8hf_uss (__a
, __b
);
32350 __extension__
extern __inline uint16x4_t
32351 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32352 vcgt_f16 (float16x4_t __a
, float16x4_t __b
)
32354 return __builtin_aarch64_cmgtv4hf_uss (__a
, __b
);
32357 __extension__
extern __inline uint16x8_t
32358 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32359 vcgtq_f16 (float16x8_t __a
, float16x8_t __b
)
32361 return __builtin_aarch64_cmgtv8hf_uss (__a
, __b
);
32364 __extension__
extern __inline uint16x4_t
32365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32366 vcle_f16 (float16x4_t __a
, float16x4_t __b
)
32368 return __builtin_aarch64_cmlev4hf_uss (__a
, __b
);
32371 __extension__
extern __inline uint16x8_t
32372 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32373 vcleq_f16 (float16x8_t __a
, float16x8_t __b
)
32375 return __builtin_aarch64_cmlev8hf_uss (__a
, __b
);
32378 __extension__
extern __inline uint16x4_t
32379 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32380 vclt_f16 (float16x4_t __a
, float16x4_t __b
)
32382 return __builtin_aarch64_cmltv4hf_uss (__a
, __b
);
32385 __extension__
extern __inline uint16x8_t
32386 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32387 vcltq_f16 (float16x8_t __a
, float16x8_t __b
)
32389 return __builtin_aarch64_cmltv8hf_uss (__a
, __b
);
32392 __extension__
extern __inline float16x4_t
32393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32394 vcvt_n_f16_s16 (int16x4_t __a
, const int __b
)
32396 return __builtin_aarch64_scvtfv4hi (__a
, __b
);
32399 __extension__
extern __inline float16x8_t
32400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32401 vcvtq_n_f16_s16 (int16x8_t __a
, const int __b
)
32403 return __builtin_aarch64_scvtfv8hi (__a
, __b
);
32406 __extension__
extern __inline float16x4_t
32407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32408 vcvt_n_f16_u16 (uint16x4_t __a
, const int __b
)
32410 return __builtin_aarch64_ucvtfv4hi_sus (__a
, __b
);
32413 __extension__
extern __inline float16x8_t
32414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32415 vcvtq_n_f16_u16 (uint16x8_t __a
, const int __b
)
32417 return __builtin_aarch64_ucvtfv8hi_sus (__a
, __b
);
32420 __extension__
extern __inline int16x4_t
32421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32422 vcvt_n_s16_f16 (float16x4_t __a
, const int __b
)
32424 return __builtin_aarch64_fcvtzsv4hf (__a
, __b
);
32427 __extension__
extern __inline int16x8_t
32428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32429 vcvtq_n_s16_f16 (float16x8_t __a
, const int __b
)
32431 return __builtin_aarch64_fcvtzsv8hf (__a
, __b
);
32434 __extension__
extern __inline uint16x4_t
32435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32436 vcvt_n_u16_f16 (float16x4_t __a
, const int __b
)
32438 return __builtin_aarch64_fcvtzuv4hf_uss (__a
, __b
);
32441 __extension__
extern __inline uint16x8_t
32442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32443 vcvtq_n_u16_f16 (float16x8_t __a
, const int __b
)
32445 return __builtin_aarch64_fcvtzuv8hf_uss (__a
, __b
);
32448 __extension__
extern __inline float16x4_t
32449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32450 vdiv_f16 (float16x4_t __a
, float16x4_t __b
)
32455 __extension__
extern __inline float16x8_t
32456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32457 vdivq_f16 (float16x8_t __a
, float16x8_t __b
)
32462 __extension__
extern __inline float16x4_t
32463 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32464 vmax_f16 (float16x4_t __a
, float16x4_t __b
)
32466 return __builtin_aarch64_smax_nanv4hf (__a
, __b
);
32469 __extension__
extern __inline float16x8_t
32470 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32471 vmaxq_f16 (float16x8_t __a
, float16x8_t __b
)
32473 return __builtin_aarch64_smax_nanv8hf (__a
, __b
);
32476 __extension__
extern __inline float16x4_t
32477 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32478 vmaxnm_f16 (float16x4_t __a
, float16x4_t __b
)
32480 return __builtin_aarch64_fmaxv4hf (__a
, __b
);
32483 __extension__
extern __inline float16x8_t
32484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32485 vmaxnmq_f16 (float16x8_t __a
, float16x8_t __b
)
32487 return __builtin_aarch64_fmaxv8hf (__a
, __b
);
32490 __extension__
extern __inline float16x4_t
32491 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32492 vmin_f16 (float16x4_t __a
, float16x4_t __b
)
32494 return __builtin_aarch64_smin_nanv4hf (__a
, __b
);
32497 __extension__
extern __inline float16x8_t
32498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32499 vminq_f16 (float16x8_t __a
, float16x8_t __b
)
32501 return __builtin_aarch64_smin_nanv8hf (__a
, __b
);
32504 __extension__
extern __inline float16x4_t
32505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32506 vminnm_f16 (float16x4_t __a
, float16x4_t __b
)
32508 return __builtin_aarch64_fminv4hf (__a
, __b
);
32511 __extension__
extern __inline float16x8_t
32512 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32513 vminnmq_f16 (float16x8_t __a
, float16x8_t __b
)
32515 return __builtin_aarch64_fminv8hf (__a
, __b
);
32518 __extension__
extern __inline float16x4_t
32519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32520 vmul_f16 (float16x4_t __a
, float16x4_t __b
)
32525 __extension__
extern __inline float16x8_t
32526 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32527 vmulq_f16 (float16x8_t __a
, float16x8_t __b
)
32532 __extension__
extern __inline float16x4_t
32533 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32534 vmulx_f16 (float16x4_t __a
, float16x4_t __b
)
32536 return __builtin_aarch64_fmulxv4hf (__a
, __b
);
32539 __extension__
extern __inline float16x8_t
32540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32541 vmulxq_f16 (float16x8_t __a
, float16x8_t __b
)
32543 return __builtin_aarch64_fmulxv8hf (__a
, __b
);
32546 __extension__
extern __inline float16x4_t
32547 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32548 vpadd_f16 (float16x4_t __a
, float16x4_t __b
)
32550 return __builtin_aarch64_faddpv4hf (__a
, __b
);
32553 __extension__
extern __inline float16x8_t
32554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32555 vpaddq_f16 (float16x8_t __a
, float16x8_t __b
)
32557 return __builtin_aarch64_faddpv8hf (__a
, __b
);
32560 __extension__
extern __inline float16x4_t
32561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32562 vpmax_f16 (float16x4_t __a
, float16x4_t __b
)
32564 return __builtin_aarch64_smax_nanpv4hf (__a
, __b
);
32567 __extension__
extern __inline float16x8_t
32568 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32569 vpmaxq_f16 (float16x8_t __a
, float16x8_t __b
)
32571 return __builtin_aarch64_smax_nanpv8hf (__a
, __b
);
32574 __extension__
extern __inline float16x4_t
32575 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32576 vpmaxnm_f16 (float16x4_t __a
, float16x4_t __b
)
32578 return __builtin_aarch64_smaxpv4hf (__a
, __b
);
32581 __extension__
extern __inline float16x8_t
32582 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32583 vpmaxnmq_f16 (float16x8_t __a
, float16x8_t __b
)
32585 return __builtin_aarch64_smaxpv8hf (__a
, __b
);
32588 __extension__
extern __inline float16x4_t
32589 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32590 vpmin_f16 (float16x4_t __a
, float16x4_t __b
)
32592 return __builtin_aarch64_smin_nanpv4hf (__a
, __b
);
32595 __extension__
extern __inline float16x8_t
32596 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32597 vpminq_f16 (float16x8_t __a
, float16x8_t __b
)
32599 return __builtin_aarch64_smin_nanpv8hf (__a
, __b
);
32602 __extension__
extern __inline float16x4_t
32603 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32604 vpminnm_f16 (float16x4_t __a
, float16x4_t __b
)
32606 return __builtin_aarch64_sminpv4hf (__a
, __b
);
32609 __extension__
extern __inline float16x8_t
32610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32611 vpminnmq_f16 (float16x8_t __a
, float16x8_t __b
)
32613 return __builtin_aarch64_sminpv8hf (__a
, __b
);
32616 __extension__
extern __inline float16x4_t
32617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32618 vrecps_f16 (float16x4_t __a
, float16x4_t __b
)
32620 return __builtin_aarch64_frecpsv4hf (__a
, __b
);
32623 __extension__
extern __inline float16x8_t
32624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32625 vrecpsq_f16 (float16x8_t __a
, float16x8_t __b
)
32627 return __builtin_aarch64_frecpsv8hf (__a
, __b
);
32630 __extension__
extern __inline float16x4_t
32631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32632 vrsqrts_f16 (float16x4_t __a
, float16x4_t __b
)
32634 return __builtin_aarch64_rsqrtsv4hf (__a
, __b
);
32637 __extension__
extern __inline float16x8_t
32638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32639 vrsqrtsq_f16 (float16x8_t __a
, float16x8_t __b
)
32641 return __builtin_aarch64_rsqrtsv8hf (__a
, __b
);
32644 __extension__
extern __inline float16x4_t
32645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32646 vsub_f16 (float16x4_t __a
, float16x4_t __b
)
32651 __extension__
extern __inline float16x8_t
32652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32653 vsubq_f16 (float16x8_t __a
, float16x8_t __b
)
32658 /* ARMv8.2-A FP16 three operands vector intrinsics. */
32660 __extension__
extern __inline float16x4_t
32661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32662 vfma_f16 (float16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
32664 return __builtin_aarch64_fmav4hf (__b
, __c
, __a
);
32667 __extension__
extern __inline float16x8_t
32668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32669 vfmaq_f16 (float16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
32671 return __builtin_aarch64_fmav8hf (__b
, __c
, __a
);
32674 __extension__
extern __inline float16x4_t
32675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32676 vfms_f16 (float16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
32678 return __builtin_aarch64_fnmav4hf (__b
, __c
, __a
);
32681 __extension__
extern __inline float16x8_t
32682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32683 vfmsq_f16 (float16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
32685 return __builtin_aarch64_fnmav8hf (__b
, __c
, __a
);
32688 /* ARMv8.2-A FP16 lane vector intrinsics. */
32690 __extension__
extern __inline float16_t
32691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32692 vfmah_lane_f16 (float16_t __a
, float16_t __b
,
32693 float16x4_t __c
, const int __lane
)
32695 return vfmah_f16 (__a
, __b
, __aarch64_vget_lane_any (__c
, __lane
));
32698 __extension__
extern __inline float16_t
32699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32700 vfmah_laneq_f16 (float16_t __a
, float16_t __b
,
32701 float16x8_t __c
, const int __lane
)
32703 return vfmah_f16 (__a
, __b
, __aarch64_vget_lane_any (__c
, __lane
));
32706 __extension__
extern __inline float16x4_t
32707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32708 vfma_lane_f16 (float16x4_t __a
, float16x4_t __b
,
32709 float16x4_t __c
, const int __lane
)
32711 return vfma_f16 (__a
, __b
, __aarch64_vdup_lane_f16 (__c
, __lane
));
32714 __extension__
extern __inline float16x8_t
32715 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32716 vfmaq_lane_f16 (float16x8_t __a
, float16x8_t __b
,
32717 float16x4_t __c
, const int __lane
)
32719 return vfmaq_f16 (__a
, __b
, __aarch64_vdupq_lane_f16 (__c
, __lane
));
32722 __extension__
extern __inline float16x4_t
32723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32724 vfma_laneq_f16 (float16x4_t __a
, float16x4_t __b
,
32725 float16x8_t __c
, const int __lane
)
32727 return vfma_f16 (__a
, __b
, __aarch64_vdup_laneq_f16 (__c
, __lane
));
32730 __extension__
extern __inline float16x8_t
32731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32732 vfmaq_laneq_f16 (float16x8_t __a
, float16x8_t __b
,
32733 float16x8_t __c
, const int __lane
)
32735 return vfmaq_f16 (__a
, __b
, __aarch64_vdupq_laneq_f16 (__c
, __lane
));
32738 __extension__
extern __inline float16x4_t
32739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32740 vfma_n_f16 (float16x4_t __a
, float16x4_t __b
, float16_t __c
)
32742 return vfma_f16 (__a
, __b
, vdup_n_f16 (__c
));
32745 __extension__
extern __inline float16x8_t
32746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32747 vfmaq_n_f16 (float16x8_t __a
, float16x8_t __b
, float16_t __c
)
32749 return vfmaq_f16 (__a
, __b
, vdupq_n_f16 (__c
));
32752 __extension__
extern __inline float16_t
32753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32754 vfmsh_lane_f16 (float16_t __a
, float16_t __b
,
32755 float16x4_t __c
, const int __lane
)
32757 return vfmsh_f16 (__a
, __b
, __aarch64_vget_lane_any (__c
, __lane
));
32760 __extension__
extern __inline float16_t
32761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32762 vfmsh_laneq_f16 (float16_t __a
, float16_t __b
,
32763 float16x8_t __c
, const int __lane
)
32765 return vfmsh_f16 (__a
, __b
, __aarch64_vget_lane_any (__c
, __lane
));
32768 __extension__
extern __inline float16x4_t
32769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32770 vfms_lane_f16 (float16x4_t __a
, float16x4_t __b
,
32771 float16x4_t __c
, const int __lane
)
32773 return vfms_f16 (__a
, __b
, __aarch64_vdup_lane_f16 (__c
, __lane
));
32776 __extension__
extern __inline float16x8_t
32777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32778 vfmsq_lane_f16 (float16x8_t __a
, float16x8_t __b
,
32779 float16x4_t __c
, const int __lane
)
32781 return vfmsq_f16 (__a
, __b
, __aarch64_vdupq_lane_f16 (__c
, __lane
));
32784 __extension__
extern __inline float16x4_t
32785 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32786 vfms_laneq_f16 (float16x4_t __a
, float16x4_t __b
,
32787 float16x8_t __c
, const int __lane
)
32789 return vfms_f16 (__a
, __b
, __aarch64_vdup_laneq_f16 (__c
, __lane
));
32792 __extension__
extern __inline float16x8_t
32793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32794 vfmsq_laneq_f16 (float16x8_t __a
, float16x8_t __b
,
32795 float16x8_t __c
, const int __lane
)
32797 return vfmsq_f16 (__a
, __b
, __aarch64_vdupq_laneq_f16 (__c
, __lane
));
32800 __extension__
extern __inline float16x4_t
32801 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32802 vfms_n_f16 (float16x4_t __a
, float16x4_t __b
, float16_t __c
)
32804 return vfms_f16 (__a
, __b
, vdup_n_f16 (__c
));
32807 __extension__
extern __inline float16x8_t
32808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32809 vfmsq_n_f16 (float16x8_t __a
, float16x8_t __b
, float16_t __c
)
32811 return vfmsq_f16 (__a
, __b
, vdupq_n_f16 (__c
));
32814 __extension__
extern __inline float16_t
32815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32816 vmulh_lane_f16 (float16_t __a
, float16x4_t __b
, const int __lane
)
32818 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
32821 __extension__
extern __inline float16x4_t
32822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32823 vmul_lane_f16 (float16x4_t __a
, float16x4_t __b
, const int __lane
)
32825 return vmul_f16 (__a
, vdup_n_f16 (__aarch64_vget_lane_any (__b
, __lane
)));
32828 __extension__
extern __inline float16x8_t
32829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32830 vmulq_lane_f16 (float16x8_t __a
, float16x4_t __b
, const int __lane
)
32832 return vmulq_f16 (__a
, vdupq_n_f16 (__aarch64_vget_lane_any (__b
, __lane
)));
32835 __extension__
extern __inline float16_t
32836 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32837 vmulh_laneq_f16 (float16_t __a
, float16x8_t __b
, const int __lane
)
32839 return __a
* __aarch64_vget_lane_any (__b
, __lane
);
32842 __extension__
extern __inline float16x4_t
32843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32844 vmul_laneq_f16 (float16x4_t __a
, float16x8_t __b
, const int __lane
)
32846 return vmul_f16 (__a
, vdup_n_f16 (__aarch64_vget_lane_any (__b
, __lane
)));
32849 __extension__
extern __inline float16x8_t
32850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32851 vmulq_laneq_f16 (float16x8_t __a
, float16x8_t __b
, const int __lane
)
32853 return vmulq_f16 (__a
, vdupq_n_f16 (__aarch64_vget_lane_any (__b
, __lane
)));
32856 __extension__
extern __inline float16x4_t
32857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32858 vmul_n_f16 (float16x4_t __a
, float16_t __b
)
32860 return vmul_lane_f16 (__a
, vdup_n_f16 (__b
), 0);
32863 __extension__
extern __inline float16x8_t
32864 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32865 vmulq_n_f16 (float16x8_t __a
, float16_t __b
)
32867 return vmulq_laneq_f16 (__a
, vdupq_n_f16 (__b
), 0);
32870 __extension__
extern __inline float16_t
32871 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32872 vmulxh_lane_f16 (float16_t __a
, float16x4_t __b
, const int __lane
)
32874 return vmulxh_f16 (__a
, __aarch64_vget_lane_any (__b
, __lane
));
32877 __extension__
extern __inline float16x4_t
32878 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32879 vmulx_lane_f16 (float16x4_t __a
, float16x4_t __b
, const int __lane
)
32881 return vmulx_f16 (__a
, __aarch64_vdup_lane_f16 (__b
, __lane
));
32884 __extension__
extern __inline float16x8_t
32885 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32886 vmulxq_lane_f16 (float16x8_t __a
, float16x4_t __b
, const int __lane
)
32888 return vmulxq_f16 (__a
, __aarch64_vdupq_lane_f16 (__b
, __lane
));
32891 __extension__
extern __inline float16_t
32892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32893 vmulxh_laneq_f16 (float16_t __a
, float16x8_t __b
, const int __lane
)
32895 return vmulxh_f16 (__a
, __aarch64_vget_lane_any (__b
, __lane
));
32898 __extension__
extern __inline float16x4_t
32899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32900 vmulx_laneq_f16 (float16x4_t __a
, float16x8_t __b
, const int __lane
)
32902 return vmulx_f16 (__a
, __aarch64_vdup_laneq_f16 (__b
, __lane
));
32905 __extension__
extern __inline float16x8_t
32906 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32907 vmulxq_laneq_f16 (float16x8_t __a
, float16x8_t __b
, const int __lane
)
32909 return vmulxq_f16 (__a
, __aarch64_vdupq_laneq_f16 (__b
, __lane
));
32912 __extension__
extern __inline float16x4_t
32913 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32914 vmulx_n_f16 (float16x4_t __a
, float16_t __b
)
32916 return vmulx_f16 (__a
, vdup_n_f16 (__b
));
32919 __extension__
extern __inline float16x8_t
32920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32921 vmulxq_n_f16 (float16x8_t __a
, float16_t __b
)
32923 return vmulxq_f16 (__a
, vdupq_n_f16 (__b
));
32926 /* ARMv8.2-A FP16 reduction vector intrinsics. */
32928 __extension__
extern __inline float16_t
32929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32930 vmaxv_f16 (float16x4_t __a
)
32932 return __builtin_aarch64_reduc_smax_nan_scal_v4hf (__a
);
32935 __extension__
extern __inline float16_t
32936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32937 vmaxvq_f16 (float16x8_t __a
)
32939 return __builtin_aarch64_reduc_smax_nan_scal_v8hf (__a
);
32942 __extension__
extern __inline float16_t
32943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32944 vminv_f16 (float16x4_t __a
)
32946 return __builtin_aarch64_reduc_smin_nan_scal_v4hf (__a
);
32949 __extension__
extern __inline float16_t
32950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32951 vminvq_f16 (float16x8_t __a
)
32953 return __builtin_aarch64_reduc_smin_nan_scal_v8hf (__a
);
32956 __extension__
extern __inline float16_t
32957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32958 vmaxnmv_f16 (float16x4_t __a
)
32960 return __builtin_aarch64_reduc_smax_scal_v4hf (__a
);
32963 __extension__
extern __inline float16_t
32964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32965 vmaxnmvq_f16 (float16x8_t __a
)
32967 return __builtin_aarch64_reduc_smax_scal_v8hf (__a
);
32970 __extension__
extern __inline float16_t
32971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32972 vminnmv_f16 (float16x4_t __a
)
32974 return __builtin_aarch64_reduc_smin_scal_v4hf (__a
);
32977 __extension__
extern __inline float16_t
32978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32979 vminnmvq_f16 (float16x8_t __a
)
32981 return __builtin_aarch64_reduc_smin_scal_v8hf (__a
);
32984 #pragma GCC pop_options
32986 /* AdvSIMD Dot Product intrinsics. */
32988 #pragma GCC push_options
32989 #pragma GCC target ("arch=armv8.2-a+dotprod")
32991 __extension__
extern __inline uint32x2_t
32992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
32993 vdot_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x8_t __b
)
32995 return __builtin_aarch64_udotv8qi_uuuu (__r
, __a
, __b
);
32998 __extension__
extern __inline uint32x4_t
32999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33000 vdotq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
)
33002 return __builtin_aarch64_udotv16qi_uuuu (__r
, __a
, __b
);
33005 __extension__
extern __inline int32x2_t
33006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33007 vdot_s32 (int32x2_t __r
, int8x8_t __a
, int8x8_t __b
)
33009 return __builtin_aarch64_sdotv8qi (__r
, __a
, __b
);
33012 __extension__
extern __inline int32x4_t
33013 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33014 vdotq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
)
33016 return __builtin_aarch64_sdotv16qi (__r
, __a
, __b
);
33019 __extension__
extern __inline uint32x2_t
33020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33021 vdot_lane_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x8_t __b
, const int __index
)
33023 return __builtin_aarch64_udot_lanev8qi_uuuus (__r
, __a
, __b
, __index
);
33026 __extension__
extern __inline uint32x2_t
33027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33028 vdot_laneq_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x16_t __b
,
33031 return __builtin_aarch64_udot_laneqv8qi_uuuus (__r
, __a
, __b
, __index
);
33034 __extension__
extern __inline uint32x4_t
33035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33036 vdotq_lane_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x8_t __b
,
33039 return __builtin_aarch64_udot_lanev16qi_uuuus (__r
, __a
, __b
, __index
);
33042 __extension__
extern __inline uint32x4_t
33043 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33044 vdotq_laneq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
,
33047 return __builtin_aarch64_udot_laneqv16qi_uuuus (__r
, __a
, __b
, __index
);
33050 __extension__
extern __inline int32x2_t
33051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33052 vdot_lane_s32 (int32x2_t __r
, int8x8_t __a
, int8x8_t __b
, const int __index
)
33054 return __builtin_aarch64_sdot_lanev8qi (__r
, __a
, __b
, __index
);
33057 __extension__
extern __inline int32x2_t
33058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33059 vdot_laneq_s32 (int32x2_t __r
, int8x8_t __a
, int8x16_t __b
, const int __index
)
33061 return __builtin_aarch64_sdot_laneqv8qi (__r
, __a
, __b
, __index
);
33064 __extension__
extern __inline int32x4_t
33065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33066 vdotq_lane_s32 (int32x4_t __r
, int8x16_t __a
, int8x8_t __b
, const int __index
)
33068 return __builtin_aarch64_sdot_lanev16qi (__r
, __a
, __b
, __index
);
33071 __extension__
extern __inline int32x4_t
33072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33073 vdotq_laneq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
, const int __index
)
33075 return __builtin_aarch64_sdot_laneqv16qi (__r
, __a
, __b
, __index
);
33077 #pragma GCC pop_options
33079 #pragma GCC push_options
33080 #pragma GCC target ("arch=armv8.2-a+sm4")
33082 __extension__
extern __inline uint32x4_t
33083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33084 vsm3ss1q_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
33086 return __builtin_aarch64_sm3ss1qv4si_uuuu (__a
, __b
, __c
);
33089 __extension__
extern __inline uint32x4_t
33090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33091 vsm3tt1aq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
, const int __imm2
)
33093 return __builtin_aarch64_sm3tt1aqv4si_uuuus (__a
, __b
, __c
, __imm2
);
33096 __extension__
extern __inline uint32x4_t
33097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33098 vsm3tt1bq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
, const int __imm2
)
33100 return __builtin_aarch64_sm3tt1bqv4si_uuuus (__a
, __b
, __c
, __imm2
);
33103 __extension__
extern __inline uint32x4_t
33104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33105 vsm3tt2aq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
, const int __imm2
)
33107 return __builtin_aarch64_sm3tt2aqv4si_uuuus (__a
, __b
, __c
, __imm2
);
33110 __extension__
extern __inline uint32x4_t
33111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33112 vsm3tt2bq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
, const int __imm2
)
33114 return __builtin_aarch64_sm3tt2bqv4si_uuuus (__a
, __b
, __c
, __imm2
);
33117 __extension__
extern __inline uint32x4_t
33118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33119 vsm3partw1q_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
33121 return __builtin_aarch64_sm3partw1qv4si_uuuu (__a
, __b
, __c
);
33123 __extension__
extern __inline uint32x4_t
33124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33125 vsm3partw2q_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
33127 return __builtin_aarch64_sm3partw2qv4si_uuuu (__a
, __b
, __c
);
33130 __extension__
extern __inline uint32x4_t
33131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33132 vsm4eq_u32 (uint32x4_t __a
, uint32x4_t __b
)
33134 return __builtin_aarch64_sm4eqv4si_uuu (__a
, __b
);
33137 __extension__
extern __inline uint32x4_t
33138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33139 vsm4ekeyq_u32 (uint32x4_t __a
, uint32x4_t __b
)
33141 return __builtin_aarch64_sm4ekeyqv4si_uuu (__a
, __b
);
33144 #pragma GCC pop_options
33146 #pragma GCC push_options
33147 #pragma GCC target ("arch=armv8.2-a+sha3")
33149 __extension__
extern __inline uint64x2_t
33150 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33151 vsha512hq_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
33153 return __builtin_aarch64_crypto_sha512hqv2di_uuuu (__a
, __b
, __c
);
33156 __extension__
extern __inline uint64x2_t
33157 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33158 vsha512h2q_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
33160 return __builtin_aarch64_crypto_sha512h2qv2di_uuuu (__a
, __b
, __c
);
33163 __extension__
extern __inline uint64x2_t
33164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33165 vsha512su0q_u64 (uint64x2_t __a
, uint64x2_t __b
)
33167 return __builtin_aarch64_crypto_sha512su0qv2di_uuu (__a
, __b
);
33170 __extension__
extern __inline uint64x2_t
33171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33172 vsha512su1q_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
33174 return __builtin_aarch64_crypto_sha512su1qv2di_uuuu (__a
, __b
, __c
);
33177 __extension__
extern __inline uint8x16_t
33178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33179 veor3q_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
33181 return __builtin_aarch64_eor3qv16qi_uuuu (__a
, __b
, __c
);
33184 __extension__
extern __inline uint16x8_t
33185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33186 veor3q_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
33188 return __builtin_aarch64_eor3qv8hi_uuuu (__a
, __b
, __c
);
33191 __extension__
extern __inline uint32x4_t
33192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33193 veor3q_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
33195 return __builtin_aarch64_eor3qv4si_uuuu (__a
, __b
, __c
);
33198 __extension__
extern __inline uint64x2_t
33199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33200 veor3q_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
33202 return __builtin_aarch64_eor3qv2di_uuuu (__a
, __b
, __c
);
33206 __extension__
extern __inline int8x16_t
33207 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33208 veor3q_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
33210 return __builtin_aarch64_eor3qv16qi (__a
, __b
, __c
);
33213 __extension__
extern __inline int16x8_t
33214 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33215 veor3q_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
33217 return __builtin_aarch64_eor3qv8hi (__a
, __b
, __c
);
33220 __extension__
extern __inline int32x4_t
33221 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33222 veor3q_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
33224 return __builtin_aarch64_eor3qv4si (__a
, __b
, __c
);
33227 __extension__
extern __inline int64x2_t
33228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33229 veor3q_s64 (int64x2_t __a
, int64x2_t __b
, int64x2_t __c
)
33231 return __builtin_aarch64_eor3qv2di (__a
, __b
, __c
);
33234 __extension__
extern __inline uint64x2_t
33235 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33236 vrax1q_u64 (uint64x2_t __a
, uint64x2_t __b
)
33238 return __builtin_aarch64_rax1qv2di_uuu (__a
, __b
);
33241 __extension__
extern __inline uint64x2_t
33242 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33243 vxarq_u64 (uint64x2_t __a
, uint64x2_t __b
, const int imm6
)
33245 return __builtin_aarch64_xarqv2di_uuus (__a
, __b
,imm6
);
33248 __extension__
extern __inline uint8x16_t
33249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33250 vbcaxq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
33252 return __builtin_aarch64_bcaxqv16qi_uuuu (__a
, __b
, __c
);
33255 __extension__
extern __inline uint16x8_t
33256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33257 vbcaxq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
33259 return __builtin_aarch64_bcaxqv8hi_uuuu (__a
, __b
, __c
);
33262 __extension__
extern __inline uint32x4_t
33263 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33264 vbcaxq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
33266 return __builtin_aarch64_bcaxqv4si_uuuu (__a
, __b
, __c
);
33269 __extension__
extern __inline uint64x2_t
33270 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33271 vbcaxq_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
33273 return __builtin_aarch64_bcaxqv2di_uuuu (__a
, __b
, __c
);
33276 __extension__
extern __inline int8x16_t
33277 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33278 vbcaxq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
33280 return __builtin_aarch64_bcaxqv16qi (__a
, __b
, __c
);
33283 __extension__
extern __inline int16x8_t
33284 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33285 vbcaxq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
33287 return __builtin_aarch64_bcaxqv8hi (__a
, __b
, __c
);
33290 __extension__
extern __inline int32x4_t
33291 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33292 vbcaxq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
33294 return __builtin_aarch64_bcaxqv4si (__a
, __b
, __c
);
33297 __extension__
extern __inline int64x2_t
33298 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33299 vbcaxq_s64 (int64x2_t __a
, int64x2_t __b
, int64x2_t __c
)
33301 return __builtin_aarch64_bcaxqv2di (__a
, __b
, __c
);
33304 #pragma GCC pop_options
33306 /* AdvSIMD Complex numbers intrinsics. */
33308 #pragma GCC push_options
33309 #pragma GCC target ("arch=armv8.3-a")
33311 #pragma GCC push_options
33312 #pragma GCC target ("+fp16")
33313 __extension__
extern __inline float16x4_t
33314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33315 vcadd_rot90_f16 (float16x4_t __a
, float16x4_t __b
)
33317 return __builtin_aarch64_fcadd90v4hf (__a
, __b
);
33320 __extension__
extern __inline float16x8_t
33321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33322 vcaddq_rot90_f16 (float16x8_t __a
, float16x8_t __b
)
33324 return __builtin_aarch64_fcadd90v8hf (__a
, __b
);
33327 __extension__
extern __inline float16x4_t
33328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33329 vcadd_rot270_f16 (float16x4_t __a
, float16x4_t __b
)
33331 return __builtin_aarch64_fcadd270v4hf (__a
, __b
);
33334 __extension__
extern __inline float16x8_t
33335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33336 vcaddq_rot270_f16 (float16x8_t __a
, float16x8_t __b
)
33338 return __builtin_aarch64_fcadd270v8hf (__a
, __b
);
33341 __extension__
extern __inline float16x4_t
33342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33343 vcmla_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
33345 return __builtin_aarch64_fcmla0v4hf (__r
, __a
, __b
);
33348 __extension__
extern __inline float16x8_t
33349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33350 vcmlaq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
33352 return __builtin_aarch64_fcmla0v8hf (__r
, __a
, __b
);
33355 __extension__
extern __inline float16x4_t
33356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33357 vcmla_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
33360 return __builtin_aarch64_fcmla_lane0v4hf (__r
, __a
, __b
, __index
);
33363 __extension__
extern __inline float16x4_t
33364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33365 vcmla_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
33368 return __builtin_aarch64_fcmla_laneq0v4hf (__r
, __a
, __b
, __index
);
33371 __extension__
extern __inline float16x8_t
33372 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33373 vcmlaq_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
33376 return __builtin_aarch64_fcmlaq_lane0v8hf (__r
, __a
, __b
, __index
);
33379 __extension__
extern __inline float16x8_t
33380 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33381 vcmlaq_rot90_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
33384 return __builtin_aarch64_fcmlaq_lane90v8hf (__r
, __a
, __b
, __index
);
33387 __extension__
extern __inline float16x4_t
33388 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33389 vcmla_rot90_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
33392 return __builtin_aarch64_fcmla_laneq90v4hf (__r
, __a
, __b
, __index
);
33395 __extension__
extern __inline float16x4_t
33396 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33397 vcmla_rot90_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
33400 return __builtin_aarch64_fcmla_lane90v4hf (__r
, __a
, __b
, __index
);
33403 __extension__
extern __inline float16x8_t
33404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33405 vcmlaq_rot90_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
33407 return __builtin_aarch64_fcmla90v8hf (__r
, __a
, __b
);
33410 __extension__
extern __inline float16x4_t
33411 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33412 vcmla_rot90_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
33414 return __builtin_aarch64_fcmla90v4hf (__r
, __a
, __b
);
33417 __extension__
extern __inline float16x8_t
33418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33419 vcmlaq_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
33422 return __builtin_aarch64_fcmla_lane0v8hf (__r
, __a
, __b
, __index
);
33425 __extension__
extern __inline float16x4_t
33426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33427 vcmla_rot180_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
33430 return __builtin_aarch64_fcmla_laneq180v4hf (__r
, __a
, __b
, __index
);
33433 __extension__
extern __inline float16x4_t
33434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33435 vcmla_rot180_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
33438 return __builtin_aarch64_fcmla_lane180v4hf (__r
, __a
, __b
, __index
);
33441 __extension__
extern __inline float16x8_t
33442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33443 vcmlaq_rot180_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
33445 return __builtin_aarch64_fcmla180v8hf (__r
, __a
, __b
);
33448 __extension__
extern __inline float16x4_t
33449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33450 vcmla_rot180_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
33452 return __builtin_aarch64_fcmla180v4hf (__r
, __a
, __b
);
33455 __extension__
extern __inline float16x8_t
33456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33457 vcmlaq_rot90_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
33460 return __builtin_aarch64_fcmla_lane90v8hf (__r
, __a
, __b
, __index
);
33463 __extension__
extern __inline float16x8_t
33464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33465 vcmlaq_rot270_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
33468 return __builtin_aarch64_fcmla_lane270v8hf (__r
, __a
, __b
, __index
);
33471 __extension__
extern __inline float16x8_t
33472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33473 vcmlaq_rot270_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
33476 return __builtin_aarch64_fcmlaq_lane270v8hf (__r
, __a
, __b
, __index
);
33479 __extension__
extern __inline float16x4_t
33480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33481 vcmla_rot270_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
33484 return __builtin_aarch64_fcmla_laneq270v4hf (__r
, __a
, __b
, __index
);
33487 __extension__
extern __inline float16x8_t
33488 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33489 vcmlaq_rot270_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
33491 return __builtin_aarch64_fcmla270v8hf (__r
, __a
, __b
);
33494 __extension__
extern __inline float16x4_t
33495 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33496 vcmla_rot270_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
33498 return __builtin_aarch64_fcmla270v4hf (__r
, __a
, __b
);
33501 __extension__
extern __inline float16x8_t
33502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33503 vcmlaq_rot180_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
33506 return __builtin_aarch64_fcmla_lane180v8hf (__r
, __a
, __b
, __index
);
33509 __extension__
extern __inline float16x8_t
33510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33511 vcmlaq_rot180_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
33514 return __builtin_aarch64_fcmlaq_lane180v8hf (__r
, __a
, __b
, __index
);
33517 __extension__
extern __inline float16x4_t
33518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33519 vcmla_rot270_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
33522 return __builtin_aarch64_fcmla_lane270v4hf (__r
, __a
, __b
, __index
);
33524 #pragma GCC pop_options
33526 __extension__
extern __inline float32x2_t
33527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33528 vcadd_rot90_f32 (float32x2_t __a
, float32x2_t __b
)
33530 return __builtin_aarch64_fcadd90v2sf (__a
, __b
);
33533 __extension__
extern __inline float32x4_t
33534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33535 vcaddq_rot90_f32 (float32x4_t __a
, float32x4_t __b
)
33537 return __builtin_aarch64_fcadd90v4sf (__a
, __b
);
33540 __extension__
extern __inline float64x2_t
33541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33542 vcaddq_rot90_f64 (float64x2_t __a
, float64x2_t __b
)
33544 return __builtin_aarch64_fcadd90v2df (__a
, __b
);
33547 __extension__
extern __inline float32x2_t
33548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33549 vcadd_rot270_f32 (float32x2_t __a
, float32x2_t __b
)
33551 return __builtin_aarch64_fcadd270v2sf (__a
, __b
);
33554 __extension__
extern __inline float32x4_t
33555 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33556 vcaddq_rot270_f32 (float32x4_t __a
, float32x4_t __b
)
33558 return __builtin_aarch64_fcadd270v4sf (__a
, __b
);
33561 __extension__
extern __inline float64x2_t
33562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33563 vcaddq_rot270_f64 (float64x2_t __a
, float64x2_t __b
)
33565 return __builtin_aarch64_fcadd270v2df (__a
, __b
);
33568 __extension__
extern __inline float32x2_t
33569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33570 vcmla_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
33572 return __builtin_aarch64_fcmla0v2sf (__r
, __a
, __b
);
33575 __extension__
extern __inline float32x4_t
33576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33577 vcmlaq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
33579 return __builtin_aarch64_fcmla0v4sf (__r
, __a
, __b
);
33582 __extension__
extern __inline float64x2_t
33583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33584 vcmlaq_f64 (float64x2_t __r
, float64x2_t __a
, float64x2_t __b
)
33586 return __builtin_aarch64_fcmla0v2df (__r
, __a
, __b
);
33589 __extension__
extern __inline float32x2_t
33590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33591 vcmla_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
33594 return __builtin_aarch64_fcmla_lane0v2sf (__r
, __a
, __b
, __index
);
33597 __extension__
extern __inline float32x2_t
33598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33599 vcmla_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
33602 return __builtin_aarch64_fcmla_laneq0v2sf (__r
, __a
, __b
, __index
);
33605 __extension__
extern __inline float32x4_t
33606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33607 vcmlaq_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
33610 return __builtin_aarch64_fcmlaq_lane0v4sf (__r
, __a
, __b
, __index
);
33613 __extension__
extern __inline float32x4_t
33614 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33615 vcmlaq_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
33618 return __builtin_aarch64_fcmla_lane0v4sf (__r
, __a
, __b
, __index
);
33621 __extension__
extern __inline float32x2_t
33622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33623 vcmla_rot90_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
33625 return __builtin_aarch64_fcmla90v2sf (__r
, __a
, __b
);
33628 __extension__
extern __inline float32x4_t
33629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33630 vcmlaq_rot90_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
33632 return __builtin_aarch64_fcmla90v4sf (__r
, __a
, __b
);
33635 __extension__
extern __inline float64x2_t
33636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33637 vcmlaq_rot90_f64 (float64x2_t __r
, float64x2_t __a
, float64x2_t __b
)
33639 return __builtin_aarch64_fcmla90v2df (__r
, __a
, __b
);
33642 __extension__
extern __inline float32x2_t
33643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33644 vcmla_rot90_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
33647 return __builtin_aarch64_fcmla_lane90v2sf (__r
, __a
, __b
, __index
);
33650 __extension__
extern __inline float32x2_t
33651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33652 vcmla_rot90_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
33655 return __builtin_aarch64_fcmla_laneq90v2sf (__r
, __a
, __b
, __index
);
33658 __extension__
extern __inline float32x4_t
33659 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33660 vcmlaq_rot90_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
33663 return __builtin_aarch64_fcmlaq_lane90v4sf (__r
, __a
, __b
, __index
);
33666 __extension__
extern __inline float32x4_t
33667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33668 vcmlaq_rot90_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
33671 return __builtin_aarch64_fcmla_lane90v4sf (__r
, __a
, __b
, __index
);
33674 __extension__
extern __inline float32x2_t
33675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33676 vcmla_rot180_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
33678 return __builtin_aarch64_fcmla180v2sf (__r
, __a
, __b
);
33681 __extension__
extern __inline float32x4_t
33682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33683 vcmlaq_rot180_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
33685 return __builtin_aarch64_fcmla180v4sf (__r
, __a
, __b
);
33688 __extension__
extern __inline float64x2_t
33689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33690 vcmlaq_rot180_f64 (float64x2_t __r
, float64x2_t __a
, float64x2_t __b
)
33692 return __builtin_aarch64_fcmla180v2df (__r
, __a
, __b
);
33695 __extension__
extern __inline float32x2_t
33696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33697 vcmla_rot180_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
33700 return __builtin_aarch64_fcmla_lane180v2sf (__r
, __a
, __b
, __index
);
33703 __extension__
extern __inline float32x2_t
33704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33705 vcmla_rot180_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
33708 return __builtin_aarch64_fcmla_laneq180v2sf (__r
, __a
, __b
, __index
);
33711 __extension__
extern __inline float32x4_t
33712 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33713 vcmlaq_rot180_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
33716 return __builtin_aarch64_fcmlaq_lane180v4sf (__r
, __a
, __b
, __index
);
33719 __extension__
extern __inline float32x4_t
33720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33721 vcmlaq_rot180_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
33724 return __builtin_aarch64_fcmla_lane180v4sf (__r
, __a
, __b
, __index
);
33727 __extension__
extern __inline float32x2_t
33728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33729 vcmla_rot270_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
33731 return __builtin_aarch64_fcmla270v2sf (__r
, __a
, __b
);
33734 __extension__
extern __inline float32x4_t
33735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33736 vcmlaq_rot270_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
33738 return __builtin_aarch64_fcmla270v4sf (__r
, __a
, __b
);
33741 __extension__
extern __inline float64x2_t
33742 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33743 vcmlaq_rot270_f64 (float64x2_t __r
, float64x2_t __a
, float64x2_t __b
)
33745 return __builtin_aarch64_fcmla270v2df (__r
, __a
, __b
);
33748 __extension__
extern __inline float32x2_t
33749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33750 vcmla_rot270_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
33753 return __builtin_aarch64_fcmla_lane270v2sf (__r
, __a
, __b
, __index
);
33756 __extension__
extern __inline float32x2_t
33757 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33758 vcmla_rot270_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
33761 return __builtin_aarch64_fcmla_laneq270v2sf (__r
, __a
, __b
, __index
);
33764 __extension__
extern __inline float32x4_t
33765 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33766 vcmlaq_rot270_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
33769 return __builtin_aarch64_fcmlaq_lane270v4sf (__r
, __a
, __b
, __index
);
33772 __extension__
extern __inline float32x4_t
33773 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33774 vcmlaq_rot270_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
33777 return __builtin_aarch64_fcmla_lane270v4sf (__r
, __a
, __b
, __index
);
33780 #pragma GCC pop_options
33782 #pragma GCC push_options
33783 #pragma GCC target ("arch=armv8.2-a+fp16fml")
33785 __extension__
extern __inline float32x2_t
33786 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33787 vfmlal_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
33789 return __builtin_aarch64_fmlal_lowv2sf (__r
, __a
, __b
);
33792 __extension__
extern __inline float32x2_t
33793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33794 vfmlsl_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
33796 return __builtin_aarch64_fmlsl_lowv2sf (__r
, __a
, __b
);
33799 __extension__
extern __inline float32x4_t
33800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33801 vfmlalq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
33803 return __builtin_aarch64_fmlalq_lowv4sf (__r
, __a
, __b
);
33806 __extension__
extern __inline float32x4_t
33807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33808 vfmlslq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
33810 return __builtin_aarch64_fmlslq_lowv4sf (__r
, __a
, __b
);
33813 __extension__
extern __inline float32x2_t
33814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33815 vfmlal_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
33817 return __builtin_aarch64_fmlal_highv2sf (__r
, __a
, __b
);
33820 __extension__
extern __inline float32x2_t
33821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33822 vfmlsl_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
33824 return __builtin_aarch64_fmlsl_highv2sf (__r
, __a
, __b
);
33827 __extension__
extern __inline float32x4_t
33828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33829 vfmlalq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
33831 return __builtin_aarch64_fmlalq_highv4sf (__r
, __a
, __b
);
33834 __extension__
extern __inline float32x4_t
33835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33836 vfmlslq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
33838 return __builtin_aarch64_fmlslq_highv4sf (__r
, __a
, __b
);
33841 __extension__
extern __inline float32x2_t
33842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33843 vfmlal_lane_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
33846 return __builtin_aarch64_fmlal_lane_lowv2sf (__r
, __a
, __b
, __lane
);
33849 __extension__
extern __inline float32x2_t
33850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33851 vfmlsl_lane_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
33854 return __builtin_aarch64_fmlsl_lane_lowv2sf (__r
, __a
, __b
, __lane
);
33857 __extension__
extern __inline float32x2_t
33858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33859 vfmlal_laneq_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
33862 return __builtin_aarch64_fmlal_laneq_lowv2sf (__r
, __a
, __b
, __lane
);
33865 __extension__
extern __inline float32x2_t
33866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33867 vfmlsl_laneq_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
33870 return __builtin_aarch64_fmlsl_laneq_lowv2sf (__r
, __a
, __b
, __lane
);
33873 __extension__
extern __inline float32x4_t
33874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33875 vfmlalq_lane_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
33878 return __builtin_aarch64_fmlalq_lane_lowv4sf (__r
, __a
, __b
, __lane
);
33881 __extension__
extern __inline float32x4_t
33882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33883 vfmlslq_lane_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
33886 return __builtin_aarch64_fmlslq_lane_lowv4sf (__r
, __a
, __b
, __lane
);
33889 __extension__
extern __inline float32x4_t
33890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33891 vfmlalq_laneq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
33894 return __builtin_aarch64_fmlalq_laneq_lowv4sf (__r
, __a
, __b
, __lane
);
33897 __extension__
extern __inline float32x4_t
33898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33899 vfmlslq_laneq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
33902 return __builtin_aarch64_fmlslq_laneq_lowv4sf (__r
, __a
, __b
, __lane
);
33905 __extension__
extern __inline float32x2_t
33906 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33907 vfmlal_lane_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
33910 return __builtin_aarch64_fmlal_lane_highv2sf (__r
, __a
, __b
, __lane
);
33913 __extension__
extern __inline float32x2_t
33914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33915 vfmlsl_lane_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
33918 return __builtin_aarch64_fmlsl_lane_highv2sf (__r
, __a
, __b
, __lane
);
33921 __extension__
extern __inline float32x2_t
33922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33923 vfmlal_laneq_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
33926 return __builtin_aarch64_fmlal_laneq_highv2sf (__r
, __a
, __b
, __lane
);
33929 __extension__
extern __inline float32x2_t
33930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33931 vfmlsl_laneq_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
33934 return __builtin_aarch64_fmlsl_laneq_highv2sf (__r
, __a
, __b
, __lane
);
33937 __extension__
extern __inline float32x4_t
33938 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33939 vfmlalq_lane_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
33942 return __builtin_aarch64_fmlalq_lane_highv4sf (__r
, __a
, __b
, __lane
);
33945 __extension__
extern __inline float32x4_t
33946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33947 vfmlslq_lane_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
33950 return __builtin_aarch64_fmlslq_lane_highv4sf (__r
, __a
, __b
, __lane
);
33953 __extension__
extern __inline float32x4_t
33954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33955 vfmlalq_laneq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
33958 return __builtin_aarch64_fmlalq_laneq_highv4sf (__r
, __a
, __b
, __lane
);
33961 __extension__
extern __inline float32x4_t
33962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33963 vfmlslq_laneq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
33966 return __builtin_aarch64_fmlslq_laneq_highv4sf (__r
, __a
, __b
, __lane
);
33969 #pragma GCC pop_options
33971 #pragma GCC push_options
33972 #pragma GCC target ("arch=armv8.5-a")
33974 __extension__
extern __inline float32x2_t
33975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33976 vrnd32z_f32 (float32x2_t __a
)
33978 return __builtin_aarch64_frint32zv2sf (__a
);
33981 __extension__
extern __inline float32x4_t
33982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33983 vrnd32zq_f32 (float32x4_t __a
)
33985 return __builtin_aarch64_frint32zv4sf (__a
);
33988 __extension__
extern __inline float64x1_t
33989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33990 vrnd32z_f64 (float64x1_t __a
)
33992 return (float64x1_t
)
33993 {__builtin_aarch64_frint32zdf (vget_lane_f64 (__a
, 0))};
33996 __extension__
extern __inline float64x2_t
33997 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
33998 vrnd32zq_f64 (float64x2_t __a
)
34000 return __builtin_aarch64_frint32zv2df (__a
);
34003 __extension__
extern __inline float32x2_t
34004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34005 vrnd32x_f32 (float32x2_t __a
)
34007 return __builtin_aarch64_frint32xv2sf (__a
);
34010 __extension__
extern __inline float32x4_t
34011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34012 vrnd32xq_f32 (float32x4_t __a
)
34014 return __builtin_aarch64_frint32xv4sf (__a
);
34017 __extension__
extern __inline float64x1_t
34018 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34019 vrnd32x_f64 (float64x1_t __a
)
34021 return (float64x1_t
) {__builtin_aarch64_frint32xdf (vget_lane_f64 (__a
, 0))};
34024 __extension__
extern __inline float64x2_t
34025 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34026 vrnd32xq_f64 (float64x2_t __a
)
34028 return __builtin_aarch64_frint32xv2df (__a
);
34031 __extension__
extern __inline float32x2_t
34032 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34033 vrnd64z_f32 (float32x2_t __a
)
34035 return __builtin_aarch64_frint64zv2sf (__a
);
34038 __extension__
extern __inline float32x4_t
34039 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34040 vrnd64zq_f32 (float32x4_t __a
)
34042 return __builtin_aarch64_frint64zv4sf (__a
);
34045 __extension__
extern __inline float64x1_t
34046 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34047 vrnd64z_f64 (float64x1_t __a
)
34049 return (float64x1_t
) {__builtin_aarch64_frint64zdf (vget_lane_f64 (__a
, 0))};
34052 __extension__
extern __inline float64x2_t
34053 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34054 vrnd64zq_f64 (float64x2_t __a
)
34056 return __builtin_aarch64_frint64zv2df (__a
);
34059 __extension__
extern __inline float32x2_t
34060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34061 vrnd64x_f32 (float32x2_t __a
)
34063 return __builtin_aarch64_frint64xv2sf (__a
);
34066 __extension__
extern __inline float32x4_t
34067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34068 vrnd64xq_f32 (float32x4_t __a
)
34070 return __builtin_aarch64_frint64xv4sf (__a
);
34073 __extension__
extern __inline float64x1_t
34074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34075 vrnd64x_f64 (float64x1_t __a
)
34077 return (float64x1_t
) {__builtin_aarch64_frint64xdf (vget_lane_f64 (__a
, 0))};
34080 __extension__
extern __inline float64x2_t
34081 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34082 vrnd64xq_f64 (float64x2_t __a
)
34084 return __builtin_aarch64_frint64xv2df (__a
);
34087 #pragma GCC pop_options
34089 #include "arm_bf16.h"
34091 #pragma GCC push_options
34092 #pragma GCC target ("arch=armv8.2-a+bf16")
34094 __extension__
extern __inline bfloat16x4_t
34095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34096 vset_lane_bf16 (bfloat16_t __elem
, bfloat16x4_t __vec
, const int __index
)
34098 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
34101 __extension__
extern __inline bfloat16x8_t
34102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34103 vsetq_lane_bf16 (bfloat16_t __elem
, bfloat16x8_t __vec
, const int __index
)
34105 return __aarch64_vset_lane_any (__elem
, __vec
, __index
);
34108 __extension__
extern __inline bfloat16_t
34109 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34110 vget_lane_bf16 (bfloat16x4_t __a
, const int __b
)
34112 return __aarch64_vget_lane_any (__a
, __b
);
34115 __extension__
extern __inline bfloat16_t
34116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34117 vgetq_lane_bf16 (bfloat16x8_t __a
, const int __b
)
34119 return __aarch64_vget_lane_any (__a
, __b
);
34122 __extension__
extern __inline bfloat16x4_t
34123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34124 vcreate_bf16 (uint64_t __a
)
34126 return (bfloat16x4_t
) __a
;
34129 __extension__
extern __inline bfloat16x8_t
34130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34131 vcombine_bf16 (bfloat16x4_t __a
, bfloat16x4_t __b
)
34133 return (bfloat16x8_t
)__builtin_aarch64_combinev4bf (__a
, __b
);
34138 __extension__
extern __inline bfloat16x4_t
34139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34140 vdup_n_bf16 (bfloat16_t __a
)
34142 return (bfloat16x4_t
) {__a
, __a
, __a
, __a
};
34145 __extension__
extern __inline bfloat16x8_t
34146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34147 vdupq_n_bf16 (bfloat16_t __a
)
34149 return (bfloat16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
34152 __extension__
extern __inline bfloat16x4_t
34153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34154 vdup_lane_bf16 (bfloat16x4_t __a
, const int __b
)
34156 return vdup_n_bf16 (__aarch64_vget_lane_any (__a
, __b
));
34159 __extension__
extern __inline bfloat16x4_t
34160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34161 vdup_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
34163 return vdup_n_bf16 (__aarch64_vget_lane_any (__a
, __b
));
34166 __extension__
extern __inline bfloat16x8_t
34167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34168 vdupq_lane_bf16 (bfloat16x4_t __a
, const int __b
)
34170 return vdupq_n_bf16 (__aarch64_vget_lane_any (__a
, __b
));
34173 __extension__
extern __inline bfloat16x8_t
34174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34175 vdupq_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
34177 return vdupq_n_bf16 (__aarch64_vget_lane_any (__a
, __b
));
34180 __extension__
extern __inline bfloat16_t
34181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34182 vduph_lane_bf16 (bfloat16x4_t __a
, const int __b
)
34184 return __aarch64_vget_lane_any (__a
, __b
);
34187 __extension__
extern __inline bfloat16_t
34188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34189 vduph_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
34191 return __aarch64_vget_lane_any (__a
, __b
);
34196 __extension__
extern __inline bfloat16x4_t
34197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34198 vld1_bf16 (const bfloat16_t
*__a
)
34200 return (bfloat16x4_t
) __builtin_aarch64_ld1v4bf (__a
);
34203 __extension__
extern __inline bfloat16x8_t
34204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34205 vld1q_bf16 (const bfloat16_t
*__a
)
34207 return __builtin_aarch64_ld1v8bf (__a
);
34210 __extension__
extern __inline bfloat16x4x2_t
34211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34212 vld1_bf16_x2 (const bfloat16_t
*__a
)
34214 bfloat16x4x2_t ret
;
34215 __builtin_aarch64_simd_oi __o
;
34216 __o
= __builtin_aarch64_ld1x2v4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34217 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 0);
34218 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 1);
34222 __extension__
extern __inline bfloat16x8x2_t
34223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34224 vld1q_bf16_x2 (const bfloat16_t
*__a
)
34226 bfloat16x8x2_t ret
;
34227 __builtin_aarch64_simd_oi __o
;
34228 __o
= __builtin_aarch64_ld1x2v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34229 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 0);
34230 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 1);
34234 __extension__
extern __inline bfloat16x4x3_t
34235 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34236 vld1_bf16_x3 (const bfloat16_t
*__a
)
34238 bfloat16x4x3_t __i
;
34239 __builtin_aarch64_simd_ci __o
;
34240 __o
= __builtin_aarch64_ld1x3v4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34241 __i
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 0);
34242 __i
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 1);
34243 __i
.val
[2] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 2);
34247 __extension__
extern __inline bfloat16x8x3_t
34248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34249 vld1q_bf16_x3 (const bfloat16_t
*__a
)
34251 bfloat16x8x3_t __i
;
34252 __builtin_aarch64_simd_ci __o
;
34253 __o
= __builtin_aarch64_ld1x3v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34254 __i
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 0);
34255 __i
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 1);
34256 __i
.val
[2] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 2);
34259 __extension__
extern __inline bfloat16x4x4_t
34260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34261 vld1_bf16_x4 (const bfloat16_t
*__a
)
34263 union { bfloat16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
34265 = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34269 __extension__
extern __inline bfloat16x8x4_t
34270 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34271 vld1q_bf16_x4 (const bfloat16_t
*__a
)
34273 union { bfloat16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __au
;
34275 = __builtin_aarch64_ld1x4v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34279 __extension__
extern __inline bfloat16x4_t
34280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34281 vld1_lane_bf16 (const bfloat16_t
*__src
, bfloat16x4_t __vec
, const int __lane
)
34283 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
34286 __extension__
extern __inline bfloat16x8_t
34287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34288 vld1q_lane_bf16 (const bfloat16_t
*__src
, bfloat16x8_t __vec
, const int __lane
)
34290 return __aarch64_vset_lane_any (*__src
, __vec
, __lane
);
34293 __extension__
extern __inline bfloat16x4_t
34294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34295 vld1_dup_bf16 (const bfloat16_t
* __a
)
34297 return vdup_n_bf16 (*__a
);
34300 __extension__
extern __inline bfloat16x8_t
34301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34302 vld1q_dup_bf16 (const bfloat16_t
* __a
)
34304 return vdupq_n_bf16 (*__a
);
34307 __extension__
extern __inline bfloat16x4x2_t
34308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34309 vld2_bf16 (const bfloat16_t
* __a
)
34311 bfloat16x4x2_t ret
;
34312 __builtin_aarch64_simd_oi __o
;
34313 __o
= __builtin_aarch64_ld2v4bf (__a
);
34314 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 0);
34315 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 1);
34319 __extension__
extern __inline bfloat16x8x2_t
34320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34321 vld2q_bf16 (const bfloat16_t
* __a
)
34323 bfloat16x8x2_t ret
;
34324 __builtin_aarch64_simd_oi __o
;
34325 __o
= __builtin_aarch64_ld2v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34326 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 0);
34327 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 1);
34331 __extension__
extern __inline bfloat16x4x2_t
34332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34333 vld2_dup_bf16 (const bfloat16_t
* __a
)
34335 bfloat16x4x2_t ret
;
34336 __builtin_aarch64_simd_oi __o
;
34337 __o
= __builtin_aarch64_ld2rv4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34338 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 0);
34339 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregoiv4bf (__o
, 1);
34343 __extension__
extern __inline bfloat16x8x2_t
34344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34345 vld2q_dup_bf16 (const bfloat16_t
* __a
)
34347 bfloat16x8x2_t ret
;
34348 __builtin_aarch64_simd_oi __o
;
34349 __o
= __builtin_aarch64_ld2rv8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34350 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 0);
34351 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregoiv8bf (__o
, 1);
34355 __extension__
extern __inline bfloat16x4x3_t
34356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34357 vld3_bf16 (const bfloat16_t
* __a
)
34359 bfloat16x4x3_t ret
;
34360 __builtin_aarch64_simd_ci __o
;
34361 __o
= __builtin_aarch64_ld3v4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34362 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 0);
34363 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 1);
34364 ret
.val
[2] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 2);
34368 __extension__
extern __inline bfloat16x8x3_t
34369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34370 vld3q_bf16 (const bfloat16_t
* __a
)
34372 bfloat16x8x3_t ret
;
34373 __builtin_aarch64_simd_ci __o
;
34374 __o
= __builtin_aarch64_ld3v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34375 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 0);
34376 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 1);
34377 ret
.val
[2] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 2);
34381 __extension__
extern __inline bfloat16x4x3_t
34382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34383 vld3_dup_bf16 (const bfloat16_t
* __a
)
34385 bfloat16x4x3_t ret
;
34386 __builtin_aarch64_simd_ci __o
;
34387 __o
= __builtin_aarch64_ld3rv4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34388 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 0);
34389 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 1);
34390 ret
.val
[2] = (bfloat16x4_t
) __builtin_aarch64_get_dregciv4bf (__o
, 2);
34394 __extension__
extern __inline bfloat16x8x3_t
34395 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34396 vld3q_dup_bf16 (const bfloat16_t
* __a
)
34398 bfloat16x8x3_t ret
;
34399 __builtin_aarch64_simd_ci __o
;
34400 __o
= __builtin_aarch64_ld3rv8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34401 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 0);
34402 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 1);
34403 ret
.val
[2] = (bfloat16x8_t
) __builtin_aarch64_get_qregciv8bf (__o
, 2);
34407 __extension__
extern __inline bfloat16x4x4_t
34408 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34409 vld4_bf16 (const bfloat16_t
* __a
)
34411 bfloat16x4x4_t ret
;
34412 __builtin_aarch64_simd_xi __o
;
34413 __o
= __builtin_aarch64_ld4v4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34414 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 0);
34415 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 1);
34416 ret
.val
[2] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 2);
34417 ret
.val
[3] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 3);
34421 __extension__
extern __inline bfloat16x8x4_t
34422 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34423 vld4q_bf16 (const bfloat16_t
* __a
)
34425 bfloat16x8x4_t ret
;
34426 __builtin_aarch64_simd_xi __o
;
34427 __o
= __builtin_aarch64_ld4v8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34428 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 0);
34429 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 1);
34430 ret
.val
[2] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 2);
34431 ret
.val
[3] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 3);
34435 __extension__
extern __inline bfloat16x4x4_t
34436 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34437 vld4_dup_bf16 (const bfloat16_t
* __a
)
34439 bfloat16x4x4_t ret
;
34440 __builtin_aarch64_simd_xi __o
;
34441 __o
= __builtin_aarch64_ld4rv4bf ((const __builtin_aarch64_simd_bf
*) __a
);
34442 ret
.val
[0] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 0);
34443 ret
.val
[1] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 1);
34444 ret
.val
[2] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 2);
34445 ret
.val
[3] = (bfloat16x4_t
) __builtin_aarch64_get_dregxiv4bf (__o
, 3);
34449 __extension__
extern __inline bfloat16x8x4_t
34450 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34451 vld4q_dup_bf16 (const bfloat16_t
* __a
)
34453 bfloat16x8x4_t ret
;
34454 __builtin_aarch64_simd_xi __o
;
34455 __o
= __builtin_aarch64_ld4rv8bf ((const __builtin_aarch64_simd_bf
*) __a
);
34456 ret
.val
[0] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 0);
34457 ret
.val
[1] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 1);
34458 ret
.val
[2] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 2);
34459 ret
.val
[3] = (bfloat16x8_t
) __builtin_aarch64_get_qregxiv8bf (__o
, 3);
34465 __extension__
extern __inline
void
34466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34467 vst1_bf16 (bfloat16_t
*__a
, bfloat16x4_t __b
)
34469 __builtin_aarch64_st1v4bf (__a
, __b
);
34472 __extension__
extern __inline
void
34473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34474 vst1_bf16_x2 (bfloat16_t
* __a
, bfloat16x4x2_t __val
)
34476 __builtin_aarch64_simd_oi __o
;
34477 bfloat16x8x2_t __temp
;
34478 __temp
.val
[0] = vcombine_bf16 (__val
.val
[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34479 __temp
.val
[1] = vcombine_bf16 (__val
.val
[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34480 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __temp
.val
[0], 0);
34481 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __temp
.val
[1], 1);
34482 __builtin_aarch64_st1x2v4bf (__a
, __o
);
34485 __extension__
extern __inline
void
34486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34487 vst1q_bf16_x2 (bfloat16_t
* __a
, bfloat16x8x2_t __val
)
34489 __builtin_aarch64_simd_oi __o
;
34490 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __val
.val
[0], 0);
34491 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __val
.val
[1], 1);
34492 __builtin_aarch64_st1x2v8bf (__a
, __o
);
34495 __extension__
extern __inline
void
34496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34497 vst1_bf16_x3 (bfloat16_t
* __a
, bfloat16x4x3_t __val
)
34499 __builtin_aarch64_simd_ci __o
;
34500 bfloat16x8x3_t __temp
;
34501 __temp
.val
[0] = vcombine_bf16 (__val
.val
[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34502 __temp
.val
[1] = vcombine_bf16 (__val
.val
[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34503 __temp
.val
[2] = vcombine_bf16 (__val
.val
[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34504 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[0], 0);
34505 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[1], 1);
34506 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[2], 2);
34507 __builtin_aarch64_st1x3v4bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34510 __extension__
extern __inline
void
34511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34512 vst1q_bf16_x3 (bfloat16_t
* __a
, bfloat16x8x3_t __val
)
34514 __builtin_aarch64_simd_ci __o
;
34515 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[0], 0);
34516 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[1], 1);
34517 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[2], 2);
34518 __builtin_aarch64_st1x3v8bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34521 __extension__
extern __inline
void
34522 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34523 vst1_bf16_x4 (bfloat16_t
* __a
, bfloat16x4x4_t val
)
34525 union { bfloat16x4x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
34526 __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf
*) __a
, __u
.__o
);
34529 __extension__
extern __inline
void
34530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34531 vst1q_bf16_x4 (bfloat16_t
* __a
, bfloat16x8x4_t val
)
34533 union { bfloat16x8x4_t __i
; __builtin_aarch64_simd_xi __o
; } __u
= { val
};
34534 __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf
*) __a
, __u
.__o
);
34537 __extension__
extern __inline
void
34538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34539 vst1q_bf16 (bfloat16_t
*__a
, bfloat16x8_t __b
)
34541 __builtin_aarch64_st1v8bf (__a
, __b
);
34544 __extension__
extern __inline
void
34545 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34546 vst1_lane_bf16 (bfloat16_t
*__a
, bfloat16x4_t __b
, const int __lane
)
34548 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
34551 __extension__
extern __inline
void
34552 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34553 vst1q_lane_bf16 (bfloat16_t
*__a
, bfloat16x8_t __b
, const int __lane
)
34555 *__a
= __aarch64_vget_lane_any (__b
, __lane
);
34558 __extension__
extern __inline
void
34559 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34560 vst2_bf16 (bfloat16_t
* __a
, bfloat16x4x2_t __val
)
34562 __builtin_aarch64_simd_oi __o
;
34563 bfloat16x8x2_t __temp
;
34564 __temp
.val
[0] = vcombine_bf16 (__val
.val
[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34565 __temp
.val
[1] = vcombine_bf16 (__val
.val
[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34566 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __temp
.val
[0], 0);
34567 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __temp
.val
[1], 1);
34568 __builtin_aarch64_st2v4bf (__a
, __o
);
34571 __extension__
extern __inline
void
34572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34573 vst2q_bf16 (bfloat16_t
* __a
, bfloat16x8x2_t __val
)
34575 __builtin_aarch64_simd_oi __o
;
34576 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __val
.val
[0], 0);
34577 __o
= __builtin_aarch64_set_qregoiv8bf (__o
, __val
.val
[1], 1);
34578 __builtin_aarch64_st2v8bf (__a
, __o
);
34581 __extension__
extern __inline
void
34582 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34583 vst3_bf16 (bfloat16_t
* __a
, bfloat16x4x3_t __val
)
34585 __builtin_aarch64_simd_ci __o
;
34586 bfloat16x8x3_t __temp
;
34587 __temp
.val
[0] = vcombine_bf16 (__val
.val
[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34588 __temp
.val
[1] = vcombine_bf16 (__val
.val
[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34589 __temp
.val
[2] = vcombine_bf16 (__val
.val
[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34590 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[0], 0);
34591 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[1], 1);
34592 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __temp
.val
[2], 2);
34593 __builtin_aarch64_st3v4bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34596 __extension__
extern __inline
void
34597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34598 vst3q_bf16 (bfloat16_t
* __a
, bfloat16x8x3_t __val
)
34600 __builtin_aarch64_simd_ci __o
;
34601 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[0], 0);
34602 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[1], 1);
34603 __o
= __builtin_aarch64_set_qregciv8bf (__o
, (bfloat16x8_t
) __val
.val
[2], 2);
34604 __builtin_aarch64_st3v8bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34607 __extension__
extern __inline
void
34608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34609 vst4_bf16 (bfloat16_t
* __a
, bfloat16x4x4_t __val
)
34611 __builtin_aarch64_simd_xi __o
;
34612 bfloat16x8x4_t __temp
;
34613 __temp
.val
[0] = vcombine_bf16 (__val
.val
[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34614 __temp
.val
[1] = vcombine_bf16 (__val
.val
[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34615 __temp
.val
[2] = vcombine_bf16 (__val
.val
[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34616 __temp
.val
[3] = vcombine_bf16 (__val
.val
[3], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34617 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __temp
.val
[0], 0);
34618 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __temp
.val
[1], 1);
34619 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __temp
.val
[2], 2);
34620 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __temp
.val
[3], 3);
34621 __builtin_aarch64_st4v4bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34624 __extension__
extern __inline
void
34625 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34626 vst4q_bf16 (bfloat16_t
* __a
, bfloat16x8x4_t __val
)
34628 __builtin_aarch64_simd_xi __o
;
34629 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __val
.val
[0], 0);
34630 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __val
.val
[1], 1);
34631 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __val
.val
[2], 2);
34632 __o
= __builtin_aarch64_set_qregxiv8bf (__o
, (bfloat16x8_t
) __val
.val
[3], 3);
34633 __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf
*) __a
, __o
);
34638 __extension__
extern __inline bfloat16x4_t
34639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34640 vreinterpret_bf16_u8 (uint8x8_t __a
)
34642 return (bfloat16x4_t
)__a
;
34645 __extension__
extern __inline bfloat16x4_t
34646 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34647 vreinterpret_bf16_u16 (uint16x4_t __a
)
34649 return (bfloat16x4_t
)__a
;
34652 __extension__
extern __inline bfloat16x4_t
34653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34654 vreinterpret_bf16_u32 (uint32x2_t __a
)
34656 return (bfloat16x4_t
)__a
;
34659 __extension__
extern __inline bfloat16x4_t
34660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34661 vreinterpret_bf16_u64 (uint64x1_t __a
)
34663 return (bfloat16x4_t
)__a
;
34666 __extension__
extern __inline bfloat16x4_t
34667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34668 vreinterpret_bf16_s8 (int8x8_t __a
)
34670 return (bfloat16x4_t
)__a
;
34673 __extension__
extern __inline bfloat16x4_t
34674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34675 vreinterpret_bf16_s16 (int16x4_t __a
)
34677 return (bfloat16x4_t
)__a
;
34680 __extension__
extern __inline bfloat16x4_t
34681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34682 vreinterpret_bf16_s32 (int32x2_t __a
)
34684 return (bfloat16x4_t
)__a
;
34687 __extension__
extern __inline bfloat16x4_t
34688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34689 vreinterpret_bf16_s64 (int64x1_t __a
)
34691 return (bfloat16x4_t
)__a
;
34694 __extension__
extern __inline bfloat16x4_t
34695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34696 vreinterpret_bf16_p8 (poly8x8_t __a
)
34698 return (bfloat16x4_t
)__a
;
34701 __extension__
extern __inline bfloat16x4_t
34702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34703 vreinterpret_bf16_p16 (poly16x4_t __a
)
34705 return (bfloat16x4_t
)__a
;
34708 __extension__
extern __inline bfloat16x4_t
34709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34710 vreinterpret_bf16_p64 (poly64x1_t __a
)
34712 return (bfloat16x4_t
)__a
;
34715 __extension__
extern __inline bfloat16x4_t
34716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34717 vreinterpret_bf16_f16 (float16x4_t __a
)
34719 return (bfloat16x4_t
)__a
;
34722 __extension__
extern __inline bfloat16x4_t
34723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34724 vreinterpret_bf16_f32 (float32x2_t __a
)
34726 return (bfloat16x4_t
)__a
;
34729 __extension__
extern __inline bfloat16x4_t
34730 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34731 vreinterpret_bf16_f64 (float64x1_t __a
)
34733 return (bfloat16x4_t
)__a
;
34736 __extension__
extern __inline bfloat16x8_t
34737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34738 vreinterpretq_bf16_u8 (uint8x16_t __a
)
34740 return (bfloat16x8_t
)__a
;
34743 __extension__
extern __inline bfloat16x8_t
34744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34745 vreinterpretq_bf16_u16 (uint16x8_t __a
)
34747 return (bfloat16x8_t
)__a
;
34750 __extension__
extern __inline bfloat16x8_t
34751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34752 vreinterpretq_bf16_u32 (uint32x4_t __a
)
34754 return (bfloat16x8_t
)__a
;
34757 __extension__
extern __inline bfloat16x8_t
34758 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34759 vreinterpretq_bf16_u64 (uint64x2_t __a
)
34761 return (bfloat16x8_t
)__a
;
34764 __extension__
extern __inline bfloat16x8_t
34765 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34766 vreinterpretq_bf16_s8 (int8x16_t __a
)
34768 return (bfloat16x8_t
)__a
;
34771 __extension__
extern __inline bfloat16x8_t
34772 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34773 vreinterpretq_bf16_s16 (int16x8_t __a
)
34775 return (bfloat16x8_t
)__a
;
34778 __extension__
extern __inline bfloat16x8_t
34779 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34780 vreinterpretq_bf16_s32 (int32x4_t __a
)
34782 return (bfloat16x8_t
)__a
;
34785 __extension__
extern __inline bfloat16x8_t
34786 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34787 vreinterpretq_bf16_s64 (int64x2_t __a
)
34789 return (bfloat16x8_t
)__a
;
34792 __extension__
extern __inline bfloat16x8_t
34793 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34794 vreinterpretq_bf16_p8 (poly8x16_t __a
)
34796 return (bfloat16x8_t
)__a
;
34799 __extension__
extern __inline bfloat16x8_t
34800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34801 vreinterpretq_bf16_p16 (poly16x8_t __a
)
34803 return (bfloat16x8_t
)__a
;
34806 __extension__
extern __inline bfloat16x8_t
34807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34808 vreinterpretq_bf16_p64 (poly64x2_t __a
)
34810 return (bfloat16x8_t
)__a
;
34813 __extension__
extern __inline bfloat16x8_t
34814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34815 vreinterpretq_bf16_p128 (poly128_t __a
)
34817 return (bfloat16x8_t
)__a
;
34820 __extension__
extern __inline bfloat16x8_t
34821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34822 vreinterpretq_bf16_f16 (float16x8_t __a
)
34824 return (bfloat16x8_t
)__a
;
34827 __extension__
extern __inline bfloat16x8_t
34828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34829 vreinterpretq_bf16_f32 (float32x4_t __a
)
34831 return (bfloat16x8_t
)__a
;
34834 __extension__
extern __inline bfloat16x8_t
34835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34836 vreinterpretq_bf16_f64 (float64x2_t __a
)
34838 return (bfloat16x8_t
)__a
;
34841 __extension__
extern __inline int8x8_t
34842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34843 vreinterpret_s8_bf16 (bfloat16x4_t __a
)
34845 return (int8x8_t
)__a
;
34848 __extension__
extern __inline int16x4_t
34849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34850 vreinterpret_s16_bf16 (bfloat16x4_t __a
)
34852 return (int16x4_t
)__a
;
34855 __extension__
extern __inline int32x2_t
34856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34857 vreinterpret_s32_bf16 (bfloat16x4_t __a
)
34859 return (int32x2_t
)__a
;
34862 __extension__
extern __inline int64x1_t
34863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34864 vreinterpret_s64_bf16 (bfloat16x4_t __a
)
34866 return (int64x1_t
)__a
;
34869 __extension__
extern __inline uint8x8_t
34870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34871 vreinterpret_u8_bf16 (bfloat16x4_t __a
)
34873 return (uint8x8_t
)__a
;
34876 __extension__
extern __inline uint16x4_t
34877 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34878 vreinterpret_u16_bf16 (bfloat16x4_t __a
)
34880 return (uint16x4_t
)__a
;
34883 __extension__
extern __inline uint32x2_t
34884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34885 vreinterpret_u32_bf16 (bfloat16x4_t __a
)
34887 return (uint32x2_t
)__a
;
34890 __extension__
extern __inline uint64x1_t
34891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34892 vreinterpret_u64_bf16 (bfloat16x4_t __a
)
34894 return (uint64x1_t
)__a
;
34897 __extension__
extern __inline float16x4_t
34898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34899 vreinterpret_f16_bf16 (bfloat16x4_t __a
)
34901 return (float16x4_t
)__a
;
34904 __extension__
extern __inline float32x2_t
34905 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34906 vreinterpret_f32_bf16 (bfloat16x4_t __a
)
34908 return (float32x2_t
)__a
;
34911 __extension__
extern __inline float64x1_t
34912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34913 vreinterpret_f64_bf16 (bfloat16x4_t __a
)
34915 return (float64x1_t
)__a
;
34918 __extension__
extern __inline poly8x8_t
34919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34920 vreinterpret_p8_bf16 (bfloat16x4_t __a
)
34922 return (poly8x8_t
)__a
;
34925 __extension__
extern __inline poly16x4_t
34926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34927 vreinterpret_p16_bf16 (bfloat16x4_t __a
)
34929 return (poly16x4_t
)__a
;
34932 __extension__
extern __inline poly64x1_t
34933 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34934 vreinterpret_p64_bf16 (bfloat16x4_t __a
)
34936 return (poly64x1_t
)__a
;
34939 __extension__
extern __inline int8x16_t
34940 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34941 vreinterpretq_s8_bf16 (bfloat16x8_t __a
)
34943 return (int8x16_t
)__a
;
34946 __extension__
extern __inline int16x8_t
34947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34948 vreinterpretq_s16_bf16 (bfloat16x8_t __a
)
34950 return (int16x8_t
)__a
;
34953 __extension__
extern __inline int32x4_t
34954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34955 vreinterpretq_s32_bf16 (bfloat16x8_t __a
)
34957 return (int32x4_t
)__a
;
34960 __extension__
extern __inline int64x2_t
34961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34962 vreinterpretq_s64_bf16 (bfloat16x8_t __a
)
34964 return (int64x2_t
)__a
;
34967 __extension__
extern __inline uint8x16_t
34968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34969 vreinterpretq_u8_bf16 (bfloat16x8_t __a
)
34971 return (uint8x16_t
)__a
;
34974 __extension__
extern __inline uint16x8_t
34975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34976 vreinterpretq_u16_bf16 (bfloat16x8_t __a
)
34978 return (uint16x8_t
)__a
;
34981 __extension__
extern __inline uint32x4_t
34982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34983 vreinterpretq_u32_bf16 (bfloat16x8_t __a
)
34985 return (uint32x4_t
)__a
;
34988 __extension__
extern __inline uint64x2_t
34989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34990 vreinterpretq_u64_bf16 (bfloat16x8_t __a
)
34992 return (uint64x2_t
)__a
;
34995 __extension__
extern __inline float16x8_t
34996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
34997 vreinterpretq_f16_bf16 (bfloat16x8_t __a
)
34999 return (float16x8_t
)__a
;
35002 __extension__
extern __inline float32x4_t
35003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35004 vreinterpretq_f32_bf16 (bfloat16x8_t __a
)
35006 return (float32x4_t
)__a
;
35009 __extension__
extern __inline float64x2_t
35010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35011 vreinterpretq_f64_bf16 (bfloat16x8_t __a
)
35013 return (float64x2_t
)__a
;
35016 __extension__
extern __inline poly8x16_t
35017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35018 vreinterpretq_p8_bf16 (bfloat16x8_t __a
)
35020 return (poly8x16_t
)__a
;
35023 __extension__
extern __inline poly16x8_t
35024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35025 vreinterpretq_p16_bf16 (bfloat16x8_t __a
)
35027 return (poly16x8_t
)__a
;
35030 __extension__
extern __inline poly64x2_t
35031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35032 vreinterpretq_p64_bf16 (bfloat16x8_t __a
)
35034 return (poly64x2_t
)__a
;
35037 __extension__
extern __inline poly128_t
35038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35039 vreinterpretq_p128_bf16 (bfloat16x8_t __a
)
35041 return (poly128_t
)__a
;
35044 __extension__
extern __inline float32x2_t
35045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35046 vbfdot_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x4_t __b
)
35048 return __builtin_aarch64_bfdotv2sf (__r
, __a
, __b
);
35051 __extension__
extern __inline float32x4_t
35052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35053 vbfdotq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
35055 return __builtin_aarch64_bfdotv4sf (__r
, __a
, __b
);
35058 __extension__
extern __inline float32x2_t
35059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35060 vbfdot_lane_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x4_t __b
,
35063 return __builtin_aarch64_bfdot_lanev2sf (__r
, __a
, __b
, __index
);
35066 __extension__
extern __inline float32x4_t
35067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35068 vbfdotq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
35071 return __builtin_aarch64_bfdot_lanev4sf (__r
, __a
, __b
, __index
);
35074 __extension__
extern __inline float32x2_t
35075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35076 vbfdot_laneq_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x8_t __b
,
35079 return __builtin_aarch64_bfdot_laneqv2sf (__r
, __a
, __b
, __index
);
35082 __extension__
extern __inline float32x4_t
35083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35084 vbfdotq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
35087 return __builtin_aarch64_bfdot_laneqv4sf (__r
, __a
, __b
, __index
);
35090 __extension__
extern __inline float32x4_t
35091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35092 vbfmmlaq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
35095 return __builtin_aarch64_bfmmlaqv4sf (__r
, __a
, __b
);
35098 __extension__
extern __inline float32x4_t
35099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35100 vbfmlalbq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
35102 return __builtin_aarch64_bfmlalbv4sf (__r
, __a
, __b
);
35105 __extension__
extern __inline float32x4_t
35106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35107 vbfmlaltq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
35109 return __builtin_aarch64_bfmlaltv4sf (__r
, __a
, __b
);
35112 __extension__
extern __inline float32x4_t
35113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35114 vbfmlalbq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
35117 return __builtin_aarch64_bfmlalb_lanev4sf (__r
, __a
, __b
, __index
);
35120 __extension__
extern __inline float32x4_t
35121 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35122 vbfmlaltq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
35125 return __builtin_aarch64_bfmlalt_lanev4sf (__r
, __a
, __b
, __index
);
35128 __extension__
extern __inline float32x4_t
35129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35130 vbfmlalbq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
35133 return __builtin_aarch64_bfmlalb_lane_qv4sf (__r
, __a
, __b
, __index
);
35136 __extension__
extern __inline float32x4_t
35137 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35138 vbfmlaltq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
35141 return __builtin_aarch64_bfmlalt_lane_qv4sf (__r
, __a
, __b
, __index
);
35144 __extension__
extern __inline bfloat16x4_t
35145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35146 vget_low_bf16 (bfloat16x8_t __a
)
35148 return __builtin_aarch64_vget_lo_halfv8bf (__a
);
35151 __extension__
extern __inline bfloat16x4_t
35152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35153 vget_high_bf16 (bfloat16x8_t __a
)
35155 return __builtin_aarch64_vget_hi_halfv8bf (__a
);
35158 __extension__
extern __inline float32x4_t
35159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35160 vcvt_f32_bf16 (bfloat16x4_t __a
)
35162 return __builtin_aarch64_vbfcvtv4bf (__a
);
35165 __extension__
extern __inline float32x4_t
35166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35167 vcvtq_low_f32_bf16 (bfloat16x8_t __a
)
35169 return __builtin_aarch64_vbfcvtv8bf (__a
);
35172 __extension__
extern __inline float32x4_t
35173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35174 vcvtq_high_f32_bf16 (bfloat16x8_t __a
)
35176 return __builtin_aarch64_vbfcvt_highv8bf (__a
);
35179 __extension__
extern __inline bfloat16x4_t
35180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35181 vcvt_bf16_f32 (float32x4_t __a
)
35183 return __builtin_aarch64_bfcvtnv4bf (__a
);
35186 __extension__
extern __inline bfloat16x8_t
35187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35188 vcvtq_low_bf16_f32 (float32x4_t __a
)
35190 return __builtin_aarch64_bfcvtn_qv8bf (__a
);
35193 __extension__
extern __inline bfloat16x8_t
35194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35195 vcvtq_high_bf16_f32 (bfloat16x8_t __inactive
, float32x4_t __a
)
35197 return __builtin_aarch64_bfcvtn2v8bf (__inactive
, __a
);
35200 __extension__
extern __inline bfloat16x4_t
35201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35202 vcopy_lane_bf16 (bfloat16x4_t __a
, const int __lane1
,
35203 bfloat16x4_t __b
, const int __lane2
)
35205 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
35209 __extension__
extern __inline bfloat16x8_t
35210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35211 vcopyq_lane_bf16 (bfloat16x8_t __a
, const int __lane1
,
35212 bfloat16x4_t __b
, const int __lane2
)
35214 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
35218 __extension__
extern __inline bfloat16x4_t
35219 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35220 vcopy_laneq_bf16 (bfloat16x4_t __a
, const int __lane1
,
35221 bfloat16x8_t __b
, const int __lane2
)
35223 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
35227 __extension__
extern __inline bfloat16x8_t
35228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35229 vcopyq_laneq_bf16 (bfloat16x8_t __a
, const int __lane1
,
35230 bfloat16x8_t __b
, const int __lane2
)
35232 return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b
, __lane2
),
35236 __LD2_LANE_FUNC (bfloat16x4x2_t
, bfloat16x4_t
, bfloat16x8x2_t
, bfloat16_t
, v4bf
,
35237 v8bf
, bf
, bf16
, bfloat16x8_t
)
35238 __LD2Q_LANE_FUNC (bfloat16x8x2_t
, bfloat16x8_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35239 __LD3_LANE_FUNC (bfloat16x4x3_t
, bfloat16x4_t
, bfloat16x8x3_t
, bfloat16_t
, v4bf
,
35240 v8bf
, bf
, bf16
, bfloat16x8_t
)
35241 __LD3Q_LANE_FUNC (bfloat16x8x3_t
, bfloat16x8_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35242 __LD4_LANE_FUNC (bfloat16x4x4_t
, bfloat16x4_t
, bfloat16x8x4_t
, bfloat16_t
, v4bf
,
35243 v8bf
, bf
, bf16
, bfloat16x8_t
)
35244 __LD4Q_LANE_FUNC (bfloat16x8x4_t
, bfloat16x8_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35246 __ST2_LANE_FUNC (bfloat16x4x2_t
, bfloat16x8x2_t
, bfloat16_t
, v4bf
, v8bf
, bf
,
35247 bf16
, bfloat16x8_t
)
35248 __ST2Q_LANE_FUNC (bfloat16x8x2_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35249 __ST3_LANE_FUNC (bfloat16x4x3_t
, bfloat16x8x3_t
, bfloat16_t
, v4bf
, v8bf
, bf
,
35250 bf16
, bfloat16x8_t
)
35251 __ST3Q_LANE_FUNC (bfloat16x8x3_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35252 __ST4_LANE_FUNC (bfloat16x4x4_t
, bfloat16x8x4_t
, bfloat16_t
, v4bf
, v8bf
, bf
,
35253 bf16
, bfloat16x8_t
)
35254 __ST4Q_LANE_FUNC (bfloat16x8x4_t
, bfloat16_t
, v8bf
, bf
, bf16
)
35256 #pragma GCC pop_options
35258 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics. */
35260 #pragma GCC push_options
35261 #pragma GCC target ("arch=armv8.2-a+i8mm")
35263 __extension__
extern __inline int32x2_t
35264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35265 vusdot_s32 (int32x2_t __r
, uint8x8_t __a
, int8x8_t __b
)
35267 return __builtin_aarch64_usdotv8qi_ssus (__r
, __a
, __b
);
35270 __extension__
extern __inline int32x4_t
35271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35272 vusdotq_s32 (int32x4_t __r
, uint8x16_t __a
, int8x16_t __b
)
35274 return __builtin_aarch64_usdotv16qi_ssus (__r
, __a
, __b
);
35277 __extension__
extern __inline int32x2_t
35278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35279 vusdot_lane_s32 (int32x2_t __r
, uint8x8_t __a
, int8x8_t __b
, const int __index
)
35281 return __builtin_aarch64_usdot_lanev8qi_ssuss (__r
, __a
, __b
, __index
);
35284 __extension__
extern __inline int32x2_t
35285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35286 vusdot_laneq_s32 (int32x2_t __r
, uint8x8_t __a
, int8x16_t __b
,
35289 return __builtin_aarch64_usdot_laneqv8qi_ssuss (__r
, __a
, __b
, __index
);
35292 __extension__
extern __inline int32x4_t
35293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35294 vusdotq_lane_s32 (int32x4_t __r
, uint8x16_t __a
, int8x8_t __b
,
35297 return __builtin_aarch64_usdot_lanev16qi_ssuss (__r
, __a
, __b
, __index
);
35300 __extension__
extern __inline int32x4_t
35301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35302 vusdotq_laneq_s32 (int32x4_t __r
, uint8x16_t __a
, int8x16_t __b
,
35305 return __builtin_aarch64_usdot_laneqv16qi_ssuss (__r
, __a
, __b
, __index
);
35308 __extension__
extern __inline int32x2_t
35309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35310 vsudot_lane_s32 (int32x2_t __r
, int8x8_t __a
, uint8x8_t __b
, const int __index
)
35312 return __builtin_aarch64_sudot_lanev8qi_sssus (__r
, __a
, __b
, __index
);
35315 __extension__
extern __inline int32x2_t
35316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35317 vsudot_laneq_s32 (int32x2_t __r
, int8x8_t __a
, uint8x16_t __b
,
35320 return __builtin_aarch64_sudot_laneqv8qi_sssus (__r
, __a
, __b
, __index
);
35323 __extension__
extern __inline int32x4_t
35324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35325 vsudotq_lane_s32 (int32x4_t __r
, int8x16_t __a
, uint8x8_t __b
,
35328 return __builtin_aarch64_sudot_lanev16qi_sssus (__r
, __a
, __b
, __index
);
35331 __extension__
extern __inline int32x4_t
35332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35333 vsudotq_laneq_s32 (int32x4_t __r
, int8x16_t __a
, uint8x16_t __b
,
35336 return __builtin_aarch64_sudot_laneqv16qi_sssus (__r
, __a
, __b
, __index
);
35339 /* Matrix Multiply-Accumulate. */
35341 __extension__
extern __inline int32x4_t
35342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35343 vmmlaq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
)
35345 return __builtin_aarch64_simd_smmlav16qi (__r
, __a
, __b
);
35348 __extension__
extern __inline uint32x4_t
35349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35350 vmmlaq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
)
35352 return __builtin_aarch64_simd_ummlav16qi_uuuu (__r
, __a
, __b
);
35355 __extension__
extern __inline int32x4_t
35356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
35357 vusmmlaq_s32 (int32x4_t __r
, uint8x16_t __a
, int8x16_t __b
)
35359 return __builtin_aarch64_simd_usmmlav16qi_ssus (__r
, __a
, __b
);
35362 #pragma GCC pop_options
35364 __extension__
extern __inline poly8x8_t
35365 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35366 vadd_p8 (poly8x8_t __a
, poly8x8_t __b
)
35371 __extension__
extern __inline poly16x4_t
35372 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35373 vadd_p16 (poly16x4_t __a
, poly16x4_t __b
)
35378 __extension__
extern __inline poly64x1_t
35379 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35380 vadd_p64 (poly64x1_t __a
, poly64x1_t __b
)
35385 __extension__
extern __inline poly8x16_t
35386 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35387 vaddq_p8 (poly8x16_t __a
, poly8x16_t __b
)
35392 __extension__
extern __inline poly16x8_t
35393 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35394 vaddq_p16 (poly16x8_t __a
, poly16x8_t __b
)
35399 __extension__
extern __inline poly64x2_t
35400 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35401 vaddq_p64 (poly64x2_t __a
, poly64x2_t __b
)
35406 __extension__
extern __inline poly128_t
35407 __attribute ((__always_inline__
, __gnu_inline__
, __artificial__
))
35408 vaddq_p128 (poly128_t __a
, poly128_t __b
)
35413 #undef __aarch64_vget_lane_any
35415 #undef __aarch64_vdup_lane_any
35416 #undef __aarch64_vdup_lane_f16
35417 #undef __aarch64_vdup_lane_f32
35418 #undef __aarch64_vdup_lane_f64
35419 #undef __aarch64_vdup_lane_p8
35420 #undef __aarch64_vdup_lane_p16
35421 #undef __aarch64_vdup_lane_s8
35422 #undef __aarch64_vdup_lane_s16
35423 #undef __aarch64_vdup_lane_s32
35424 #undef __aarch64_vdup_lane_s64
35425 #undef __aarch64_vdup_lane_u8
35426 #undef __aarch64_vdup_lane_u16
35427 #undef __aarch64_vdup_lane_u32
35428 #undef __aarch64_vdup_lane_u64
35429 #undef __aarch64_vdup_laneq_f16
35430 #undef __aarch64_vdup_laneq_f32
35431 #undef __aarch64_vdup_laneq_f64
35432 #undef __aarch64_vdup_laneq_p8
35433 #undef __aarch64_vdup_laneq_p16
35434 #undef __aarch64_vdup_laneq_s8
35435 #undef __aarch64_vdup_laneq_s16
35436 #undef __aarch64_vdup_laneq_s32
35437 #undef __aarch64_vdup_laneq_s64
35438 #undef __aarch64_vdup_laneq_u8
35439 #undef __aarch64_vdup_laneq_u16
35440 #undef __aarch64_vdup_laneq_u32
35441 #undef __aarch64_vdup_laneq_u64
35442 #undef __aarch64_vdupq_lane_f16
35443 #undef __aarch64_vdupq_lane_f32
35444 #undef __aarch64_vdupq_lane_f64
35445 #undef __aarch64_vdupq_lane_p8
35446 #undef __aarch64_vdupq_lane_p16
35447 #undef __aarch64_vdupq_lane_s8
35448 #undef __aarch64_vdupq_lane_s16
35449 #undef __aarch64_vdupq_lane_s32
35450 #undef __aarch64_vdupq_lane_s64
35451 #undef __aarch64_vdupq_lane_u8
35452 #undef __aarch64_vdupq_lane_u16
35453 #undef __aarch64_vdupq_lane_u32
35454 #undef __aarch64_vdupq_lane_u64
35455 #undef __aarch64_vdupq_laneq_f16
35456 #undef __aarch64_vdupq_laneq_f32
35457 #undef __aarch64_vdupq_laneq_f64
35458 #undef __aarch64_vdupq_laneq_p8
35459 #undef __aarch64_vdupq_laneq_p16
35460 #undef __aarch64_vdupq_laneq_s8
35461 #undef __aarch64_vdupq_laneq_s16
35462 #undef __aarch64_vdupq_laneq_s32
35463 #undef __aarch64_vdupq_laneq_s64
35464 #undef __aarch64_vdupq_laneq_u8
35465 #undef __aarch64_vdupq_laneq_u16
35466 #undef __aarch64_vdupq_laneq_u32
35467 #undef __aarch64_vdupq_laneq_u64
35469 #undef __LD2_LANE_FUNC
35470 #undef __LD2Q_LANE_FUNC
35471 #undef __LD3_LANE_FUNC
35472 #undef __LD3Q_LANE_FUNC
35473 #undef __LD4_LANE_FUNC
35474 #undef __LD4Q_LANE_FUNC
35475 #undef __ST2_LANE_FUNC
35476 #undef __ST2Q_LANE_FUNC
35477 #undef __ST3_LANE_FUNC
35478 #undef __ST3Q_LANE_FUNC
35479 #undef __ST4_LANE_FUNC
35480 #undef __ST4Q_LANE_FUNC