1 /* ARM NEON intrinsics include file.
3 Copyright (C) 2006-2025 Free Software Foundation, Inc.
4 Contributed by CodeSourcery.
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 _GCC_ARM_NEON_H
28 #define _GCC_ARM_NEON_H 1
31 #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
34 #pragma GCC push_options
35 #pragma GCC target ("fpu=neon")
45 /* For big-endian, GCC's vector indices are reversed within each 64
46 bits compared to the architectural lane indices used by Neon
48 #ifdef __ARM_BIG_ENDIAN
49 #define __ARM_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
50 #define __arm_lane(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec) - 1))
51 #define __arm_laneq(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec)/2 - 1))
53 #define __arm_lane(__vec, __idx) __idx
54 #define __arm_laneq(__vec, __idx) __idx
57 typedef __simd64_int8_t int8x8_t
;
58 typedef __simd64_int16_t int16x4_t
;
59 typedef __simd64_int32_t int32x2_t
;
60 typedef __builtin_neon_di int64x1_t
;
61 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
62 typedef __fp16 float16_t
;
63 typedef __simd64_float16_t float16x4_t
;
65 typedef __simd64_float32_t float32x2_t
;
66 typedef __simd64_poly8_t poly8x8_t
;
67 typedef __simd64_poly16_t poly16x4_t
;
68 #pragma GCC push_options
69 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
70 typedef __builtin_neon_poly64 poly64x1_t
;
71 #pragma GCC pop_options
72 typedef __simd64_uint8_t uint8x8_t
;
73 typedef __simd64_uint16_t uint16x4_t
;
74 typedef __simd64_uint32_t uint32x2_t
;
75 typedef __builtin_neon_udi uint64x1_t
;
77 typedef __simd128_int8_t int8x16_t
;
78 typedef __simd128_int16_t int16x8_t
;
79 typedef __simd128_int32_t int32x4_t
;
80 typedef __simd128_int64_t int64x2_t
;
81 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
82 typedef __simd128_float16_t float16x8_t
;
84 typedef __simd128_float32_t float32x4_t
;
85 typedef __simd128_poly8_t poly8x16_t
;
86 typedef __simd128_poly16_t poly16x8_t
;
87 #pragma GCC push_options
88 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
89 typedef __builtin_neon_poly64 poly64x2_t
__attribute__ ((__vector_size__ (16)));
90 #pragma GCC pop_options
92 typedef __simd128_uint8_t uint8x16_t
;
93 typedef __simd128_uint16_t uint16x8_t
;
94 typedef __simd128_uint32_t uint32x4_t
;
95 typedef __simd128_uint64_t uint64x2_t
;
97 typedef float float32_t
;
99 typedef __simd128_bfloat16_t bfloat16x8_t
;
100 typedef __simd64_bfloat16_t bfloat16x4_t
;
102 /* The Poly types are user visible and live in their own world,
103 keep them that way. */
104 typedef __builtin_neon_poly8 poly8_t
;
105 typedef __builtin_neon_poly16 poly16_t
;
106 #pragma GCC push_options
107 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
108 typedef __builtin_neon_poly64 poly64_t
;
109 typedef __builtin_neon_poly128 poly128_t
;
110 #pragma GCC pop_options
112 typedef struct int8x8x2_t
117 typedef struct int8x16x2_t
122 typedef struct int16x4x2_t
127 typedef struct int16x8x2_t
132 typedef struct int32x2x2_t
137 typedef struct int32x4x2_t
142 typedef struct int64x1x2_t
147 typedef struct int64x2x2_t
152 typedef struct uint8x8x2_t
157 typedef struct uint8x16x2_t
162 typedef struct uint16x4x2_t
167 typedef struct uint16x8x2_t
172 typedef struct uint32x2x2_t
177 typedef struct uint32x4x2_t
182 typedef struct uint64x1x2_t
187 typedef struct uint64x2x2_t
192 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
193 typedef struct float16x4x2_t
199 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
200 typedef struct float16x8x2_t
206 typedef struct float32x2x2_t
211 typedef struct float32x4x2_t
216 typedef struct poly8x8x2_t
221 typedef struct poly8x16x2_t
226 typedef struct poly16x4x2_t
231 typedef struct poly16x8x2_t
236 #pragma GCC push_options
237 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
238 typedef struct poly64x1x2_t
244 typedef struct poly64x2x2_t
248 #pragma GCC pop_options
251 typedef struct int8x8x3_t
256 typedef struct int8x16x3_t
261 typedef struct int16x4x3_t
266 typedef struct int16x8x3_t
271 typedef struct int32x2x3_t
276 typedef struct int32x4x3_t
281 typedef struct int64x1x3_t
286 typedef struct int64x2x3_t
291 typedef struct uint8x8x3_t
296 typedef struct uint8x16x3_t
301 typedef struct uint16x4x3_t
306 typedef struct uint16x8x3_t
311 typedef struct uint32x2x3_t
316 typedef struct uint32x4x3_t
321 typedef struct uint64x1x3_t
326 typedef struct uint64x2x3_t
331 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
332 typedef struct float16x4x3_t
338 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
339 typedef struct float16x8x3_t
345 typedef struct float32x2x3_t
350 typedef struct float32x4x3_t
355 typedef struct poly8x8x3_t
360 typedef struct poly8x16x3_t
365 typedef struct poly16x4x3_t
370 typedef struct poly16x8x3_t
375 #pragma GCC push_options
376 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
377 typedef struct poly64x1x3_t
383 typedef struct poly64x2x3_t
387 #pragma GCC pop_options
390 typedef struct int8x8x4_t
395 typedef struct int8x16x4_t
400 typedef struct int16x4x4_t
405 typedef struct int16x8x4_t
410 typedef struct int32x2x4_t
415 typedef struct int32x4x4_t
420 typedef struct int64x1x4_t
425 typedef struct int64x2x4_t
430 typedef struct uint8x8x4_t
435 typedef struct uint8x16x4_t
440 typedef struct uint16x4x4_t
445 typedef struct uint16x8x4_t
450 typedef struct uint32x2x4_t
455 typedef struct uint32x4x4_t
460 typedef struct uint64x1x4_t
465 typedef struct uint64x2x4_t
470 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
471 typedef struct float16x4x4_t
477 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
478 typedef struct float16x8x4_t
484 typedef struct float32x2x4_t
489 typedef struct float32x4x4_t
494 typedef struct poly8x8x4_t
499 typedef struct poly8x16x4_t
504 typedef struct poly16x4x4_t
509 typedef struct poly16x8x4_t
514 #pragma GCC push_options
515 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
516 typedef struct poly64x1x4_t
522 typedef struct poly64x2x4_t
526 #pragma GCC pop_options
529 __extension__
extern __inline int8x8_t
530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
531 vadd_s8 (int8x8_t __a
, int8x8_t __b
)
536 __extension__
extern __inline int16x4_t
537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
538 vadd_s16 (int16x4_t __a
, int16x4_t __b
)
543 __extension__
extern __inline int32x2_t
544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
545 vadd_s32 (int32x2_t __a
, int32x2_t __b
)
550 __extension__
extern __inline float32x2_t
551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
552 vadd_f32 (float32x2_t __a
, float32x2_t __b
)
557 return (float32x2_t
) __builtin_neon_vaddv2sf (__a
, __b
);
561 __extension__
extern __inline uint8x8_t
562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
563 vadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
568 __extension__
extern __inline uint16x4_t
569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
570 vadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
575 __extension__
extern __inline uint32x2_t
576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
577 vadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
582 __extension__
extern __inline int64x1_t
583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
584 vadd_s64 (int64x1_t __a
, int64x1_t __b
)
589 __extension__
extern __inline uint64x1_t
590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
591 vadd_u64 (uint64x1_t __a
, uint64x1_t __b
)
596 __extension__
extern __inline int8x16_t
597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
598 vaddq_s8 (int8x16_t __a
, int8x16_t __b
)
603 __extension__
extern __inline int16x8_t
604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
605 vaddq_s16 (int16x8_t __a
, int16x8_t __b
)
610 __extension__
extern __inline int32x4_t
611 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
612 vaddq_s32 (int32x4_t __a
, int32x4_t __b
)
617 __extension__
extern __inline int64x2_t
618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
619 vaddq_s64 (int64x2_t __a
, int64x2_t __b
)
624 __extension__
extern __inline float32x4_t
625 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
626 vaddq_f32 (float32x4_t __a
, float32x4_t __b
)
631 return (float32x4_t
) __builtin_neon_vaddv4sf (__a
, __b
);
635 __extension__
extern __inline uint8x16_t
636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
637 vaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
642 __extension__
extern __inline uint16x8_t
643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
644 vaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
649 __extension__
extern __inline uint32x4_t
650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
651 vaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
656 __extension__
extern __inline uint64x2_t
657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
658 vaddq_u64 (uint64x2_t __a
, uint64x2_t __b
)
663 __extension__
extern __inline int16x8_t
664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
665 vaddl_s8 (int8x8_t __a
, int8x8_t __b
)
667 return (int16x8_t
)__builtin_neon_vaddlsv8qi (__a
, __b
);
670 __extension__
extern __inline int32x4_t
671 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
672 vaddl_s16 (int16x4_t __a
, int16x4_t __b
)
674 return (int32x4_t
)__builtin_neon_vaddlsv4hi (__a
, __b
);
677 __extension__
extern __inline int64x2_t
678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
679 vaddl_s32 (int32x2_t __a
, int32x2_t __b
)
681 return (int64x2_t
)__builtin_neon_vaddlsv2si (__a
, __b
);
684 __extension__
extern __inline uint16x8_t
685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
686 vaddl_u8 (uint8x8_t __a
, uint8x8_t __b
)
688 return (uint16x8_t
)__builtin_neon_vaddluv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
691 __extension__
extern __inline uint32x4_t
692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
693 vaddl_u16 (uint16x4_t __a
, uint16x4_t __b
)
695 return (uint32x4_t
)__builtin_neon_vaddluv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
698 __extension__
extern __inline uint64x2_t
699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
700 vaddl_u32 (uint32x2_t __a
, uint32x2_t __b
)
702 return (uint64x2_t
)__builtin_neon_vaddluv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
705 __extension__
extern __inline int16x8_t
706 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
707 vaddw_s8 (int16x8_t __a
, int8x8_t __b
)
709 return (int16x8_t
)__builtin_neon_vaddwsv8qi (__a
, __b
);
712 __extension__
extern __inline int32x4_t
713 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
714 vaddw_s16 (int32x4_t __a
, int16x4_t __b
)
716 return (int32x4_t
)__builtin_neon_vaddwsv4hi (__a
, __b
);
719 __extension__
extern __inline int64x2_t
720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
721 vaddw_s32 (int64x2_t __a
, int32x2_t __b
)
723 return (int64x2_t
)__builtin_neon_vaddwsv2si (__a
, __b
);
726 __extension__
extern __inline uint16x8_t
727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
728 vaddw_u8 (uint16x8_t __a
, uint8x8_t __b
)
730 return (uint16x8_t
)__builtin_neon_vaddwuv8qi ((int16x8_t
) __a
, (int8x8_t
) __b
);
733 __extension__
extern __inline uint32x4_t
734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
735 vaddw_u16 (uint32x4_t __a
, uint16x4_t __b
)
737 return (uint32x4_t
)__builtin_neon_vaddwuv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
);
740 __extension__
extern __inline uint64x2_t
741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
742 vaddw_u32 (uint64x2_t __a
, uint32x2_t __b
)
744 return (uint64x2_t
)__builtin_neon_vaddwuv2si ((int64x2_t
) __a
, (int32x2_t
) __b
);
747 __extension__
extern __inline int8x8_t
748 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
749 vhadd_s8 (int8x8_t __a
, int8x8_t __b
)
751 return (int8x8_t
)__builtin_neon_vhaddsv8qi (__a
, __b
);
754 __extension__
extern __inline int16x4_t
755 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
756 vhadd_s16 (int16x4_t __a
, int16x4_t __b
)
758 return (int16x4_t
)__builtin_neon_vhaddsv4hi (__a
, __b
);
761 __extension__
extern __inline int32x2_t
762 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
763 vhadd_s32 (int32x2_t __a
, int32x2_t __b
)
765 return (int32x2_t
)__builtin_neon_vhaddsv2si (__a
, __b
);
768 __extension__
extern __inline uint8x8_t
769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
770 vhadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
772 return (uint8x8_t
)__builtin_neon_vhadduv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
775 __extension__
extern __inline uint16x4_t
776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
777 vhadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
779 return (uint16x4_t
)__builtin_neon_vhadduv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
782 __extension__
extern __inline uint32x2_t
783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
784 vhadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
786 return (uint32x2_t
)__builtin_neon_vhadduv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
789 __extension__
extern __inline int8x16_t
790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
791 vhaddq_s8 (int8x16_t __a
, int8x16_t __b
)
793 return (int8x16_t
)__builtin_neon_vhaddsv16qi (__a
, __b
);
796 __extension__
extern __inline int16x8_t
797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
798 vhaddq_s16 (int16x8_t __a
, int16x8_t __b
)
800 return (int16x8_t
)__builtin_neon_vhaddsv8hi (__a
, __b
);
803 __extension__
extern __inline int32x4_t
804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
805 vhaddq_s32 (int32x4_t __a
, int32x4_t __b
)
807 return (int32x4_t
)__builtin_neon_vhaddsv4si (__a
, __b
);
810 __extension__
extern __inline uint8x16_t
811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
812 vhaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
814 return (uint8x16_t
)__builtin_neon_vhadduv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
817 __extension__
extern __inline uint16x8_t
818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
819 vhaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
821 return (uint16x8_t
)__builtin_neon_vhadduv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
824 __extension__
extern __inline uint32x4_t
825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
826 vhaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
828 return (uint32x4_t
)__builtin_neon_vhadduv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
831 __extension__
extern __inline int8x8_t
832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
833 vrhadd_s8 (int8x8_t __a
, int8x8_t __b
)
835 return (int8x8_t
)__builtin_neon_vrhaddsv8qi (__a
, __b
);
838 __extension__
extern __inline int16x4_t
839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
840 vrhadd_s16 (int16x4_t __a
, int16x4_t __b
)
842 return (int16x4_t
)__builtin_neon_vrhaddsv4hi (__a
, __b
);
845 __extension__
extern __inline int32x2_t
846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
847 vrhadd_s32 (int32x2_t __a
, int32x2_t __b
)
849 return (int32x2_t
)__builtin_neon_vrhaddsv2si (__a
, __b
);
852 __extension__
extern __inline uint8x8_t
853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
854 vrhadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
856 return (uint8x8_t
)__builtin_neon_vrhadduv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
859 __extension__
extern __inline uint16x4_t
860 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
861 vrhadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
863 return (uint16x4_t
)__builtin_neon_vrhadduv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
866 __extension__
extern __inline uint32x2_t
867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
868 vrhadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
870 return (uint32x2_t
)__builtin_neon_vrhadduv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
873 __extension__
extern __inline int8x16_t
874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
875 vrhaddq_s8 (int8x16_t __a
, int8x16_t __b
)
877 return (int8x16_t
)__builtin_neon_vrhaddsv16qi (__a
, __b
);
880 __extension__
extern __inline int16x8_t
881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
882 vrhaddq_s16 (int16x8_t __a
, int16x8_t __b
)
884 return (int16x8_t
)__builtin_neon_vrhaddsv8hi (__a
, __b
);
887 __extension__
extern __inline int32x4_t
888 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
889 vrhaddq_s32 (int32x4_t __a
, int32x4_t __b
)
891 return (int32x4_t
)__builtin_neon_vrhaddsv4si (__a
, __b
);
894 __extension__
extern __inline uint8x16_t
895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
896 vrhaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
898 return (uint8x16_t
)__builtin_neon_vrhadduv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
901 __extension__
extern __inline uint16x8_t
902 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
903 vrhaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
905 return (uint16x8_t
)__builtin_neon_vrhadduv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
908 __extension__
extern __inline uint32x4_t
909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
910 vrhaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
912 return (uint32x4_t
)__builtin_neon_vrhadduv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
915 __extension__
extern __inline int8x8_t
916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
917 vqadd_s8 (int8x8_t __a
, int8x8_t __b
)
919 return (int8x8_t
)__builtin_neon_vqaddsv8qi (__a
, __b
);
922 __extension__
extern __inline int16x4_t
923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
924 vqadd_s16 (int16x4_t __a
, int16x4_t __b
)
926 return (int16x4_t
)__builtin_neon_vqaddsv4hi (__a
, __b
);
929 __extension__
extern __inline int32x2_t
930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
931 vqadd_s32 (int32x2_t __a
, int32x2_t __b
)
933 return (int32x2_t
)__builtin_neon_vqaddsv2si (__a
, __b
);
936 __extension__
extern __inline int64x1_t
937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
938 vqadd_s64 (int64x1_t __a
, int64x1_t __b
)
940 return (int64x1_t
)__builtin_neon_vqaddsdi (__a
, __b
);
943 __extension__
extern __inline uint8x8_t
944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
945 vqadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
947 return (uint8x8_t
)__builtin_neon_vqadduv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
950 __extension__
extern __inline uint16x4_t
951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
952 vqadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
954 return (uint16x4_t
)__builtin_neon_vqadduv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
957 __extension__
extern __inline uint32x2_t
958 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
959 vqadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
961 return (uint32x2_t
)__builtin_neon_vqadduv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
964 __extension__
extern __inline uint64x1_t
965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
966 vqadd_u64 (uint64x1_t __a
, uint64x1_t __b
)
968 return (uint64x1_t
)__builtin_neon_vqaddudi ((int64x1_t
) __a
, (int64x1_t
) __b
);
971 __extension__
extern __inline int8x16_t
972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
973 vqaddq_s8 (int8x16_t __a
, int8x16_t __b
)
975 return (int8x16_t
)__builtin_neon_vqaddsv16qi (__a
, __b
);
978 __extension__
extern __inline int16x8_t
979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
980 vqaddq_s16 (int16x8_t __a
, int16x8_t __b
)
982 return (int16x8_t
)__builtin_neon_vqaddsv8hi (__a
, __b
);
985 __extension__
extern __inline int32x4_t
986 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
987 vqaddq_s32 (int32x4_t __a
, int32x4_t __b
)
989 return (int32x4_t
)__builtin_neon_vqaddsv4si (__a
, __b
);
992 __extension__
extern __inline int64x2_t
993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
994 vqaddq_s64 (int64x2_t __a
, int64x2_t __b
)
996 return (int64x2_t
)__builtin_neon_vqaddsv2di (__a
, __b
);
999 __extension__
extern __inline uint8x16_t
1000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1001 vqaddq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1003 return (uint8x16_t
)__builtin_neon_vqadduv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
1006 __extension__
extern __inline uint16x8_t
1007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1008 vqaddq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1010 return (uint16x8_t
)__builtin_neon_vqadduv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
1013 __extension__
extern __inline uint32x4_t
1014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1015 vqaddq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1017 return (uint32x4_t
)__builtin_neon_vqadduv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
1020 __extension__
extern __inline uint64x2_t
1021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1022 vqaddq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1024 return (uint64x2_t
)__builtin_neon_vqadduv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
1027 __extension__
extern __inline int8x8_t
1028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1029 vaddhn_s16 (int16x8_t __a
, int16x8_t __b
)
1031 return (int8x8_t
)__builtin_neon_vaddhnv8hi (__a
, __b
);
1034 __extension__
extern __inline int16x4_t
1035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1036 vaddhn_s32 (int32x4_t __a
, int32x4_t __b
)
1038 return (int16x4_t
)__builtin_neon_vaddhnv4si (__a
, __b
);
1041 __extension__
extern __inline int32x2_t
1042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1043 vaddhn_s64 (int64x2_t __a
, int64x2_t __b
)
1045 return (int32x2_t
)__builtin_neon_vaddhnv2di (__a
, __b
);
1048 __extension__
extern __inline uint8x8_t
1049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1050 vaddhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
1052 return (uint8x8_t
)__builtin_neon_vaddhnv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
1055 __extension__
extern __inline uint16x4_t
1056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1057 vaddhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
1059 return (uint16x4_t
)__builtin_neon_vaddhnv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
1062 __extension__
extern __inline uint32x2_t
1063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1064 vaddhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
1066 return (uint32x2_t
)__builtin_neon_vaddhnv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
1069 __extension__
extern __inline int8x8_t
1070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1071 vraddhn_s16 (int16x8_t __a
, int16x8_t __b
)
1073 return (int8x8_t
)__builtin_neon_vraddhnv8hi (__a
, __b
);
1076 __extension__
extern __inline int16x4_t
1077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1078 vraddhn_s32 (int32x4_t __a
, int32x4_t __b
)
1080 return (int16x4_t
)__builtin_neon_vraddhnv4si (__a
, __b
);
1083 __extension__
extern __inline int32x2_t
1084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1085 vraddhn_s64 (int64x2_t __a
, int64x2_t __b
)
1087 return (int32x2_t
)__builtin_neon_vraddhnv2di (__a
, __b
);
1090 __extension__
extern __inline uint8x8_t
1091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1092 vraddhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
1094 return (uint8x8_t
)__builtin_neon_vraddhnv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
1097 __extension__
extern __inline uint16x4_t
1098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1099 vraddhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
1101 return (uint16x4_t
)__builtin_neon_vraddhnv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
1104 __extension__
extern __inline uint32x2_t
1105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1106 vraddhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
1108 return (uint32x2_t
)__builtin_neon_vraddhnv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
1111 __extension__
extern __inline int8x8_t
1112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1113 vmul_s8 (int8x8_t __a
, int8x8_t __b
)
1118 __extension__
extern __inline int16x4_t
1119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1120 vmul_s16 (int16x4_t __a
, int16x4_t __b
)
1125 __extension__
extern __inline int32x2_t
1126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1127 vmul_s32 (int32x2_t __a
, int32x2_t __b
)
1132 __extension__
extern __inline float32x2_t
1133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1134 vmul_f32 (float32x2_t __a
, float32x2_t __b
)
1136 #ifdef __FAST_MATH__
1139 return (float32x2_t
) __builtin_neon_vmulfv2sf (__a
, __b
);
1144 __extension__
extern __inline uint8x8_t
1145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1146 vmul_u8 (uint8x8_t __a
, uint8x8_t __b
)
1151 __extension__
extern __inline uint16x4_t
1152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1153 vmul_u16 (uint16x4_t __a
, uint16x4_t __b
)
1158 __extension__
extern __inline uint32x2_t
1159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1160 vmul_u32 (uint32x2_t __a
, uint32x2_t __b
)
1165 __extension__
extern __inline int8x16_t
1166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1167 vmulq_s8 (int8x16_t __a
, int8x16_t __b
)
1172 __extension__
extern __inline int16x8_t
1173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1174 vmulq_s16 (int16x8_t __a
, int16x8_t __b
)
1179 __extension__
extern __inline int32x4_t
1180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1181 vmulq_s32 (int32x4_t __a
, int32x4_t __b
)
1186 __extension__
extern __inline float32x4_t
1187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1188 vmulq_f32 (float32x4_t __a
, float32x4_t __b
)
1190 #ifdef __FAST_MATH__
1193 return (float32x4_t
) __builtin_neon_vmulfv4sf (__a
, __b
);
1197 __extension__
extern __inline uint8x16_t
1198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1199 vmulq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1204 __extension__
extern __inline uint16x8_t
1205 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1206 vmulq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1211 __extension__
extern __inline uint32x4_t
1212 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1213 vmulq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1218 __extension__
extern __inline poly8x8_t
1219 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1220 vmul_p8 (poly8x8_t __a
, poly8x8_t __b
)
1222 return (poly8x8_t
)__builtin_neon_vmulpv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
1225 __extension__
extern __inline poly8x16_t
1226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1227 vmulq_p8 (poly8x16_t __a
, poly8x16_t __b
)
1229 return (poly8x16_t
)__builtin_neon_vmulpv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
1232 __extension__
extern __inline int16x4_t
1233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1234 vqdmulh_s16 (int16x4_t __a
, int16x4_t __b
)
1236 return (int16x4_t
)__builtin_neon_vqdmulhv4hi (__a
, __b
);
1239 __extension__
extern __inline int32x2_t
1240 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1241 vqdmulh_s32 (int32x2_t __a
, int32x2_t __b
)
1243 return (int32x2_t
)__builtin_neon_vqdmulhv2si (__a
, __b
);
1246 __extension__
extern __inline int16x8_t
1247 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1248 vqdmulhq_s16 (int16x8_t __a
, int16x8_t __b
)
1250 return (int16x8_t
)__builtin_neon_vqdmulhv8hi (__a
, __b
);
1253 __extension__
extern __inline int32x4_t
1254 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1255 vqdmulhq_s32 (int32x4_t __a
, int32x4_t __b
)
1257 return (int32x4_t
)__builtin_neon_vqdmulhv4si (__a
, __b
);
1260 __extension__
extern __inline int16x4_t
1261 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1262 vqrdmulh_s16 (int16x4_t __a
, int16x4_t __b
)
1264 return (int16x4_t
)__builtin_neon_vqrdmulhv4hi (__a
, __b
);
1267 __extension__
extern __inline int32x2_t
1268 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1269 vqrdmulh_s32 (int32x2_t __a
, int32x2_t __b
)
1271 return (int32x2_t
)__builtin_neon_vqrdmulhv2si (__a
, __b
);
1274 __extension__
extern __inline int16x8_t
1275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1276 vqrdmulhq_s16 (int16x8_t __a
, int16x8_t __b
)
1278 return (int16x8_t
)__builtin_neon_vqrdmulhv8hi (__a
, __b
);
1281 __extension__
extern __inline int32x4_t
1282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1283 vqrdmulhq_s32 (int32x4_t __a
, int32x4_t __b
)
1285 return (int32x4_t
)__builtin_neon_vqrdmulhv4si (__a
, __b
);
1288 #ifdef __ARM_FEATURE_QRDMX
1289 __extension__
extern __inline int16x4_t
1290 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1291 vqrdmlah_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1293 return (int16x4_t
)__builtin_neon_vqrdmlahv4hi (__a
, __b
, __c
);
1296 __extension__
extern __inline int32x2_t
1297 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1298 vqrdmlah_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1300 return (int32x2_t
)__builtin_neon_vqrdmlahv2si (__a
, __b
, __c
);
1303 __extension__
extern __inline int16x8_t
1304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1305 vqrdmlahq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1307 return (int16x8_t
)__builtin_neon_vqrdmlahv8hi (__a
, __b
, __c
);
1310 __extension__
extern __inline int32x4_t
1311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1312 vqrdmlahq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1314 return (int32x4_t
)__builtin_neon_vqrdmlahv4si (__a
, __b
, __c
);
1317 __extension__
extern __inline int16x4_t
1318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1319 vqrdmlsh_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1321 return (int16x4_t
)__builtin_neon_vqrdmlshv4hi (__a
, __b
, __c
);
1324 __extension__
extern __inline int32x2_t
1325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1326 vqrdmlsh_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1328 return (int32x2_t
)__builtin_neon_vqrdmlshv2si (__a
, __b
, __c
);
1331 __extension__
extern __inline int16x8_t
1332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1333 vqrdmlshq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1335 return (int16x8_t
)__builtin_neon_vqrdmlshv8hi (__a
, __b
, __c
);
1338 __extension__
extern __inline int32x4_t
1339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1340 vqrdmlshq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1342 return (int32x4_t
)__builtin_neon_vqrdmlshv4si (__a
, __b
, __c
);
1346 __extension__
extern __inline int16x8_t
1347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1348 vmull_s8 (int8x8_t __a
, int8x8_t __b
)
1350 return (int16x8_t
)__builtin_neon_vmullsv8qi (__a
, __b
);
1353 __extension__
extern __inline int32x4_t
1354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1355 vmull_s16 (int16x4_t __a
, int16x4_t __b
)
1357 return (int32x4_t
)__builtin_neon_vmullsv4hi (__a
, __b
);
1360 __extension__
extern __inline int64x2_t
1361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1362 vmull_s32 (int32x2_t __a
, int32x2_t __b
)
1364 return (int64x2_t
)__builtin_neon_vmullsv2si (__a
, __b
);
1367 __extension__
extern __inline uint16x8_t
1368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1369 vmull_u8 (uint8x8_t __a
, uint8x8_t __b
)
1371 return (uint16x8_t
)__builtin_neon_vmulluv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
1374 __extension__
extern __inline uint32x4_t
1375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1376 vmull_u16 (uint16x4_t __a
, uint16x4_t __b
)
1378 return (uint32x4_t
)__builtin_neon_vmulluv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
1381 __extension__
extern __inline uint64x2_t
1382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1383 vmull_u32 (uint32x2_t __a
, uint32x2_t __b
)
1385 return (uint64x2_t
)__builtin_neon_vmulluv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
1388 __extension__
extern __inline poly16x8_t
1389 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1390 vmull_p8 (poly8x8_t __a
, poly8x8_t __b
)
1392 return (poly16x8_t
)__builtin_neon_vmullpv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
1395 __extension__
extern __inline int32x4_t
1396 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1397 vqdmull_s16 (int16x4_t __a
, int16x4_t __b
)
1399 return (int32x4_t
)__builtin_neon_vqdmullv4hi (__a
, __b
);
1402 __extension__
extern __inline int64x2_t
1403 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1404 vqdmull_s32 (int32x2_t __a
, int32x2_t __b
)
1406 return (int64x2_t
)__builtin_neon_vqdmullv2si (__a
, __b
);
1409 __extension__
extern __inline int8x8_t
1410 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1411 vmla_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
1413 return (int8x8_t
)__builtin_neon_vmlav8qi (__a
, __b
, __c
);
1416 __extension__
extern __inline int16x4_t
1417 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1418 vmla_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1420 return (int16x4_t
)__builtin_neon_vmlav4hi (__a
, __b
, __c
);
1423 __extension__
extern __inline int32x2_t
1424 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1425 vmla_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1427 return (int32x2_t
)__builtin_neon_vmlav2si (__a
, __b
, __c
);
1430 __extension__
extern __inline float32x2_t
1431 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1432 vmla_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
1434 return (float32x2_t
)__builtin_neon_vmlav2sf (__a
, __b
, __c
);
1437 __extension__
extern __inline uint8x8_t
1438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1439 vmla_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
1441 return (uint8x8_t
)__builtin_neon_vmlav8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
1444 __extension__
extern __inline uint16x4_t
1445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1446 vmla_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
1448 return (uint16x4_t
)__builtin_neon_vmlav4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
1451 __extension__
extern __inline uint32x2_t
1452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1453 vmla_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
1455 return (uint32x2_t
)__builtin_neon_vmlav2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
1458 __extension__
extern __inline int8x16_t
1459 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1460 vmlaq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
1462 return (int8x16_t
)__builtin_neon_vmlav16qi (__a
, __b
, __c
);
1465 __extension__
extern __inline int16x8_t
1466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1467 vmlaq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1469 return (int16x8_t
)__builtin_neon_vmlav8hi (__a
, __b
, __c
);
1472 __extension__
extern __inline int32x4_t
1473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1474 vmlaq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1476 return (int32x4_t
)__builtin_neon_vmlav4si (__a
, __b
, __c
);
1479 __extension__
extern __inline float32x4_t
1480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1481 vmlaq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
1483 return (float32x4_t
)__builtin_neon_vmlav4sf (__a
, __b
, __c
);
1486 __extension__
extern __inline uint8x16_t
1487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1488 vmlaq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
1490 return (uint8x16_t
)__builtin_neon_vmlav16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, (int8x16_t
) __c
);
1493 __extension__
extern __inline uint16x8_t
1494 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1495 vmlaq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
1497 return (uint16x8_t
)__builtin_neon_vmlav8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x8_t
) __c
);
1500 __extension__
extern __inline uint32x4_t
1501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1502 vmlaq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
1504 return (uint32x4_t
)__builtin_neon_vmlav4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x4_t
) __c
);
1507 __extension__
extern __inline int16x8_t
1508 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1509 vmlal_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
1511 return (int16x8_t
)__builtin_neon_vmlalsv8qi (__a
, __b
, __c
);
1514 __extension__
extern __inline int32x4_t
1515 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1516 vmlal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1518 return (int32x4_t
)__builtin_neon_vmlalsv4hi (__a
, __b
, __c
);
1521 __extension__
extern __inline int64x2_t
1522 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1523 vmlal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1525 return (int64x2_t
)__builtin_neon_vmlalsv2si (__a
, __b
, __c
);
1528 __extension__
extern __inline uint16x8_t
1529 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1530 vmlal_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
1532 return (uint16x8_t
)__builtin_neon_vmlaluv8qi ((int16x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
1535 __extension__
extern __inline uint32x4_t
1536 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1537 vmlal_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
1539 return (uint32x4_t
)__builtin_neon_vmlaluv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
1542 __extension__
extern __inline uint64x2_t
1543 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1544 vmlal_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
1546 return (uint64x2_t
)__builtin_neon_vmlaluv2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
1549 __extension__
extern __inline int32x4_t
1550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1551 vqdmlal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1553 return (int32x4_t
)__builtin_neon_vqdmlalv4hi (__a
, __b
, __c
);
1556 __extension__
extern __inline int64x2_t
1557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1558 vqdmlal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1560 return (int64x2_t
)__builtin_neon_vqdmlalv2si (__a
, __b
, __c
);
1563 __extension__
extern __inline int8x8_t
1564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1565 vmls_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
1567 return (int8x8_t
)__builtin_neon_vmlsv8qi (__a
, __b
, __c
);
1570 __extension__
extern __inline int16x4_t
1571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1572 vmls_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1574 return (int16x4_t
)__builtin_neon_vmlsv4hi (__a
, __b
, __c
);
1577 __extension__
extern __inline int32x2_t
1578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1579 vmls_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1581 return (int32x2_t
)__builtin_neon_vmlsv2si (__a
, __b
, __c
);
1584 __extension__
extern __inline float32x2_t
1585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1586 vmls_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
1588 return (float32x2_t
)__builtin_neon_vmlsv2sf (__a
, __b
, __c
);
1591 __extension__
extern __inline uint8x8_t
1592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1593 vmls_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
1595 return (uint8x8_t
)__builtin_neon_vmlsv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
1598 __extension__
extern __inline uint16x4_t
1599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1600 vmls_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
1602 return (uint16x4_t
)__builtin_neon_vmlsv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
1605 __extension__
extern __inline uint32x2_t
1606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1607 vmls_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
1609 return (uint32x2_t
)__builtin_neon_vmlsv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
1612 __extension__
extern __inline int8x16_t
1613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1614 vmlsq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
1616 return (int8x16_t
)__builtin_neon_vmlsv16qi (__a
, __b
, __c
);
1619 __extension__
extern __inline int16x8_t
1620 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1621 vmlsq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
1623 return (int16x8_t
)__builtin_neon_vmlsv8hi (__a
, __b
, __c
);
1626 __extension__
extern __inline int32x4_t
1627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1628 vmlsq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
1630 return (int32x4_t
)__builtin_neon_vmlsv4si (__a
, __b
, __c
);
1633 __extension__
extern __inline float32x4_t
1634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1635 vmlsq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
1637 return (float32x4_t
)__builtin_neon_vmlsv4sf (__a
, __b
, __c
);
1640 __extension__
extern __inline uint8x16_t
1641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1642 vmlsq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
1644 return (uint8x16_t
)__builtin_neon_vmlsv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, (int8x16_t
) __c
);
1647 __extension__
extern __inline uint16x8_t
1648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1649 vmlsq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
1651 return (uint16x8_t
)__builtin_neon_vmlsv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x8_t
) __c
);
1654 __extension__
extern __inline uint32x4_t
1655 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1656 vmlsq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
1658 return (uint32x4_t
)__builtin_neon_vmlsv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x4_t
) __c
);
1661 __extension__
extern __inline int16x8_t
1662 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1663 vmlsl_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
1665 return (int16x8_t
)__builtin_neon_vmlslsv8qi (__a
, __b
, __c
);
1668 __extension__
extern __inline int32x4_t
1669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1670 vmlsl_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1672 return (int32x4_t
)__builtin_neon_vmlslsv4hi (__a
, __b
, __c
);
1675 __extension__
extern __inline int64x2_t
1676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1677 vmlsl_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1679 return (int64x2_t
)__builtin_neon_vmlslsv2si (__a
, __b
, __c
);
1682 __extension__
extern __inline uint16x8_t
1683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1684 vmlsl_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
1686 return (uint16x8_t
)__builtin_neon_vmlsluv8qi ((int16x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
1689 __extension__
extern __inline uint32x4_t
1690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1691 vmlsl_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
1693 return (uint32x4_t
)__builtin_neon_vmlsluv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
1696 __extension__
extern __inline uint64x2_t
1697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1698 vmlsl_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
1700 return (uint64x2_t
)__builtin_neon_vmlsluv2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
1703 __extension__
extern __inline int32x4_t
1704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1705 vqdmlsl_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
1707 return (int32x4_t
)__builtin_neon_vqdmlslv4hi (__a
, __b
, __c
);
1710 __extension__
extern __inline int64x2_t
1711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1712 vqdmlsl_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
1714 return (int64x2_t
)__builtin_neon_vqdmlslv2si (__a
, __b
, __c
);
1717 #pragma GCC push_options
1718 #pragma GCC target ("fpu=neon-vfpv4")
1719 __extension__
extern __inline float32x2_t
1720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1721 vfma_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
1723 return (float32x2_t
)__builtin_neon_vfmav2sf (__a
, __b
, __c
);
1726 __extension__
extern __inline float32x4_t
1727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1728 vfmaq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
1730 return (float32x4_t
)__builtin_neon_vfmav4sf (__a
, __b
, __c
);
1733 __extension__
extern __inline float32x2_t
1734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1735 vfms_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
1737 return (float32x2_t
)__builtin_neon_vfmsv2sf (__a
, __b
, __c
);
1740 __extension__
extern __inline float32x4_t
1741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1742 vfmsq_f32 (float32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
1744 return (float32x4_t
)__builtin_neon_vfmsv4sf (__a
, __b
, __c
);
1746 #pragma GCC pop_options
1749 __extension__
extern __inline float32x2_t
1750 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1751 vrndn_f32 (float32x2_t __a
)
1753 return (float32x2_t
)__builtin_neon_vrintnv2sf (__a
);
1758 __extension__
extern __inline float32x4_t
1759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1760 vrndnq_f32 (float32x4_t __a
)
1762 return (float32x4_t
)__builtin_neon_vrintnv4sf (__a
);
1767 __extension__
extern __inline float32x2_t
1768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1769 vrnda_f32 (float32x2_t __a
)
1771 return (float32x2_t
)__builtin_neon_vrintav2sf (__a
);
1776 __extension__
extern __inline float32x4_t
1777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1778 vrndaq_f32 (float32x4_t __a
)
1780 return (float32x4_t
)__builtin_neon_vrintav4sf (__a
);
1785 __extension__
extern __inline float32x2_t
1786 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1787 vrndp_f32 (float32x2_t __a
)
1789 return (float32x2_t
)__builtin_neon_vrintpv2sf (__a
);
1794 __extension__
extern __inline float32x4_t
1795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1796 vrndpq_f32 (float32x4_t __a
)
1798 return (float32x4_t
)__builtin_neon_vrintpv4sf (__a
);
1803 __extension__
extern __inline float32x2_t
1804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1805 vrndm_f32 (float32x2_t __a
)
1807 return (float32x2_t
)__builtin_neon_vrintmv2sf (__a
);
1812 __extension__
extern __inline float32x4_t
1813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1814 vrndmq_f32 (float32x4_t __a
)
1816 return (float32x4_t
)__builtin_neon_vrintmv4sf (__a
);
1822 __extension__
extern __inline float32x2_t
1823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1824 vrndx_f32 (float32x2_t __a
)
1826 return (float32x2_t
)__builtin_neon_vrintxv2sf (__a
);
1832 __extension__
extern __inline float32x4_t
1833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1834 vrndxq_f32 (float32x4_t __a
)
1836 return (float32x4_t
)__builtin_neon_vrintxv4sf (__a
);
1842 __extension__
extern __inline float32x2_t
1843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1844 vrnd_f32 (float32x2_t __a
)
1846 return (float32x2_t
)__builtin_neon_vrintzv2sf (__a
);
1851 __extension__
extern __inline float32x4_t
1852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1853 vrndq_f32 (float32x4_t __a
)
1855 return (float32x4_t
)__builtin_neon_vrintzv4sf (__a
);
1860 __extension__
extern __inline int8x8_t
1861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1862 vsub_s8 (int8x8_t __a
, int8x8_t __b
)
1867 __extension__
extern __inline int16x4_t
1868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1869 vsub_s16 (int16x4_t __a
, int16x4_t __b
)
1874 __extension__
extern __inline int32x2_t
1875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1876 vsub_s32 (int32x2_t __a
, int32x2_t __b
)
1881 __extension__
extern __inline float32x2_t
1882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1883 vsub_f32 (float32x2_t __a
, float32x2_t __b
)
1885 #ifdef __FAST_MATH__
1888 return (float32x2_t
) __builtin_neon_vsubv2sf (__a
, __b
);
1892 __extension__
extern __inline uint8x8_t
1893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1894 vsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
1899 __extension__
extern __inline uint16x4_t
1900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1901 vsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
1906 __extension__
extern __inline uint32x2_t
1907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1908 vsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
1913 __extension__
extern __inline int64x1_t
1914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1915 vsub_s64 (int64x1_t __a
, int64x1_t __b
)
1920 __extension__
extern __inline uint64x1_t
1921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1922 vsub_u64 (uint64x1_t __a
, uint64x1_t __b
)
1927 __extension__
extern __inline int8x16_t
1928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1929 vsubq_s8 (int8x16_t __a
, int8x16_t __b
)
1934 __extension__
extern __inline int16x8_t
1935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1936 vsubq_s16 (int16x8_t __a
, int16x8_t __b
)
1941 __extension__
extern __inline int32x4_t
1942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1943 vsubq_s32 (int32x4_t __a
, int32x4_t __b
)
1948 __extension__
extern __inline int64x2_t
1949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1950 vsubq_s64 (int64x2_t __a
, int64x2_t __b
)
1955 __extension__
extern __inline float32x4_t
1956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1957 vsubq_f32 (float32x4_t __a
, float32x4_t __b
)
1959 #ifdef __FAST_MATH__
1962 return (float32x4_t
) __builtin_neon_vsubv4sf (__a
, __b
);
1966 __extension__
extern __inline uint8x16_t
1967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1968 vsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
1973 __extension__
extern __inline uint16x8_t
1974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1975 vsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
1980 __extension__
extern __inline uint32x4_t
1981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1982 vsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
1987 __extension__
extern __inline uint64x2_t
1988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1989 vsubq_u64 (uint64x2_t __a
, uint64x2_t __b
)
1994 __extension__
extern __inline int16x8_t
1995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
1996 vsubl_s8 (int8x8_t __a
, int8x8_t __b
)
1998 return (int16x8_t
)__builtin_neon_vsublsv8qi (__a
, __b
);
2001 __extension__
extern __inline int32x4_t
2002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2003 vsubl_s16 (int16x4_t __a
, int16x4_t __b
)
2005 return (int32x4_t
)__builtin_neon_vsublsv4hi (__a
, __b
);
2008 __extension__
extern __inline int64x2_t
2009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2010 vsubl_s32 (int32x2_t __a
, int32x2_t __b
)
2012 return (int64x2_t
)__builtin_neon_vsublsv2si (__a
, __b
);
2015 __extension__
extern __inline uint16x8_t
2016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2017 vsubl_u8 (uint8x8_t __a
, uint8x8_t __b
)
2019 return (uint16x8_t
)__builtin_neon_vsubluv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
2022 __extension__
extern __inline uint32x4_t
2023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2024 vsubl_u16 (uint16x4_t __a
, uint16x4_t __b
)
2026 return (uint32x4_t
)__builtin_neon_vsubluv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
2029 __extension__
extern __inline uint64x2_t
2030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2031 vsubl_u32 (uint32x2_t __a
, uint32x2_t __b
)
2033 return (uint64x2_t
)__builtin_neon_vsubluv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
2036 __extension__
extern __inline int16x8_t
2037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2038 vsubw_s8 (int16x8_t __a
, int8x8_t __b
)
2040 return (int16x8_t
)__builtin_neon_vsubwsv8qi (__a
, __b
);
2043 __extension__
extern __inline int32x4_t
2044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2045 vsubw_s16 (int32x4_t __a
, int16x4_t __b
)
2047 return (int32x4_t
)__builtin_neon_vsubwsv4hi (__a
, __b
);
2050 __extension__
extern __inline int64x2_t
2051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2052 vsubw_s32 (int64x2_t __a
, int32x2_t __b
)
2054 return (int64x2_t
)__builtin_neon_vsubwsv2si (__a
, __b
);
2057 __extension__
extern __inline uint16x8_t
2058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2059 vsubw_u8 (uint16x8_t __a
, uint8x8_t __b
)
2061 return (uint16x8_t
)__builtin_neon_vsubwuv8qi ((int16x8_t
) __a
, (int8x8_t
) __b
);
2064 __extension__
extern __inline uint32x4_t
2065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2066 vsubw_u16 (uint32x4_t __a
, uint16x4_t __b
)
2068 return (uint32x4_t
)__builtin_neon_vsubwuv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
);
2071 __extension__
extern __inline uint64x2_t
2072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2073 vsubw_u32 (uint64x2_t __a
, uint32x2_t __b
)
2075 return (uint64x2_t
)__builtin_neon_vsubwuv2si ((int64x2_t
) __a
, (int32x2_t
) __b
);
2078 __extension__
extern __inline int8x8_t
2079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2080 vhsub_s8 (int8x8_t __a
, int8x8_t __b
)
2082 return (int8x8_t
)__builtin_neon_vhsubsv8qi (__a
, __b
);
2085 __extension__
extern __inline int16x4_t
2086 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2087 vhsub_s16 (int16x4_t __a
, int16x4_t __b
)
2089 return (int16x4_t
)__builtin_neon_vhsubsv4hi (__a
, __b
);
2092 __extension__
extern __inline int32x2_t
2093 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2094 vhsub_s32 (int32x2_t __a
, int32x2_t __b
)
2096 return (int32x2_t
)__builtin_neon_vhsubsv2si (__a
, __b
);
2099 __extension__
extern __inline uint8x8_t
2100 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2101 vhsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
2103 return (uint8x8_t
)__builtin_neon_vhsubuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
2106 __extension__
extern __inline uint16x4_t
2107 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2108 vhsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
2110 return (uint16x4_t
)__builtin_neon_vhsubuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
2113 __extension__
extern __inline uint32x2_t
2114 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2115 vhsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
2117 return (uint32x2_t
)__builtin_neon_vhsubuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
2120 __extension__
extern __inline int8x16_t
2121 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2122 vhsubq_s8 (int8x16_t __a
, int8x16_t __b
)
2124 return (int8x16_t
)__builtin_neon_vhsubsv16qi (__a
, __b
);
2127 __extension__
extern __inline int16x8_t
2128 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2129 vhsubq_s16 (int16x8_t __a
, int16x8_t __b
)
2131 return (int16x8_t
)__builtin_neon_vhsubsv8hi (__a
, __b
);
2134 __extension__
extern __inline int32x4_t
2135 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2136 vhsubq_s32 (int32x4_t __a
, int32x4_t __b
)
2138 return (int32x4_t
)__builtin_neon_vhsubsv4si (__a
, __b
);
2141 __extension__
extern __inline uint8x16_t
2142 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2143 vhsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2145 return (uint8x16_t
)__builtin_neon_vhsubuv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
2148 __extension__
extern __inline uint16x8_t
2149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2150 vhsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2152 return (uint16x8_t
)__builtin_neon_vhsubuv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
2155 __extension__
extern __inline uint32x4_t
2156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2157 vhsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2159 return (uint32x4_t
)__builtin_neon_vhsubuv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
2162 __extension__
extern __inline int8x8_t
2163 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2164 vqsub_s8 (int8x8_t __a
, int8x8_t __b
)
2166 return (int8x8_t
)__builtin_neon_vqsubsv8qi (__a
, __b
);
2169 __extension__
extern __inline int16x4_t
2170 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2171 vqsub_s16 (int16x4_t __a
, int16x4_t __b
)
2173 return (int16x4_t
)__builtin_neon_vqsubsv4hi (__a
, __b
);
2176 __extension__
extern __inline int32x2_t
2177 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2178 vqsub_s32 (int32x2_t __a
, int32x2_t __b
)
2180 return (int32x2_t
)__builtin_neon_vqsubsv2si (__a
, __b
);
2183 __extension__
extern __inline int64x1_t
2184 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2185 vqsub_s64 (int64x1_t __a
, int64x1_t __b
)
2187 return (int64x1_t
)__builtin_neon_vqsubsdi (__a
, __b
);
2190 __extension__
extern __inline uint8x8_t
2191 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2192 vqsub_u8 (uint8x8_t __a
, uint8x8_t __b
)
2194 return (uint8x8_t
)__builtin_neon_vqsubuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
2197 __extension__
extern __inline uint16x4_t
2198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2199 vqsub_u16 (uint16x4_t __a
, uint16x4_t __b
)
2201 return (uint16x4_t
)__builtin_neon_vqsubuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
2204 __extension__
extern __inline uint32x2_t
2205 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2206 vqsub_u32 (uint32x2_t __a
, uint32x2_t __b
)
2208 return (uint32x2_t
)__builtin_neon_vqsubuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
2211 __extension__
extern __inline uint64x1_t
2212 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2213 vqsub_u64 (uint64x1_t __a
, uint64x1_t __b
)
2215 return (uint64x1_t
)__builtin_neon_vqsubudi ((int64x1_t
) __a
, (int64x1_t
) __b
);
2218 __extension__
extern __inline int8x16_t
2219 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2220 vqsubq_s8 (int8x16_t __a
, int8x16_t __b
)
2222 return (int8x16_t
)__builtin_neon_vqsubsv16qi (__a
, __b
);
2225 __extension__
extern __inline int16x8_t
2226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2227 vqsubq_s16 (int16x8_t __a
, int16x8_t __b
)
2229 return (int16x8_t
)__builtin_neon_vqsubsv8hi (__a
, __b
);
2232 __extension__
extern __inline int32x4_t
2233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2234 vqsubq_s32 (int32x4_t __a
, int32x4_t __b
)
2236 return (int32x4_t
)__builtin_neon_vqsubsv4si (__a
, __b
);
2239 __extension__
extern __inline int64x2_t
2240 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2241 vqsubq_s64 (int64x2_t __a
, int64x2_t __b
)
2243 return (int64x2_t
)__builtin_neon_vqsubsv2di (__a
, __b
);
2246 __extension__
extern __inline uint8x16_t
2247 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2248 vqsubq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2250 return (uint8x16_t
)__builtin_neon_vqsubuv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
2253 __extension__
extern __inline uint16x8_t
2254 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2255 vqsubq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2257 return (uint16x8_t
)__builtin_neon_vqsubuv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
2260 __extension__
extern __inline uint32x4_t
2261 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2262 vqsubq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2264 return (uint32x4_t
)__builtin_neon_vqsubuv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
2267 __extension__
extern __inline uint64x2_t
2268 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2269 vqsubq_u64 (uint64x2_t __a
, uint64x2_t __b
)
2271 return (uint64x2_t
)__builtin_neon_vqsubuv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
2274 __extension__
extern __inline int8x8_t
2275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2276 vsubhn_s16 (int16x8_t __a
, int16x8_t __b
)
2278 return (int8x8_t
)__builtin_neon_vsubhnv8hi (__a
, __b
);
2281 __extension__
extern __inline int16x4_t
2282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2283 vsubhn_s32 (int32x4_t __a
, int32x4_t __b
)
2285 return (int16x4_t
)__builtin_neon_vsubhnv4si (__a
, __b
);
2288 __extension__
extern __inline int32x2_t
2289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2290 vsubhn_s64 (int64x2_t __a
, int64x2_t __b
)
2292 return (int32x2_t
)__builtin_neon_vsubhnv2di (__a
, __b
);
2295 __extension__
extern __inline uint8x8_t
2296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2297 vsubhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
2299 return (uint8x8_t
)__builtin_neon_vsubhnv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
2302 __extension__
extern __inline uint16x4_t
2303 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2304 vsubhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
2306 return (uint16x4_t
)__builtin_neon_vsubhnv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
2309 __extension__
extern __inline uint32x2_t
2310 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2311 vsubhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
2313 return (uint32x2_t
)__builtin_neon_vsubhnv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
2316 __extension__
extern __inline int8x8_t
2317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2318 vrsubhn_s16 (int16x8_t __a
, int16x8_t __b
)
2320 return (int8x8_t
)__builtin_neon_vrsubhnv8hi (__a
, __b
);
2323 __extension__
extern __inline int16x4_t
2324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2325 vrsubhn_s32 (int32x4_t __a
, int32x4_t __b
)
2327 return (int16x4_t
)__builtin_neon_vrsubhnv4si (__a
, __b
);
2330 __extension__
extern __inline int32x2_t
2331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2332 vrsubhn_s64 (int64x2_t __a
, int64x2_t __b
)
2334 return (int32x2_t
)__builtin_neon_vrsubhnv2di (__a
, __b
);
2337 __extension__
extern __inline uint8x8_t
2338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2339 vrsubhn_u16 (uint16x8_t __a
, uint16x8_t __b
)
2341 return (uint8x8_t
)__builtin_neon_vrsubhnv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
2344 __extension__
extern __inline uint16x4_t
2345 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2346 vrsubhn_u32 (uint32x4_t __a
, uint32x4_t __b
)
2348 return (uint16x4_t
)__builtin_neon_vrsubhnv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
2351 __extension__
extern __inline uint32x2_t
2352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2353 vrsubhn_u64 (uint64x2_t __a
, uint64x2_t __b
)
2355 return (uint32x2_t
)__builtin_neon_vrsubhnv2di ((int64x2_t
) __a
, (int64x2_t
) __b
);
2358 __extension__
extern __inline uint8x8_t
2359 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2360 vceq_s8 (int8x8_t __a
, int8x8_t __b
)
2362 return (uint8x8_t
) (__a
== __b
);
2365 __extension__
extern __inline uint16x4_t
2366 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2367 vceq_s16 (int16x4_t __a
, int16x4_t __b
)
2369 return (uint16x4_t
) (__a
== __b
);
2372 __extension__
extern __inline uint32x2_t
2373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2374 vceq_s32 (int32x2_t __a
, int32x2_t __b
)
2376 return (uint32x2_t
) (__a
== __b
);
2379 __extension__
extern __inline uint32x2_t
2380 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2381 vceq_f32 (float32x2_t __a
, float32x2_t __b
)
2383 #ifdef __FAST_MATH__
2384 return (uint32x2_t
) (__a
== __b
);
2386 return (uint32x2_t
)__builtin_neon_vceqv2sf (__a
, __b
);
2390 __extension__
extern __inline uint8x8_t
2391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2392 vceq_u8 (uint8x8_t __a
, uint8x8_t __b
)
2394 return (uint8x8_t
) (__a
== __b
);
2397 __extension__
extern __inline uint16x4_t
2398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2399 vceq_u16 (uint16x4_t __a
, uint16x4_t __b
)
2401 return (uint16x4_t
) (__a
== __b
);
2404 __extension__
extern __inline uint32x2_t
2405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2406 vceq_u32 (uint32x2_t __a
, uint32x2_t __b
)
2408 return (uint32x2_t
) (__a
== __b
);
2411 __extension__
extern __inline uint8x8_t
2412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2413 vceq_p8 (poly8x8_t __a
, poly8x8_t __b
)
2415 return (uint8x8_t
) (__a
== __b
);
2418 __extension__
extern __inline uint8x16_t
2419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2420 vceqq_s8 (int8x16_t __a
, int8x16_t __b
)
2422 return (uint8x16_t
) (__a
== __b
);
2425 __extension__
extern __inline uint16x8_t
2426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2427 vceqq_s16 (int16x8_t __a
, int16x8_t __b
)
2429 return (uint16x8_t
) (__a
== __b
);
2432 __extension__
extern __inline uint32x4_t
2433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2434 vceqq_s32 (int32x4_t __a
, int32x4_t __b
)
2436 return (uint32x4_t
) (__a
== __b
);
2439 __extension__
extern __inline uint32x4_t
2440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2441 vceqq_f32 (float32x4_t __a
, float32x4_t __b
)
2443 #ifdef __FAST_MATH__
2444 return (uint32x4_t
) (__a
== __b
);
2446 return (uint32x4_t
)__builtin_neon_vceqv4sf (__a
, __b
);
2450 __extension__
extern __inline uint8x16_t
2451 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2452 vceqq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2454 return (uint8x16_t
) (__a
== __b
);
2457 __extension__
extern __inline uint16x8_t
2458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2459 vceqq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2461 return (uint16x8_t
) (__a
== __b
);
2464 __extension__
extern __inline uint32x4_t
2465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2466 vceqq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2468 return (uint32x4_t
) (__a
== __b
);
2471 __extension__
extern __inline uint8x16_t
2472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2473 vceqq_p8 (poly8x16_t __a
, poly8x16_t __b
)
2475 return (uint8x16_t
) (__a
== __b
);
2478 __extension__
extern __inline uint8x8_t
2479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2480 vcge_s8 (int8x8_t __a
, int8x8_t __b
)
2482 return (uint8x8_t
) (__a
>= __b
);
2485 __extension__
extern __inline uint16x4_t
2486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2487 vcge_s16 (int16x4_t __a
, int16x4_t __b
)
2489 return (uint16x4_t
) (__a
>= __b
);
2492 __extension__
extern __inline uint32x2_t
2493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2494 vcge_s32 (int32x2_t __a
, int32x2_t __b
)
2496 return (uint32x2_t
) (__a
>= __b
);
2499 __extension__
extern __inline uint32x2_t
2500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2501 vcge_f32 (float32x2_t __a
, float32x2_t __b
)
2503 return (uint32x2_t
) (__a
>= __b
);
2506 __extension__
extern __inline uint8x8_t
2507 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2508 vcge_u8 (uint8x8_t __a
, uint8x8_t __b
)
2510 return (uint8x8_t
) (__a
>= __b
);
2513 __extension__
extern __inline uint16x4_t
2514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2515 vcge_u16 (uint16x4_t __a
, uint16x4_t __b
)
2517 return (uint16x4_t
) (__a
>= __b
);
2520 __extension__
extern __inline uint32x2_t
2521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2522 vcge_u32 (uint32x2_t __a
, uint32x2_t __b
)
2524 return (uint32x2_t
) (__a
>= __b
);
2527 __extension__
extern __inline uint8x16_t
2528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2529 vcgeq_s8 (int8x16_t __a
, int8x16_t __b
)
2531 return (uint8x16_t
) (__a
>= __b
);
2534 __extension__
extern __inline uint16x8_t
2535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2536 vcgeq_s16 (int16x8_t __a
, int16x8_t __b
)
2538 return (uint16x8_t
) (__a
>= __b
);
2541 __extension__
extern __inline uint32x4_t
2542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2543 vcgeq_s32 (int32x4_t __a
, int32x4_t __b
)
2545 return (uint32x4_t
) (__a
>= __b
);
2548 __extension__
extern __inline uint32x4_t
2549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2550 vcgeq_f32 (float32x4_t __a
, float32x4_t __b
)
2552 return (uint32x4_t
) (__a
>= __b
);
2555 __extension__
extern __inline uint8x16_t
2556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2557 vcgeq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2559 return (uint8x16_t
) (__a
>= __b
);
2562 __extension__
extern __inline uint16x8_t
2563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2564 vcgeq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2566 return (uint16x8_t
) (__a
>= __b
);
2569 __extension__
extern __inline uint32x4_t
2570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2571 vcgeq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2573 return (uint32x4_t
) (__a
>= __b
);
2576 __extension__
extern __inline uint8x8_t
2577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2578 vcle_s8 (int8x8_t __a
, int8x8_t __b
)
2580 return (uint8x8_t
) (__a
<= __b
);
2583 __extension__
extern __inline uint16x4_t
2584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2585 vcle_s16 (int16x4_t __a
, int16x4_t __b
)
2587 return (uint16x4_t
) (__a
<= __b
);
2590 __extension__
extern __inline uint32x2_t
2591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2592 vcle_s32 (int32x2_t __a
, int32x2_t __b
)
2594 return (uint32x2_t
) (__a
<= __b
);
2597 __extension__
extern __inline uint32x2_t
2598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2599 vcle_f32 (float32x2_t __a
, float32x2_t __b
)
2601 return (uint32x2_t
) (__a
<= __b
);
2604 __extension__
extern __inline uint8x8_t
2605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2606 vcle_u8 (uint8x8_t __a
, uint8x8_t __b
)
2608 return (uint8x8_t
) (__a
<= __b
);
2611 __extension__
extern __inline uint16x4_t
2612 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2613 vcle_u16 (uint16x4_t __a
, uint16x4_t __b
)
2615 return (uint16x4_t
) (__a
<= __b
);
2618 __extension__
extern __inline uint32x2_t
2619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2620 vcle_u32 (uint32x2_t __a
, uint32x2_t __b
)
2622 return (uint32x2_t
) (__a
<= __b
);
2625 __extension__
extern __inline uint8x16_t
2626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2627 vcleq_s8 (int8x16_t __a
, int8x16_t __b
)
2629 return (uint8x16_t
) (__a
<= __b
);
2632 __extension__
extern __inline uint16x8_t
2633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2634 vcleq_s16 (int16x8_t __a
, int16x8_t __b
)
2636 return (uint16x8_t
) (__a
<= __b
);
2639 __extension__
extern __inline uint32x4_t
2640 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2641 vcleq_s32 (int32x4_t __a
, int32x4_t __b
)
2643 return (uint32x4_t
) (__a
<= __b
);
2646 __extension__
extern __inline uint32x4_t
2647 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2648 vcleq_f32 (float32x4_t __a
, float32x4_t __b
)
2650 return (uint32x4_t
) (__a
<= __b
);
2653 __extension__
extern __inline uint8x16_t
2654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2655 vcleq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2657 return (uint8x16_t
) (__a
<= __b
);
2660 __extension__
extern __inline uint16x8_t
2661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2662 vcleq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2664 return (uint16x8_t
) (__a
<= __b
);
2667 __extension__
extern __inline uint32x4_t
2668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2669 vcleq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2671 return (uint32x4_t
) (__a
<= __b
);
2674 __extension__
extern __inline uint8x8_t
2675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2676 vcgt_s8 (int8x8_t __a
, int8x8_t __b
)
2678 return (uint8x8_t
) (__a
> __b
);
2681 __extension__
extern __inline uint16x4_t
2682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2683 vcgt_s16 (int16x4_t __a
, int16x4_t __b
)
2685 return (uint16x4_t
) (__a
> __b
);
2688 __extension__
extern __inline uint32x2_t
2689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2690 vcgt_s32 (int32x2_t __a
, int32x2_t __b
)
2692 return (uint32x2_t
) (__a
> __b
);
2695 __extension__
extern __inline uint32x2_t
2696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2697 vcgt_f32 (float32x2_t __a
, float32x2_t __b
)
2699 return (uint32x2_t
) (__a
> __b
);
2702 __extension__
extern __inline uint8x8_t
2703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2704 vcgt_u8 (uint8x8_t __a
, uint8x8_t __b
)
2709 __extension__
extern __inline uint16x4_t
2710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2711 vcgt_u16 (uint16x4_t __a
, uint16x4_t __b
)
2716 __extension__
extern __inline uint32x2_t
2717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2718 vcgt_u32 (uint32x2_t __a
, uint32x2_t __b
)
2723 __extension__
extern __inline uint8x16_t
2724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2725 vcgtq_s8 (int8x16_t __a
, int8x16_t __b
)
2727 return (uint8x16_t
) (__a
> __b
);
2730 __extension__
extern __inline uint16x8_t
2731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2732 vcgtq_s16 (int16x8_t __a
, int16x8_t __b
)
2734 return (uint16x8_t
) (__a
> __b
);
2737 __extension__
extern __inline uint32x4_t
2738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2739 vcgtq_s32 (int32x4_t __a
, int32x4_t __b
)
2741 return (uint32x4_t
) (__a
> __b
);
2744 __extension__
extern __inline uint32x4_t
2745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2746 vcgtq_f32 (float32x4_t __a
, float32x4_t __b
)
2748 return (uint32x4_t
) (__a
> __b
);
2751 __extension__
extern __inline uint8x16_t
2752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2753 vcgtq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2758 __extension__
extern __inline uint16x8_t
2759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2760 vcgtq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2765 __extension__
extern __inline uint32x4_t
2766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2767 vcgtq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2772 __extension__
extern __inline uint8x8_t
2773 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2774 vclt_s8 (int8x8_t __a
, int8x8_t __b
)
2776 return (uint8x8_t
) (__a
< __b
);
2779 __extension__
extern __inline uint16x4_t
2780 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2781 vclt_s16 (int16x4_t __a
, int16x4_t __b
)
2783 return (uint16x4_t
) (__a
< __b
);
2786 __extension__
extern __inline uint32x2_t
2787 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2788 vclt_s32 (int32x2_t __a
, int32x2_t __b
)
2790 return (uint32x2_t
) (__a
< __b
);
2793 __extension__
extern __inline uint32x2_t
2794 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2795 vclt_f32 (float32x2_t __a
, float32x2_t __b
)
2797 return (uint32x2_t
) (__a
< __b
);
2800 __extension__
extern __inline uint8x8_t
2801 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2802 vclt_u8 (uint8x8_t __a
, uint8x8_t __b
)
2807 __extension__
extern __inline uint16x4_t
2808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2809 vclt_u16 (uint16x4_t __a
, uint16x4_t __b
)
2814 __extension__
extern __inline uint32x2_t
2815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2816 vclt_u32 (uint32x2_t __a
, uint32x2_t __b
)
2821 __extension__
extern __inline uint8x16_t
2822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2823 vcltq_s8 (int8x16_t __a
, int8x16_t __b
)
2825 return (uint8x16_t
) (__a
< __b
);
2828 __extension__
extern __inline uint16x8_t
2829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2830 vcltq_s16 (int16x8_t __a
, int16x8_t __b
)
2832 return (uint16x8_t
) (__a
< __b
);
2835 __extension__
extern __inline uint32x4_t
2836 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2837 vcltq_s32 (int32x4_t __a
, int32x4_t __b
)
2839 return (uint32x4_t
) (__a
< __b
);
2842 __extension__
extern __inline uint32x4_t
2843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2844 vcltq_f32 (float32x4_t __a
, float32x4_t __b
)
2846 return (uint32x4_t
) (__a
< __b
);
2849 __extension__
extern __inline uint8x16_t
2850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2851 vcltq_u8 (uint8x16_t __a
, uint8x16_t __b
)
2856 __extension__
extern __inline uint16x8_t
2857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2858 vcltq_u16 (uint16x8_t __a
, uint16x8_t __b
)
2863 __extension__
extern __inline uint32x4_t
2864 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2865 vcltq_u32 (uint32x4_t __a
, uint32x4_t __b
)
2870 __extension__
extern __inline int8x8_t
2871 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2872 vabs_s8 (int8x8_t __a
)
2874 return (int8x8_t
)__builtin_neon_vabsv8qi (__a
);
2877 __extension__
extern __inline int16x4_t
2878 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2879 vabs_s16 (int16x4_t __a
)
2881 return (int16x4_t
)__builtin_neon_vabsv4hi (__a
);
2884 __extension__
extern __inline int32x2_t
2885 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2886 vabs_s32 (int32x2_t __a
)
2888 return (int32x2_t
)__builtin_neon_vabsv2si (__a
);
2891 __extension__
extern __inline float32x2_t
2892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2893 vabs_f32 (float32x2_t __a
)
2895 return (float32x2_t
)__builtin_neon_vabsv2sf (__a
);
2898 __extension__
extern __inline int8x16_t
2899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2900 vabsq_s8 (int8x16_t __a
)
2902 return (int8x16_t
)__builtin_neon_vabsv16qi (__a
);
2905 __extension__
extern __inline int16x8_t
2906 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2907 vabsq_s16 (int16x8_t __a
)
2909 return (int16x8_t
)__builtin_neon_vabsv8hi (__a
);
2912 __extension__
extern __inline int32x4_t
2913 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2914 vabsq_s32 (int32x4_t __a
)
2916 return (int32x4_t
)__builtin_neon_vabsv4si (__a
);
2919 __extension__
extern __inline float32x4_t
2920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2921 vabsq_f32 (float32x4_t __a
)
2923 return (float32x4_t
)__builtin_neon_vabsv4sf (__a
);
2926 __extension__
extern __inline int8x8_t
2927 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2928 vqabs_s8 (int8x8_t __a
)
2930 return (int8x8_t
)__builtin_neon_vqabsv8qi (__a
);
2933 __extension__
extern __inline int16x4_t
2934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2935 vqabs_s16 (int16x4_t __a
)
2937 return (int16x4_t
)__builtin_neon_vqabsv4hi (__a
);
2940 __extension__
extern __inline int32x2_t
2941 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2942 vqabs_s32 (int32x2_t __a
)
2944 return (int32x2_t
)__builtin_neon_vqabsv2si (__a
);
2947 __extension__
extern __inline int8x16_t
2948 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2949 vqabsq_s8 (int8x16_t __a
)
2951 return (int8x16_t
)__builtin_neon_vqabsv16qi (__a
);
2954 __extension__
extern __inline int16x8_t
2955 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2956 vqabsq_s16 (int16x8_t __a
)
2958 return (int16x8_t
)__builtin_neon_vqabsv8hi (__a
);
2961 __extension__
extern __inline int32x4_t
2962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2963 vqabsq_s32 (int32x4_t __a
)
2965 return (int32x4_t
)__builtin_neon_vqabsv4si (__a
);
2967 __extension__
extern __inline uint32x2_t
2968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2969 vcage_f32 (float32x2_t __a
, float32x2_t __b
)
2971 #ifdef __FAST_MATH__
2972 return (uint32x2_t
) (vabs_f32 (__a
) >= vabs_f32 (__b
));
2974 return (uint32x2_t
)__builtin_neon_vcagev2sf (__a
, __b
);
2978 __extension__
extern __inline uint32x4_t
2979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2980 vcageq_f32 (float32x4_t __a
, float32x4_t __b
)
2982 #ifdef __FAST_MATH__
2983 return (uint32x4_t
) (vabsq_f32 (__a
) >= vabsq_f32 (__b
));
2985 return (uint32x4_t
)__builtin_neon_vcagev4sf (__a
, __b
);
2989 __extension__
extern __inline uint32x2_t
2990 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
2991 vcale_f32 (float32x2_t __a
, float32x2_t __b
)
2993 #ifdef __FAST_MATH__
2994 return (uint32x2_t
) (vabs_f32 (__a
) <= vabs_f32 (__b
));
2996 return (uint32x2_t
)__builtin_neon_vcagev2sf (__b
, __a
);
3000 __extension__
extern __inline uint32x4_t
3001 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3002 vcaleq_f32 (float32x4_t __a
, float32x4_t __b
)
3004 #ifdef __FAST_MATH__
3005 return (uint32x4_t
) (vabsq_f32 (__a
) <= vabsq_f32 (__b
));
3007 return (uint32x4_t
)__builtin_neon_vcagev4sf (__b
, __a
);
3011 __extension__
extern __inline uint32x2_t
3012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3013 vcagt_f32 (float32x2_t __a
, float32x2_t __b
)
3015 #ifdef __FAST_MATH__
3016 return (uint32x2_t
) (vabs_f32 (__a
) > vabs_f32 (__b
));
3018 return (uint32x2_t
)__builtin_neon_vcagtv2sf (__a
, __b
);
3022 __extension__
extern __inline uint32x4_t
3023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3024 vcagtq_f32 (float32x4_t __a
, float32x4_t __b
)
3026 #ifdef __FAST_MATH__
3027 return (uint32x4_t
) (vabsq_f32 (__a
) > vabsq_f32 (__b
));
3029 return (uint32x4_t
)__builtin_neon_vcagtv4sf (__a
, __b
);
3033 __extension__
extern __inline uint32x2_t
3034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3035 vcalt_f32 (float32x2_t __a
, float32x2_t __b
)
3037 #ifdef __FAST_MATH__
3038 return (uint32x2_t
) (vabs_f32 (__a
) < vabs_f32 (__b
));
3040 return (uint32x2_t
)__builtin_neon_vcagtv2sf (__b
, __a
);
3044 __extension__
extern __inline uint32x4_t
3045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3046 vcaltq_f32 (float32x4_t __a
, float32x4_t __b
)
3048 #ifdef __FAST_MATH__
3049 return (uint32x4_t
) (vabsq_f32 (__a
) < vabsq_f32 (__b
));
3051 return (uint32x4_t
)__builtin_neon_vcagtv4sf (__b
, __a
);
3055 __extension__
extern __inline uint8x8_t
3056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3057 vtst_s8 (int8x8_t __a
, int8x8_t __b
)
3059 return (uint8x8_t
) ((__a
& __b
) != 0);
3062 __extension__
extern __inline uint16x4_t
3063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3064 vtst_s16 (int16x4_t __a
, int16x4_t __b
)
3066 return (uint16x4_t
) ((__a
& __b
) != 0);
3069 __extension__
extern __inline uint32x2_t
3070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3071 vtst_s32 (int32x2_t __a
, int32x2_t __b
)
3073 return (uint32x2_t
) ((__a
& __b
) != 0);
3076 __extension__
extern __inline uint8x8_t
3077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3078 vtst_u8 (uint8x8_t __a
, uint8x8_t __b
)
3080 return (uint8x8_t
) ((__a
& __b
) != 0);
3083 __extension__
extern __inline uint16x4_t
3084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3085 vtst_u16 (uint16x4_t __a
, uint16x4_t __b
)
3087 return (uint16x4_t
) ((__a
& __b
) != 0);
3090 __extension__
extern __inline uint32x2_t
3091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3092 vtst_u32 (uint32x2_t __a
, uint32x2_t __b
)
3094 return (uint32x2_t
) ((__a
& __b
) != 0);
3097 __extension__
extern __inline uint8x8_t
3098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3099 vtst_p8 (poly8x8_t __a
, poly8x8_t __b
)
3101 return (uint8x8_t
) ((__a
& __b
) != 0);
3104 __extension__
extern __inline uint16x4_t
3105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3106 vtst_p16 (poly16x4_t __a
, poly16x4_t __b
)
3108 return (uint16x4_t
) ((__a
& __b
) != 0);
3111 __extension__
extern __inline uint8x16_t
3112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3113 vtstq_s8 (int8x16_t __a
, int8x16_t __b
)
3115 return (uint8x16_t
) ((__a
& __b
) != 0);
3118 __extension__
extern __inline uint16x8_t
3119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3120 vtstq_s16 (int16x8_t __a
, int16x8_t __b
)
3122 return (uint16x8_t
) ((__a
& __b
) != 0);
3125 __extension__
extern __inline uint32x4_t
3126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3127 vtstq_s32 (int32x4_t __a
, int32x4_t __b
)
3129 return (uint32x4_t
) ((__a
& __b
) != 0);
3132 __extension__
extern __inline uint8x16_t
3133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3134 vtstq_u8 (uint8x16_t __a
, uint8x16_t __b
)
3136 return (uint8x16_t
) ((__a
& __b
) != 0);
3139 __extension__
extern __inline uint16x8_t
3140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3141 vtstq_u16 (uint16x8_t __a
, uint16x8_t __b
)
3143 return (uint16x8_t
) ((__a
& __b
) != 0);
3146 __extension__
extern __inline uint32x4_t
3147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3148 vtstq_u32 (uint32x4_t __a
, uint32x4_t __b
)
3150 return (uint32x4_t
) ((__a
& __b
) != 0);
3153 __extension__
extern __inline uint8x16_t
3154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3155 vtstq_p8 (poly8x16_t __a
, poly8x16_t __b
)
3157 return (uint8x16_t
) ((__a
& __b
) != 0);
3160 __extension__
extern __inline uint16x8_t
3161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3162 vtstq_p16 (poly16x8_t __a
, poly16x8_t __b
)
3164 return (uint16x8_t
) ((__a
& __b
) != 0);
3167 __extension__
extern __inline int8x8_t
3168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3169 vabd_s8 (int8x8_t __a
, int8x8_t __b
)
3171 return (int8x8_t
)__builtin_neon_vabdsv8qi (__a
, __b
);
3174 __extension__
extern __inline int16x4_t
3175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3176 vabd_s16 (int16x4_t __a
, int16x4_t __b
)
3178 return (int16x4_t
)__builtin_neon_vabdsv4hi (__a
, __b
);
3181 __extension__
extern __inline int32x2_t
3182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3183 vabd_s32 (int32x2_t __a
, int32x2_t __b
)
3185 return (int32x2_t
)__builtin_neon_vabdsv2si (__a
, __b
);
3188 __extension__
extern __inline float32x2_t
3189 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3190 vabd_f32 (float32x2_t __a
, float32x2_t __b
)
3192 return (float32x2_t
)__builtin_neon_vabdfv2sf (__a
, __b
);
3195 __extension__
extern __inline uint8x8_t
3196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3197 vabd_u8 (uint8x8_t __a
, uint8x8_t __b
)
3199 return (uint8x8_t
)__builtin_neon_vabduv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3202 __extension__
extern __inline uint16x4_t
3203 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3204 vabd_u16 (uint16x4_t __a
, uint16x4_t __b
)
3206 return (uint16x4_t
)__builtin_neon_vabduv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3209 __extension__
extern __inline uint32x2_t
3210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3211 vabd_u32 (uint32x2_t __a
, uint32x2_t __b
)
3213 return (uint32x2_t
)__builtin_neon_vabduv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3216 __extension__
extern __inline int8x16_t
3217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3218 vabdq_s8 (int8x16_t __a
, int8x16_t __b
)
3220 return (int8x16_t
)__builtin_neon_vabdsv16qi (__a
, __b
);
3223 __extension__
extern __inline int16x8_t
3224 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3225 vabdq_s16 (int16x8_t __a
, int16x8_t __b
)
3227 return (int16x8_t
)__builtin_neon_vabdsv8hi (__a
, __b
);
3230 __extension__
extern __inline int32x4_t
3231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3232 vabdq_s32 (int32x4_t __a
, int32x4_t __b
)
3234 return (int32x4_t
)__builtin_neon_vabdsv4si (__a
, __b
);
3237 __extension__
extern __inline float32x4_t
3238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3239 vabdq_f32 (float32x4_t __a
, float32x4_t __b
)
3241 return (float32x4_t
)__builtin_neon_vabdfv4sf (__a
, __b
);
3244 __extension__
extern __inline uint8x16_t
3245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3246 vabdq_u8 (uint8x16_t __a
, uint8x16_t __b
)
3248 return (uint8x16_t
)__builtin_neon_vabduv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
3251 __extension__
extern __inline uint16x8_t
3252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3253 vabdq_u16 (uint16x8_t __a
, uint16x8_t __b
)
3255 return (uint16x8_t
)__builtin_neon_vabduv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
3258 __extension__
extern __inline uint32x4_t
3259 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3260 vabdq_u32 (uint32x4_t __a
, uint32x4_t __b
)
3262 return (uint32x4_t
)__builtin_neon_vabduv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
3265 __extension__
extern __inline int16x8_t
3266 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3267 vabdl_s8 (int8x8_t __a
, int8x8_t __b
)
3269 return (int16x8_t
)__builtin_neon_vabdlsv8qi (__a
, __b
);
3272 __extension__
extern __inline int32x4_t
3273 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3274 vabdl_s16 (int16x4_t __a
, int16x4_t __b
)
3276 return (int32x4_t
)__builtin_neon_vabdlsv4hi (__a
, __b
);
3279 __extension__
extern __inline int64x2_t
3280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3281 vabdl_s32 (int32x2_t __a
, int32x2_t __b
)
3283 return (int64x2_t
)__builtin_neon_vabdlsv2si (__a
, __b
);
3286 __extension__
extern __inline uint16x8_t
3287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3288 vabdl_u8 (uint8x8_t __a
, uint8x8_t __b
)
3290 return (uint16x8_t
)__builtin_neon_vabdluv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3293 __extension__
extern __inline uint32x4_t
3294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3295 vabdl_u16 (uint16x4_t __a
, uint16x4_t __b
)
3297 return (uint32x4_t
)__builtin_neon_vabdluv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3300 __extension__
extern __inline uint64x2_t
3301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3302 vabdl_u32 (uint32x2_t __a
, uint32x2_t __b
)
3304 return (uint64x2_t
)__builtin_neon_vabdluv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3307 __extension__
extern __inline int8x8_t
3308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3309 vaba_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
3311 return (int8x8_t
)__builtin_neon_vabasv8qi (__a
, __b
, __c
);
3314 __extension__
extern __inline int16x4_t
3315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3316 vaba_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
3318 return (int16x4_t
)__builtin_neon_vabasv4hi (__a
, __b
, __c
);
3321 __extension__
extern __inline int32x2_t
3322 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3323 vaba_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
3325 return (int32x2_t
)__builtin_neon_vabasv2si (__a
, __b
, __c
);
3328 __extension__
extern __inline uint8x8_t
3329 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3330 vaba_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
3332 return (uint8x8_t
)__builtin_neon_vabauv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
3335 __extension__
extern __inline uint16x4_t
3336 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3337 vaba_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
3339 return (uint16x4_t
)__builtin_neon_vabauv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
3342 __extension__
extern __inline uint32x2_t
3343 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3344 vaba_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
3346 return (uint32x2_t
)__builtin_neon_vabauv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
3349 __extension__
extern __inline int8x16_t
3350 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3351 vabaq_s8 (int8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
3353 return (int8x16_t
)__builtin_neon_vabasv16qi (__a
, __b
, __c
);
3356 __extension__
extern __inline int16x8_t
3357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3358 vabaq_s16 (int16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
3360 return (int16x8_t
)__builtin_neon_vabasv8hi (__a
, __b
, __c
);
3363 __extension__
extern __inline int32x4_t
3364 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3365 vabaq_s32 (int32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
3367 return (int32x4_t
)__builtin_neon_vabasv4si (__a
, __b
, __c
);
3370 __extension__
extern __inline uint8x16_t
3371 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3372 vabaq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
3374 return (uint8x16_t
)__builtin_neon_vabauv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, (int8x16_t
) __c
);
3377 __extension__
extern __inline uint16x8_t
3378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3379 vabaq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
3381 return (uint16x8_t
)__builtin_neon_vabauv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x8_t
) __c
);
3384 __extension__
extern __inline uint32x4_t
3385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3386 vabaq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
3388 return (uint32x4_t
)__builtin_neon_vabauv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x4_t
) __c
);
3391 __extension__
extern __inline int16x8_t
3392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3393 vabal_s8 (int16x8_t __a
, int8x8_t __b
, int8x8_t __c
)
3395 return (int16x8_t
)__builtin_neon_vabalsv8qi (__a
, __b
, __c
);
3398 __extension__
extern __inline int32x4_t
3399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3400 vabal_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
)
3402 return (int32x4_t
)__builtin_neon_vabalsv4hi (__a
, __b
, __c
);
3405 __extension__
extern __inline int64x2_t
3406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3407 vabal_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
)
3409 return (int64x2_t
)__builtin_neon_vabalsv2si (__a
, __b
, __c
);
3412 __extension__
extern __inline uint16x8_t
3413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3414 vabal_u8 (uint16x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
3416 return (uint16x8_t
)__builtin_neon_vabaluv8qi ((int16x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
3419 __extension__
extern __inline uint32x4_t
3420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3421 vabal_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
3423 return (uint32x4_t
)__builtin_neon_vabaluv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
3426 __extension__
extern __inline uint64x2_t
3427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3428 vabal_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
3430 return (uint64x2_t
)__builtin_neon_vabaluv2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
3433 __extension__
extern __inline int8x8_t
3434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3435 vmax_s8 (int8x8_t __a
, int8x8_t __b
)
3437 return (int8x8_t
)__builtin_neon_vmaxsv8qi (__a
, __b
);
3440 __extension__
extern __inline int16x4_t
3441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3442 vmax_s16 (int16x4_t __a
, int16x4_t __b
)
3444 return (int16x4_t
)__builtin_neon_vmaxsv4hi (__a
, __b
);
3447 __extension__
extern __inline int32x2_t
3448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3449 vmax_s32 (int32x2_t __a
, int32x2_t __b
)
3451 return (int32x2_t
)__builtin_neon_vmaxsv2si (__a
, __b
);
3454 __extension__
extern __inline float32x2_t
3455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3456 vmax_f32 (float32x2_t __a
, float32x2_t __b
)
3458 return (float32x2_t
)__builtin_neon_vmaxfv2sf (__a
, __b
);
3461 __extension__
extern __inline uint8x8_t
3462 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3463 vmax_u8 (uint8x8_t __a
, uint8x8_t __b
)
3465 return (uint8x8_t
)__builtin_neon_vmaxuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3468 __extension__
extern __inline uint16x4_t
3469 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3470 vmax_u16 (uint16x4_t __a
, uint16x4_t __b
)
3472 return (uint16x4_t
)__builtin_neon_vmaxuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3475 __extension__
extern __inline uint32x2_t
3476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3477 vmax_u32 (uint32x2_t __a
, uint32x2_t __b
)
3479 return (uint32x2_t
)__builtin_neon_vmaxuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3482 __extension__
extern __inline int8x16_t
3483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3484 vmaxq_s8 (int8x16_t __a
, int8x16_t __b
)
3486 return (int8x16_t
)__builtin_neon_vmaxsv16qi (__a
, __b
);
3489 __extension__
extern __inline int16x8_t
3490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3491 vmaxq_s16 (int16x8_t __a
, int16x8_t __b
)
3493 return (int16x8_t
)__builtin_neon_vmaxsv8hi (__a
, __b
);
3496 __extension__
extern __inline int32x4_t
3497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3498 vmaxq_s32 (int32x4_t __a
, int32x4_t __b
)
3500 return (int32x4_t
)__builtin_neon_vmaxsv4si (__a
, __b
);
3503 __extension__
extern __inline float32x4_t
3504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3505 vmaxq_f32 (float32x4_t __a
, float32x4_t __b
)
3507 return (float32x4_t
)__builtin_neon_vmaxfv4sf (__a
, __b
);
3510 #pragma GCC push_options
3511 #pragma GCC target ("fpu=neon-fp-armv8")
3512 __extension__
extern __inline float32x2_t
3513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3514 vmaxnm_f32 (float32x2_t a
, float32x2_t b
)
3516 return (float32x2_t
)__builtin_neon_vmaxnmv2sf (a
, b
);
3519 __extension__
extern __inline float32x4_t
3520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3521 vmaxnmq_f32 (float32x4_t a
, float32x4_t b
)
3523 return (float32x4_t
)__builtin_neon_vmaxnmv4sf (a
, b
);
3526 __extension__
extern __inline float32x2_t
3527 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3528 vminnm_f32 (float32x2_t a
, float32x2_t b
)
3530 return (float32x2_t
)__builtin_neon_vminnmv2sf (a
, b
);
3533 __extension__
extern __inline float32x4_t
3534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3535 vminnmq_f32 (float32x4_t a
, float32x4_t b
)
3537 return (float32x4_t
)__builtin_neon_vminnmv4sf (a
, b
);
3539 #pragma GCC pop_options
3542 __extension__
extern __inline uint8x16_t
3543 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3544 vmaxq_u8 (uint8x16_t __a
, uint8x16_t __b
)
3546 return (uint8x16_t
)__builtin_neon_vmaxuv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
3549 __extension__
extern __inline uint16x8_t
3550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3551 vmaxq_u16 (uint16x8_t __a
, uint16x8_t __b
)
3553 return (uint16x8_t
)__builtin_neon_vmaxuv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
3556 __extension__
extern __inline uint32x4_t
3557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3558 vmaxq_u32 (uint32x4_t __a
, uint32x4_t __b
)
3560 return (uint32x4_t
)__builtin_neon_vmaxuv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
3563 __extension__
extern __inline int8x8_t
3564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3565 vmin_s8 (int8x8_t __a
, int8x8_t __b
)
3567 return (int8x8_t
)__builtin_neon_vminsv8qi (__a
, __b
);
3570 __extension__
extern __inline int16x4_t
3571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3572 vmin_s16 (int16x4_t __a
, int16x4_t __b
)
3574 return (int16x4_t
)__builtin_neon_vminsv4hi (__a
, __b
);
3577 __extension__
extern __inline int32x2_t
3578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3579 vmin_s32 (int32x2_t __a
, int32x2_t __b
)
3581 return (int32x2_t
)__builtin_neon_vminsv2si (__a
, __b
);
3584 __extension__
extern __inline float32x2_t
3585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3586 vmin_f32 (float32x2_t __a
, float32x2_t __b
)
3588 return (float32x2_t
)__builtin_neon_vminfv2sf (__a
, __b
);
3591 __extension__
extern __inline uint8x8_t
3592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3593 vmin_u8 (uint8x8_t __a
, uint8x8_t __b
)
3595 return (uint8x8_t
)__builtin_neon_vminuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3598 __extension__
extern __inline uint16x4_t
3599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3600 vmin_u16 (uint16x4_t __a
, uint16x4_t __b
)
3602 return (uint16x4_t
)__builtin_neon_vminuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3605 __extension__
extern __inline uint32x2_t
3606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3607 vmin_u32 (uint32x2_t __a
, uint32x2_t __b
)
3609 return (uint32x2_t
)__builtin_neon_vminuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3612 __extension__
extern __inline int8x16_t
3613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3614 vminq_s8 (int8x16_t __a
, int8x16_t __b
)
3616 return (int8x16_t
)__builtin_neon_vminsv16qi (__a
, __b
);
3619 __extension__
extern __inline int16x8_t
3620 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3621 vminq_s16 (int16x8_t __a
, int16x8_t __b
)
3623 return (int16x8_t
)__builtin_neon_vminsv8hi (__a
, __b
);
3626 __extension__
extern __inline int32x4_t
3627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3628 vminq_s32 (int32x4_t __a
, int32x4_t __b
)
3630 return (int32x4_t
)__builtin_neon_vminsv4si (__a
, __b
);
3633 __extension__
extern __inline float32x4_t
3634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3635 vminq_f32 (float32x4_t __a
, float32x4_t __b
)
3637 return (float32x4_t
)__builtin_neon_vminfv4sf (__a
, __b
);
3640 __extension__
extern __inline uint8x16_t
3641 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3642 vminq_u8 (uint8x16_t __a
, uint8x16_t __b
)
3644 return (uint8x16_t
)__builtin_neon_vminuv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
);
3647 __extension__
extern __inline uint16x8_t
3648 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3649 vminq_u16 (uint16x8_t __a
, uint16x8_t __b
)
3651 return (uint16x8_t
)__builtin_neon_vminuv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
);
3654 __extension__
extern __inline uint32x4_t
3655 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3656 vminq_u32 (uint32x4_t __a
, uint32x4_t __b
)
3658 return (uint32x4_t
)__builtin_neon_vminuv4si ((int32x4_t
) __a
, (int32x4_t
) __b
);
3661 __extension__
extern __inline int8x8_t
3662 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3663 vpadd_s8 (int8x8_t __a
, int8x8_t __b
)
3665 return (int8x8_t
)__builtin_neon_vpaddv8qi (__a
, __b
);
3668 __extension__
extern __inline int16x4_t
3669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3670 vpadd_s16 (int16x4_t __a
, int16x4_t __b
)
3672 return (int16x4_t
)__builtin_neon_vpaddv4hi (__a
, __b
);
3675 __extension__
extern __inline int32x2_t
3676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3677 vpadd_s32 (int32x2_t __a
, int32x2_t __b
)
3679 return (int32x2_t
)__builtin_neon_vpaddv2si (__a
, __b
);
3682 __extension__
extern __inline float32x2_t
3683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3684 vpadd_f32 (float32x2_t __a
, float32x2_t __b
)
3686 return (float32x2_t
)__builtin_neon_vpaddv2sf (__a
, __b
);
3689 __extension__
extern __inline uint8x8_t
3690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3691 vpadd_u8 (uint8x8_t __a
, uint8x8_t __b
)
3693 return (uint8x8_t
)__builtin_neon_vpaddv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3696 __extension__
extern __inline uint16x4_t
3697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3698 vpadd_u16 (uint16x4_t __a
, uint16x4_t __b
)
3700 return (uint16x4_t
)__builtin_neon_vpaddv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3703 __extension__
extern __inline uint32x2_t
3704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3705 vpadd_u32 (uint32x2_t __a
, uint32x2_t __b
)
3707 return (uint32x2_t
)__builtin_neon_vpaddv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3710 __extension__
extern __inline int16x4_t
3711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3712 vpaddl_s8 (int8x8_t __a
)
3714 return (int16x4_t
)__builtin_neon_vpaddlsv8qi (__a
);
3717 __extension__
extern __inline int32x2_t
3718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3719 vpaddl_s16 (int16x4_t __a
)
3721 return (int32x2_t
)__builtin_neon_vpaddlsv4hi (__a
);
3724 __extension__
extern __inline int64x1_t
3725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3726 vpaddl_s32 (int32x2_t __a
)
3728 return (int64x1_t
)__builtin_neon_vpaddlsv2si (__a
);
3731 __extension__
extern __inline uint16x4_t
3732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3733 vpaddl_u8 (uint8x8_t __a
)
3735 return (uint16x4_t
)__builtin_neon_vpaddluv8qi ((int8x8_t
) __a
);
3738 __extension__
extern __inline uint32x2_t
3739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3740 vpaddl_u16 (uint16x4_t __a
)
3742 return (uint32x2_t
)__builtin_neon_vpaddluv4hi ((int16x4_t
) __a
);
3745 __extension__
extern __inline uint64x1_t
3746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3747 vpaddl_u32 (uint32x2_t __a
)
3749 return (uint64x1_t
)__builtin_neon_vpaddluv2si ((int32x2_t
) __a
);
3752 __extension__
extern __inline int16x8_t
3753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3754 vpaddlq_s8 (int8x16_t __a
)
3756 return (int16x8_t
)__builtin_neon_vpaddlsv16qi (__a
);
3759 __extension__
extern __inline int32x4_t
3760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3761 vpaddlq_s16 (int16x8_t __a
)
3763 return (int32x4_t
)__builtin_neon_vpaddlsv8hi (__a
);
3766 __extension__
extern __inline int64x2_t
3767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3768 vpaddlq_s32 (int32x4_t __a
)
3770 return (int64x2_t
)__builtin_neon_vpaddlsv4si (__a
);
3773 __extension__
extern __inline uint16x8_t
3774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3775 vpaddlq_u8 (uint8x16_t __a
)
3777 return (uint16x8_t
)__builtin_neon_vpaddluv16qi ((int8x16_t
) __a
);
3780 __extension__
extern __inline uint32x4_t
3781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3782 vpaddlq_u16 (uint16x8_t __a
)
3784 return (uint32x4_t
)__builtin_neon_vpaddluv8hi ((int16x8_t
) __a
);
3787 __extension__
extern __inline uint64x2_t
3788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3789 vpaddlq_u32 (uint32x4_t __a
)
3791 return (uint64x2_t
)__builtin_neon_vpaddluv4si ((int32x4_t
) __a
);
3794 __extension__
extern __inline int16x4_t
3795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3796 vpadal_s8 (int16x4_t __a
, int8x8_t __b
)
3798 return (int16x4_t
)__builtin_neon_vpadalsv8qi (__a
, __b
);
3801 __extension__
extern __inline int32x2_t
3802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3803 vpadal_s16 (int32x2_t __a
, int16x4_t __b
)
3805 return (int32x2_t
)__builtin_neon_vpadalsv4hi (__a
, __b
);
3808 __extension__
extern __inline int64x1_t
3809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3810 vpadal_s32 (int64x1_t __a
, int32x2_t __b
)
3812 return (int64x1_t
)__builtin_neon_vpadalsv2si (__a
, __b
);
3815 __extension__
extern __inline uint16x4_t
3816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3817 vpadal_u8 (uint16x4_t __a
, uint8x8_t __b
)
3819 return (uint16x4_t
)__builtin_neon_vpadaluv8qi ((int16x4_t
) __a
, (int8x8_t
) __b
);
3822 __extension__
extern __inline uint32x2_t
3823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3824 vpadal_u16 (uint32x2_t __a
, uint16x4_t __b
)
3826 return (uint32x2_t
)__builtin_neon_vpadaluv4hi ((int32x2_t
) __a
, (int16x4_t
) __b
);
3829 __extension__
extern __inline uint64x1_t
3830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3831 vpadal_u32 (uint64x1_t __a
, uint32x2_t __b
)
3833 return (uint64x1_t
)__builtin_neon_vpadaluv2si ((int64x1_t
) __a
, (int32x2_t
) __b
);
3836 __extension__
extern __inline int16x8_t
3837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3838 vpadalq_s8 (int16x8_t __a
, int8x16_t __b
)
3840 return (int16x8_t
)__builtin_neon_vpadalsv16qi (__a
, __b
);
3843 __extension__
extern __inline int32x4_t
3844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3845 vpadalq_s16 (int32x4_t __a
, int16x8_t __b
)
3847 return (int32x4_t
)__builtin_neon_vpadalsv8hi (__a
, __b
);
3850 __extension__
extern __inline int64x2_t
3851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3852 vpadalq_s32 (int64x2_t __a
, int32x4_t __b
)
3854 return (int64x2_t
)__builtin_neon_vpadalsv4si (__a
, __b
);
3857 __extension__
extern __inline uint16x8_t
3858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3859 vpadalq_u8 (uint16x8_t __a
, uint8x16_t __b
)
3861 return (uint16x8_t
)__builtin_neon_vpadaluv16qi ((int16x8_t
) __a
, (int8x16_t
) __b
);
3864 __extension__
extern __inline uint32x4_t
3865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3866 vpadalq_u16 (uint32x4_t __a
, uint16x8_t __b
)
3868 return (uint32x4_t
)__builtin_neon_vpadaluv8hi ((int32x4_t
) __a
, (int16x8_t
) __b
);
3871 __extension__
extern __inline uint64x2_t
3872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3873 vpadalq_u32 (uint64x2_t __a
, uint32x4_t __b
)
3875 return (uint64x2_t
)__builtin_neon_vpadaluv4si ((int64x2_t
) __a
, (int32x4_t
) __b
);
3878 __extension__
extern __inline int8x8_t
3879 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3880 vpmax_s8 (int8x8_t __a
, int8x8_t __b
)
3882 return (int8x8_t
)__builtin_neon_vpmaxsv8qi (__a
, __b
);
3885 __extension__
extern __inline int16x4_t
3886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3887 vpmax_s16 (int16x4_t __a
, int16x4_t __b
)
3889 return (int16x4_t
)__builtin_neon_vpmaxsv4hi (__a
, __b
);
3892 __extension__
extern __inline int32x2_t
3893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3894 vpmax_s32 (int32x2_t __a
, int32x2_t __b
)
3896 return (int32x2_t
)__builtin_neon_vpmaxsv2si (__a
, __b
);
3899 __extension__
extern __inline float32x2_t
3900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3901 vpmax_f32 (float32x2_t __a
, float32x2_t __b
)
3903 return (float32x2_t
)__builtin_neon_vpmaxfv2sf (__a
, __b
);
3906 __extension__
extern __inline uint8x8_t
3907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3908 vpmax_u8 (uint8x8_t __a
, uint8x8_t __b
)
3910 return (uint8x8_t
)__builtin_neon_vpmaxuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3913 __extension__
extern __inline uint16x4_t
3914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3915 vpmax_u16 (uint16x4_t __a
, uint16x4_t __b
)
3917 return (uint16x4_t
)__builtin_neon_vpmaxuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3920 __extension__
extern __inline uint32x2_t
3921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3922 vpmax_u32 (uint32x2_t __a
, uint32x2_t __b
)
3924 return (uint32x2_t
)__builtin_neon_vpmaxuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3927 __extension__
extern __inline int8x8_t
3928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3929 vpmin_s8 (int8x8_t __a
, int8x8_t __b
)
3931 return (int8x8_t
)__builtin_neon_vpminsv8qi (__a
, __b
);
3934 __extension__
extern __inline int16x4_t
3935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3936 vpmin_s16 (int16x4_t __a
, int16x4_t __b
)
3938 return (int16x4_t
)__builtin_neon_vpminsv4hi (__a
, __b
);
3941 __extension__
extern __inline int32x2_t
3942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3943 vpmin_s32 (int32x2_t __a
, int32x2_t __b
)
3945 return (int32x2_t
)__builtin_neon_vpminsv2si (__a
, __b
);
3948 __extension__
extern __inline float32x2_t
3949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3950 vpmin_f32 (float32x2_t __a
, float32x2_t __b
)
3952 return (float32x2_t
)__builtin_neon_vpminfv2sf (__a
, __b
);
3955 __extension__
extern __inline uint8x8_t
3956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3957 vpmin_u8 (uint8x8_t __a
, uint8x8_t __b
)
3959 return (uint8x8_t
)__builtin_neon_vpminuv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
3962 __extension__
extern __inline uint16x4_t
3963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3964 vpmin_u16 (uint16x4_t __a
, uint16x4_t __b
)
3966 return (uint16x4_t
)__builtin_neon_vpminuv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
3969 __extension__
extern __inline uint32x2_t
3970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3971 vpmin_u32 (uint32x2_t __a
, uint32x2_t __b
)
3973 return (uint32x2_t
)__builtin_neon_vpminuv2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
3976 __extension__
extern __inline float32x2_t
3977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3978 vrecps_f32 (float32x2_t __a
, float32x2_t __b
)
3980 return (float32x2_t
)__builtin_neon_vrecpsv2sf (__a
, __b
);
3983 __extension__
extern __inline float32x4_t
3984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3985 vrecpsq_f32 (float32x4_t __a
, float32x4_t __b
)
3987 return (float32x4_t
)__builtin_neon_vrecpsv4sf (__a
, __b
);
3990 __extension__
extern __inline float32x2_t
3991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3992 vrsqrts_f32 (float32x2_t __a
, float32x2_t __b
)
3994 return (float32x2_t
)__builtin_neon_vrsqrtsv2sf (__a
, __b
);
3997 __extension__
extern __inline float32x4_t
3998 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
3999 vrsqrtsq_f32 (float32x4_t __a
, float32x4_t __b
)
4001 return (float32x4_t
)__builtin_neon_vrsqrtsv4sf (__a
, __b
);
4004 __extension__
extern __inline int8x8_t
4005 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4006 vshl_s8 (int8x8_t __a
, int8x8_t __b
)
4008 return (int8x8_t
)__builtin_neon_vshlsv8qi (__a
, __b
);
4011 __extension__
extern __inline int16x4_t
4012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4013 vshl_s16 (int16x4_t __a
, int16x4_t __b
)
4015 return (int16x4_t
)__builtin_neon_vshlsv4hi (__a
, __b
);
4018 __extension__
extern __inline int32x2_t
4019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4020 vshl_s32 (int32x2_t __a
, int32x2_t __b
)
4022 return (int32x2_t
)__builtin_neon_vshlsv2si (__a
, __b
);
4025 __extension__
extern __inline int64x1_t
4026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4027 vshl_s64 (int64x1_t __a
, int64x1_t __b
)
4029 return (int64x1_t
)__builtin_neon_vshlsdi (__a
, __b
);
4032 __extension__
extern __inline uint8x8_t
4033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4034 vshl_u8 (uint8x8_t __a
, int8x8_t __b
)
4036 return (uint8x8_t
)__builtin_neon_vshluv8qi ((int8x8_t
) __a
, __b
);
4039 __extension__
extern __inline uint16x4_t
4040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4041 vshl_u16 (uint16x4_t __a
, int16x4_t __b
)
4043 return (uint16x4_t
)__builtin_neon_vshluv4hi ((int16x4_t
) __a
, __b
);
4046 __extension__
extern __inline uint32x2_t
4047 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4048 vshl_u32 (uint32x2_t __a
, int32x2_t __b
)
4050 return (uint32x2_t
)__builtin_neon_vshluv2si ((int32x2_t
) __a
, __b
);
4053 __extension__
extern __inline uint64x1_t
4054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4055 vshl_u64 (uint64x1_t __a
, int64x1_t __b
)
4057 return (uint64x1_t
)__builtin_neon_vshludi ((int64x1_t
) __a
, __b
);
4060 __extension__
extern __inline int8x16_t
4061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4062 vshlq_s8 (int8x16_t __a
, int8x16_t __b
)
4064 return (int8x16_t
)__builtin_neon_vshlsv16qi (__a
, __b
);
4067 __extension__
extern __inline int16x8_t
4068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4069 vshlq_s16 (int16x8_t __a
, int16x8_t __b
)
4071 return (int16x8_t
)__builtin_neon_vshlsv8hi (__a
, __b
);
4074 __extension__
extern __inline int32x4_t
4075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4076 vshlq_s32 (int32x4_t __a
, int32x4_t __b
)
4078 return (int32x4_t
)__builtin_neon_vshlsv4si (__a
, __b
);
4081 __extension__
extern __inline int64x2_t
4082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4083 vshlq_s64 (int64x2_t __a
, int64x2_t __b
)
4085 return (int64x2_t
)__builtin_neon_vshlsv2di (__a
, __b
);
4088 __extension__
extern __inline uint8x16_t
4089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4090 vshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
4092 return (uint8x16_t
)__builtin_neon_vshluv16qi ((int8x16_t
) __a
, __b
);
4095 __extension__
extern __inline uint16x8_t
4096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4097 vshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
4099 return (uint16x8_t
)__builtin_neon_vshluv8hi ((int16x8_t
) __a
, __b
);
4102 __extension__
extern __inline uint32x4_t
4103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4104 vshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
4106 return (uint32x4_t
)__builtin_neon_vshluv4si ((int32x4_t
) __a
, __b
);
4109 __extension__
extern __inline uint64x2_t
4110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4111 vshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
4113 return (uint64x2_t
)__builtin_neon_vshluv2di ((int64x2_t
) __a
, __b
);
4116 __extension__
extern __inline int8x8_t
4117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4118 vrshl_s8 (int8x8_t __a
, int8x8_t __b
)
4120 return (int8x8_t
)__builtin_neon_vrshlsv8qi (__a
, __b
);
4123 __extension__
extern __inline int16x4_t
4124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4125 vrshl_s16 (int16x4_t __a
, int16x4_t __b
)
4127 return (int16x4_t
)__builtin_neon_vrshlsv4hi (__a
, __b
);
4130 __extension__
extern __inline int32x2_t
4131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4132 vrshl_s32 (int32x2_t __a
, int32x2_t __b
)
4134 return (int32x2_t
)__builtin_neon_vrshlsv2si (__a
, __b
);
4137 __extension__
extern __inline int64x1_t
4138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4139 vrshl_s64 (int64x1_t __a
, int64x1_t __b
)
4141 return (int64x1_t
)__builtin_neon_vrshlsdi (__a
, __b
);
4144 __extension__
extern __inline uint8x8_t
4145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4146 vrshl_u8 (uint8x8_t __a
, int8x8_t __b
)
4148 return (uint8x8_t
)__builtin_neon_vrshluv8qi ((int8x8_t
) __a
, __b
);
4151 __extension__
extern __inline uint16x4_t
4152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4153 vrshl_u16 (uint16x4_t __a
, int16x4_t __b
)
4155 return (uint16x4_t
)__builtin_neon_vrshluv4hi ((int16x4_t
) __a
, __b
);
4158 __extension__
extern __inline uint32x2_t
4159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4160 vrshl_u32 (uint32x2_t __a
, int32x2_t __b
)
4162 return (uint32x2_t
)__builtin_neon_vrshluv2si ((int32x2_t
) __a
, __b
);
4165 __extension__
extern __inline uint64x1_t
4166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4167 vrshl_u64 (uint64x1_t __a
, int64x1_t __b
)
4169 return (uint64x1_t
)__builtin_neon_vrshludi ((int64x1_t
) __a
, __b
);
4172 __extension__
extern __inline int8x16_t
4173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4174 vrshlq_s8 (int8x16_t __a
, int8x16_t __b
)
4176 return (int8x16_t
)__builtin_neon_vrshlsv16qi (__a
, __b
);
4179 __extension__
extern __inline int16x8_t
4180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4181 vrshlq_s16 (int16x8_t __a
, int16x8_t __b
)
4183 return (int16x8_t
)__builtin_neon_vrshlsv8hi (__a
, __b
);
4186 __extension__
extern __inline int32x4_t
4187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4188 vrshlq_s32 (int32x4_t __a
, int32x4_t __b
)
4190 return (int32x4_t
)__builtin_neon_vrshlsv4si (__a
, __b
);
4193 __extension__
extern __inline int64x2_t
4194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4195 vrshlq_s64 (int64x2_t __a
, int64x2_t __b
)
4197 return (int64x2_t
)__builtin_neon_vrshlsv2di (__a
, __b
);
4200 __extension__
extern __inline uint8x16_t
4201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4202 vrshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
4204 return (uint8x16_t
)__builtin_neon_vrshluv16qi ((int8x16_t
) __a
, __b
);
4207 __extension__
extern __inline uint16x8_t
4208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4209 vrshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
4211 return (uint16x8_t
)__builtin_neon_vrshluv8hi ((int16x8_t
) __a
, __b
);
4214 __extension__
extern __inline uint32x4_t
4215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4216 vrshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
4218 return (uint32x4_t
)__builtin_neon_vrshluv4si ((int32x4_t
) __a
, __b
);
4221 __extension__
extern __inline uint64x2_t
4222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4223 vrshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
4225 return (uint64x2_t
)__builtin_neon_vrshluv2di ((int64x2_t
) __a
, __b
);
4228 __extension__
extern __inline int8x8_t
4229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4230 vqshl_s8 (int8x8_t __a
, int8x8_t __b
)
4232 return (int8x8_t
)__builtin_neon_vqshlsv8qi (__a
, __b
);
4235 __extension__
extern __inline int16x4_t
4236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4237 vqshl_s16 (int16x4_t __a
, int16x4_t __b
)
4239 return (int16x4_t
)__builtin_neon_vqshlsv4hi (__a
, __b
);
4242 __extension__
extern __inline int32x2_t
4243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4244 vqshl_s32 (int32x2_t __a
, int32x2_t __b
)
4246 return (int32x2_t
)__builtin_neon_vqshlsv2si (__a
, __b
);
4249 __extension__
extern __inline int64x1_t
4250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4251 vqshl_s64 (int64x1_t __a
, int64x1_t __b
)
4253 return (int64x1_t
)__builtin_neon_vqshlsdi (__a
, __b
);
4256 __extension__
extern __inline uint8x8_t
4257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4258 vqshl_u8 (uint8x8_t __a
, int8x8_t __b
)
4260 return (uint8x8_t
)__builtin_neon_vqshluv8qi ((int8x8_t
) __a
, __b
);
4263 __extension__
extern __inline uint16x4_t
4264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4265 vqshl_u16 (uint16x4_t __a
, int16x4_t __b
)
4267 return (uint16x4_t
)__builtin_neon_vqshluv4hi ((int16x4_t
) __a
, __b
);
4270 __extension__
extern __inline uint32x2_t
4271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4272 vqshl_u32 (uint32x2_t __a
, int32x2_t __b
)
4274 return (uint32x2_t
)__builtin_neon_vqshluv2si ((int32x2_t
) __a
, __b
);
4277 __extension__
extern __inline uint64x1_t
4278 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4279 vqshl_u64 (uint64x1_t __a
, int64x1_t __b
)
4281 return (uint64x1_t
)__builtin_neon_vqshludi ((int64x1_t
) __a
, __b
);
4284 __extension__
extern __inline int8x16_t
4285 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4286 vqshlq_s8 (int8x16_t __a
, int8x16_t __b
)
4288 return (int8x16_t
)__builtin_neon_vqshlsv16qi (__a
, __b
);
4291 __extension__
extern __inline int16x8_t
4292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4293 vqshlq_s16 (int16x8_t __a
, int16x8_t __b
)
4295 return (int16x8_t
)__builtin_neon_vqshlsv8hi (__a
, __b
);
4298 __extension__
extern __inline int32x4_t
4299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4300 vqshlq_s32 (int32x4_t __a
, int32x4_t __b
)
4302 return (int32x4_t
)__builtin_neon_vqshlsv4si (__a
, __b
);
4305 __extension__
extern __inline int64x2_t
4306 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4307 vqshlq_s64 (int64x2_t __a
, int64x2_t __b
)
4309 return (int64x2_t
)__builtin_neon_vqshlsv2di (__a
, __b
);
4312 __extension__
extern __inline uint8x16_t
4313 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4314 vqshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
4316 return (uint8x16_t
)__builtin_neon_vqshluv16qi ((int8x16_t
) __a
, __b
);
4319 __extension__
extern __inline uint16x8_t
4320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4321 vqshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
4323 return (uint16x8_t
)__builtin_neon_vqshluv8hi ((int16x8_t
) __a
, __b
);
4326 __extension__
extern __inline uint32x4_t
4327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4328 vqshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
4330 return (uint32x4_t
)__builtin_neon_vqshluv4si ((int32x4_t
) __a
, __b
);
4333 __extension__
extern __inline uint64x2_t
4334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4335 vqshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
4337 return (uint64x2_t
)__builtin_neon_vqshluv2di ((int64x2_t
) __a
, __b
);
4340 __extension__
extern __inline int8x8_t
4341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4342 vqrshl_s8 (int8x8_t __a
, int8x8_t __b
)
4344 return (int8x8_t
)__builtin_neon_vqrshlsv8qi (__a
, __b
);
4347 __extension__
extern __inline int16x4_t
4348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4349 vqrshl_s16 (int16x4_t __a
, int16x4_t __b
)
4351 return (int16x4_t
)__builtin_neon_vqrshlsv4hi (__a
, __b
);
4354 __extension__
extern __inline int32x2_t
4355 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4356 vqrshl_s32 (int32x2_t __a
, int32x2_t __b
)
4358 return (int32x2_t
)__builtin_neon_vqrshlsv2si (__a
, __b
);
4361 __extension__
extern __inline int64x1_t
4362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4363 vqrshl_s64 (int64x1_t __a
, int64x1_t __b
)
4365 return (int64x1_t
)__builtin_neon_vqrshlsdi (__a
, __b
);
4368 __extension__
extern __inline uint8x8_t
4369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4370 vqrshl_u8 (uint8x8_t __a
, int8x8_t __b
)
4372 return (uint8x8_t
)__builtin_neon_vqrshluv8qi ((int8x8_t
) __a
, __b
);
4375 __extension__
extern __inline uint16x4_t
4376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4377 vqrshl_u16 (uint16x4_t __a
, int16x4_t __b
)
4379 return (uint16x4_t
)__builtin_neon_vqrshluv4hi ((int16x4_t
) __a
, __b
);
4382 __extension__
extern __inline uint32x2_t
4383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4384 vqrshl_u32 (uint32x2_t __a
, int32x2_t __b
)
4386 return (uint32x2_t
)__builtin_neon_vqrshluv2si ((int32x2_t
) __a
, __b
);
4389 __extension__
extern __inline uint64x1_t
4390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4391 vqrshl_u64 (uint64x1_t __a
, int64x1_t __b
)
4393 return (uint64x1_t
)__builtin_neon_vqrshludi ((int64x1_t
) __a
, __b
);
4396 __extension__
extern __inline int8x16_t
4397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4398 vqrshlq_s8 (int8x16_t __a
, int8x16_t __b
)
4400 return (int8x16_t
)__builtin_neon_vqrshlsv16qi (__a
, __b
);
4403 __extension__
extern __inline int16x8_t
4404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4405 vqrshlq_s16 (int16x8_t __a
, int16x8_t __b
)
4407 return (int16x8_t
)__builtin_neon_vqrshlsv8hi (__a
, __b
);
4410 __extension__
extern __inline int32x4_t
4411 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4412 vqrshlq_s32 (int32x4_t __a
, int32x4_t __b
)
4414 return (int32x4_t
)__builtin_neon_vqrshlsv4si (__a
, __b
);
4417 __extension__
extern __inline int64x2_t
4418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4419 vqrshlq_s64 (int64x2_t __a
, int64x2_t __b
)
4421 return (int64x2_t
)__builtin_neon_vqrshlsv2di (__a
, __b
);
4424 __extension__
extern __inline uint8x16_t
4425 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4426 vqrshlq_u8 (uint8x16_t __a
, int8x16_t __b
)
4428 return (uint8x16_t
)__builtin_neon_vqrshluv16qi ((int8x16_t
) __a
, __b
);
4431 __extension__
extern __inline uint16x8_t
4432 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4433 vqrshlq_u16 (uint16x8_t __a
, int16x8_t __b
)
4435 return (uint16x8_t
)__builtin_neon_vqrshluv8hi ((int16x8_t
) __a
, __b
);
4438 __extension__
extern __inline uint32x4_t
4439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4440 vqrshlq_u32 (uint32x4_t __a
, int32x4_t __b
)
4442 return (uint32x4_t
)__builtin_neon_vqrshluv4si ((int32x4_t
) __a
, __b
);
4445 __extension__
extern __inline uint64x2_t
4446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4447 vqrshlq_u64 (uint64x2_t __a
, int64x2_t __b
)
4449 return (uint64x2_t
)__builtin_neon_vqrshluv2di ((int64x2_t
) __a
, __b
);
4452 __extension__
extern __inline int8x8_t
4453 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4454 vshr_n_s8 (int8x8_t __a
, const int __b
)
4456 return (int8x8_t
)__builtin_neon_vshrs_nv8qi (__a
, __b
);
4459 __extension__
extern __inline int16x4_t
4460 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4461 vshr_n_s16 (int16x4_t __a
, const int __b
)
4463 return (int16x4_t
)__builtin_neon_vshrs_nv4hi (__a
, __b
);
4466 __extension__
extern __inline int32x2_t
4467 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4468 vshr_n_s32 (int32x2_t __a
, const int __b
)
4470 return (int32x2_t
)__builtin_neon_vshrs_nv2si (__a
, __b
);
4473 __extension__
extern __inline int64x1_t
4474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4475 vshr_n_s64 (int64x1_t __a
, const int __b
)
4477 return (int64x1_t
)__builtin_neon_vshrs_ndi (__a
, __b
);
4480 __extension__
extern __inline uint8x8_t
4481 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4482 vshr_n_u8 (uint8x8_t __a
, const int __b
)
4484 return (uint8x8_t
)__builtin_neon_vshru_nv8qi ((int8x8_t
) __a
, __b
);
4487 __extension__
extern __inline uint16x4_t
4488 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4489 vshr_n_u16 (uint16x4_t __a
, const int __b
)
4491 return (uint16x4_t
)__builtin_neon_vshru_nv4hi ((int16x4_t
) __a
, __b
);
4494 __extension__
extern __inline uint32x2_t
4495 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4496 vshr_n_u32 (uint32x2_t __a
, const int __b
)
4498 return (uint32x2_t
)__builtin_neon_vshru_nv2si ((int32x2_t
) __a
, __b
);
4501 __extension__
extern __inline uint64x1_t
4502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4503 vshr_n_u64 (uint64x1_t __a
, const int __b
)
4505 return (uint64x1_t
)__builtin_neon_vshru_ndi ((int64x1_t
) __a
, __b
);
4508 __extension__
extern __inline int8x16_t
4509 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4510 vshrq_n_s8 (int8x16_t __a
, const int __b
)
4512 return (int8x16_t
)__builtin_neon_vshrs_nv16qi (__a
, __b
);
4515 __extension__
extern __inline int16x8_t
4516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4517 vshrq_n_s16 (int16x8_t __a
, const int __b
)
4519 return (int16x8_t
)__builtin_neon_vshrs_nv8hi (__a
, __b
);
4522 __extension__
extern __inline int32x4_t
4523 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4524 vshrq_n_s32 (int32x4_t __a
, const int __b
)
4526 return (int32x4_t
)__builtin_neon_vshrs_nv4si (__a
, __b
);
4529 __extension__
extern __inline int64x2_t
4530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4531 vshrq_n_s64 (int64x2_t __a
, const int __b
)
4533 return (int64x2_t
)__builtin_neon_vshrs_nv2di (__a
, __b
);
4536 __extension__
extern __inline uint8x16_t
4537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4538 vshrq_n_u8 (uint8x16_t __a
, const int __b
)
4540 return (uint8x16_t
)__builtin_neon_vshru_nv16qi ((int8x16_t
) __a
, __b
);
4543 __extension__
extern __inline uint16x8_t
4544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4545 vshrq_n_u16 (uint16x8_t __a
, const int __b
)
4547 return (uint16x8_t
)__builtin_neon_vshru_nv8hi ((int16x8_t
) __a
, __b
);
4550 __extension__
extern __inline uint32x4_t
4551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4552 vshrq_n_u32 (uint32x4_t __a
, const int __b
)
4554 return (uint32x4_t
)__builtin_neon_vshru_nv4si ((int32x4_t
) __a
, __b
);
4557 __extension__
extern __inline uint64x2_t
4558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4559 vshrq_n_u64 (uint64x2_t __a
, const int __b
)
4561 return (uint64x2_t
)__builtin_neon_vshru_nv2di ((int64x2_t
) __a
, __b
);
4564 __extension__
extern __inline int8x8_t
4565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4566 vrshr_n_s8 (int8x8_t __a
, const int __b
)
4568 return (int8x8_t
)__builtin_neon_vrshrs_nv8qi (__a
, __b
);
4571 __extension__
extern __inline int16x4_t
4572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4573 vrshr_n_s16 (int16x4_t __a
, const int __b
)
4575 return (int16x4_t
)__builtin_neon_vrshrs_nv4hi (__a
, __b
);
4578 __extension__
extern __inline int32x2_t
4579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4580 vrshr_n_s32 (int32x2_t __a
, const int __b
)
4582 return (int32x2_t
)__builtin_neon_vrshrs_nv2si (__a
, __b
);
4585 __extension__
extern __inline int64x1_t
4586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4587 vrshr_n_s64 (int64x1_t __a
, const int __b
)
4589 return (int64x1_t
)__builtin_neon_vrshrs_ndi (__a
, __b
);
4592 __extension__
extern __inline uint8x8_t
4593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4594 vrshr_n_u8 (uint8x8_t __a
, const int __b
)
4596 return (uint8x8_t
)__builtin_neon_vrshru_nv8qi ((int8x8_t
) __a
, __b
);
4599 __extension__
extern __inline uint16x4_t
4600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4601 vrshr_n_u16 (uint16x4_t __a
, const int __b
)
4603 return (uint16x4_t
)__builtin_neon_vrshru_nv4hi ((int16x4_t
) __a
, __b
);
4606 __extension__
extern __inline uint32x2_t
4607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4608 vrshr_n_u32 (uint32x2_t __a
, const int __b
)
4610 return (uint32x2_t
)__builtin_neon_vrshru_nv2si ((int32x2_t
) __a
, __b
);
4613 __extension__
extern __inline uint64x1_t
4614 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4615 vrshr_n_u64 (uint64x1_t __a
, const int __b
)
4617 return (uint64x1_t
)__builtin_neon_vrshru_ndi ((int64x1_t
) __a
, __b
);
4620 __extension__
extern __inline int8x16_t
4621 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4622 vrshrq_n_s8 (int8x16_t __a
, const int __b
)
4624 return (int8x16_t
)__builtin_neon_vrshrs_nv16qi (__a
, __b
);
4627 __extension__
extern __inline int16x8_t
4628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4629 vrshrq_n_s16 (int16x8_t __a
, const int __b
)
4631 return (int16x8_t
)__builtin_neon_vrshrs_nv8hi (__a
, __b
);
4634 __extension__
extern __inline int32x4_t
4635 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4636 vrshrq_n_s32 (int32x4_t __a
, const int __b
)
4638 return (int32x4_t
)__builtin_neon_vrshrs_nv4si (__a
, __b
);
4641 __extension__
extern __inline int64x2_t
4642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4643 vrshrq_n_s64 (int64x2_t __a
, const int __b
)
4645 return (int64x2_t
)__builtin_neon_vrshrs_nv2di (__a
, __b
);
4648 __extension__
extern __inline uint8x16_t
4649 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4650 vrshrq_n_u8 (uint8x16_t __a
, const int __b
)
4652 return (uint8x16_t
)__builtin_neon_vrshru_nv16qi ((int8x16_t
) __a
, __b
);
4655 __extension__
extern __inline uint16x8_t
4656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4657 vrshrq_n_u16 (uint16x8_t __a
, const int __b
)
4659 return (uint16x8_t
)__builtin_neon_vrshru_nv8hi ((int16x8_t
) __a
, __b
);
4662 __extension__
extern __inline uint32x4_t
4663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4664 vrshrq_n_u32 (uint32x4_t __a
, const int __b
)
4666 return (uint32x4_t
)__builtin_neon_vrshru_nv4si ((int32x4_t
) __a
, __b
);
4669 __extension__
extern __inline uint64x2_t
4670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4671 vrshrq_n_u64 (uint64x2_t __a
, const int __b
)
4673 return (uint64x2_t
)__builtin_neon_vrshru_nv2di ((int64x2_t
) __a
, __b
);
4676 __extension__
extern __inline int8x8_t
4677 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4678 vshrn_n_s16 (int16x8_t __a
, const int __b
)
4680 return (int8x8_t
)__builtin_neon_vshrn_nv8hi (__a
, __b
);
4683 __extension__
extern __inline int16x4_t
4684 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4685 vshrn_n_s32 (int32x4_t __a
, const int __b
)
4687 return (int16x4_t
)__builtin_neon_vshrn_nv4si (__a
, __b
);
4690 __extension__
extern __inline int32x2_t
4691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4692 vshrn_n_s64 (int64x2_t __a
, const int __b
)
4694 return (int32x2_t
)__builtin_neon_vshrn_nv2di (__a
, __b
);
4697 __extension__
extern __inline uint8x8_t
4698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4699 vshrn_n_u16 (uint16x8_t __a
, const int __b
)
4701 return (uint8x8_t
)__builtin_neon_vshrn_nv8hi ((int16x8_t
) __a
, __b
);
4704 __extension__
extern __inline uint16x4_t
4705 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4706 vshrn_n_u32 (uint32x4_t __a
, const int __b
)
4708 return (uint16x4_t
)__builtin_neon_vshrn_nv4si ((int32x4_t
) __a
, __b
);
4711 __extension__
extern __inline uint32x2_t
4712 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4713 vshrn_n_u64 (uint64x2_t __a
, const int __b
)
4715 return (uint32x2_t
)__builtin_neon_vshrn_nv2di ((int64x2_t
) __a
, __b
);
4718 __extension__
extern __inline int8x8_t
4719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4720 vrshrn_n_s16 (int16x8_t __a
, const int __b
)
4722 return (int8x8_t
)__builtin_neon_vrshrn_nv8hi (__a
, __b
);
4725 __extension__
extern __inline int16x4_t
4726 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4727 vrshrn_n_s32 (int32x4_t __a
, const int __b
)
4729 return (int16x4_t
)__builtin_neon_vrshrn_nv4si (__a
, __b
);
4732 __extension__
extern __inline int32x2_t
4733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4734 vrshrn_n_s64 (int64x2_t __a
, const int __b
)
4736 return (int32x2_t
)__builtin_neon_vrshrn_nv2di (__a
, __b
);
4739 __extension__
extern __inline uint8x8_t
4740 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4741 vrshrn_n_u16 (uint16x8_t __a
, const int __b
)
4743 return (uint8x8_t
)__builtin_neon_vrshrn_nv8hi ((int16x8_t
) __a
, __b
);
4746 __extension__
extern __inline uint16x4_t
4747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4748 vrshrn_n_u32 (uint32x4_t __a
, const int __b
)
4750 return (uint16x4_t
)__builtin_neon_vrshrn_nv4si ((int32x4_t
) __a
, __b
);
4753 __extension__
extern __inline uint32x2_t
4754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4755 vrshrn_n_u64 (uint64x2_t __a
, const int __b
)
4757 return (uint32x2_t
)__builtin_neon_vrshrn_nv2di ((int64x2_t
) __a
, __b
);
4760 __extension__
extern __inline int8x8_t
4761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4762 vqshrn_n_s16 (int16x8_t __a
, const int __b
)
4764 return (int8x8_t
)__builtin_neon_vqshrns_nv8hi (__a
, __b
);
4767 __extension__
extern __inline int16x4_t
4768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4769 vqshrn_n_s32 (int32x4_t __a
, const int __b
)
4771 return (int16x4_t
)__builtin_neon_vqshrns_nv4si (__a
, __b
);
4774 __extension__
extern __inline int32x2_t
4775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4776 vqshrn_n_s64 (int64x2_t __a
, const int __b
)
4778 return (int32x2_t
)__builtin_neon_vqshrns_nv2di (__a
, __b
);
4781 __extension__
extern __inline uint8x8_t
4782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4783 vqshrn_n_u16 (uint16x8_t __a
, const int __b
)
4785 return (uint8x8_t
)__builtin_neon_vqshrnu_nv8hi ((int16x8_t
) __a
, __b
);
4788 __extension__
extern __inline uint16x4_t
4789 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4790 vqshrn_n_u32 (uint32x4_t __a
, const int __b
)
4792 return (uint16x4_t
)__builtin_neon_vqshrnu_nv4si ((int32x4_t
) __a
, __b
);
4795 __extension__
extern __inline uint32x2_t
4796 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4797 vqshrn_n_u64 (uint64x2_t __a
, const int __b
)
4799 return (uint32x2_t
)__builtin_neon_vqshrnu_nv2di ((int64x2_t
) __a
, __b
);
4802 __extension__
extern __inline int8x8_t
4803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4804 vqrshrn_n_s16 (int16x8_t __a
, const int __b
)
4806 return (int8x8_t
)__builtin_neon_vqrshrns_nv8hi (__a
, __b
);
4809 __extension__
extern __inline int16x4_t
4810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4811 vqrshrn_n_s32 (int32x4_t __a
, const int __b
)
4813 return (int16x4_t
)__builtin_neon_vqrshrns_nv4si (__a
, __b
);
4816 __extension__
extern __inline int32x2_t
4817 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4818 vqrshrn_n_s64 (int64x2_t __a
, const int __b
)
4820 return (int32x2_t
)__builtin_neon_vqrshrns_nv2di (__a
, __b
);
4823 __extension__
extern __inline uint8x8_t
4824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4825 vqrshrn_n_u16 (uint16x8_t __a
, const int __b
)
4827 return (uint8x8_t
)__builtin_neon_vqrshrnu_nv8hi ((int16x8_t
) __a
, __b
);
4830 __extension__
extern __inline uint16x4_t
4831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4832 vqrshrn_n_u32 (uint32x4_t __a
, const int __b
)
4834 return (uint16x4_t
)__builtin_neon_vqrshrnu_nv4si ((int32x4_t
) __a
, __b
);
4837 __extension__
extern __inline uint32x2_t
4838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4839 vqrshrn_n_u64 (uint64x2_t __a
, const int __b
)
4841 return (uint32x2_t
)__builtin_neon_vqrshrnu_nv2di ((int64x2_t
) __a
, __b
);
4844 __extension__
extern __inline uint8x8_t
4845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4846 vqshrun_n_s16 (int16x8_t __a
, const int __b
)
4848 return (uint8x8_t
)__builtin_neon_vqshrun_nv8hi (__a
, __b
);
4851 __extension__
extern __inline uint16x4_t
4852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4853 vqshrun_n_s32 (int32x4_t __a
, const int __b
)
4855 return (uint16x4_t
)__builtin_neon_vqshrun_nv4si (__a
, __b
);
4858 __extension__
extern __inline uint32x2_t
4859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4860 vqshrun_n_s64 (int64x2_t __a
, const int __b
)
4862 return (uint32x2_t
)__builtin_neon_vqshrun_nv2di (__a
, __b
);
4865 __extension__
extern __inline uint8x8_t
4866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4867 vqrshrun_n_s16 (int16x8_t __a
, const int __b
)
4869 return (uint8x8_t
)__builtin_neon_vqrshrun_nv8hi (__a
, __b
);
4872 __extension__
extern __inline uint16x4_t
4873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4874 vqrshrun_n_s32 (int32x4_t __a
, const int __b
)
4876 return (uint16x4_t
)__builtin_neon_vqrshrun_nv4si (__a
, __b
);
4879 __extension__
extern __inline uint32x2_t
4880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4881 vqrshrun_n_s64 (int64x2_t __a
, const int __b
)
4883 return (uint32x2_t
)__builtin_neon_vqrshrun_nv2di (__a
, __b
);
4886 __extension__
extern __inline int8x8_t
4887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4888 vshl_n_s8 (int8x8_t __a
, const int __b
)
4890 return (int8x8_t
)__builtin_neon_vshl_nv8qi (__a
, __b
);
4893 __extension__
extern __inline int16x4_t
4894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4895 vshl_n_s16 (int16x4_t __a
, const int __b
)
4897 return (int16x4_t
)__builtin_neon_vshl_nv4hi (__a
, __b
);
4900 __extension__
extern __inline int32x2_t
4901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4902 vshl_n_s32 (int32x2_t __a
, const int __b
)
4904 return (int32x2_t
)__builtin_neon_vshl_nv2si (__a
, __b
);
4907 __extension__
extern __inline int64x1_t
4908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4909 vshl_n_s64 (int64x1_t __a
, const int __b
)
4911 return (int64x1_t
)__builtin_neon_vshl_ndi (__a
, __b
);
4914 __extension__
extern __inline uint8x8_t
4915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4916 vshl_n_u8 (uint8x8_t __a
, const int __b
)
4918 return (uint8x8_t
)__builtin_neon_vshl_nv8qi ((int8x8_t
) __a
, __b
);
4921 __extension__
extern __inline uint16x4_t
4922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4923 vshl_n_u16 (uint16x4_t __a
, const int __b
)
4925 return (uint16x4_t
)__builtin_neon_vshl_nv4hi ((int16x4_t
) __a
, __b
);
4928 __extension__
extern __inline uint32x2_t
4929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4930 vshl_n_u32 (uint32x2_t __a
, const int __b
)
4932 return (uint32x2_t
)__builtin_neon_vshl_nv2si ((int32x2_t
) __a
, __b
);
4935 __extension__
extern __inline uint64x1_t
4936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4937 vshl_n_u64 (uint64x1_t __a
, const int __b
)
4939 return (uint64x1_t
)__builtin_neon_vshl_ndi ((int64x1_t
) __a
, __b
);
4942 __extension__
extern __inline int8x16_t
4943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4944 vshlq_n_s8 (int8x16_t __a
, const int __b
)
4946 return (int8x16_t
)__builtin_neon_vshl_nv16qi (__a
, __b
);
4949 __extension__
extern __inline int16x8_t
4950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4951 vshlq_n_s16 (int16x8_t __a
, const int __b
)
4953 return (int16x8_t
)__builtin_neon_vshl_nv8hi (__a
, __b
);
4956 __extension__
extern __inline int32x4_t
4957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4958 vshlq_n_s32 (int32x4_t __a
, const int __b
)
4960 return (int32x4_t
)__builtin_neon_vshl_nv4si (__a
, __b
);
4963 __extension__
extern __inline int64x2_t
4964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4965 vshlq_n_s64 (int64x2_t __a
, const int __b
)
4967 return (int64x2_t
)__builtin_neon_vshl_nv2di (__a
, __b
);
4970 __extension__
extern __inline uint8x16_t
4971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4972 vshlq_n_u8 (uint8x16_t __a
, const int __b
)
4974 return (uint8x16_t
)__builtin_neon_vshl_nv16qi ((int8x16_t
) __a
, __b
);
4977 __extension__
extern __inline uint16x8_t
4978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4979 vshlq_n_u16 (uint16x8_t __a
, const int __b
)
4981 return (uint16x8_t
)__builtin_neon_vshl_nv8hi ((int16x8_t
) __a
, __b
);
4984 __extension__
extern __inline uint32x4_t
4985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4986 vshlq_n_u32 (uint32x4_t __a
, const int __b
)
4988 return (uint32x4_t
)__builtin_neon_vshl_nv4si ((int32x4_t
) __a
, __b
);
4991 __extension__
extern __inline uint64x2_t
4992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
4993 vshlq_n_u64 (uint64x2_t __a
, const int __b
)
4995 return (uint64x2_t
)__builtin_neon_vshl_nv2di ((int64x2_t
) __a
, __b
);
4998 __extension__
extern __inline int8x8_t
4999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5000 vqshl_n_s8 (int8x8_t __a
, const int __b
)
5002 return (int8x8_t
)__builtin_neon_vqshl_s_nv8qi (__a
, __b
);
5005 __extension__
extern __inline int16x4_t
5006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5007 vqshl_n_s16 (int16x4_t __a
, const int __b
)
5009 return (int16x4_t
)__builtin_neon_vqshl_s_nv4hi (__a
, __b
);
5012 __extension__
extern __inline int32x2_t
5013 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5014 vqshl_n_s32 (int32x2_t __a
, const int __b
)
5016 return (int32x2_t
)__builtin_neon_vqshl_s_nv2si (__a
, __b
);
5019 __extension__
extern __inline int64x1_t
5020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5021 vqshl_n_s64 (int64x1_t __a
, const int __b
)
5023 return (int64x1_t
)__builtin_neon_vqshl_s_ndi (__a
, __b
);
5026 __extension__
extern __inline uint8x8_t
5027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5028 vqshl_n_u8 (uint8x8_t __a
, const int __b
)
5030 return (uint8x8_t
)__builtin_neon_vqshl_u_nv8qi ((int8x8_t
) __a
, __b
);
5033 __extension__
extern __inline uint16x4_t
5034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5035 vqshl_n_u16 (uint16x4_t __a
, const int __b
)
5037 return (uint16x4_t
)__builtin_neon_vqshl_u_nv4hi ((int16x4_t
) __a
, __b
);
5040 __extension__
extern __inline uint32x2_t
5041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5042 vqshl_n_u32 (uint32x2_t __a
, const int __b
)
5044 return (uint32x2_t
)__builtin_neon_vqshl_u_nv2si ((int32x2_t
) __a
, __b
);
5047 __extension__
extern __inline uint64x1_t
5048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5049 vqshl_n_u64 (uint64x1_t __a
, const int __b
)
5051 return (uint64x1_t
)__builtin_neon_vqshl_u_ndi ((int64x1_t
) __a
, __b
);
5054 __extension__
extern __inline int8x16_t
5055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5056 vqshlq_n_s8 (int8x16_t __a
, const int __b
)
5058 return (int8x16_t
)__builtin_neon_vqshl_s_nv16qi (__a
, __b
);
5061 __extension__
extern __inline int16x8_t
5062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5063 vqshlq_n_s16 (int16x8_t __a
, const int __b
)
5065 return (int16x8_t
)__builtin_neon_vqshl_s_nv8hi (__a
, __b
);
5068 __extension__
extern __inline int32x4_t
5069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5070 vqshlq_n_s32 (int32x4_t __a
, const int __b
)
5072 return (int32x4_t
)__builtin_neon_vqshl_s_nv4si (__a
, __b
);
5075 __extension__
extern __inline int64x2_t
5076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5077 vqshlq_n_s64 (int64x2_t __a
, const int __b
)
5079 return (int64x2_t
)__builtin_neon_vqshl_s_nv2di (__a
, __b
);
5082 __extension__
extern __inline uint8x16_t
5083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5084 vqshlq_n_u8 (uint8x16_t __a
, const int __b
)
5086 return (uint8x16_t
)__builtin_neon_vqshl_u_nv16qi ((int8x16_t
) __a
, __b
);
5089 __extension__
extern __inline uint16x8_t
5090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5091 vqshlq_n_u16 (uint16x8_t __a
, const int __b
)
5093 return (uint16x8_t
)__builtin_neon_vqshl_u_nv8hi ((int16x8_t
) __a
, __b
);
5096 __extension__
extern __inline uint32x4_t
5097 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5098 vqshlq_n_u32 (uint32x4_t __a
, const int __b
)
5100 return (uint32x4_t
)__builtin_neon_vqshl_u_nv4si ((int32x4_t
) __a
, __b
);
5103 __extension__
extern __inline uint64x2_t
5104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5105 vqshlq_n_u64 (uint64x2_t __a
, const int __b
)
5107 return (uint64x2_t
)__builtin_neon_vqshl_u_nv2di ((int64x2_t
) __a
, __b
);
5110 __extension__
extern __inline uint8x8_t
5111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5112 vqshlu_n_s8 (int8x8_t __a
, const int __b
)
5114 return (uint8x8_t
)__builtin_neon_vqshlu_nv8qi (__a
, __b
);
5117 __extension__
extern __inline uint16x4_t
5118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5119 vqshlu_n_s16 (int16x4_t __a
, const int __b
)
5121 return (uint16x4_t
)__builtin_neon_vqshlu_nv4hi (__a
, __b
);
5124 __extension__
extern __inline uint32x2_t
5125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5126 vqshlu_n_s32 (int32x2_t __a
, const int __b
)
5128 return (uint32x2_t
)__builtin_neon_vqshlu_nv2si (__a
, __b
);
5131 __extension__
extern __inline uint64x1_t
5132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5133 vqshlu_n_s64 (int64x1_t __a
, const int __b
)
5135 return (uint64x1_t
)__builtin_neon_vqshlu_ndi (__a
, __b
);
5138 __extension__
extern __inline uint8x16_t
5139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5140 vqshluq_n_s8 (int8x16_t __a
, const int __b
)
5142 return (uint8x16_t
)__builtin_neon_vqshlu_nv16qi (__a
, __b
);
5145 __extension__
extern __inline uint16x8_t
5146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5147 vqshluq_n_s16 (int16x8_t __a
, const int __b
)
5149 return (uint16x8_t
)__builtin_neon_vqshlu_nv8hi (__a
, __b
);
5152 __extension__
extern __inline uint32x4_t
5153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5154 vqshluq_n_s32 (int32x4_t __a
, const int __b
)
5156 return (uint32x4_t
)__builtin_neon_vqshlu_nv4si (__a
, __b
);
5159 __extension__
extern __inline uint64x2_t
5160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5161 vqshluq_n_s64 (int64x2_t __a
, const int __b
)
5163 return (uint64x2_t
)__builtin_neon_vqshlu_nv2di (__a
, __b
);
5166 __extension__
extern __inline int16x8_t
5167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5168 vshll_n_s8 (int8x8_t __a
, const int __b
)
5170 return (int16x8_t
)__builtin_neon_vshlls_nv8qi (__a
, __b
);
5173 __extension__
extern __inline int32x4_t
5174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5175 vshll_n_s16 (int16x4_t __a
, const int __b
)
5177 return (int32x4_t
)__builtin_neon_vshlls_nv4hi (__a
, __b
);
5180 __extension__
extern __inline int64x2_t
5181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5182 vshll_n_s32 (int32x2_t __a
, const int __b
)
5184 return (int64x2_t
)__builtin_neon_vshlls_nv2si (__a
, __b
);
5187 __extension__
extern __inline uint16x8_t
5188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5189 vshll_n_u8 (uint8x8_t __a
, const int __b
)
5191 return (uint16x8_t
)__builtin_neon_vshllu_nv8qi ((int8x8_t
) __a
, __b
);
5194 __extension__
extern __inline uint32x4_t
5195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5196 vshll_n_u16 (uint16x4_t __a
, const int __b
)
5198 return (uint32x4_t
)__builtin_neon_vshllu_nv4hi ((int16x4_t
) __a
, __b
);
5201 __extension__
extern __inline uint64x2_t
5202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5203 vshll_n_u32 (uint32x2_t __a
, const int __b
)
5205 return (uint64x2_t
)__builtin_neon_vshllu_nv2si ((int32x2_t
) __a
, __b
);
5208 __extension__
extern __inline int8x8_t
5209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5210 vsra_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
5212 return (int8x8_t
)__builtin_neon_vsras_nv8qi (__a
, __b
, __c
);
5215 __extension__
extern __inline int16x4_t
5216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5217 vsra_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
5219 return (int16x4_t
)__builtin_neon_vsras_nv4hi (__a
, __b
, __c
);
5222 __extension__
extern __inline int32x2_t
5223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5224 vsra_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
5226 return (int32x2_t
)__builtin_neon_vsras_nv2si (__a
, __b
, __c
);
5229 __extension__
extern __inline int64x1_t
5230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5231 vsra_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
5233 return (int64x1_t
)__builtin_neon_vsras_ndi (__a
, __b
, __c
);
5236 __extension__
extern __inline uint8x8_t
5237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5238 vsra_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
5240 return (uint8x8_t
)__builtin_neon_vsrau_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5243 __extension__
extern __inline uint16x4_t
5244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5245 vsra_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
5247 return (uint16x4_t
)__builtin_neon_vsrau_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5250 __extension__
extern __inline uint32x2_t
5251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5252 vsra_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
5254 return (uint32x2_t
)__builtin_neon_vsrau_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
5257 __extension__
extern __inline uint64x1_t
5258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5259 vsra_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
5261 return (uint64x1_t
)__builtin_neon_vsrau_ndi ((int64x1_t
) __a
, (int64x1_t
) __b
, __c
);
5264 __extension__
extern __inline int8x16_t
5265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5266 vsraq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
5268 return (int8x16_t
)__builtin_neon_vsras_nv16qi (__a
, __b
, __c
);
5271 __extension__
extern __inline int16x8_t
5272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5273 vsraq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
5275 return (int16x8_t
)__builtin_neon_vsras_nv8hi (__a
, __b
, __c
);
5278 __extension__
extern __inline int32x4_t
5279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5280 vsraq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
5282 return (int32x4_t
)__builtin_neon_vsras_nv4si (__a
, __b
, __c
);
5285 __extension__
extern __inline int64x2_t
5286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5287 vsraq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
5289 return (int64x2_t
)__builtin_neon_vsras_nv2di (__a
, __b
, __c
);
5292 __extension__
extern __inline uint8x16_t
5293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5294 vsraq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
5296 return (uint8x16_t
)__builtin_neon_vsrau_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5299 __extension__
extern __inline uint16x8_t
5300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5301 vsraq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
5303 return (uint16x8_t
)__builtin_neon_vsrau_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5306 __extension__
extern __inline uint32x4_t
5307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5308 vsraq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
5310 return (uint32x4_t
)__builtin_neon_vsrau_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, __c
);
5313 __extension__
extern __inline uint64x2_t
5314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5315 vsraq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
5317 return (uint64x2_t
)__builtin_neon_vsrau_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5320 __extension__
extern __inline int8x8_t
5321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5322 vrsra_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
5324 return (int8x8_t
)__builtin_neon_vrsras_nv8qi (__a
, __b
, __c
);
5327 __extension__
extern __inline int16x4_t
5328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5329 vrsra_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
5331 return (int16x4_t
)__builtin_neon_vrsras_nv4hi (__a
, __b
, __c
);
5334 __extension__
extern __inline int32x2_t
5335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5336 vrsra_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
5338 return (int32x2_t
)__builtin_neon_vrsras_nv2si (__a
, __b
, __c
);
5341 __extension__
extern __inline int64x1_t
5342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5343 vrsra_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
5345 return (int64x1_t
)__builtin_neon_vrsras_ndi (__a
, __b
, __c
);
5348 __extension__
extern __inline uint8x8_t
5349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5350 vrsra_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
5352 return (uint8x8_t
)__builtin_neon_vrsrau_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5355 __extension__
extern __inline uint16x4_t
5356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5357 vrsra_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
5359 return (uint16x4_t
)__builtin_neon_vrsrau_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5362 __extension__
extern __inline uint32x2_t
5363 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5364 vrsra_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
5366 return (uint32x2_t
)__builtin_neon_vrsrau_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
5369 __extension__
extern __inline uint64x1_t
5370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5371 vrsra_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
5373 return (uint64x1_t
)__builtin_neon_vrsrau_ndi ((int64x1_t
) __a
, (int64x1_t
) __b
, __c
);
5376 __extension__
extern __inline int8x16_t
5377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5378 vrsraq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
5380 return (int8x16_t
)__builtin_neon_vrsras_nv16qi (__a
, __b
, __c
);
5383 __extension__
extern __inline int16x8_t
5384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5385 vrsraq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
5387 return (int16x8_t
)__builtin_neon_vrsras_nv8hi (__a
, __b
, __c
);
5390 __extension__
extern __inline int32x4_t
5391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5392 vrsraq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
5394 return (int32x4_t
)__builtin_neon_vrsras_nv4si (__a
, __b
, __c
);
5397 __extension__
extern __inline int64x2_t
5398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5399 vrsraq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
5401 return (int64x2_t
)__builtin_neon_vrsras_nv2di (__a
, __b
, __c
);
5404 __extension__
extern __inline uint8x16_t
5405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5406 vrsraq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
5408 return (uint8x16_t
)__builtin_neon_vrsrau_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5411 __extension__
extern __inline uint16x8_t
5412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5413 vrsraq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
5415 return (uint16x8_t
)__builtin_neon_vrsrau_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5418 __extension__
extern __inline uint32x4_t
5419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5420 vrsraq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
5422 return (uint32x4_t
)__builtin_neon_vrsrau_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, __c
);
5425 __extension__
extern __inline uint64x2_t
5426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5427 vrsraq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
5429 return (uint64x2_t
)__builtin_neon_vrsrau_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5432 #pragma GCC push_options
5433 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5434 __extension__
extern __inline poly64x1_t
5435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5436 vsri_n_p64 (poly64x1_t __a
, poly64x1_t __b
, const int __c
)
5438 return (poly64x1_t
)__builtin_neon_vsri_ndi (__a
, __b
, __c
);
5441 #pragma GCC pop_options
5442 __extension__
extern __inline int8x8_t
5443 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5444 vsri_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
5446 return (int8x8_t
)__builtin_neon_vsri_nv8qi (__a
, __b
, __c
);
5449 __extension__
extern __inline int16x4_t
5450 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5451 vsri_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
5453 return (int16x4_t
)__builtin_neon_vsri_nv4hi (__a
, __b
, __c
);
5456 __extension__
extern __inline int32x2_t
5457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5458 vsri_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
5460 return (int32x2_t
)__builtin_neon_vsri_nv2si (__a
, __b
, __c
);
5463 __extension__
extern __inline int64x1_t
5464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5465 vsri_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
5467 return (int64x1_t
)__builtin_neon_vsri_ndi (__a
, __b
, __c
);
5470 __extension__
extern __inline uint8x8_t
5471 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5472 vsri_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
5474 return (uint8x8_t
)__builtin_neon_vsri_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5477 __extension__
extern __inline uint16x4_t
5478 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5479 vsri_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
5481 return (uint16x4_t
)__builtin_neon_vsri_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5484 __extension__
extern __inline uint32x2_t
5485 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5486 vsri_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
5488 return (uint32x2_t
)__builtin_neon_vsri_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
5491 __extension__
extern __inline uint64x1_t
5492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5493 vsri_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
5495 return (uint64x1_t
)__builtin_neon_vsri_ndi ((int64x1_t
) __a
, (int64x1_t
) __b
, __c
);
5498 __extension__
extern __inline poly8x8_t
5499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5500 vsri_n_p8 (poly8x8_t __a
, poly8x8_t __b
, const int __c
)
5502 return (poly8x8_t
)__builtin_neon_vsri_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5505 __extension__
extern __inline poly16x4_t
5506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5507 vsri_n_p16 (poly16x4_t __a
, poly16x4_t __b
, const int __c
)
5509 return (poly16x4_t
)__builtin_neon_vsri_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5512 #pragma GCC push_options
5513 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5514 __extension__
extern __inline poly64x2_t
5515 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5516 vsriq_n_p64 (poly64x2_t __a
, poly64x2_t __b
, const int __c
)
5518 return (poly64x2_t
)__builtin_neon_vsri_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5521 #pragma GCC pop_options
5522 __extension__
extern __inline int8x16_t
5523 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5524 vsriq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
5526 return (int8x16_t
)__builtin_neon_vsri_nv16qi (__a
, __b
, __c
);
5529 __extension__
extern __inline int16x8_t
5530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5531 vsriq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
5533 return (int16x8_t
)__builtin_neon_vsri_nv8hi (__a
, __b
, __c
);
5536 __extension__
extern __inline int32x4_t
5537 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5538 vsriq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
5540 return (int32x4_t
)__builtin_neon_vsri_nv4si (__a
, __b
, __c
);
5543 __extension__
extern __inline int64x2_t
5544 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5545 vsriq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
5547 return (int64x2_t
)__builtin_neon_vsri_nv2di (__a
, __b
, __c
);
5550 __extension__
extern __inline uint8x16_t
5551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5552 vsriq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
5554 return (uint8x16_t
)__builtin_neon_vsri_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5557 __extension__
extern __inline uint16x8_t
5558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5559 vsriq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
5561 return (uint16x8_t
)__builtin_neon_vsri_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5564 __extension__
extern __inline uint32x4_t
5565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5566 vsriq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
5568 return (uint32x4_t
)__builtin_neon_vsri_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, __c
);
5571 __extension__
extern __inline uint64x2_t
5572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5573 vsriq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
5575 return (uint64x2_t
)__builtin_neon_vsri_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5578 __extension__
extern __inline poly8x16_t
5579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5580 vsriq_n_p8 (poly8x16_t __a
, poly8x16_t __b
, const int __c
)
5582 return (poly8x16_t
)__builtin_neon_vsri_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5585 __extension__
extern __inline poly16x8_t
5586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5587 vsriq_n_p16 (poly16x8_t __a
, poly16x8_t __b
, const int __c
)
5589 return (poly16x8_t
)__builtin_neon_vsri_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5592 #pragma GCC push_options
5593 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5594 __extension__
extern __inline poly64x1_t
5595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5596 vsli_n_p64 (poly64x1_t __a
, poly64x1_t __b
, const int __c
)
5598 return (poly64x1_t
)__builtin_neon_vsli_ndi (__a
, __b
, __c
);
5601 #pragma GCC pop_options
5602 __extension__
extern __inline int8x8_t
5603 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5604 vsli_n_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
5606 return (int8x8_t
)__builtin_neon_vsli_nv8qi (__a
, __b
, __c
);
5609 __extension__
extern __inline int16x4_t
5610 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5611 vsli_n_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
5613 return (int16x4_t
)__builtin_neon_vsli_nv4hi (__a
, __b
, __c
);
5616 __extension__
extern __inline int32x2_t
5617 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5618 vsli_n_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
5620 return (int32x2_t
)__builtin_neon_vsli_nv2si (__a
, __b
, __c
);
5623 __extension__
extern __inline int64x1_t
5624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5625 vsli_n_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
5627 return (int64x1_t
)__builtin_neon_vsli_ndi (__a
, __b
, __c
);
5630 __extension__
extern __inline uint8x8_t
5631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5632 vsli_n_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
5634 return (uint8x8_t
)__builtin_neon_vsli_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5637 __extension__
extern __inline uint16x4_t
5638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5639 vsli_n_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
5641 return (uint16x4_t
)__builtin_neon_vsli_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5644 __extension__
extern __inline uint32x2_t
5645 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5646 vsli_n_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
5648 return (uint32x2_t
)__builtin_neon_vsli_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
5651 __extension__
extern __inline uint64x1_t
5652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5653 vsli_n_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
5655 return (uint64x1_t
)__builtin_neon_vsli_ndi ((int64x1_t
) __a
, (int64x1_t
) __b
, __c
);
5658 __extension__
extern __inline poly8x8_t
5659 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5660 vsli_n_p8 (poly8x8_t __a
, poly8x8_t __b
, const int __c
)
5662 return (poly8x8_t
)__builtin_neon_vsli_nv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
5665 __extension__
extern __inline poly16x4_t
5666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5667 vsli_n_p16 (poly16x4_t __a
, poly16x4_t __b
, const int __c
)
5669 return (poly16x4_t
)__builtin_neon_vsli_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
5672 #pragma GCC push_options
5673 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5674 __extension__
extern __inline poly64x2_t
5675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5676 vsliq_n_p64 (poly64x2_t __a
, poly64x2_t __b
, const int __c
)
5678 return (poly64x2_t
)__builtin_neon_vsli_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5681 #pragma GCC pop_options
5682 __extension__
extern __inline int8x16_t
5683 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5684 vsliq_n_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
5686 return (int8x16_t
)__builtin_neon_vsli_nv16qi (__a
, __b
, __c
);
5689 __extension__
extern __inline int16x8_t
5690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5691 vsliq_n_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
5693 return (int16x8_t
)__builtin_neon_vsli_nv8hi (__a
, __b
, __c
);
5696 __extension__
extern __inline int32x4_t
5697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5698 vsliq_n_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
5700 return (int32x4_t
)__builtin_neon_vsli_nv4si (__a
, __b
, __c
);
5703 __extension__
extern __inline int64x2_t
5704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5705 vsliq_n_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
5707 return (int64x2_t
)__builtin_neon_vsli_nv2di (__a
, __b
, __c
);
5710 __extension__
extern __inline uint8x16_t
5711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5712 vsliq_n_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
5714 return (uint8x16_t
)__builtin_neon_vsli_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5717 __extension__
extern __inline uint16x8_t
5718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5719 vsliq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
5721 return (uint16x8_t
)__builtin_neon_vsli_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5724 __extension__
extern __inline uint32x4_t
5725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5726 vsliq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
5728 return (uint32x4_t
)__builtin_neon_vsli_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, __c
);
5731 __extension__
extern __inline uint64x2_t
5732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5733 vsliq_n_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
5735 return (uint64x2_t
)__builtin_neon_vsli_nv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
5738 __extension__
extern __inline poly8x16_t
5739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5740 vsliq_n_p8 (poly8x16_t __a
, poly8x16_t __b
, const int __c
)
5742 return (poly8x16_t
)__builtin_neon_vsli_nv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
5745 __extension__
extern __inline poly16x8_t
5746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5747 vsliq_n_p16 (poly16x8_t __a
, poly16x8_t __b
, const int __c
)
5749 return (poly16x8_t
)__builtin_neon_vsli_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
5752 __extension__
extern __inline int8x8_t
5753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5754 vneg_s8 (int8x8_t __a
)
5759 __extension__
extern __inline int16x4_t
5760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5761 vneg_s16 (int16x4_t __a
)
5766 __extension__
extern __inline int32x2_t
5767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5768 vneg_s32 (int32x2_t __a
)
5773 __extension__
extern __inline float32x2_t
5774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5775 vneg_f32 (float32x2_t __a
)
5780 __extension__
extern __inline int8x16_t
5781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5782 vnegq_s8 (int8x16_t __a
)
5787 __extension__
extern __inline int16x8_t
5788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5789 vnegq_s16 (int16x8_t __a
)
5794 __extension__
extern __inline int32x4_t
5795 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5796 vnegq_s32 (int32x4_t __a
)
5801 __extension__
extern __inline float32x4_t
5802 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5803 vnegq_f32 (float32x4_t __a
)
5808 __extension__
extern __inline int8x8_t
5809 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5810 vqneg_s8 (int8x8_t __a
)
5812 return (int8x8_t
)__builtin_neon_vqnegv8qi (__a
);
5815 __extension__
extern __inline int16x4_t
5816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5817 vqneg_s16 (int16x4_t __a
)
5819 return (int16x4_t
)__builtin_neon_vqnegv4hi (__a
);
5822 __extension__
extern __inline int32x2_t
5823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5824 vqneg_s32 (int32x2_t __a
)
5826 return (int32x2_t
)__builtin_neon_vqnegv2si (__a
);
5829 __extension__
extern __inline int8x16_t
5830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5831 vqnegq_s8 (int8x16_t __a
)
5833 return (int8x16_t
)__builtin_neon_vqnegv16qi (__a
);
5836 __extension__
extern __inline int16x8_t
5837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5838 vqnegq_s16 (int16x8_t __a
)
5840 return (int16x8_t
)__builtin_neon_vqnegv8hi (__a
);
5843 __extension__
extern __inline int32x4_t
5844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5845 vqnegq_s32 (int32x4_t __a
)
5847 return (int32x4_t
)__builtin_neon_vqnegv4si (__a
);
5850 __extension__
extern __inline int8x8_t
5851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5852 vmvn_s8 (int8x8_t __a
)
5857 __extension__
extern __inline int16x4_t
5858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5859 vmvn_s16 (int16x4_t __a
)
5864 __extension__
extern __inline int32x2_t
5865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5866 vmvn_s32 (int32x2_t __a
)
5871 __extension__
extern __inline uint8x8_t
5872 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5873 vmvn_u8 (uint8x8_t __a
)
5878 __extension__
extern __inline uint16x4_t
5879 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5880 vmvn_u16 (uint16x4_t __a
)
5885 __extension__
extern __inline uint32x2_t
5886 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5887 vmvn_u32 (uint32x2_t __a
)
5892 __extension__
extern __inline poly8x8_t
5893 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5894 vmvn_p8 (poly8x8_t __a
)
5896 return (poly8x8_t
) ~((int8x8_t
) __a
);
5899 __extension__
extern __inline int8x16_t
5900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5901 vmvnq_s8 (int8x16_t __a
)
5906 __extension__
extern __inline int16x8_t
5907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5908 vmvnq_s16 (int16x8_t __a
)
5913 __extension__
extern __inline int32x4_t
5914 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5915 vmvnq_s32 (int32x4_t __a
)
5920 __extension__
extern __inline uint8x16_t
5921 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5922 vmvnq_u8 (uint8x16_t __a
)
5927 __extension__
extern __inline uint16x8_t
5928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5929 vmvnq_u16 (uint16x8_t __a
)
5934 __extension__
extern __inline uint32x4_t
5935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5936 vmvnq_u32 (uint32x4_t __a
)
5941 __extension__
extern __inline poly8x16_t
5942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5943 vmvnq_p8 (poly8x16_t __a
)
5945 return (poly8x16_t
) ~((int8x16_t
) __a
);
5948 __extension__
extern __inline int8x8_t
5949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5950 vcls_s8 (int8x8_t __a
)
5952 return (int8x8_t
)__builtin_neon_vclsv8qi (__a
);
5955 __extension__
extern __inline int16x4_t
5956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5957 vcls_s16 (int16x4_t __a
)
5959 return (int16x4_t
)__builtin_neon_vclsv4hi (__a
);
5962 __extension__
extern __inline int32x2_t
5963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5964 vcls_s32 (int32x2_t __a
)
5966 return (int32x2_t
)__builtin_neon_vclsv2si (__a
);
5969 __extension__
extern __inline int8x16_t
5970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5971 vclsq_s8 (int8x16_t __a
)
5973 return (int8x16_t
)__builtin_neon_vclsv16qi (__a
);
5976 __extension__
extern __inline int16x8_t
5977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5978 vclsq_s16 (int16x8_t __a
)
5980 return (int16x8_t
)__builtin_neon_vclsv8hi (__a
);
5983 __extension__
extern __inline int32x4_t
5984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5985 vclsq_s32 (int32x4_t __a
)
5987 return (int32x4_t
)__builtin_neon_vclsv4si (__a
);
5990 __extension__
extern __inline int8x8_t
5991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5992 vclz_s8 (int8x8_t __a
)
5994 return (int8x8_t
)__builtin_neon_vclzv8qi (__a
);
5997 __extension__
extern __inline int16x4_t
5998 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
5999 vclz_s16 (int16x4_t __a
)
6001 return (int16x4_t
)__builtin_neon_vclzv4hi (__a
);
6004 __extension__
extern __inline int32x2_t
6005 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6006 vclz_s32 (int32x2_t __a
)
6008 return (int32x2_t
)__builtin_neon_vclzv2si (__a
);
6011 __extension__
extern __inline uint8x8_t
6012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6013 vclz_u8 (uint8x8_t __a
)
6015 return (uint8x8_t
)__builtin_neon_vclzv8qi ((int8x8_t
) __a
);
6018 __extension__
extern __inline uint16x4_t
6019 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6020 vclz_u16 (uint16x4_t __a
)
6022 return (uint16x4_t
)__builtin_neon_vclzv4hi ((int16x4_t
) __a
);
6025 __extension__
extern __inline uint32x2_t
6026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6027 vclz_u32 (uint32x2_t __a
)
6029 return (uint32x2_t
)__builtin_neon_vclzv2si ((int32x2_t
) __a
);
6032 __extension__
extern __inline int8x16_t
6033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6034 vclzq_s8 (int8x16_t __a
)
6036 return (int8x16_t
)__builtin_neon_vclzv16qi (__a
);
6039 __extension__
extern __inline int16x8_t
6040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6041 vclzq_s16 (int16x8_t __a
)
6043 return (int16x8_t
)__builtin_neon_vclzv8hi (__a
);
6046 __extension__
extern __inline int32x4_t
6047 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6048 vclzq_s32 (int32x4_t __a
)
6050 return (int32x4_t
)__builtin_neon_vclzv4si (__a
);
6053 __extension__
extern __inline uint8x16_t
6054 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6055 vclzq_u8 (uint8x16_t __a
)
6057 return (uint8x16_t
)__builtin_neon_vclzv16qi ((int8x16_t
) __a
);
6060 __extension__
extern __inline uint16x8_t
6061 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6062 vclzq_u16 (uint16x8_t __a
)
6064 return (uint16x8_t
)__builtin_neon_vclzv8hi ((int16x8_t
) __a
);
6067 __extension__
extern __inline uint32x4_t
6068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6069 vclzq_u32 (uint32x4_t __a
)
6071 return (uint32x4_t
)__builtin_neon_vclzv4si ((int32x4_t
) __a
);
6074 __extension__
extern __inline int8x8_t
6075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6076 vcnt_s8 (int8x8_t __a
)
6078 return (int8x8_t
)__builtin_neon_vcntv8qi (__a
);
6081 __extension__
extern __inline uint8x8_t
6082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6083 vcnt_u8 (uint8x8_t __a
)
6085 return (uint8x8_t
)__builtin_neon_vcntv8qi ((int8x8_t
) __a
);
6088 __extension__
extern __inline poly8x8_t
6089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6090 vcnt_p8 (poly8x8_t __a
)
6092 return (poly8x8_t
)__builtin_neon_vcntv8qi ((int8x8_t
) __a
);
6095 __extension__
extern __inline int8x16_t
6096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6097 vcntq_s8 (int8x16_t __a
)
6099 return (int8x16_t
)__builtin_neon_vcntv16qi (__a
);
6102 __extension__
extern __inline uint8x16_t
6103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6104 vcntq_u8 (uint8x16_t __a
)
6106 return (uint8x16_t
)__builtin_neon_vcntv16qi ((int8x16_t
) __a
);
6109 __extension__
extern __inline poly8x16_t
6110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6111 vcntq_p8 (poly8x16_t __a
)
6113 return (poly8x16_t
)__builtin_neon_vcntv16qi ((int8x16_t
) __a
);
6116 __extension__
extern __inline float32x2_t
6117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6118 vrecpe_f32 (float32x2_t __a
)
6120 return (float32x2_t
)__builtin_neon_vrecpev2sf (__a
);
6123 __extension__
extern __inline uint32x2_t
6124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6125 vrecpe_u32 (uint32x2_t __a
)
6127 return (uint32x2_t
)__builtin_neon_vrecpev2si ((int32x2_t
) __a
);
6130 __extension__
extern __inline float32x4_t
6131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6132 vrecpeq_f32 (float32x4_t __a
)
6134 return (float32x4_t
)__builtin_neon_vrecpev4sf (__a
);
6137 __extension__
extern __inline uint32x4_t
6138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6139 vrecpeq_u32 (uint32x4_t __a
)
6141 return (uint32x4_t
)__builtin_neon_vrecpev4si ((int32x4_t
) __a
);
6144 __extension__
extern __inline float32x2_t
6145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6146 vrsqrte_f32 (float32x2_t __a
)
6148 return (float32x2_t
)__builtin_neon_vrsqrtev2sf (__a
);
6151 __extension__
extern __inline uint32x2_t
6152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6153 vrsqrte_u32 (uint32x2_t __a
)
6155 return (uint32x2_t
)__builtin_neon_vrsqrtev2si ((int32x2_t
) __a
);
6158 __extension__
extern __inline float32x4_t
6159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6160 vrsqrteq_f32 (float32x4_t __a
)
6162 return (float32x4_t
)__builtin_neon_vrsqrtev4sf (__a
);
6165 __extension__
extern __inline uint32x4_t
6166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6167 vrsqrteq_u32 (uint32x4_t __a
)
6169 return (uint32x4_t
)__builtin_neon_vrsqrtev4si ((int32x4_t
) __a
);
6172 __extension__
extern __inline
int8_t
6173 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6174 vget_lane_s8 (int8x8_t __a
, const int __b
)
6176 return (int8_t)__builtin_neon_vget_lanev8qi (__a
, __b
);
6179 __extension__
extern __inline
int16_t
6180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6181 vget_lane_s16 (int16x4_t __a
, const int __b
)
6183 return (int16_t)__builtin_neon_vget_lanev4hi (__a
, __b
);
6186 __extension__
extern __inline
int32_t
6187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6188 vget_lane_s32 (int32x2_t __a
, const int __b
)
6190 return (int32_t)__builtin_neon_vget_lanev2si (__a
, __b
);
6193 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6194 /* Functions cannot accept or return __FP16 types. Even if the function
6195 were marked always-inline so there were no call sites, the declaration
6196 would nonetheless raise an error. Hence, we must use a macro instead. */
6198 #define vget_lane_f16(__v, __idx) \
6201 float16x4_t __vec = (__v); \
6202 __builtin_arm_lane_check (4, __idx); \
6203 float16_t __res = __vec[__arm_lane(__vec, __idx)]; \
6208 __extension__
extern __inline float32_t
6209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6210 vget_lane_f32 (float32x2_t __a
, const int __b
)
6212 return (float32_t
)__builtin_neon_vget_lanev2sf (__a
, __b
);
6215 __extension__
extern __inline
uint8_t
6216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6217 vget_lane_u8 (uint8x8_t __a
, const int __b
)
6219 return (uint8_t)__builtin_neon_vget_laneuv8qi ((int8x8_t
) __a
, __b
);
6222 __extension__
extern __inline
uint16_t
6223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6224 vget_lane_u16 (uint16x4_t __a
, const int __b
)
6226 return (uint16_t)__builtin_neon_vget_laneuv4hi ((int16x4_t
) __a
, __b
);
6229 __extension__
extern __inline
uint32_t
6230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6231 vget_lane_u32 (uint32x2_t __a
, const int __b
)
6233 return (uint32_t)__builtin_neon_vget_laneuv2si ((int32x2_t
) __a
, __b
);
6236 __extension__
extern __inline poly8_t
6237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6238 vget_lane_p8 (poly8x8_t __a
, const int __b
)
6240 return (poly8_t
)__builtin_neon_vget_laneuv8qi ((int8x8_t
) __a
, __b
);
6243 __extension__
extern __inline poly16_t
6244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6245 vget_lane_p16 (poly16x4_t __a
, const int __b
)
6247 return (poly16_t
)__builtin_neon_vget_laneuv4hi ((int16x4_t
) __a
, __b
);
6250 __extension__
extern __inline
int64_t
6251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6252 vget_lane_s64 (int64x1_t __a
, const int __b
)
6254 return (int64_t)__builtin_neon_vget_lanedi (__a
, __b
);
6257 #pragma GCC push_options
6258 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6259 __extension__
extern __inline poly64_t
6260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6261 vget_lane_p64 (poly64x1_t __a
, const int __b
)
6263 return (poly64_t
)__builtin_neon_vget_lanedi ((int64x1_t
) __a
, __b
);
6266 #pragma GCC pop_options
6267 __extension__
extern __inline
uint64_t
6268 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6269 vget_lane_u64 (uint64x1_t __a
, const int __b
)
6271 return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t
) __a
, __b
);
6274 __extension__
extern __inline
int8_t
6275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6276 vgetq_lane_s8 (int8x16_t __a
, const int __b
)
6278 return (int8_t)__builtin_neon_vget_lanev16qi (__a
, __b
);
6281 __extension__
extern __inline
int16_t
6282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6283 vgetq_lane_s16 (int16x8_t __a
, const int __b
)
6285 return (int16_t)__builtin_neon_vget_lanev8hi (__a
, __b
);
6288 __extension__
extern __inline
int32_t
6289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6290 vgetq_lane_s32 (int32x4_t __a
, const int __b
)
6292 return (int32_t)__builtin_neon_vget_lanev4si (__a
, __b
);
6295 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6296 #define vgetq_lane_f16(__v, __idx) \
6299 float16x8_t __vec = (__v); \
6300 __builtin_arm_lane_check (8, __idx); \
6301 float16_t __res = __vec[__arm_laneq(__vec, __idx)]; \
6306 __extension__
extern __inline float32_t
6307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6308 vgetq_lane_f32 (float32x4_t __a
, const int __b
)
6310 return (float32_t
)__builtin_neon_vget_lanev4sf (__a
, __b
);
6313 __extension__
extern __inline
uint8_t
6314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6315 vgetq_lane_u8 (uint8x16_t __a
, const int __b
)
6317 return (uint8_t)__builtin_neon_vget_laneuv16qi ((int8x16_t
) __a
, __b
);
6320 __extension__
extern __inline
uint16_t
6321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6322 vgetq_lane_u16 (uint16x8_t __a
, const int __b
)
6324 return (uint16_t)__builtin_neon_vget_laneuv8hi ((int16x8_t
) __a
, __b
);
6327 __extension__
extern __inline
uint32_t
6328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6329 vgetq_lane_u32 (uint32x4_t __a
, const int __b
)
6331 return (uint32_t)__builtin_neon_vget_laneuv4si ((int32x4_t
) __a
, __b
);
6334 __extension__
extern __inline poly8_t
6335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6336 vgetq_lane_p8 (poly8x16_t __a
, const int __b
)
6338 return (poly8_t
)__builtin_neon_vget_laneuv16qi ((int8x16_t
) __a
, __b
);
6341 __extension__
extern __inline poly16_t
6342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6343 vgetq_lane_p16 (poly16x8_t __a
, const int __b
)
6345 return (poly16_t
)__builtin_neon_vget_laneuv8hi ((int16x8_t
) __a
, __b
);
6348 __extension__
extern __inline
int64_t
6349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6350 vgetq_lane_s64 (int64x2_t __a
, const int __b
)
6352 return (int64_t)__builtin_neon_vget_lanev2di (__a
, __b
);
6355 #pragma GCC push_options
6356 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6357 __extension__
extern __inline poly64_t
6358 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6359 vgetq_lane_p64 (poly64x2_t __a
, const int __b
)
6361 return (poly64_t
)__builtin_neon_vget_lanev2di ((int64x2_t
) __a
, __b
);
6364 #pragma GCC pop_options
6365 __extension__
extern __inline
uint64_t
6366 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6367 vgetq_lane_u64 (uint64x2_t __a
, const int __b
)
6369 return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t
) __a
, __b
);
6372 __extension__
extern __inline int8x8_t
6373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6374 vset_lane_s8 (int8_t __a
, int8x8_t __b
, const int __c
)
6376 return (int8x8_t
)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi
) __a
, __b
, __c
);
6379 __extension__
extern __inline int16x4_t
6380 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6381 vset_lane_s16 (int16_t __a
, int16x4_t __b
, const int __c
)
6383 return (int16x4_t
)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi
) __a
, __b
, __c
);
6386 __extension__
extern __inline int32x2_t
6387 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6388 vset_lane_s32 (int32_t __a
, int32x2_t __b
, const int __c
)
6390 return (int32x2_t
)__builtin_neon_vset_lanev2si ((__builtin_neon_si
) __a
, __b
, __c
);
6393 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6394 #define vset_lane_f16(__e, __v, __idx) \
6397 float16_t __elem = (__e); \
6398 float16x4_t __vec = (__v); \
6399 __builtin_arm_lane_check (4, __idx); \
6400 __vec[__arm_lane (__vec, __idx)] = __elem; \
6405 __extension__
extern __inline float32x2_t
6406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6407 vset_lane_f32 (float32_t __a
, float32x2_t __b
, const int __c
)
6409 return (float32x2_t
)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf
) __a
, __b
, __c
);
6412 __extension__
extern __inline uint8x8_t
6413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6414 vset_lane_u8 (uint8_t __a
, uint8x8_t __b
, const int __c
)
6416 return (uint8x8_t
)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi
) __a
, (int8x8_t
) __b
, __c
);
6419 __extension__
extern __inline uint16x4_t
6420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6421 vset_lane_u16 (uint16_t __a
, uint16x4_t __b
, const int __c
)
6423 return (uint16x4_t
)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi
) __a
, (int16x4_t
) __b
, __c
);
6426 __extension__
extern __inline uint32x2_t
6427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6428 vset_lane_u32 (uint32_t __a
, uint32x2_t __b
, const int __c
)
6430 return (uint32x2_t
)__builtin_neon_vset_lanev2si ((__builtin_neon_si
) __a
, (int32x2_t
) __b
, __c
);
6433 __extension__
extern __inline poly8x8_t
6434 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6435 vset_lane_p8 (poly8_t __a
, poly8x8_t __b
, const int __c
)
6437 return (poly8x8_t
)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi
) __a
, (int8x8_t
) __b
, __c
);
6440 __extension__
extern __inline poly16x4_t
6441 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6442 vset_lane_p16 (poly16_t __a
, poly16x4_t __b
, const int __c
)
6444 return (poly16x4_t
)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi
) __a
, (int16x4_t
) __b
, __c
);
6447 __extension__
extern __inline int64x1_t
6448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6449 vset_lane_s64 (int64_t __a
, int64x1_t __b
, const int __c
)
6451 return (int64x1_t
)__builtin_neon_vset_lanedi ((__builtin_neon_di
) __a
, __b
, __c
);
6454 __extension__
extern __inline uint64x1_t
6455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6456 vset_lane_u64 (uint64_t __a
, uint64x1_t __b
, const int __c
)
6458 return (uint64x1_t
)__builtin_neon_vset_lanedi ((__builtin_neon_di
) __a
, (int64x1_t
) __b
, __c
);
6461 #pragma GCC push_options
6462 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6463 __extension__
extern __inline poly64x1_t
6464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6465 vset_lane_p64 (poly64_t __a
, poly64x1_t __b
, const int __c
)
6467 return (poly64x1_t
)__builtin_neon_vset_lanedi ((__builtin_neon_di
) __a
, (int64x1_t
) __b
, __c
);
6470 #pragma GCC pop_options
6471 __extension__
extern __inline int8x16_t
6472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6473 vsetq_lane_s8 (int8_t __a
, int8x16_t __b
, const int __c
)
6475 return (int8x16_t
)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi
) __a
, __b
, __c
);
6478 __extension__
extern __inline int16x8_t
6479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6480 vsetq_lane_s16 (int16_t __a
, int16x8_t __b
, const int __c
)
6482 return (int16x8_t
)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi
) __a
, __b
, __c
);
6485 __extension__
extern __inline int32x4_t
6486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6487 vsetq_lane_s32 (int32_t __a
, int32x4_t __b
, const int __c
)
6489 return (int32x4_t
)__builtin_neon_vset_lanev4si ((__builtin_neon_si
) __a
, __b
, __c
);
6492 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6493 #define vsetq_lane_f16(__e, __v, __idx) \
6496 float16_t __elem = (__e); \
6497 float16x8_t __vec = (__v); \
6498 __builtin_arm_lane_check (8, __idx); \
6499 __vec[__arm_laneq (__vec, __idx)] = __elem; \
6504 __extension__
extern __inline float32x4_t
6505 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6506 vsetq_lane_f32 (float32_t __a
, float32x4_t __b
, const int __c
)
6508 return (float32x4_t
)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf
) __a
, __b
, __c
);
6511 __extension__
extern __inline uint8x16_t
6512 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6513 vsetq_lane_u8 (uint8_t __a
, uint8x16_t __b
, const int __c
)
6515 return (uint8x16_t
)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi
) __a
, (int8x16_t
) __b
, __c
);
6518 __extension__
extern __inline uint16x8_t
6519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6520 vsetq_lane_u16 (uint16_t __a
, uint16x8_t __b
, const int __c
)
6522 return (uint16x8_t
)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi
) __a
, (int16x8_t
) __b
, __c
);
6525 __extension__
extern __inline uint32x4_t
6526 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6527 vsetq_lane_u32 (uint32_t __a
, uint32x4_t __b
, const int __c
)
6529 return (uint32x4_t
)__builtin_neon_vset_lanev4si ((__builtin_neon_si
) __a
, (int32x4_t
) __b
, __c
);
6532 __extension__
extern __inline poly8x16_t
6533 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6534 vsetq_lane_p8 (poly8_t __a
, poly8x16_t __b
, const int __c
)
6536 return (poly8x16_t
)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi
) __a
, (int8x16_t
) __b
, __c
);
6539 __extension__
extern __inline poly16x8_t
6540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6541 vsetq_lane_p16 (poly16_t __a
, poly16x8_t __b
, const int __c
)
6543 return (poly16x8_t
)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi
) __a
, (int16x8_t
) __b
, __c
);
6546 __extension__
extern __inline int64x2_t
6547 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6548 vsetq_lane_s64 (int64_t __a
, int64x2_t __b
, const int __c
)
6550 return (int64x2_t
)__builtin_neon_vset_lanev2di ((__builtin_neon_di
) __a
, __b
, __c
);
6553 __extension__
extern __inline uint64x2_t
6554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6555 vsetq_lane_u64 (uint64_t __a
, uint64x2_t __b
, const int __c
)
6557 return (uint64x2_t
)__builtin_neon_vset_lanev2di ((__builtin_neon_di
) __a
, (int64x2_t
) __b
, __c
);
6560 #pragma GCC push_options
6561 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6562 __extension__
extern __inline poly64x2_t
6563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6564 vsetq_lane_p64 (poly64_t __a
, poly64x2_t __b
, const int __c
)
6566 return (poly64x2_t
)__builtin_neon_vset_lanev2di ((__builtin_neon_di
) __a
, (int64x2_t
) __b
, __c
);
6569 __extension__
extern __inline poly64x1_t
6570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6571 vcreate_p64 (uint64_t __a
)
6573 return (poly64x1_t
) __a
;
6576 #pragma GCC pop_options
6577 __extension__
extern __inline int8x8_t
6578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6579 vcreate_s8 (uint64_t __a
)
6581 return (int8x8_t
) __a
;
6584 __extension__
extern __inline int16x4_t
6585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6586 vcreate_s16 (uint64_t __a
)
6588 return (int16x4_t
) __a
;
6591 __extension__
extern __inline int32x2_t
6592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6593 vcreate_s32 (uint64_t __a
)
6595 return (int32x2_t
) __a
;
6598 __extension__
extern __inline int64x1_t
6599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6600 vcreate_s64 (uint64_t __a
)
6602 return (int64x1_t
) {__a
};
6605 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6606 __extension__
extern __inline float16x4_t
6607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6608 vcreate_f16 (uint64_t __a
)
6610 return (float16x4_t
) __a
;
6614 __extension__
extern __inline float32x2_t
6615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6616 vcreate_f32 (uint64_t __a
)
6618 return (float32x2_t
) __a
;
6621 __extension__
extern __inline uint8x8_t
6622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6623 vcreate_u8 (uint64_t __a
)
6625 return (uint8x8_t
) __a
;
6628 __extension__
extern __inline uint16x4_t
6629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6630 vcreate_u16 (uint64_t __a
)
6632 return (uint16x4_t
) __a
;
6635 __extension__
extern __inline uint32x2_t
6636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6637 vcreate_u32 (uint64_t __a
)
6639 return (uint32x2_t
) __a
;
6642 __extension__
extern __inline uint64x1_t
6643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6644 vcreate_u64 (uint64_t __a
)
6646 return (uint64x1_t
) {__a
};
6649 __extension__
extern __inline poly8x8_t
6650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6651 vcreate_p8 (uint64_t __a
)
6653 return (poly8x8_t
) __a
;
6656 __extension__
extern __inline poly16x4_t
6657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6658 vcreate_p16 (uint64_t __a
)
6660 return (poly16x4_t
) __a
;
6663 __extension__
extern __inline int8x8_t
6664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6665 vdup_n_s8 (int8_t __a
)
6667 return (int8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6670 __extension__
extern __inline int16x4_t
6671 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6672 vdup_n_s16 (int16_t __a
)
6674 return (int16x4_t
) {__a
, __a
, __a
, __a
};
6677 __extension__
extern __inline int32x2_t
6678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6679 vdup_n_s32 (int32_t __a
)
6681 return (int32x2_t
) {__a
, __a
};
6684 __extension__
extern __inline float32x2_t
6685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6686 vdup_n_f32 (float32_t __a
)
6688 return (float32x2_t
) {__a
, __a
};
6691 __extension__
extern __inline uint8x8_t
6692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6693 vdup_n_u8 (uint8_t __a
)
6695 return (uint8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6698 __extension__
extern __inline uint16x4_t
6699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6700 vdup_n_u16 (uint16_t __a
)
6702 return (uint16x4_t
) {__a
, __a
, __a
, __a
};
6705 __extension__
extern __inline uint32x2_t
6706 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6707 vdup_n_u32 (uint32_t __a
)
6709 return (uint32x2_t
) {__a
, __a
};
6712 __extension__
extern __inline poly8x8_t
6713 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6714 vdup_n_p8 (poly8_t __a
)
6716 return (poly8x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6719 __extension__
extern __inline poly16x4_t
6720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6721 vdup_n_p16 (poly16_t __a
)
6723 return (poly16x4_t
) {__a
, __a
, __a
, __a
};
6726 #pragma GCC push_options
6727 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6728 __extension__
extern __inline poly64x1_t
6729 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6730 vdup_n_p64 (poly64_t __a
)
6732 return (poly64x1_t
) {__a
};
6735 #pragma GCC pop_options
6736 __extension__
extern __inline int64x1_t
6737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6738 vdup_n_s64 (int64_t __a
)
6740 return (int64x1_t
) {__a
};
6743 __extension__
extern __inline uint64x1_t
6744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6745 vdup_n_u64 (uint64_t __a
)
6747 return (uint64x1_t
) {__a
};
6750 #pragma GCC push_options
6751 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6752 __extension__
extern __inline poly64x2_t
6753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6754 vdupq_n_p64 (poly64_t __a
)
6756 return (poly64x2_t
) {__a
, __a
};
6759 #pragma GCC pop_options
6760 __extension__
extern __inline int8x16_t
6761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6762 vdupq_n_s8 (int8_t __a
)
6764 return (int8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
6765 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6768 __extension__
extern __inline int16x8_t
6769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6770 vdupq_n_s16 (int16_t __a
)
6772 return (int16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6775 __extension__
extern __inline int32x4_t
6776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6777 vdupq_n_s32 (int32_t __a
)
6779 return (int32x4_t
) {__a
, __a
, __a
, __a
};
6782 __extension__
extern __inline float32x4_t
6783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6784 vdupq_n_f32 (float32_t __a
)
6786 return (float32x4_t
) {__a
, __a
, __a
, __a
};
6789 __extension__
extern __inline uint8x16_t
6790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6791 vdupq_n_u8 (uint8_t __a
)
6793 return (uint8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
6794 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6797 __extension__
extern __inline uint16x8_t
6798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6799 vdupq_n_u16 (uint16_t __a
)
6801 return (uint16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6804 __extension__
extern __inline uint32x4_t
6805 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6806 vdupq_n_u32 (uint32_t __a
)
6808 return (uint32x4_t
) {__a
, __a
, __a
, __a
};
6811 __extension__
extern __inline poly8x16_t
6812 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6813 vdupq_n_p8 (poly8_t __a
)
6815 return (poly8x16_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
,
6816 __a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6819 __extension__
extern __inline poly16x8_t
6820 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6821 vdupq_n_p16 (poly16_t __a
)
6823 return (poly16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
6826 __extension__
extern __inline int64x2_t
6827 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6828 vdupq_n_s64 (int64_t __a
)
6830 return (int64x2_t
) {__a
, __a
};
6833 __extension__
extern __inline uint64x2_t
6834 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6835 vdupq_n_u64 (uint64_t __a
)
6837 return (uint64x2_t
) {__a
, __a
};
6840 __extension__
extern __inline int8x8_t
6841 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6842 vmov_n_s8 (int8_t __a
)
6844 return vdup_n_s8 (__a
);
6847 __extension__
extern __inline int16x4_t
6848 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6849 vmov_n_s16 (int16_t __a
)
6851 return vdup_n_s16 (__a
);
6854 __extension__
extern __inline int32x2_t
6855 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6856 vmov_n_s32 (int32_t __a
)
6858 return vdup_n_s32 (__a
);
6861 __extension__
extern __inline float32x2_t
6862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6863 vmov_n_f32 (float32_t __a
)
6865 return vdup_n_f32 (__a
);
6868 __extension__
extern __inline uint8x8_t
6869 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6870 vmov_n_u8 (uint8_t __a
)
6872 return vdup_n_u8 (__a
);
6875 __extension__
extern __inline uint16x4_t
6876 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6877 vmov_n_u16 (uint16_t __a
)
6879 return vdup_n_u16 (__a
);
6882 __extension__
extern __inline uint32x2_t
6883 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6884 vmov_n_u32 (uint32_t __a
)
6886 return vdup_n_u32 (__a
);
6889 __extension__
extern __inline poly8x8_t
6890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6891 vmov_n_p8 (poly8_t __a
)
6893 return vdup_n_p8 (__a
);
6896 __extension__
extern __inline poly16x4_t
6897 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6898 vmov_n_p16 (poly16_t __a
)
6900 return vdup_n_p16 (__a
);
6903 __extension__
extern __inline int64x1_t
6904 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6905 vmov_n_s64 (int64_t __a
)
6907 return vdup_n_s64 (__a
);
6910 __extension__
extern __inline uint64x1_t
6911 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6912 vmov_n_u64 (uint64_t __a
)
6914 return vdup_n_u64 (__a
);
6917 __extension__
extern __inline int8x16_t
6918 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6919 vmovq_n_s8 (int8_t __a
)
6921 return vdupq_n_s8 (__a
);
6924 __extension__
extern __inline int16x8_t
6925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6926 vmovq_n_s16 (int16_t __a
)
6928 return vdupq_n_s16 (__a
);
6931 __extension__
extern __inline int32x4_t
6932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6933 vmovq_n_s32 (int32_t __a
)
6935 return vdupq_n_s32 (__a
);
6938 __extension__
extern __inline float32x4_t
6939 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6940 vmovq_n_f32 (float32_t __a
)
6942 return vdupq_n_f32 (__a
);
6945 __extension__
extern __inline uint8x16_t
6946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6947 vmovq_n_u8 (uint8_t __a
)
6949 return vdupq_n_u8 (__a
);
6952 __extension__
extern __inline uint16x8_t
6953 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6954 vmovq_n_u16 (uint16_t __a
)
6956 return vdupq_n_u16 (__a
);
6959 __extension__
extern __inline uint32x4_t
6960 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6961 vmovq_n_u32 (uint32_t __a
)
6963 return vdupq_n_u32 (__a
);
6966 __extension__
extern __inline poly8x16_t
6967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6968 vmovq_n_p8 (poly8_t __a
)
6970 return vdupq_n_p8 (__a
);
6973 __extension__
extern __inline poly16x8_t
6974 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6975 vmovq_n_p16 (poly16_t __a
)
6977 return vdupq_n_p16 (__a
);
6980 __extension__
extern __inline int64x2_t
6981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6982 vmovq_n_s64 (int64_t __a
)
6984 return vdupq_n_s64 (__a
);
6987 __extension__
extern __inline uint64x2_t
6988 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6989 vmovq_n_u64 (uint64_t __a
)
6991 return vdupq_n_u64 (__a
);
6994 __extension__
extern __inline int8x8_t
6995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
6996 vdup_lane_s8 (int8x8_t __a
, const int __b
)
6998 return (int8x8_t
)__builtin_neon_vdup_lanev8qi (__a
, __b
);
7001 __extension__
extern __inline int16x4_t
7002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7003 vdup_lane_s16 (int16x4_t __a
, const int __b
)
7005 return (int16x4_t
)__builtin_neon_vdup_lanev4hi (__a
, __b
);
7008 __extension__
extern __inline int32x2_t
7009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7010 vdup_lane_s32 (int32x2_t __a
, const int __b
)
7012 return (int32x2_t
)__builtin_neon_vdup_lanev2si (__a
, __b
);
7015 __extension__
extern __inline float32x2_t
7016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7017 vdup_lane_f32 (float32x2_t __a
, const int __b
)
7019 return (float32x2_t
)__builtin_neon_vdup_lanev2sf (__a
, __b
);
7022 __extension__
extern __inline uint8x8_t
7023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7024 vdup_lane_u8 (uint8x8_t __a
, const int __b
)
7026 return (uint8x8_t
)__builtin_neon_vdup_lanev8qi ((int8x8_t
) __a
, __b
);
7029 __extension__
extern __inline uint16x4_t
7030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7031 vdup_lane_u16 (uint16x4_t __a
, const int __b
)
7033 return (uint16x4_t
)__builtin_neon_vdup_lanev4hi ((int16x4_t
) __a
, __b
);
7036 __extension__
extern __inline uint32x2_t
7037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7038 vdup_lane_u32 (uint32x2_t __a
, const int __b
)
7040 return (uint32x2_t
)__builtin_neon_vdup_lanev2si ((int32x2_t
) __a
, __b
);
7043 __extension__
extern __inline poly8x8_t
7044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7045 vdup_lane_p8 (poly8x8_t __a
, const int __b
)
7047 return (poly8x8_t
)__builtin_neon_vdup_lanev8qi ((int8x8_t
) __a
, __b
);
7050 __extension__
extern __inline poly16x4_t
7051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7052 vdup_lane_p16 (poly16x4_t __a
, const int __b
)
7054 return (poly16x4_t
)__builtin_neon_vdup_lanev4hi ((int16x4_t
) __a
, __b
);
7057 #pragma GCC push_options
7058 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7059 __extension__
extern __inline poly64x1_t
7060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7061 vdup_lane_p64 (poly64x1_t __a
, const int __b
)
7063 return (poly64x1_t
)__builtin_neon_vdup_lanedi (__a
, __b
);
7066 #pragma GCC pop_options
7067 __extension__
extern __inline int64x1_t
7068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7069 vdup_lane_s64 (int64x1_t __a
, const int __b
)
7071 return (int64x1_t
)__builtin_neon_vdup_lanedi (__a
, __b
);
7074 __extension__
extern __inline uint64x1_t
7075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7076 vdup_lane_u64 (uint64x1_t __a
, const int __b
)
7078 return (uint64x1_t
)__builtin_neon_vdup_lanedi ((int64x1_t
) __a
, __b
);
7081 __extension__
extern __inline int8x16_t
7082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7083 vdupq_lane_s8 (int8x8_t __a
, const int __b
)
7085 return (int8x16_t
)__builtin_neon_vdup_lanev16qi (__a
, __b
);
7088 __extension__
extern __inline int16x8_t
7089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7090 vdupq_lane_s16 (int16x4_t __a
, const int __b
)
7092 return (int16x8_t
)__builtin_neon_vdup_lanev8hi (__a
, __b
);
7095 __extension__
extern __inline int32x4_t
7096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7097 vdupq_lane_s32 (int32x2_t __a
, const int __b
)
7099 return (int32x4_t
)__builtin_neon_vdup_lanev4si (__a
, __b
);
7102 __extension__
extern __inline float32x4_t
7103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7104 vdupq_lane_f32 (float32x2_t __a
, const int __b
)
7106 return (float32x4_t
)__builtin_neon_vdup_lanev4sf (__a
, __b
);
7109 __extension__
extern __inline uint8x16_t
7110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7111 vdupq_lane_u8 (uint8x8_t __a
, const int __b
)
7113 return (uint8x16_t
)__builtin_neon_vdup_lanev16qi ((int8x8_t
) __a
, __b
);
7116 __extension__
extern __inline uint16x8_t
7117 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7118 vdupq_lane_u16 (uint16x4_t __a
, const int __b
)
7120 return (uint16x8_t
)__builtin_neon_vdup_lanev8hi ((int16x4_t
) __a
, __b
);
7123 __extension__
extern __inline uint32x4_t
7124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7125 vdupq_lane_u32 (uint32x2_t __a
, const int __b
)
7127 return (uint32x4_t
)__builtin_neon_vdup_lanev4si ((int32x2_t
) __a
, __b
);
7130 __extension__
extern __inline poly8x16_t
7131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7132 vdupq_lane_p8 (poly8x8_t __a
, const int __b
)
7134 return (poly8x16_t
)__builtin_neon_vdup_lanev16qi ((int8x8_t
) __a
, __b
);
7137 __extension__
extern __inline poly16x8_t
7138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7139 vdupq_lane_p16 (poly16x4_t __a
, const int __b
)
7141 return (poly16x8_t
)__builtin_neon_vdup_lanev8hi ((int16x4_t
) __a
, __b
);
7144 #pragma GCC push_options
7145 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7146 __extension__
extern __inline poly64x2_t
7147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7148 vdupq_lane_p64 (poly64x1_t __a
, const int __b
)
7150 return (poly64x2_t
)__builtin_neon_vdup_lanev2di (__a
, __b
);
7153 #pragma GCC pop_options
7154 __extension__
extern __inline int64x2_t
7155 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7156 vdupq_lane_s64 (int64x1_t __a
, const int __b
)
7158 return (int64x2_t
)__builtin_neon_vdup_lanev2di (__a
, __b
);
7161 __extension__
extern __inline uint64x2_t
7162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7163 vdupq_lane_u64 (uint64x1_t __a
, const int __b
)
7165 return (uint64x2_t
)__builtin_neon_vdup_lanev2di ((int64x1_t
) __a
, __b
);
7168 #pragma GCC push_options
7169 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7170 __extension__
extern __inline poly64x2_t
7171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7172 vcombine_p64 (poly64x1_t __a
, poly64x1_t __b
)
7174 return (poly64x2_t
)__builtin_neon_vcombinedi (__a
, __b
);
7177 #pragma GCC pop_options
7178 __extension__
extern __inline int8x16_t
7179 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7180 vcombine_s8 (int8x8_t __a
, int8x8_t __b
)
7182 return (int8x16_t
)__builtin_neon_vcombinev8qi (__a
, __b
);
7185 __extension__
extern __inline int16x8_t
7186 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7187 vcombine_s16 (int16x4_t __a
, int16x4_t __b
)
7189 return (int16x8_t
)__builtin_neon_vcombinev4hi (__a
, __b
);
7192 __extension__
extern __inline int32x4_t
7193 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7194 vcombine_s32 (int32x2_t __a
, int32x2_t __b
)
7196 return (int32x4_t
)__builtin_neon_vcombinev2si (__a
, __b
);
7199 __extension__
extern __inline int64x2_t
7200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7201 vcombine_s64 (int64x1_t __a
, int64x1_t __b
)
7203 return (int64x2_t
)__builtin_neon_vcombinedi (__a
, __b
);
7206 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7207 __extension__
extern __inline float16x8_t
7208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7209 vcombine_f16 (float16x4_t __a
, float16x4_t __b
)
7211 return __builtin_neon_vcombinev4hf (__a
, __b
);
7215 __extension__
extern __inline float32x4_t
7216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7217 vcombine_f32 (float32x2_t __a
, float32x2_t __b
)
7219 return (float32x4_t
)__builtin_neon_vcombinev2sf (__a
, __b
);
7222 __extension__
extern __inline uint8x16_t
7223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7224 vcombine_u8 (uint8x8_t __a
, uint8x8_t __b
)
7226 return (uint8x16_t
)__builtin_neon_vcombinev8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
7229 __extension__
extern __inline uint16x8_t
7230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7231 vcombine_u16 (uint16x4_t __a
, uint16x4_t __b
)
7233 return (uint16x8_t
)__builtin_neon_vcombinev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
7236 __extension__
extern __inline uint32x4_t
7237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7238 vcombine_u32 (uint32x2_t __a
, uint32x2_t __b
)
7240 return (uint32x4_t
)__builtin_neon_vcombinev2si ((int32x2_t
) __a
, (int32x2_t
) __b
);
7243 __extension__
extern __inline uint64x2_t
7244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7245 vcombine_u64 (uint64x1_t __a
, uint64x1_t __b
)
7247 return (uint64x2_t
)__builtin_neon_vcombinedi ((int64x1_t
) __a
, (int64x1_t
) __b
);
7250 __extension__
extern __inline poly8x16_t
7251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7252 vcombine_p8 (poly8x8_t __a
, poly8x8_t __b
)
7254 return (poly8x16_t
)__builtin_neon_vcombinev8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
7257 __extension__
extern __inline poly16x8_t
7258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7259 vcombine_p16 (poly16x4_t __a
, poly16x4_t __b
)
7261 return (poly16x8_t
)__builtin_neon_vcombinev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
);
7264 #pragma GCC push_options
7265 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7266 __extension__
extern __inline poly64x1_t
7267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7268 vget_high_p64 (poly64x2_t __a
)
7270 return (poly64x1_t
)__builtin_neon_vget_highv2di ((int64x2_t
) __a
);
7273 #pragma GCC pop_options
7274 __extension__
extern __inline int8x8_t
7275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7276 vget_high_s8 (int8x16_t __a
)
7278 return (int8x8_t
)__builtin_neon_vget_highv16qi (__a
);
7281 __extension__
extern __inline int16x4_t
7282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7283 vget_high_s16 (int16x8_t __a
)
7285 return (int16x4_t
)__builtin_neon_vget_highv8hi (__a
);
7288 __extension__
extern __inline int32x2_t
7289 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7290 vget_high_s32 (int32x4_t __a
)
7292 return (int32x2_t
)__builtin_neon_vget_highv4si (__a
);
7295 __extension__
extern __inline int64x1_t
7296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7297 vget_high_s64 (int64x2_t __a
)
7299 return (int64x1_t
)__builtin_neon_vget_highv2di (__a
);
7302 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7303 __extension__
extern __inline float16x4_t
7304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7305 vget_high_f16 (float16x8_t __a
)
7307 return __builtin_neon_vget_highv8hf (__a
);
7311 __extension__
extern __inline float32x2_t
7312 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7313 vget_high_f32 (float32x4_t __a
)
7315 return (float32x2_t
)__builtin_neon_vget_highv4sf (__a
);
7318 __extension__
extern __inline uint8x8_t
7319 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7320 vget_high_u8 (uint8x16_t __a
)
7322 return (uint8x8_t
)__builtin_neon_vget_highv16qi ((int8x16_t
) __a
);
7325 __extension__
extern __inline uint16x4_t
7326 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7327 vget_high_u16 (uint16x8_t __a
)
7329 return (uint16x4_t
)__builtin_neon_vget_highv8hi ((int16x8_t
) __a
);
7332 __extension__
extern __inline uint32x2_t
7333 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7334 vget_high_u32 (uint32x4_t __a
)
7336 return (uint32x2_t
)__builtin_neon_vget_highv4si ((int32x4_t
) __a
);
7339 __extension__
extern __inline uint64x1_t
7340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7341 vget_high_u64 (uint64x2_t __a
)
7343 return (uint64x1_t
)__builtin_neon_vget_highv2di ((int64x2_t
) __a
);
7346 __extension__
extern __inline poly8x8_t
7347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7348 vget_high_p8 (poly8x16_t __a
)
7350 return (poly8x8_t
)__builtin_neon_vget_highv16qi ((int8x16_t
) __a
);
7353 __extension__
extern __inline poly16x4_t
7354 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7355 vget_high_p16 (poly16x8_t __a
)
7357 return (poly16x4_t
)__builtin_neon_vget_highv8hi ((int16x8_t
) __a
);
7360 __extension__
extern __inline int8x8_t
7361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7362 vget_low_s8 (int8x16_t __a
)
7364 return (int8x8_t
)__builtin_neon_vget_lowv16qi (__a
);
7367 __extension__
extern __inline int16x4_t
7368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7369 vget_low_s16 (int16x8_t __a
)
7371 return (int16x4_t
)__builtin_neon_vget_lowv8hi (__a
);
7374 __extension__
extern __inline int32x2_t
7375 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7376 vget_low_s32 (int32x4_t __a
)
7378 return (int32x2_t
)__builtin_neon_vget_lowv4si (__a
);
7381 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7382 __extension__
extern __inline float16x4_t
7383 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7384 vget_low_f16 (float16x8_t __a
)
7386 return __builtin_neon_vget_lowv8hf (__a
);
7390 __extension__
extern __inline float32x2_t
7391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7392 vget_low_f32 (float32x4_t __a
)
7394 return (float32x2_t
)__builtin_neon_vget_lowv4sf (__a
);
7397 __extension__
extern __inline uint8x8_t
7398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7399 vget_low_u8 (uint8x16_t __a
)
7401 return (uint8x8_t
)__builtin_neon_vget_lowv16qi ((int8x16_t
) __a
);
7404 __extension__
extern __inline uint16x4_t
7405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7406 vget_low_u16 (uint16x8_t __a
)
7408 return (uint16x4_t
)__builtin_neon_vget_lowv8hi ((int16x8_t
) __a
);
7411 __extension__
extern __inline uint32x2_t
7412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7413 vget_low_u32 (uint32x4_t __a
)
7415 return (uint32x2_t
)__builtin_neon_vget_lowv4si ((int32x4_t
) __a
);
7418 __extension__
extern __inline poly8x8_t
7419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7420 vget_low_p8 (poly8x16_t __a
)
7422 return (poly8x8_t
)__builtin_neon_vget_lowv16qi ((int8x16_t
) __a
);
7425 __extension__
extern __inline poly16x4_t
7426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7427 vget_low_p16 (poly16x8_t __a
)
7429 return (poly16x4_t
)__builtin_neon_vget_lowv8hi ((int16x8_t
) __a
);
7432 #pragma GCC push_options
7433 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7434 __extension__
extern __inline poly64x1_t
7435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7436 vget_low_p64 (poly64x2_t __a
)
7438 return (poly64x1_t
)__builtin_neon_vget_lowv2di ((int64x2_t
) __a
);
7441 #pragma GCC pop_options
7442 __extension__
extern __inline int64x1_t
7443 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7444 vget_low_s64 (int64x2_t __a
)
7446 return (int64x1_t
)__builtin_neon_vget_lowv2di (__a
);
7449 __extension__
extern __inline uint64x1_t
7450 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7451 vget_low_u64 (uint64x2_t __a
)
7453 return (uint64x1_t
)__builtin_neon_vget_lowv2di ((int64x2_t
) __a
);
7456 __extension__
extern __inline int32x2_t
7457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7458 vcvt_s32_f32 (float32x2_t __a
)
7460 return (int32x2_t
)__builtin_neon_vcvtsv2sf (__a
);
7463 __extension__
extern __inline float32x2_t
7464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7465 vcvt_f32_s32 (int32x2_t __a
)
7467 return (float32x2_t
)__builtin_neon_vcvtsv2si (__a
);
7470 __extension__
extern __inline float32x2_t
7471 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7472 vcvt_f32_u32 (uint32x2_t __a
)
7474 return (float32x2_t
)__builtin_neon_vcvtuv2si ((int32x2_t
) __a
);
7477 __extension__
extern __inline uint32x2_t
7478 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7479 vcvt_u32_f32 (float32x2_t __a
)
7481 return (uint32x2_t
)__builtin_neon_vcvtuv2sf (__a
);
7484 __extension__
extern __inline int32x4_t
7485 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7486 vcvtq_s32_f32 (float32x4_t __a
)
7488 return (int32x4_t
)__builtin_neon_vcvtsv4sf (__a
);
7491 __extension__
extern __inline float32x4_t
7492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7493 vcvtq_f32_s32 (int32x4_t __a
)
7495 return (float32x4_t
)__builtin_neon_vcvtsv4si (__a
);
7498 __extension__
extern __inline float32x4_t
7499 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7500 vcvtq_f32_u32 (uint32x4_t __a
)
7502 return (float32x4_t
)__builtin_neon_vcvtuv4si ((int32x4_t
) __a
);
7505 __extension__
extern __inline uint32x4_t
7506 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7507 vcvtq_u32_f32 (float32x4_t __a
)
7509 return (uint32x4_t
)__builtin_neon_vcvtuv4sf (__a
);
7512 #pragma GCC push_options
7513 #pragma GCC target ("fpu=neon-fp16")
7514 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7515 __extension__
extern __inline float16x4_t
7516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7517 vcvt_f16_f32 (float32x4_t __a
)
7519 return (float16x4_t
)__builtin_neon_vcvtv4hfv4sf (__a
);
7523 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7524 __extension__
extern __inline float32x4_t
7525 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7526 vcvt_f32_f16 (float16x4_t __a
)
7528 return (float32x4_t
)__builtin_neon_vcvtv4sfv4hf (__a
);
7531 #pragma GCC pop_options
7533 __extension__
extern __inline int32x2_t
7534 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7535 vcvt_n_s32_f32 (float32x2_t __a
, const int __b
)
7537 return (int32x2_t
)__builtin_neon_vcvts_nv2sf (__a
, __b
);
7540 __extension__
extern __inline float32x2_t
7541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7542 vcvt_n_f32_s32 (int32x2_t __a
, const int __b
)
7544 return (float32x2_t
)__builtin_neon_vcvts_nv2si (__a
, __b
);
7547 __extension__
extern __inline float32x2_t
7548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7549 vcvt_n_f32_u32 (uint32x2_t __a
, const int __b
)
7551 return (float32x2_t
)__builtin_neon_vcvtu_nv2si ((int32x2_t
) __a
, __b
);
7554 __extension__
extern __inline uint32x2_t
7555 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7556 vcvt_n_u32_f32 (float32x2_t __a
, const int __b
)
7558 return (uint32x2_t
)__builtin_neon_vcvtu_nv2sf (__a
, __b
);
7561 __extension__
extern __inline int32x4_t
7562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7563 vcvtq_n_s32_f32 (float32x4_t __a
, const int __b
)
7565 return (int32x4_t
)__builtin_neon_vcvts_nv4sf (__a
, __b
);
7568 __extension__
extern __inline float32x4_t
7569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7570 vcvtq_n_f32_s32 (int32x4_t __a
, const int __b
)
7572 return (float32x4_t
)__builtin_neon_vcvts_nv4si (__a
, __b
);
7575 __extension__
extern __inline float32x4_t
7576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7577 vcvtq_n_f32_u32 (uint32x4_t __a
, const int __b
)
7579 return (float32x4_t
)__builtin_neon_vcvtu_nv4si ((int32x4_t
) __a
, __b
);
7582 __extension__
extern __inline uint32x4_t
7583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7584 vcvtq_n_u32_f32 (float32x4_t __a
, const int __b
)
7586 return (uint32x4_t
)__builtin_neon_vcvtu_nv4sf (__a
, __b
);
7589 __extension__
extern __inline int8x8_t
7590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7591 vmovn_s16 (int16x8_t __a
)
7593 return (int8x8_t
)__builtin_neon_vmovnv8hi (__a
);
7596 __extension__
extern __inline int16x4_t
7597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7598 vmovn_s32 (int32x4_t __a
)
7600 return (int16x4_t
)__builtin_neon_vmovnv4si (__a
);
7603 __extension__
extern __inline int32x2_t
7604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7605 vmovn_s64 (int64x2_t __a
)
7607 return (int32x2_t
)__builtin_neon_vmovnv2di (__a
);
7610 __extension__
extern __inline uint8x8_t
7611 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7612 vmovn_u16 (uint16x8_t __a
)
7614 return (uint8x8_t
)__builtin_neon_vmovnv8hi ((int16x8_t
) __a
);
7617 __extension__
extern __inline uint16x4_t
7618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7619 vmovn_u32 (uint32x4_t __a
)
7621 return (uint16x4_t
)__builtin_neon_vmovnv4si ((int32x4_t
) __a
);
7624 __extension__
extern __inline uint32x2_t
7625 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7626 vmovn_u64 (uint64x2_t __a
)
7628 return (uint32x2_t
)__builtin_neon_vmovnv2di ((int64x2_t
) __a
);
7631 __extension__
extern __inline int8x8_t
7632 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7633 vqmovn_s16 (int16x8_t __a
)
7635 return (int8x8_t
)__builtin_neon_vqmovnsv8hi (__a
);
7638 __extension__
extern __inline int16x4_t
7639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7640 vqmovn_s32 (int32x4_t __a
)
7642 return (int16x4_t
)__builtin_neon_vqmovnsv4si (__a
);
7645 __extension__
extern __inline int32x2_t
7646 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7647 vqmovn_s64 (int64x2_t __a
)
7649 return (int32x2_t
)__builtin_neon_vqmovnsv2di (__a
);
7652 __extension__
extern __inline uint8x8_t
7653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7654 vqmovn_u16 (uint16x8_t __a
)
7656 return (uint8x8_t
)__builtin_neon_vqmovnuv8hi ((int16x8_t
) __a
);
7659 __extension__
extern __inline uint16x4_t
7660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7661 vqmovn_u32 (uint32x4_t __a
)
7663 return (uint16x4_t
)__builtin_neon_vqmovnuv4si ((int32x4_t
) __a
);
7666 __extension__
extern __inline uint32x2_t
7667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7668 vqmovn_u64 (uint64x2_t __a
)
7670 return (uint32x2_t
)__builtin_neon_vqmovnuv2di ((int64x2_t
) __a
);
7673 __extension__
extern __inline uint8x8_t
7674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7675 vqmovun_s16 (int16x8_t __a
)
7677 return (uint8x8_t
)__builtin_neon_vqmovunv8hi (__a
);
7680 __extension__
extern __inline uint16x4_t
7681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7682 vqmovun_s32 (int32x4_t __a
)
7684 return (uint16x4_t
)__builtin_neon_vqmovunv4si (__a
);
7687 __extension__
extern __inline uint32x2_t
7688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7689 vqmovun_s64 (int64x2_t __a
)
7691 return (uint32x2_t
)__builtin_neon_vqmovunv2di (__a
);
7694 __extension__
extern __inline int16x8_t
7695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7696 vmovl_s8 (int8x8_t __a
)
7698 return (int16x8_t
)__builtin_neon_vmovlsv8qi (__a
);
7701 __extension__
extern __inline int32x4_t
7702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7703 vmovl_s16 (int16x4_t __a
)
7705 return (int32x4_t
)__builtin_neon_vmovlsv4hi (__a
);
7708 __extension__
extern __inline int64x2_t
7709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7710 vmovl_s32 (int32x2_t __a
)
7712 return (int64x2_t
)__builtin_neon_vmovlsv2si (__a
);
7715 __extension__
extern __inline uint16x8_t
7716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7717 vmovl_u8 (uint8x8_t __a
)
7719 return (uint16x8_t
)__builtin_neon_vmovluv8qi ((int8x8_t
) __a
);
7722 __extension__
extern __inline uint32x4_t
7723 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7724 vmovl_u16 (uint16x4_t __a
)
7726 return (uint32x4_t
)__builtin_neon_vmovluv4hi ((int16x4_t
) __a
);
7729 __extension__
extern __inline uint64x2_t
7730 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7731 vmovl_u32 (uint32x2_t __a
)
7733 return (uint64x2_t
)__builtin_neon_vmovluv2si ((int32x2_t
) __a
);
7736 __extension__
extern __inline int8x8_t
7737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7738 vtbl1_s8 (int8x8_t __a
, int8x8_t __b
)
7740 return (int8x8_t
)__builtin_neon_vtbl1v8qi (__a
, __b
);
7743 __extension__
extern __inline uint8x8_t
7744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7745 vtbl1_u8 (uint8x8_t __a
, uint8x8_t __b
)
7747 return (uint8x8_t
)__builtin_neon_vtbl1v8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
7750 __extension__
extern __inline poly8x8_t
7751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7752 vtbl1_p8 (poly8x8_t __a
, uint8x8_t __b
)
7754 return (poly8x8_t
)__builtin_neon_vtbl1v8qi ((int8x8_t
) __a
, (int8x8_t
) __b
);
7757 __extension__
extern __inline int8x8_t
7758 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7759 vtbl2_s8 (int8x8x2_t __a
, int8x8_t __b
)
7761 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __au
= { __a
};
7762 return (int8x8_t
)__builtin_neon_vtbl2v8qi (__au
.__o
, __b
);
7765 __extension__
extern __inline uint8x8_t
7766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7767 vtbl2_u8 (uint8x8x2_t __a
, uint8x8_t __b
)
7769 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __au
= { __a
};
7770 return (uint8x8_t
)__builtin_neon_vtbl2v8qi (__au
.__o
, (int8x8_t
) __b
);
7773 __extension__
extern __inline poly8x8_t
7774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7775 vtbl2_p8 (poly8x8x2_t __a
, uint8x8_t __b
)
7777 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __au
= { __a
};
7778 return (poly8x8_t
)__builtin_neon_vtbl2v8qi (__au
.__o
, (int8x8_t
) __b
);
7781 __extension__
extern __inline int8x8_t
7782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7783 vtbl3_s8 (int8x8x3_t __a
, int8x8_t __b
)
7785 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __au
= { __a
};
7786 return (int8x8_t
)__builtin_neon_vtbl3v8qi (__au
.__o
, __b
);
7789 __extension__
extern __inline uint8x8_t
7790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7791 vtbl3_u8 (uint8x8x3_t __a
, uint8x8_t __b
)
7793 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __au
= { __a
};
7794 return (uint8x8_t
)__builtin_neon_vtbl3v8qi (__au
.__o
, (int8x8_t
) __b
);
7797 __extension__
extern __inline poly8x8_t
7798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7799 vtbl3_p8 (poly8x8x3_t __a
, uint8x8_t __b
)
7801 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __au
= { __a
};
7802 return (poly8x8_t
)__builtin_neon_vtbl3v8qi (__au
.__o
, (int8x8_t
) __b
);
7805 __extension__
extern __inline int8x8_t
7806 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7807 vtbl4_s8 (int8x8x4_t __a
, int8x8_t __b
)
7809 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __au
= { __a
};
7810 return (int8x8_t
)__builtin_neon_vtbl4v8qi (__au
.__o
, __b
);
7813 __extension__
extern __inline uint8x8_t
7814 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7815 vtbl4_u8 (uint8x8x4_t __a
, uint8x8_t __b
)
7817 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __au
= { __a
};
7818 return (uint8x8_t
)__builtin_neon_vtbl4v8qi (__au
.__o
, (int8x8_t
) __b
);
7821 __extension__
extern __inline poly8x8_t
7822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7823 vtbl4_p8 (poly8x8x4_t __a
, uint8x8_t __b
)
7825 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __au
= { __a
};
7826 return (poly8x8_t
)__builtin_neon_vtbl4v8qi (__au
.__o
, (int8x8_t
) __b
);
7829 __extension__
extern __inline int8x8_t
7830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7831 vtbx1_s8 (int8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
7833 return (int8x8_t
)__builtin_neon_vtbx1v8qi (__a
, __b
, __c
);
7836 __extension__
extern __inline uint8x8_t
7837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7838 vtbx1_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
7840 return (uint8x8_t
)__builtin_neon_vtbx1v8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
7843 __extension__
extern __inline poly8x8_t
7844 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7845 vtbx1_p8 (poly8x8_t __a
, poly8x8_t __b
, uint8x8_t __c
)
7847 return (poly8x8_t
)__builtin_neon_vtbx1v8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
7850 __extension__
extern __inline int8x8_t
7851 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7852 vtbx2_s8 (int8x8_t __a
, int8x8x2_t __b
, int8x8_t __c
)
7854 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
7855 return (int8x8_t
)__builtin_neon_vtbx2v8qi (__a
, __bu
.__o
, __c
);
7858 __extension__
extern __inline uint8x8_t
7859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7860 vtbx2_u8 (uint8x8_t __a
, uint8x8x2_t __b
, uint8x8_t __c
)
7862 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
7863 return (uint8x8_t
)__builtin_neon_vtbx2v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7866 __extension__
extern __inline poly8x8_t
7867 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7868 vtbx2_p8 (poly8x8_t __a
, poly8x8x2_t __b
, uint8x8_t __c
)
7870 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
7871 return (poly8x8_t
)__builtin_neon_vtbx2v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7874 __extension__
extern __inline int8x8_t
7875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7876 vtbx3_s8 (int8x8_t __a
, int8x8x3_t __b
, int8x8_t __c
)
7878 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
7879 return (int8x8_t
)__builtin_neon_vtbx3v8qi (__a
, __bu
.__o
, __c
);
7882 __extension__
extern __inline uint8x8_t
7883 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7884 vtbx3_u8 (uint8x8_t __a
, uint8x8x3_t __b
, uint8x8_t __c
)
7886 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
7887 return (uint8x8_t
)__builtin_neon_vtbx3v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7890 __extension__
extern __inline poly8x8_t
7891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7892 vtbx3_p8 (poly8x8_t __a
, poly8x8x3_t __b
, uint8x8_t __c
)
7894 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
7895 return (poly8x8_t
)__builtin_neon_vtbx3v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7898 __extension__
extern __inline int8x8_t
7899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7900 vtbx4_s8 (int8x8_t __a
, int8x8x4_t __b
, int8x8_t __c
)
7902 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
7903 return (int8x8_t
)__builtin_neon_vtbx4v8qi (__a
, __bu
.__o
, __c
);
7906 __extension__
extern __inline uint8x8_t
7907 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7908 vtbx4_u8 (uint8x8_t __a
, uint8x8x4_t __b
, uint8x8_t __c
)
7910 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
7911 return (uint8x8_t
)__builtin_neon_vtbx4v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7914 __extension__
extern __inline poly8x8_t
7915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7916 vtbx4_p8 (poly8x8_t __a
, poly8x8x4_t __b
, uint8x8_t __c
)
7918 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
7919 return (poly8x8_t
)__builtin_neon_vtbx4v8qi ((int8x8_t
) __a
, __bu
.__o
, (int8x8_t
) __c
);
7922 __extension__
extern __inline int16x4_t
7923 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7924 vmul_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
7926 return (int16x4_t
)__builtin_neon_vmul_lanev4hi (__a
, __b
, __c
);
7929 __extension__
extern __inline int32x2_t
7930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7931 vmul_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
7933 return (int32x2_t
)__builtin_neon_vmul_lanev2si (__a
, __b
, __c
);
7936 __extension__
extern __inline float32x2_t
7937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7938 vmul_lane_f32 (float32x2_t __a
, float32x2_t __b
, const int __c
)
7940 return (float32x2_t
)__builtin_neon_vmul_lanev2sf (__a
, __b
, __c
);
7943 __extension__
extern __inline uint16x4_t
7944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7945 vmul_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
7947 return (uint16x4_t
)__builtin_neon_vmul_lanev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
7950 __extension__
extern __inline uint32x2_t
7951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7952 vmul_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
7954 return (uint32x2_t
)__builtin_neon_vmul_lanev2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
7957 __extension__
extern __inline int16x8_t
7958 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7959 vmulq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __c
)
7961 return (int16x8_t
)__builtin_neon_vmul_lanev8hi (__a
, __b
, __c
);
7964 __extension__
extern __inline int32x4_t
7965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7966 vmulq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __c
)
7968 return (int32x4_t
)__builtin_neon_vmul_lanev4si (__a
, __b
, __c
);
7971 __extension__
extern __inline float32x4_t
7972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7973 vmulq_lane_f32 (float32x4_t __a
, float32x2_t __b
, const int __c
)
7975 return (float32x4_t
)__builtin_neon_vmul_lanev4sf (__a
, __b
, __c
);
7978 __extension__
extern __inline uint16x8_t
7979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7980 vmulq_lane_u16 (uint16x8_t __a
, uint16x4_t __b
, const int __c
)
7982 return (uint16x8_t
)__builtin_neon_vmul_lanev8hi ((int16x8_t
) __a
, (int16x4_t
) __b
, __c
);
7985 __extension__
extern __inline uint32x4_t
7986 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7987 vmulq_lane_u32 (uint32x4_t __a
, uint32x2_t __b
, const int __c
)
7989 return (uint32x4_t
)__builtin_neon_vmul_lanev4si ((int32x4_t
) __a
, (int32x2_t
) __b
, __c
);
7992 __extension__
extern __inline int16x4_t
7993 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
7994 vmla_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
7996 return (int16x4_t
)__builtin_neon_vmla_lanev4hi (__a
, __b
, __c
, __d
);
7999 __extension__
extern __inline int32x2_t
8000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8001 vmla_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8003 return (int32x2_t
)__builtin_neon_vmla_lanev2si (__a
, __b
, __c
, __d
);
8006 __extension__
extern __inline float32x2_t
8007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8008 vmla_lane_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
, const int __d
)
8010 return (float32x2_t
)__builtin_neon_vmla_lanev2sf (__a
, __b
, __c
, __d
);
8013 __extension__
extern __inline uint16x4_t
8014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8015 vmla_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
, const int __d
)
8017 return (uint16x4_t
)__builtin_neon_vmla_lanev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
, __d
);
8020 __extension__
extern __inline uint32x2_t
8021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8022 vmla_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
, const int __d
)
8024 return (uint32x2_t
)__builtin_neon_vmla_lanev2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
, __d
);
8027 __extension__
extern __inline int16x8_t
8028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8029 vmlaq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
8031 return (int16x8_t
)__builtin_neon_vmla_lanev8hi (__a
, __b
, __c
, __d
);
8034 __extension__
extern __inline int32x4_t
8035 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8036 vmlaq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
8038 return (int32x4_t
)__builtin_neon_vmla_lanev4si (__a
, __b
, __c
, __d
);
8041 __extension__
extern __inline float32x4_t
8042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8043 vmlaq_lane_f32 (float32x4_t __a
, float32x4_t __b
, float32x2_t __c
, const int __d
)
8045 return (float32x4_t
)__builtin_neon_vmla_lanev4sf (__a
, __b
, __c
, __d
);
8048 __extension__
extern __inline uint16x8_t
8049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8050 vmlaq_lane_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x4_t __c
, const int __d
)
8052 return (uint16x8_t
)__builtin_neon_vmla_lanev8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x4_t
) __c
, __d
);
8055 __extension__
extern __inline uint32x4_t
8056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8057 vmlaq_lane_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x2_t __c
, const int __d
)
8059 return (uint32x4_t
)__builtin_neon_vmla_lanev4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x2_t
) __c
, __d
);
8062 __extension__
extern __inline int32x4_t
8063 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8064 vmlal_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8066 return (int32x4_t
)__builtin_neon_vmlals_lanev4hi (__a
, __b
, __c
, __d
);
8069 __extension__
extern __inline int64x2_t
8070 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8071 vmlal_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8073 return (int64x2_t
)__builtin_neon_vmlals_lanev2si (__a
, __b
, __c
, __d
);
8076 __extension__
extern __inline uint32x4_t
8077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8078 vmlal_lane_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
, const int __d
)
8080 return (uint32x4_t
)__builtin_neon_vmlalu_lanev4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
, __d
);
8083 __extension__
extern __inline uint64x2_t
8084 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8085 vmlal_lane_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
, const int __d
)
8087 return (uint64x2_t
)__builtin_neon_vmlalu_lanev2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
, __d
);
8090 __extension__
extern __inline int32x4_t
8091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8092 vqdmlal_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8094 return (int32x4_t
)__builtin_neon_vqdmlal_lanev4hi (__a
, __b
, __c
, __d
);
8097 __extension__
extern __inline int64x2_t
8098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8099 vqdmlal_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8101 return (int64x2_t
)__builtin_neon_vqdmlal_lanev2si (__a
, __b
, __c
, __d
);
8104 __extension__
extern __inline int16x4_t
8105 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8106 vmls_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8108 return (int16x4_t
)__builtin_neon_vmls_lanev4hi (__a
, __b
, __c
, __d
);
8111 __extension__
extern __inline int32x2_t
8112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8113 vmls_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8115 return (int32x2_t
)__builtin_neon_vmls_lanev2si (__a
, __b
, __c
, __d
);
8118 __extension__
extern __inline float32x2_t
8119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8120 vmls_lane_f32 (float32x2_t __a
, float32x2_t __b
, float32x2_t __c
, const int __d
)
8122 return (float32x2_t
)__builtin_neon_vmls_lanev2sf (__a
, __b
, __c
, __d
);
8125 __extension__
extern __inline uint16x4_t
8126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8127 vmls_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
, const int __d
)
8129 return (uint16x4_t
)__builtin_neon_vmls_lanev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
, __d
);
8132 __extension__
extern __inline uint32x2_t
8133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8134 vmls_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
, const int __d
)
8136 return (uint32x2_t
)__builtin_neon_vmls_lanev2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
, __d
);
8139 __extension__
extern __inline int16x8_t
8140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8141 vmlsq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
8143 return (int16x8_t
)__builtin_neon_vmls_lanev8hi (__a
, __b
, __c
, __d
);
8146 __extension__
extern __inline int32x4_t
8147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8148 vmlsq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
8150 return (int32x4_t
)__builtin_neon_vmls_lanev4si (__a
, __b
, __c
, __d
);
8153 __extension__
extern __inline float32x4_t
8154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8155 vmlsq_lane_f32 (float32x4_t __a
, float32x4_t __b
, float32x2_t __c
, const int __d
)
8157 return (float32x4_t
)__builtin_neon_vmls_lanev4sf (__a
, __b
, __c
, __d
);
8160 __extension__
extern __inline uint16x8_t
8161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8162 vmlsq_lane_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x4_t __c
, const int __d
)
8164 return (uint16x8_t
)__builtin_neon_vmls_lanev8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x4_t
) __c
, __d
);
8167 __extension__
extern __inline uint32x4_t
8168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8169 vmlsq_lane_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x2_t __c
, const int __d
)
8171 return (uint32x4_t
)__builtin_neon_vmls_lanev4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x2_t
) __c
, __d
);
8174 __extension__
extern __inline int32x4_t
8175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8176 vmlsl_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8178 return (int32x4_t
)__builtin_neon_vmlsls_lanev4hi (__a
, __b
, __c
, __d
);
8181 __extension__
extern __inline int64x2_t
8182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8183 vmlsl_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8185 return (int64x2_t
)__builtin_neon_vmlsls_lanev2si (__a
, __b
, __c
, __d
);
8188 __extension__
extern __inline uint32x4_t
8189 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8190 vmlsl_lane_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16x4_t __c
, const int __d
)
8192 return (uint32x4_t
)__builtin_neon_vmlslu_lanev4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
, __d
);
8195 __extension__
extern __inline uint64x2_t
8196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8197 vmlsl_lane_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32x2_t __c
, const int __d
)
8199 return (uint64x2_t
)__builtin_neon_vmlslu_lanev2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
, __d
);
8202 __extension__
extern __inline int32x4_t
8203 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8204 vqdmlsl_lane_s16 (int32x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8206 return (int32x4_t
)__builtin_neon_vqdmlsl_lanev4hi (__a
, __b
, __c
, __d
);
8209 __extension__
extern __inline int64x2_t
8210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8211 vqdmlsl_lane_s32 (int64x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8213 return (int64x2_t
)__builtin_neon_vqdmlsl_lanev2si (__a
, __b
, __c
, __d
);
8216 __extension__
extern __inline int32x4_t
8217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8218 vmull_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8220 return (int32x4_t
)__builtin_neon_vmulls_lanev4hi (__a
, __b
, __c
);
8223 __extension__
extern __inline int64x2_t
8224 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8225 vmull_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8227 return (int64x2_t
)__builtin_neon_vmulls_lanev2si (__a
, __b
, __c
);
8230 __extension__
extern __inline uint32x4_t
8231 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8232 vmull_lane_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
8234 return (uint32x4_t
)__builtin_neon_vmullu_lanev4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
8237 __extension__
extern __inline uint64x2_t
8238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8239 vmull_lane_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
8241 return (uint64x2_t
)__builtin_neon_vmullu_lanev2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
8244 __extension__
extern __inline int32x4_t
8245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8246 vqdmull_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8248 return (int32x4_t
)__builtin_neon_vqdmull_lanev4hi (__a
, __b
, __c
);
8251 __extension__
extern __inline int64x2_t
8252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8253 vqdmull_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8255 return (int64x2_t
)__builtin_neon_vqdmull_lanev2si (__a
, __b
, __c
);
8258 __extension__
extern __inline int16x8_t
8259 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8260 vqdmulhq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __c
)
8262 return (int16x8_t
)__builtin_neon_vqdmulh_lanev8hi (__a
, __b
, __c
);
8265 __extension__
extern __inline int32x4_t
8266 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8267 vqdmulhq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __c
)
8269 return (int32x4_t
)__builtin_neon_vqdmulh_lanev4si (__a
, __b
, __c
);
8272 __extension__
extern __inline int16x4_t
8273 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8274 vqdmulh_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8276 return (int16x4_t
)__builtin_neon_vqdmulh_lanev4hi (__a
, __b
, __c
);
8279 __extension__
extern __inline int32x2_t
8280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8281 vqdmulh_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8283 return (int32x2_t
)__builtin_neon_vqdmulh_lanev2si (__a
, __b
, __c
);
8286 __extension__
extern __inline int16x8_t
8287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8288 vqrdmulhq_lane_s16 (int16x8_t __a
, int16x4_t __b
, const int __c
)
8290 return (int16x8_t
)__builtin_neon_vqrdmulh_lanev8hi (__a
, __b
, __c
);
8293 __extension__
extern __inline int32x4_t
8294 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8295 vqrdmulhq_lane_s32 (int32x4_t __a
, int32x2_t __b
, const int __c
)
8297 return (int32x4_t
)__builtin_neon_vqrdmulh_lanev4si (__a
, __b
, __c
);
8300 __extension__
extern __inline int16x4_t
8301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8302 vqrdmulh_lane_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8304 return (int16x4_t
)__builtin_neon_vqrdmulh_lanev4hi (__a
, __b
, __c
);
8307 __extension__
extern __inline int32x2_t
8308 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8309 vqrdmulh_lane_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8311 return (int32x2_t
)__builtin_neon_vqrdmulh_lanev2si (__a
, __b
, __c
);
8314 #ifdef __ARM_FEATURE_QRDMX
8315 __extension__
extern __inline int16x8_t
8316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8317 vqrdmlahq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
8319 return (int16x8_t
)__builtin_neon_vqrdmlah_lanev8hi (__a
, __b
, __c
, __d
);
8322 __extension__
extern __inline int32x4_t
8323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8324 vqrdmlahq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
8326 return (int32x4_t
)__builtin_neon_vqrdmlah_lanev4si (__a
, __b
, __c
, __d
);
8329 __extension__
extern __inline int16x4_t
8330 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8331 vqrdmlah_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8333 return (int16x4_t
)__builtin_neon_vqrdmlah_lanev4hi (__a
, __b
, __c
, __d
);
8336 __extension__
extern __inline int32x2_t
8337 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8338 vqrdmlah_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8340 return (int32x2_t
)__builtin_neon_vqrdmlah_lanev2si (__a
, __b
, __c
, __d
);
8343 __extension__
extern __inline int16x8_t
8344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8345 vqrdmlshq_lane_s16 (int16x8_t __a
, int16x8_t __b
, int16x4_t __c
, const int __d
)
8347 return (int16x8_t
)__builtin_neon_vqrdmlsh_lanev8hi (__a
, __b
, __c
, __d
);
8350 __extension__
extern __inline int32x4_t
8351 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8352 vqrdmlshq_lane_s32 (int32x4_t __a
, int32x4_t __b
, int32x2_t __c
, const int __d
)
8354 return (int32x4_t
)__builtin_neon_vqrdmlsh_lanev4si (__a
, __b
, __c
, __d
);
8357 __extension__
extern __inline int16x4_t
8358 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8359 vqrdmlsh_lane_s16 (int16x4_t __a
, int16x4_t __b
, int16x4_t __c
, const int __d
)
8361 return (int16x4_t
)__builtin_neon_vqrdmlsh_lanev4hi (__a
, __b
, __c
, __d
);
8364 __extension__
extern __inline int32x2_t
8365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8366 vqrdmlsh_lane_s32 (int32x2_t __a
, int32x2_t __b
, int32x2_t __c
, const int __d
)
8368 return (int32x2_t
)__builtin_neon_vqrdmlsh_lanev2si (__a
, __b
, __c
, __d
);
8372 __extension__
extern __inline int16x4_t
8373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8374 vmul_n_s16 (int16x4_t __a
, int16_t __b
)
8376 return (int16x4_t
)__builtin_neon_vmul_nv4hi (__a
, (__builtin_neon_hi
) __b
);
8379 __extension__
extern __inline int32x2_t
8380 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8381 vmul_n_s32 (int32x2_t __a
, int32_t __b
)
8383 return (int32x2_t
)__builtin_neon_vmul_nv2si (__a
, (__builtin_neon_si
) __b
);
8386 __extension__
extern __inline float32x2_t
8387 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8388 vmul_n_f32 (float32x2_t __a
, float32_t __b
)
8390 #ifdef __FAST_MATH__
8393 return (float32x2_t
)__builtin_neon_vmul_nv2sf (__a
, (__builtin_neon_sf
) __b
);
8397 __extension__
extern __inline uint16x4_t
8398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8399 vmul_n_u16 (uint16x4_t __a
, uint16_t __b
)
8404 __extension__
extern __inline uint32x2_t
8405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8406 vmul_n_u32 (uint32x2_t __a
, uint32_t __b
)
8411 __extension__
extern __inline int16x8_t
8412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8413 vmulq_n_s16 (int16x8_t __a
, int16_t __b
)
8415 return (int16x8_t
)__builtin_neon_vmul_nv8hi (__a
, (__builtin_neon_hi
) __b
);
8418 __extension__
extern __inline int32x4_t
8419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8420 vmulq_n_s32 (int32x4_t __a
, int32_t __b
)
8422 return (int32x4_t
)__builtin_neon_vmul_nv4si (__a
, (__builtin_neon_si
) __b
);
8425 __extension__
extern __inline float32x4_t
8426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8427 vmulq_n_f32 (float32x4_t __a
, float32_t __b
)
8429 #ifdef __FAST_MATH__
8432 return (float32x4_t
)__builtin_neon_vmul_nv4sf (__a
, (__builtin_neon_sf
) __b
);
8436 __extension__
extern __inline uint16x8_t
8437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8438 vmulq_n_u16 (uint16x8_t __a
, uint16_t __b
)
8443 __extension__
extern __inline uint32x4_t
8444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8445 vmulq_n_u32 (uint32x4_t __a
, uint32_t __b
)
8450 __extension__
extern __inline int32x4_t
8451 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8452 vmull_n_s16 (int16x4_t __a
, int16_t __b
)
8454 return (int32x4_t
)__builtin_neon_vmulls_nv4hi (__a
, (__builtin_neon_hi
) __b
);
8457 __extension__
extern __inline int64x2_t
8458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8459 vmull_n_s32 (int32x2_t __a
, int32_t __b
)
8461 return (int64x2_t
)__builtin_neon_vmulls_nv2si (__a
, (__builtin_neon_si
) __b
);
8464 __extension__
extern __inline uint32x4_t
8465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8466 vmull_n_u16 (uint16x4_t __a
, uint16_t __b
)
8468 return (uint32x4_t
)__builtin_neon_vmullu_nv4hi ((int16x4_t
) __a
, (__builtin_neon_hi
) __b
);
8471 __extension__
extern __inline uint64x2_t
8472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8473 vmull_n_u32 (uint32x2_t __a
, uint32_t __b
)
8475 return (uint64x2_t
)__builtin_neon_vmullu_nv2si ((int32x2_t
) __a
, (__builtin_neon_si
) __b
);
8478 __extension__
extern __inline int32x4_t
8479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8480 vqdmull_n_s16 (int16x4_t __a
, int16_t __b
)
8482 return (int32x4_t
)__builtin_neon_vqdmull_nv4hi (__a
, (__builtin_neon_hi
) __b
);
8485 __extension__
extern __inline int64x2_t
8486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8487 vqdmull_n_s32 (int32x2_t __a
, int32_t __b
)
8489 return (int64x2_t
)__builtin_neon_vqdmull_nv2si (__a
, (__builtin_neon_si
) __b
);
8492 __extension__
extern __inline int16x8_t
8493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8494 vqdmulhq_n_s16 (int16x8_t __a
, int16_t __b
)
8496 return (int16x8_t
)__builtin_neon_vqdmulh_nv8hi (__a
, (__builtin_neon_hi
) __b
);
8499 __extension__
extern __inline int32x4_t
8500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8501 vqdmulhq_n_s32 (int32x4_t __a
, int32_t __b
)
8503 return (int32x4_t
)__builtin_neon_vqdmulh_nv4si (__a
, (__builtin_neon_si
) __b
);
8506 __extension__
extern __inline int16x4_t
8507 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8508 vqdmulh_n_s16 (int16x4_t __a
, int16_t __b
)
8510 return (int16x4_t
)__builtin_neon_vqdmulh_nv4hi (__a
, (__builtin_neon_hi
) __b
);
8513 __extension__
extern __inline int32x2_t
8514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8515 vqdmulh_n_s32 (int32x2_t __a
, int32_t __b
)
8517 return (int32x2_t
)__builtin_neon_vqdmulh_nv2si (__a
, (__builtin_neon_si
) __b
);
8520 __extension__
extern __inline int16x8_t
8521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8522 vqrdmulhq_n_s16 (int16x8_t __a
, int16_t __b
)
8524 return (int16x8_t
)__builtin_neon_vqrdmulh_nv8hi (__a
, (__builtin_neon_hi
) __b
);
8527 __extension__
extern __inline int32x4_t
8528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8529 vqrdmulhq_n_s32 (int32x4_t __a
, int32_t __b
)
8531 return (int32x4_t
)__builtin_neon_vqrdmulh_nv4si (__a
, (__builtin_neon_si
) __b
);
8534 __extension__
extern __inline int16x4_t
8535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8536 vqrdmulh_n_s16 (int16x4_t __a
, int16_t __b
)
8538 return (int16x4_t
)__builtin_neon_vqrdmulh_nv4hi (__a
, (__builtin_neon_hi
) __b
);
8541 __extension__
extern __inline int32x2_t
8542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8543 vqrdmulh_n_s32 (int32x2_t __a
, int32_t __b
)
8545 return (int32x2_t
)__builtin_neon_vqrdmulh_nv2si (__a
, (__builtin_neon_si
) __b
);
8548 __extension__
extern __inline int16x4_t
8549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8550 vmla_n_s16 (int16x4_t __a
, int16x4_t __b
, int16_t __c
)
8552 return (int16x4_t
)__builtin_neon_vmla_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8555 __extension__
extern __inline int32x2_t
8556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8557 vmla_n_s32 (int32x2_t __a
, int32x2_t __b
, int32_t __c
)
8559 return (int32x2_t
)__builtin_neon_vmla_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8562 __extension__
extern __inline float32x2_t
8563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8564 vmla_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
8566 return (float32x2_t
)__builtin_neon_vmla_nv2sf (__a
, __b
, (__builtin_neon_sf
) __c
);
8569 __extension__
extern __inline uint16x4_t
8570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8571 vmla_n_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16_t __c
)
8573 return (uint16x4_t
)__builtin_neon_vmla_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (__builtin_neon_hi
) __c
);
8576 __extension__
extern __inline uint32x2_t
8577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8578 vmla_n_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32_t __c
)
8580 return (uint32x2_t
)__builtin_neon_vmla_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (__builtin_neon_si
) __c
);
8583 __extension__
extern __inline int16x8_t
8584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8585 vmlaq_n_s16 (int16x8_t __a
, int16x8_t __b
, int16_t __c
)
8587 return (int16x8_t
)__builtin_neon_vmla_nv8hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8590 __extension__
extern __inline int32x4_t
8591 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8592 vmlaq_n_s32 (int32x4_t __a
, int32x4_t __b
, int32_t __c
)
8594 return (int32x4_t
)__builtin_neon_vmla_nv4si (__a
, __b
, (__builtin_neon_si
) __c
);
8597 __extension__
extern __inline float32x4_t
8598 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8599 vmlaq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
8601 return (float32x4_t
)__builtin_neon_vmla_nv4sf (__a
, __b
, (__builtin_neon_sf
) __c
);
8604 __extension__
extern __inline uint16x8_t
8605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8606 vmlaq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16_t __c
)
8608 return (uint16x8_t
)__builtin_neon_vmla_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (__builtin_neon_hi
) __c
);
8611 __extension__
extern __inline uint32x4_t
8612 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8613 vmlaq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32_t __c
)
8615 return (uint32x4_t
)__builtin_neon_vmla_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (__builtin_neon_si
) __c
);
8618 __extension__
extern __inline int32x4_t
8619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8620 vmlal_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
8622 return (int32x4_t
)__builtin_neon_vmlals_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8625 __extension__
extern __inline int64x2_t
8626 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8627 vmlal_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
8629 return (int64x2_t
)__builtin_neon_vmlals_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8632 __extension__
extern __inline uint32x4_t
8633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8634 vmlal_n_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16_t __c
)
8636 return (uint32x4_t
)__builtin_neon_vmlalu_nv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (__builtin_neon_hi
) __c
);
8639 __extension__
extern __inline uint64x2_t
8640 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8641 vmlal_n_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32_t __c
)
8643 return (uint64x2_t
)__builtin_neon_vmlalu_nv2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (__builtin_neon_si
) __c
);
8646 __extension__
extern __inline int32x4_t
8647 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8648 vqdmlal_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
8650 return (int32x4_t
)__builtin_neon_vqdmlal_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8653 __extension__
extern __inline int64x2_t
8654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8655 vqdmlal_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
8657 return (int64x2_t
)__builtin_neon_vqdmlal_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8660 __extension__
extern __inline int16x4_t
8661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8662 vmls_n_s16 (int16x4_t __a
, int16x4_t __b
, int16_t __c
)
8664 return (int16x4_t
)__builtin_neon_vmls_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8667 __extension__
extern __inline int32x2_t
8668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8669 vmls_n_s32 (int32x2_t __a
, int32x2_t __b
, int32_t __c
)
8671 return (int32x2_t
)__builtin_neon_vmls_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8674 __extension__
extern __inline float32x2_t
8675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8676 vmls_n_f32 (float32x2_t __a
, float32x2_t __b
, float32_t __c
)
8678 return (float32x2_t
)__builtin_neon_vmls_nv2sf (__a
, __b
, (__builtin_neon_sf
) __c
);
8681 __extension__
extern __inline uint16x4_t
8682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8683 vmls_n_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16_t __c
)
8685 return (uint16x4_t
)__builtin_neon_vmls_nv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (__builtin_neon_hi
) __c
);
8688 __extension__
extern __inline uint32x2_t
8689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8690 vmls_n_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32_t __c
)
8692 return (uint32x2_t
)__builtin_neon_vmls_nv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (__builtin_neon_si
) __c
);
8695 __extension__
extern __inline int16x8_t
8696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8697 vmlsq_n_s16 (int16x8_t __a
, int16x8_t __b
, int16_t __c
)
8699 return (int16x8_t
)__builtin_neon_vmls_nv8hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8702 __extension__
extern __inline int32x4_t
8703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8704 vmlsq_n_s32 (int32x4_t __a
, int32x4_t __b
, int32_t __c
)
8706 return (int32x4_t
)__builtin_neon_vmls_nv4si (__a
, __b
, (__builtin_neon_si
) __c
);
8709 __extension__
extern __inline float32x4_t
8710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8711 vmlsq_n_f32 (float32x4_t __a
, float32x4_t __b
, float32_t __c
)
8713 return (float32x4_t
)__builtin_neon_vmls_nv4sf (__a
, __b
, (__builtin_neon_sf
) __c
);
8716 __extension__
extern __inline uint16x8_t
8717 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8718 vmlsq_n_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16_t __c
)
8720 return (uint16x8_t
)__builtin_neon_vmls_nv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (__builtin_neon_hi
) __c
);
8723 __extension__
extern __inline uint32x4_t
8724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8725 vmlsq_n_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32_t __c
)
8727 return (uint32x4_t
)__builtin_neon_vmls_nv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (__builtin_neon_si
) __c
);
8730 __extension__
extern __inline int32x4_t
8731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8732 vmlsl_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
8734 return (int32x4_t
)__builtin_neon_vmlsls_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8737 __extension__
extern __inline int64x2_t
8738 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8739 vmlsl_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
8741 return (int64x2_t
)__builtin_neon_vmlsls_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8744 __extension__
extern __inline uint32x4_t
8745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8746 vmlsl_n_u16 (uint32x4_t __a
, uint16x4_t __b
, uint16_t __c
)
8748 return (uint32x4_t
)__builtin_neon_vmlslu_nv4hi ((int32x4_t
) __a
, (int16x4_t
) __b
, (__builtin_neon_hi
) __c
);
8751 __extension__
extern __inline uint64x2_t
8752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8753 vmlsl_n_u32 (uint64x2_t __a
, uint32x2_t __b
, uint32_t __c
)
8755 return (uint64x2_t
)__builtin_neon_vmlslu_nv2si ((int64x2_t
) __a
, (int32x2_t
) __b
, (__builtin_neon_si
) __c
);
8758 __extension__
extern __inline int32x4_t
8759 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8760 vqdmlsl_n_s16 (int32x4_t __a
, int16x4_t __b
, int16_t __c
)
8762 return (int32x4_t
)__builtin_neon_vqdmlsl_nv4hi (__a
, __b
, (__builtin_neon_hi
) __c
);
8765 __extension__
extern __inline int64x2_t
8766 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8767 vqdmlsl_n_s32 (int64x2_t __a
, int32x2_t __b
, int32_t __c
)
8769 return (int64x2_t
)__builtin_neon_vqdmlsl_nv2si (__a
, __b
, (__builtin_neon_si
) __c
);
8772 #pragma GCC push_options
8773 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8774 __extension__
extern __inline poly64x1_t
8775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8776 vext_p64 (poly64x1_t __a
, poly64x1_t __b
, const int __c
)
8778 return (poly64x1_t
)__builtin_neon_vextdi (__a
, __b
, __c
);
8781 #pragma GCC pop_options
8782 __extension__
extern __inline int8x8_t
8783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8784 vext_s8 (int8x8_t __a
, int8x8_t __b
, const int __c
)
8786 return (int8x8_t
)__builtin_neon_vextv8qi (__a
, __b
, __c
);
8789 __extension__
extern __inline int16x4_t
8790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8791 vext_s16 (int16x4_t __a
, int16x4_t __b
, const int __c
)
8793 return (int16x4_t
)__builtin_neon_vextv4hi (__a
, __b
, __c
);
8796 __extension__
extern __inline int32x2_t
8797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8798 vext_s32 (int32x2_t __a
, int32x2_t __b
, const int __c
)
8800 return (int32x2_t
)__builtin_neon_vextv2si (__a
, __b
, __c
);
8803 __extension__
extern __inline int64x1_t
8804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8805 vext_s64 (int64x1_t __a
, int64x1_t __b
, const int __c
)
8807 return (int64x1_t
)__builtin_neon_vextdi (__a
, __b
, __c
);
8810 __extension__
extern __inline float32x2_t
8811 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8812 vext_f32 (float32x2_t __a
, float32x2_t __b
, const int __c
)
8814 return (float32x2_t
)__builtin_neon_vextv2sf (__a
, __b
, __c
);
8817 __extension__
extern __inline uint8x8_t
8818 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8819 vext_u8 (uint8x8_t __a
, uint8x8_t __b
, const int __c
)
8821 return (uint8x8_t
)__builtin_neon_vextv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
8824 __extension__
extern __inline uint16x4_t
8825 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8826 vext_u16 (uint16x4_t __a
, uint16x4_t __b
, const int __c
)
8828 return (uint16x4_t
)__builtin_neon_vextv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
8831 __extension__
extern __inline uint32x2_t
8832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8833 vext_u32 (uint32x2_t __a
, uint32x2_t __b
, const int __c
)
8835 return (uint32x2_t
)__builtin_neon_vextv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, __c
);
8838 __extension__
extern __inline uint64x1_t
8839 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8840 vext_u64 (uint64x1_t __a
, uint64x1_t __b
, const int __c
)
8842 return (uint64x1_t
)__builtin_neon_vextdi ((int64x1_t
) __a
, (int64x1_t
) __b
, __c
);
8845 __extension__
extern __inline poly8x8_t
8846 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8847 vext_p8 (poly8x8_t __a
, poly8x8_t __b
, const int __c
)
8849 return (poly8x8_t
)__builtin_neon_vextv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, __c
);
8852 __extension__
extern __inline poly16x4_t
8853 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8854 vext_p16 (poly16x4_t __a
, poly16x4_t __b
, const int __c
)
8856 return (poly16x4_t
)__builtin_neon_vextv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, __c
);
8859 #pragma GCC push_options
8860 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8861 __extension__
extern __inline poly64x2_t
8862 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8863 vextq_p64 (poly64x2_t __a
, poly64x2_t __b
, const int __c
)
8865 return (poly64x2_t
)__builtin_neon_vextv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
8868 #pragma GCC pop_options
8869 __extension__
extern __inline int8x16_t
8870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8871 vextq_s8 (int8x16_t __a
, int8x16_t __b
, const int __c
)
8873 return (int8x16_t
)__builtin_neon_vextv16qi (__a
, __b
, __c
);
8876 __extension__
extern __inline int16x8_t
8877 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8878 vextq_s16 (int16x8_t __a
, int16x8_t __b
, const int __c
)
8880 return (int16x8_t
)__builtin_neon_vextv8hi (__a
, __b
, __c
);
8883 __extension__
extern __inline int32x4_t
8884 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8885 vextq_s32 (int32x4_t __a
, int32x4_t __b
, const int __c
)
8887 return (int32x4_t
)__builtin_neon_vextv4si (__a
, __b
, __c
);
8890 __extension__
extern __inline int64x2_t
8891 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8892 vextq_s64 (int64x2_t __a
, int64x2_t __b
, const int __c
)
8894 return (int64x2_t
)__builtin_neon_vextv2di (__a
, __b
, __c
);
8897 __extension__
extern __inline float32x4_t
8898 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8899 vextq_f32 (float32x4_t __a
, float32x4_t __b
, const int __c
)
8901 return (float32x4_t
)__builtin_neon_vextv4sf (__a
, __b
, __c
);
8904 __extension__
extern __inline uint8x16_t
8905 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8906 vextq_u8 (uint8x16_t __a
, uint8x16_t __b
, const int __c
)
8908 return (uint8x16_t
)__builtin_neon_vextv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
8911 __extension__
extern __inline uint16x8_t
8912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8913 vextq_u16 (uint16x8_t __a
, uint16x8_t __b
, const int __c
)
8915 return (uint16x8_t
)__builtin_neon_vextv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
8918 __extension__
extern __inline uint32x4_t
8919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8920 vextq_u32 (uint32x4_t __a
, uint32x4_t __b
, const int __c
)
8922 return (uint32x4_t
)__builtin_neon_vextv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, __c
);
8925 __extension__
extern __inline uint64x2_t
8926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8927 vextq_u64 (uint64x2_t __a
, uint64x2_t __b
, const int __c
)
8929 return (uint64x2_t
)__builtin_neon_vextv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, __c
);
8932 __extension__
extern __inline poly8x16_t
8933 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8934 vextq_p8 (poly8x16_t __a
, poly8x16_t __b
, const int __c
)
8936 return (poly8x16_t
)__builtin_neon_vextv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, __c
);
8939 __extension__
extern __inline poly16x8_t
8940 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8941 vextq_p16 (poly16x8_t __a
, poly16x8_t __b
, const int __c
)
8943 return (poly16x8_t
)__builtin_neon_vextv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, __c
);
8946 __extension__
extern __inline int8x8_t
8947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8948 vrev64_s8 (int8x8_t __a
)
8950 return (int8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
8953 __extension__
extern __inline int16x4_t
8954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8955 vrev64_s16 (int16x4_t __a
)
8957 return (int16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
8960 __extension__
extern __inline int32x2_t
8961 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8962 vrev64_s32 (int32x2_t __a
)
8964 return (int32x2_t
) __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
8967 __extension__
extern __inline float32x2_t
8968 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8969 vrev64_f32 (float32x2_t __a
)
8971 return (float32x2_t
) __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
8974 __extension__
extern __inline uint8x8_t
8975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8976 vrev64_u8 (uint8x8_t __a
)
8978 return (uint8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
8981 __extension__
extern __inline uint16x4_t
8982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8983 vrev64_u16 (uint16x4_t __a
)
8985 return (uint16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
8988 __extension__
extern __inline uint32x2_t
8989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8990 vrev64_u32 (uint32x2_t __a
)
8992 return (uint32x2_t
) __builtin_shuffle (__a
, (uint32x2_t
) { 1, 0 });
8995 __extension__
extern __inline poly8x8_t
8996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
8997 vrev64_p8 (poly8x8_t __a
)
8999 return (poly8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 7, 6, 5, 4, 3, 2, 1, 0 });
9002 __extension__
extern __inline poly16x4_t
9003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9004 vrev64_p16 (poly16x4_t __a
)
9006 return (poly16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 3, 2, 1, 0 });
9009 __extension__
extern __inline int8x16_t
9010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9011 vrev64q_s8 (int8x16_t __a
)
9013 return (int8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
9016 __extension__
extern __inline int16x8_t
9017 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9018 vrev64q_s16 (int16x8_t __a
)
9020 return (int16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9023 __extension__
extern __inline int32x4_t
9024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9025 vrev64q_s32 (int32x4_t __a
)
9027 return (int32x4_t
) __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
9030 __extension__
extern __inline float32x4_t
9031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9032 vrev64q_f32 (float32x4_t __a
)
9034 return (float32x4_t
) __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
9037 __extension__
extern __inline uint8x16_t
9038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9039 vrev64q_u8 (uint8x16_t __a
)
9041 return (uint8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
9044 __extension__
extern __inline uint16x8_t
9045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9046 vrev64q_u16 (uint16x8_t __a
)
9048 return (uint16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9051 __extension__
extern __inline uint32x4_t
9052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9053 vrev64q_u32 (uint32x4_t __a
)
9055 return (uint32x4_t
) __builtin_shuffle (__a
, (uint32x4_t
) { 1, 0, 3, 2 });
9058 __extension__
extern __inline poly8x16_t
9059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9060 vrev64q_p8 (poly8x16_t __a
)
9062 return (poly8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
9065 __extension__
extern __inline poly16x8_t
9066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9067 vrev64q_p16 (poly16x8_t __a
)
9069 return (poly16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9072 __extension__
extern __inline int8x8_t
9073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9074 vrev32_s8 (int8x8_t __a
)
9076 return (int8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9079 __extension__
extern __inline int16x4_t
9080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9081 vrev32_s16 (int16x4_t __a
)
9083 return (int16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
9086 __extension__
extern __inline uint8x8_t
9087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9088 vrev32_u8 (uint8x8_t __a
)
9090 return (uint8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9093 __extension__
extern __inline uint16x4_t
9094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9095 vrev32_u16 (uint16x4_t __a
)
9097 return (uint16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
9100 __extension__
extern __inline poly8x8_t
9101 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9102 vrev32_p8 (poly8x8_t __a
)
9104 return (poly8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 3, 2, 1, 0, 7, 6, 5, 4 });
9107 __extension__
extern __inline poly16x4_t
9108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9109 vrev32_p16 (poly16x4_t __a
)
9111 return (poly16x4_t
) __builtin_shuffle (__a
, (uint16x4_t
) { 1, 0, 3, 2 });
9114 __extension__
extern __inline int8x16_t
9115 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9116 vrev32q_s8 (int8x16_t __a
)
9118 return (int8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9121 __extension__
extern __inline int16x8_t
9122 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9123 vrev32q_s16 (int16x8_t __a
)
9125 return (int16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9128 __extension__
extern __inline uint8x16_t
9129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9130 vrev32q_u8 (uint8x16_t __a
)
9132 return (uint8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9135 __extension__
extern __inline uint16x8_t
9136 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9137 vrev32q_u16 (uint16x8_t __a
)
9139 return (uint16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9142 __extension__
extern __inline poly8x16_t
9143 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9144 vrev32q_p8 (poly8x16_t __a
)
9146 return (poly8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9149 __extension__
extern __inline poly16x8_t
9150 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9151 vrev32q_p16 (poly16x8_t __a
)
9153 return (poly16x8_t
) __builtin_shuffle (__a
, (uint16x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9156 __extension__
extern __inline int8x8_t
9157 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9158 vrev16_s8 (int8x8_t __a
)
9160 return (int8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9163 __extension__
extern __inline uint8x8_t
9164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9165 vrev16_u8 (uint8x8_t __a
)
9167 return (uint8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9170 __extension__
extern __inline poly8x8_t
9171 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9172 vrev16_p8 (poly8x8_t __a
)
9174 return (poly8x8_t
) __builtin_shuffle (__a
, (uint8x8_t
) { 1, 0, 3, 2, 5, 4, 7, 6 });
9177 __extension__
extern __inline int8x16_t
9178 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9179 vrev16q_s8 (int8x16_t __a
)
9181 return (int8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9184 __extension__
extern __inline uint8x16_t
9185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9186 vrev16q_u8 (uint8x16_t __a
)
9188 return (uint8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9191 __extension__
extern __inline poly8x16_t
9192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9193 vrev16q_p8 (poly8x16_t __a
)
9195 return (poly8x16_t
) __builtin_shuffle (__a
, (uint8x16_t
) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9198 #pragma GCC push_options
9199 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9200 __extension__
extern __inline poly64x1_t
9201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9202 vbsl_p64 (uint64x1_t __a
, poly64x1_t __b
, poly64x1_t __c
)
9204 return (poly64x1_t
)__builtin_neon_vbsldi ((int64x1_t
) __a
, __b
, __c
);
9207 #pragma GCC pop_options
9208 __extension__
extern __inline int8x8_t
9209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9210 vbsl_s8 (uint8x8_t __a
, int8x8_t __b
, int8x8_t __c
)
9212 return (int8x8_t
)__builtin_neon_vbslv8qi ((int8x8_t
) __a
, __b
, __c
);
9215 __extension__
extern __inline int16x4_t
9216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9217 vbsl_s16 (uint16x4_t __a
, int16x4_t __b
, int16x4_t __c
)
9219 return (int16x4_t
)__builtin_neon_vbslv4hi ((int16x4_t
) __a
, __b
, __c
);
9222 __extension__
extern __inline int32x2_t
9223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9224 vbsl_s32 (uint32x2_t __a
, int32x2_t __b
, int32x2_t __c
)
9226 return (int32x2_t
)__builtin_neon_vbslv2si ((int32x2_t
) __a
, __b
, __c
);
9229 __extension__
extern __inline int64x1_t
9230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9231 vbsl_s64 (uint64x1_t __a
, int64x1_t __b
, int64x1_t __c
)
9233 return (int64x1_t
)__builtin_neon_vbsldi ((int64x1_t
) __a
, __b
, __c
);
9236 __extension__
extern __inline float32x2_t
9237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9238 vbsl_f32 (uint32x2_t __a
, float32x2_t __b
, float32x2_t __c
)
9240 return (float32x2_t
)__builtin_neon_vbslv2sf ((int32x2_t
) __a
, __b
, __c
);
9243 __extension__
extern __inline uint8x8_t
9244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9245 vbsl_u8 (uint8x8_t __a
, uint8x8_t __b
, uint8x8_t __c
)
9247 return (uint8x8_t
)__builtin_neon_vbslv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
9250 __extension__
extern __inline uint16x4_t
9251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9252 vbsl_u16 (uint16x4_t __a
, uint16x4_t __b
, uint16x4_t __c
)
9254 return (uint16x4_t
)__builtin_neon_vbslv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
9257 __extension__
extern __inline uint32x2_t
9258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9259 vbsl_u32 (uint32x2_t __a
, uint32x2_t __b
, uint32x2_t __c
)
9261 return (uint32x2_t
)__builtin_neon_vbslv2si ((int32x2_t
) __a
, (int32x2_t
) __b
, (int32x2_t
) __c
);
9264 __extension__
extern __inline uint64x1_t
9265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9266 vbsl_u64 (uint64x1_t __a
, uint64x1_t __b
, uint64x1_t __c
)
9268 return (uint64x1_t
)__builtin_neon_vbsldi ((int64x1_t
) __a
, (int64x1_t
) __b
, (int64x1_t
) __c
);
9271 __extension__
extern __inline poly8x8_t
9272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9273 vbsl_p8 (uint8x8_t __a
, poly8x8_t __b
, poly8x8_t __c
)
9275 return (poly8x8_t
)__builtin_neon_vbslv8qi ((int8x8_t
) __a
, (int8x8_t
) __b
, (int8x8_t
) __c
);
9278 __extension__
extern __inline poly16x4_t
9279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9280 vbsl_p16 (uint16x4_t __a
, poly16x4_t __b
, poly16x4_t __c
)
9282 return (poly16x4_t
)__builtin_neon_vbslv4hi ((int16x4_t
) __a
, (int16x4_t
) __b
, (int16x4_t
) __c
);
9285 #pragma GCC push_options
9286 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9287 __extension__
extern __inline poly64x2_t
9288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9289 vbslq_p64 (uint64x2_t __a
, poly64x2_t __b
, poly64x2_t __c
)
9291 return (poly64x2_t
)__builtin_neon_vbslv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, (int64x2_t
) __c
);
9294 #pragma GCC pop_options
9295 __extension__
extern __inline int8x16_t
9296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9297 vbslq_s8 (uint8x16_t __a
, int8x16_t __b
, int8x16_t __c
)
9299 return (int8x16_t
)__builtin_neon_vbslv16qi ((int8x16_t
) __a
, __b
, __c
);
9302 __extension__
extern __inline int16x8_t
9303 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9304 vbslq_s16 (uint16x8_t __a
, int16x8_t __b
, int16x8_t __c
)
9306 return (int16x8_t
)__builtin_neon_vbslv8hi ((int16x8_t
) __a
, __b
, __c
);
9309 __extension__
extern __inline int32x4_t
9310 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9311 vbslq_s32 (uint32x4_t __a
, int32x4_t __b
, int32x4_t __c
)
9313 return (int32x4_t
)__builtin_neon_vbslv4si ((int32x4_t
) __a
, __b
, __c
);
9316 __extension__
extern __inline int64x2_t
9317 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9318 vbslq_s64 (uint64x2_t __a
, int64x2_t __b
, int64x2_t __c
)
9320 return (int64x2_t
)__builtin_neon_vbslv2di ((int64x2_t
) __a
, __b
, __c
);
9323 __extension__
extern __inline float32x4_t
9324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9325 vbslq_f32 (uint32x4_t __a
, float32x4_t __b
, float32x4_t __c
)
9327 return (float32x4_t
)__builtin_neon_vbslv4sf ((int32x4_t
) __a
, __b
, __c
);
9330 __extension__
extern __inline uint8x16_t
9331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9332 vbslq_u8 (uint8x16_t __a
, uint8x16_t __b
, uint8x16_t __c
)
9334 return (uint8x16_t
)__builtin_neon_vbslv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, (int8x16_t
) __c
);
9337 __extension__
extern __inline uint16x8_t
9338 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9339 vbslq_u16 (uint16x8_t __a
, uint16x8_t __b
, uint16x8_t __c
)
9341 return (uint16x8_t
)__builtin_neon_vbslv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x8_t
) __c
);
9344 __extension__
extern __inline uint32x4_t
9345 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9346 vbslq_u32 (uint32x4_t __a
, uint32x4_t __b
, uint32x4_t __c
)
9348 return (uint32x4_t
)__builtin_neon_vbslv4si ((int32x4_t
) __a
, (int32x4_t
) __b
, (int32x4_t
) __c
);
9351 __extension__
extern __inline uint64x2_t
9352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9353 vbslq_u64 (uint64x2_t __a
, uint64x2_t __b
, uint64x2_t __c
)
9355 return (uint64x2_t
)__builtin_neon_vbslv2di ((int64x2_t
) __a
, (int64x2_t
) __b
, (int64x2_t
) __c
);
9358 __extension__
extern __inline poly8x16_t
9359 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9360 vbslq_p8 (uint8x16_t __a
, poly8x16_t __b
, poly8x16_t __c
)
9362 return (poly8x16_t
)__builtin_neon_vbslv16qi ((int8x16_t
) __a
, (int8x16_t
) __b
, (int8x16_t
) __c
);
9365 __extension__
extern __inline poly16x8_t
9366 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9367 vbslq_p16 (uint16x8_t __a
, poly16x8_t __b
, poly16x8_t __c
)
9369 return (poly16x8_t
)__builtin_neon_vbslv8hi ((int16x8_t
) __a
, (int16x8_t
) __b
, (int16x8_t
) __c
);
9372 /* For big-endian, the shuffle masks for ZIP, UZP and TRN must be changed as
9373 follows. (nelt = the number of elements within a vector.)
9375 Firstly, a value of N within a mask, becomes (N ^ (nelt - 1)), as gcc vector
9376 extension's indexing scheme is reversed *within each vector* (relative to the
9377 neon intrinsics view), but without changing which of the two vectors.
9379 Secondly, the elements within each mask are reversed, as the mask is itself a
9380 vector, and will itself be loaded in reverse order (again, relative to the
9381 neon intrinsics view, i.e. that would result from a "vld1" instruction). */
9383 __extension__
extern __inline int8x8x2_t
9384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9385 vtrn_s8 (int8x8_t __a
, int8x8_t __b
)
9388 #ifdef __ARM_BIG_ENDIAN
9389 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9390 { 9, 1, 11, 3, 13, 5, 15, 7 });
9391 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9392 { 8, 0, 10, 2, 12, 4, 14, 6 });
9394 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9395 { 0, 8, 2, 10, 4, 12, 6, 14 });
9396 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9397 { 1, 9, 3, 11, 5, 13, 7, 15 });
9402 __extension__
extern __inline int16x4x2_t
9403 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9404 vtrn_s16 (int16x4_t __a
, int16x4_t __b
)
9407 #ifdef __ARM_BIG_ENDIAN
9408 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 1, 7, 3 });
9409 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 6, 2 });
9411 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 2, 6 });
9412 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 5, 3, 7 });
9417 __extension__
extern __inline uint8x8x2_t
9418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9419 vtrn_u8 (uint8x8_t __a
, uint8x8_t __b
)
9422 #ifdef __ARM_BIG_ENDIAN
9423 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9424 { 9, 1, 11, 3, 13, 5, 15, 7 });
9425 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9426 { 8, 0, 10, 2, 12, 4, 14, 6 });
9428 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9429 { 0, 8, 2, 10, 4, 12, 6, 14 });
9430 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9431 { 1, 9, 3, 11, 5, 13, 7, 15 });
9436 __extension__
extern __inline uint16x4x2_t
9437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9438 vtrn_u16 (uint16x4_t __a
, uint16x4_t __b
)
9441 #ifdef __ARM_BIG_ENDIAN
9442 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 1, 7, 3 });
9443 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 6, 2 });
9445 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 2, 6 });
9446 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 5, 3, 7 });
9451 __extension__
extern __inline poly8x8x2_t
9452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9453 vtrn_p8 (poly8x8_t __a
, poly8x8_t __b
)
9456 #ifdef __ARM_BIG_ENDIAN
9457 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9458 { 9, 1, 11, 3, 13, 5, 15, 7 });
9459 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9460 { 8, 0, 10, 2, 12, 4, 14, 6 });
9462 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9463 { 0, 8, 2, 10, 4, 12, 6, 14 });
9464 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9465 { 1, 9, 3, 11, 5, 13, 7, 15 });
9470 __extension__
extern __inline poly16x4x2_t
9471 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9472 vtrn_p16 (poly16x4_t __a
, poly16x4_t __b
)
9475 #ifdef __ARM_BIG_ENDIAN
9476 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 1, 7, 3 });
9477 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 6, 2 });
9479 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 2, 6 });
9480 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 5, 3, 7 });
9485 __extension__
extern __inline int32x2x2_t
9486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9487 vtrn_s32 (int32x2_t __a
, int32x2_t __b
)
9490 #ifdef __ARM_BIG_ENDIAN
9491 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9492 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9494 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9495 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9500 __extension__
extern __inline float32x2x2_t
9501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9502 vtrn_f32 (float32x2_t __a
, float32x2_t __b
)
9505 #ifdef __ARM_BIG_ENDIAN
9506 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9507 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9509 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9510 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9515 __extension__
extern __inline uint32x2x2_t
9516 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9517 vtrn_u32 (uint32x2_t __a
, uint32x2_t __b
)
9520 #ifdef __ARM_BIG_ENDIAN
9521 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9522 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9524 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9525 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9530 __extension__
extern __inline int8x16x2_t
9531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9532 vtrnq_s8 (int8x16_t __a
, int8x16_t __b
)
9535 #ifdef __ARM_BIG_ENDIAN
9536 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9537 { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9538 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9539 { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9541 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9542 { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9543 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9544 { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9549 __extension__
extern __inline int16x8x2_t
9550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9551 vtrnq_s16 (int16x8_t __a
, int16x8_t __b
)
9554 #ifdef __ARM_BIG_ENDIAN
9555 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9556 { 9, 1, 11, 3, 13, 5, 15, 7 });
9557 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9558 { 8, 0, 10, 2, 12, 4, 14, 6 });
9560 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9561 { 0, 8, 2, 10, 4, 12, 6, 14 });
9562 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9563 { 1, 9, 3, 11, 5, 13, 7, 15 });
9568 __extension__
extern __inline int32x4x2_t
9569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9570 vtrnq_s32 (int32x4_t __a
, int32x4_t __b
)
9573 #ifdef __ARM_BIG_ENDIAN
9574 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 7, 3 });
9575 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 4, 0, 6, 2 });
9577 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 2, 6 });
9578 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 5, 3, 7 });
9583 __extension__
extern __inline float32x4x2_t
9584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9585 vtrnq_f32 (float32x4_t __a
, float32x4_t __b
)
9588 #ifdef __ARM_BIG_ENDIAN
9589 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 7, 3 });
9590 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 4, 0, 6, 2 });
9592 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 2, 6 });
9593 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 5, 3, 7 });
9598 __extension__
extern __inline uint8x16x2_t
9599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9600 vtrnq_u8 (uint8x16_t __a
, uint8x16_t __b
)
9603 #ifdef __ARM_BIG_ENDIAN
9604 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9605 { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9606 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9607 { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9609 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9610 { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9611 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9612 { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9617 __extension__
extern __inline uint16x8x2_t
9618 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9619 vtrnq_u16 (uint16x8_t __a
, uint16x8_t __b
)
9622 #ifdef __ARM_BIG_ENDIAN
9623 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9624 { 9, 1, 11, 3, 13, 5, 15, 7 });
9625 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9626 { 8, 0, 10, 2, 12, 4, 14, 6 });
9628 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9629 { 0, 8, 2, 10, 4, 12, 6, 14 });
9630 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9631 { 1, 9, 3, 11, 5, 13, 7, 15 });
9636 __extension__
extern __inline uint32x4x2_t
9637 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9638 vtrnq_u32 (uint32x4_t __a
, uint32x4_t __b
)
9641 #ifdef __ARM_BIG_ENDIAN
9642 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 7, 3 });
9643 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 4, 0, 6, 2 });
9645 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 2, 6 });
9646 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 5, 3, 7 });
9651 __extension__
extern __inline poly8x16x2_t
9652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9653 vtrnq_p8 (poly8x16_t __a
, poly8x16_t __b
)
9656 #ifdef __ARM_BIG_ENDIAN
9657 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9658 { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9659 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9660 { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9662 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9663 { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9664 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9665 { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9670 __extension__
extern __inline poly16x8x2_t
9671 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9672 vtrnq_p16 (poly16x8_t __a
, poly16x8_t __b
)
9675 #ifdef __ARM_BIG_ENDIAN
9676 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9677 { 9, 1, 11, 3, 13, 5, 15, 7 });
9678 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9679 { 8, 0, 10, 2, 12, 4, 14, 6 });
9681 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9682 { 0, 8, 2, 10, 4, 12, 6, 14 });
9683 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9684 { 1, 9, 3, 11, 5, 13, 7, 15 });
9689 __extension__
extern __inline int8x8x2_t
9690 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9691 vzip_s8 (int8x8_t __a
, int8x8_t __b
)
9694 #ifdef __ARM_BIG_ENDIAN
9695 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9696 { 12, 4, 13, 5, 14, 6, 15, 7 });
9697 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9698 { 8, 0, 9, 1, 10, 2, 11, 3 });
9700 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9701 { 0, 8, 1, 9, 2, 10, 3, 11 });
9702 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9703 { 4, 12, 5, 13, 6, 14, 7, 15 });
9708 __extension__
extern __inline int16x4x2_t
9709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9710 vzip_s16 (int16x4_t __a
, int16x4_t __b
)
9713 #ifdef __ARM_BIG_ENDIAN
9714 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 6, 2, 7, 3 });
9715 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 5, 1 });
9717 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 1, 5 });
9718 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 2, 6, 3, 7 });
9723 __extension__
extern __inline uint8x8x2_t
9724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9725 vzip_u8 (uint8x8_t __a
, uint8x8_t __b
)
9728 #ifdef __ARM_BIG_ENDIAN
9729 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9730 { 12, 4, 13, 5, 14, 6, 15, 7 });
9731 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9732 { 8, 0, 9, 1, 10, 2, 11, 3 });
9734 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9735 { 0, 8, 1, 9, 2, 10, 3, 11 });
9736 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9737 { 4, 12, 5, 13, 6, 14, 7, 15 });
9742 __extension__
extern __inline uint16x4x2_t
9743 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9744 vzip_u16 (uint16x4_t __a
, uint16x4_t __b
)
9747 #ifdef __ARM_BIG_ENDIAN
9748 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 6, 2, 7, 3 });
9749 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 5, 1 });
9751 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 1, 5 });
9752 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 2, 6, 3, 7 });
9757 __extension__
extern __inline poly8x8x2_t
9758 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9759 vzip_p8 (poly8x8_t __a
, poly8x8_t __b
)
9762 #ifdef __ARM_BIG_ENDIAN
9763 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9764 { 12, 4, 13, 5, 14, 6, 15, 7 });
9765 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9766 { 8, 0, 9, 1, 10, 2, 11, 3 });
9768 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9769 { 0, 8, 1, 9, 2, 10, 3, 11 });
9770 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
9771 { 4, 12, 5, 13, 6, 14, 7, 15 });
9776 __extension__
extern __inline poly16x4x2_t
9777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9778 vzip_p16 (poly16x4_t __a
, poly16x4_t __b
)
9781 #ifdef __ARM_BIG_ENDIAN
9782 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 6, 2, 7, 3 });
9783 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 0, 5, 1 });
9785 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 4, 1, 5 });
9786 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 2, 6, 3, 7 });
9791 __extension__
extern __inline int32x2x2_t
9792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9793 vzip_s32 (int32x2_t __a
, int32x2_t __b
)
9796 #ifdef __ARM_BIG_ENDIAN
9797 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9798 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9800 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9801 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9806 __extension__
extern __inline float32x2x2_t
9807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9808 vzip_f32 (float32x2_t __a
, float32x2_t __b
)
9811 #ifdef __ARM_BIG_ENDIAN
9812 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9813 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9815 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9816 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9821 __extension__
extern __inline uint32x2x2_t
9822 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9823 vzip_u32 (uint32x2_t __a
, uint32x2_t __b
)
9826 #ifdef __ARM_BIG_ENDIAN
9827 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
9828 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
9830 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
9831 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
9836 __extension__
extern __inline int8x16x2_t
9837 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9838 vzipq_s8 (int8x16_t __a
, int8x16_t __b
)
9841 #ifdef __ARM_BIG_ENDIAN
9842 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9843 { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9844 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9845 { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9847 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9848 { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9849 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9850 { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9855 __extension__
extern __inline int16x8x2_t
9856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9857 vzipq_s16 (int16x8_t __a
, int16x8_t __b
)
9860 #ifdef __ARM_BIG_ENDIAN
9861 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9862 { 10, 2, 11, 3, 8, 0, 9, 1 });
9863 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9864 { 14, 6, 15, 7, 12, 4, 13, 5 });
9866 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9867 { 0, 8, 1, 9, 2, 10, 3, 11 });
9868 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9869 { 4, 12, 5, 13, 6, 14, 7, 15 });
9874 __extension__
extern __inline int32x4x2_t
9875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9876 vzipq_s32 (int32x4_t __a
, int32x4_t __b
)
9879 #ifdef __ARM_BIG_ENDIAN
9880 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 4, 0 });
9881 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 7, 3, 6, 2 });
9883 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 1, 5 });
9884 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 6, 3, 7 });
9889 __extension__
extern __inline float32x4x2_t
9890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9891 vzipq_f32 (float32x4_t __a
, float32x4_t __b
)
9894 #ifdef __ARM_BIG_ENDIAN
9895 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 4, 0 });
9896 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 7, 3, 6, 2 });
9898 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 1, 5 });
9899 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 6, 3, 7 });
9904 __extension__
extern __inline uint8x16x2_t
9905 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9906 vzipq_u8 (uint8x16_t __a
, uint8x16_t __b
)
9909 #ifdef __ARM_BIG_ENDIAN
9910 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9911 { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9912 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9913 { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9915 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9916 { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9917 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9918 { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9923 __extension__
extern __inline uint16x8x2_t
9924 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9925 vzipq_u16 (uint16x8_t __a
, uint16x8_t __b
)
9928 #ifdef __ARM_BIG_ENDIAN
9929 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9930 { 10, 2, 11, 3, 8, 0, 9, 1 });
9931 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9932 { 14, 6, 15, 7, 12, 4, 13, 5 });
9934 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9935 { 0, 8, 1, 9, 2, 10, 3, 11 });
9936 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9937 { 4, 12, 5, 13, 6, 14, 7, 15 });
9942 __extension__
extern __inline uint32x4x2_t
9943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9944 vzipq_u32 (uint32x4_t __a
, uint32x4_t __b
)
9947 #ifdef __ARM_BIG_ENDIAN
9948 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 5, 1, 4, 0 });
9949 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 7, 3, 6, 2 });
9951 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 4, 1, 5 });
9952 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 6, 3, 7 });
9957 __extension__
extern __inline poly8x16x2_t
9958 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9959 vzipq_p8 (poly8x16_t __a
, poly8x16_t __b
)
9962 #ifdef __ARM_BIG_ENDIAN
9963 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9964 { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9965 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9966 { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9968 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9969 { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9970 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
9971 { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9976 __extension__
extern __inline poly16x8x2_t
9977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9978 vzipq_p16 (poly16x8_t __a
, poly16x8_t __b
)
9981 #ifdef __ARM_BIG_ENDIAN
9982 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9983 { 10, 2, 11, 3, 8, 0, 9, 1 });
9984 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9985 { 14, 6, 15, 7, 12, 4, 13, 5 });
9987 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9988 { 0, 8, 1, 9, 2, 10, 3, 11 });
9989 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
9990 { 4, 12, 5, 13, 6, 14, 7, 15 });
9995 __extension__
extern __inline int8x8x2_t
9996 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
9997 vuzp_s8 (int8x8_t __a
, int8x8_t __b
)
10000 #ifdef __ARM_BIG_ENDIAN
10001 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10002 { 9, 11, 13, 15, 1, 3, 5, 7 });
10003 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10004 { 8, 10, 12, 14, 0, 2, 4, 6 });
10006 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10007 { 0, 2, 4, 6, 8, 10, 12, 14 });
10008 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10009 { 1, 3, 5, 7, 9, 11, 13, 15 });
10014 __extension__
extern __inline int16x4x2_t
10015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10016 vuzp_s16 (int16x4_t __a
, int16x4_t __b
)
10019 #ifdef __ARM_BIG_ENDIAN
10020 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 7, 1, 3 });
10021 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 6, 0, 2 });
10023 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 2, 4, 6 });
10024 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 3, 5, 7 });
10029 __extension__
extern __inline int32x2x2_t
10030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10031 vuzp_s32 (int32x2_t __a
, int32x2_t __b
)
10034 #ifdef __ARM_BIG_ENDIAN
10035 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
10036 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
10038 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
10039 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
10044 __extension__
extern __inline float32x2x2_t
10045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10046 vuzp_f32 (float32x2_t __a
, float32x2_t __b
)
10048 float32x2x2_t __rv
;
10049 #ifdef __ARM_BIG_ENDIAN
10050 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
10051 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
10053 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
10054 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
10059 __extension__
extern __inline uint8x8x2_t
10060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10061 vuzp_u8 (uint8x8_t __a
, uint8x8_t __b
)
10064 #ifdef __ARM_BIG_ENDIAN
10065 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10066 { 9, 11, 13, 15, 1, 3, 5, 7 });
10067 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10068 { 8, 10, 12, 14, 0, 2, 4, 6 });
10070 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10071 { 0, 2, 4, 6, 8, 10, 12, 14 });
10072 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10073 { 1, 3, 5, 7, 9, 11, 13, 15 });
10078 __extension__
extern __inline uint16x4x2_t
10079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10080 vuzp_u16 (uint16x4_t __a
, uint16x4_t __b
)
10083 #ifdef __ARM_BIG_ENDIAN
10084 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 7, 1, 3 });
10085 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 6, 0, 2 });
10087 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 2, 4, 6 });
10088 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 3, 5, 7 });
10093 __extension__
extern __inline uint32x2x2_t
10094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10095 vuzp_u32 (uint32x2_t __a
, uint32x2_t __b
)
10098 #ifdef __ARM_BIG_ENDIAN
10099 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 3, 1 });
10100 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 2, 0 });
10102 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 0, 2 });
10103 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x2_t
) { 1, 3 });
10108 __extension__
extern __inline poly8x8x2_t
10109 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10110 vuzp_p8 (poly8x8_t __a
, poly8x8_t __b
)
10113 #ifdef __ARM_BIG_ENDIAN
10114 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10115 { 9, 11, 13, 15, 1, 3, 5, 7 });
10116 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10117 { 8, 10, 12, 14, 0, 2, 4, 6 });
10119 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10120 { 0, 2, 4, 6, 8, 10, 12, 14 });
10121 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x8_t
)
10122 { 1, 3, 5, 7, 9, 11, 13, 15 });
10127 __extension__
extern __inline poly16x4x2_t
10128 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10129 vuzp_p16 (poly16x4_t __a
, poly16x4_t __b
)
10132 #ifdef __ARM_BIG_ENDIAN
10133 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 5, 7, 1, 3 });
10134 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 4, 6, 0, 2 });
10136 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 0, 2, 4, 6 });
10137 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
) { 1, 3, 5, 7 });
10142 __extension__
extern __inline int8x16x2_t
10143 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10144 vuzpq_s8 (int8x16_t __a
, int8x16_t __b
)
10147 #ifdef __ARM_BIG_ENDIAN
10148 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10149 { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10150 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10151 { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10153 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10154 { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10155 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10156 { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10161 __extension__
extern __inline int16x8x2_t
10162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10163 vuzpq_s16 (int16x8_t __a
, int16x8_t __b
)
10166 #ifdef __ARM_BIG_ENDIAN
10167 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10168 { 5, 7, 1, 3, 13, 15, 9, 11 });
10169 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10170 { 4, 6, 0, 2, 12, 14, 8, 10 });
10172 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10173 { 0, 2, 4, 6, 8, 10, 12, 14 });
10174 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10175 { 1, 3, 5, 7, 9, 11, 13, 15 });
10180 __extension__
extern __inline int32x4x2_t
10181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10182 vuzpq_s32 (int32x4_t __a
, int32x4_t __b
)
10185 #ifdef __ARM_BIG_ENDIAN
10186 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 3, 1, 7, 5 });
10187 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 0, 6, 4 });
10189 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 2, 4, 6 });
10190 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 3, 5, 7 });
10195 __extension__
extern __inline float32x4x2_t
10196 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10197 vuzpq_f32 (float32x4_t __a
, float32x4_t __b
)
10199 float32x4x2_t __rv
;
10200 #ifdef __ARM_BIG_ENDIAN
10201 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 3, 1, 7, 5 });
10202 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 0, 6, 4 });
10204 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 2, 4, 6 });
10205 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 3, 5, 7 });
10210 __extension__
extern __inline uint8x16x2_t
10211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10212 vuzpq_u8 (uint8x16_t __a
, uint8x16_t __b
)
10215 #ifdef __ARM_BIG_ENDIAN
10216 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10217 { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10218 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10219 { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10221 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10222 { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10223 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10224 { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10229 __extension__
extern __inline uint16x8x2_t
10230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10231 vuzpq_u16 (uint16x8_t __a
, uint16x8_t __b
)
10234 #ifdef __ARM_BIG_ENDIAN
10235 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10236 { 5, 7, 1, 3, 13, 15, 9, 11 });
10237 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10238 { 4, 6, 0, 2, 12, 14, 8, 10 });
10240 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10241 { 0, 2, 4, 6, 8, 10, 12, 14 });
10242 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10243 { 1, 3, 5, 7, 9, 11, 13, 15 });
10248 __extension__
extern __inline uint32x4x2_t
10249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10250 vuzpq_u32 (uint32x4_t __a
, uint32x4_t __b
)
10253 #ifdef __ARM_BIG_ENDIAN
10254 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 3, 1, 7, 5 });
10255 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 2, 0, 6, 4 });
10257 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 0, 2, 4, 6 });
10258 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint32x4_t
) { 1, 3, 5, 7 });
10263 __extension__
extern __inline poly8x16x2_t
10264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10265 vuzpq_p8 (poly8x16_t __a
, poly8x16_t __b
)
10268 #ifdef __ARM_BIG_ENDIAN
10269 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10270 { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10271 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10272 { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10274 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10275 { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10276 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint8x16_t
)
10277 { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10282 __extension__
extern __inline poly16x8x2_t
10283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10284 vuzpq_p16 (poly16x8_t __a
, poly16x8_t __b
)
10287 #ifdef __ARM_BIG_ENDIAN
10288 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10289 { 5, 7, 1, 3, 13, 15, 9, 11 });
10290 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10291 { 4, 6, 0, 2, 12, 14, 8, 10 });
10293 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10294 { 0, 2, 4, 6, 8, 10, 12, 14 });
10295 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
10296 { 1, 3, 5, 7, 9, 11, 13, 15 });
10301 #pragma GCC push_options
10302 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10303 __extension__
extern __inline poly64x1_t
10304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10305 vld1_p64 (const poly64_t
* __a
)
10307 return (poly64x1_t
) { *__a
};
10310 __extension__
extern __inline poly64x1x2_t
10311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10312 vld1_p64_x2 (const poly64_t
* __a
)
10314 union { poly64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10315 __rv
.__o
= __builtin_neon_vld1_x2di ((const __builtin_neon_di
*) __a
);
10319 __extension__
extern __inline poly64x1x3_t
10320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10321 vld1_p64_x3 (const poly64_t
* __a
)
10323 union { poly64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10324 __rv
.__o
= __builtin_neon_vld1_x3di ((const __builtin_neon_di
*) __a
);
10328 __extension__
extern __inline poly64x1x4_t
10329 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10330 vld1_p64_x4 (const poly64_t
* __a
)
10332 union { poly64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10333 __rv
.__o
= __builtin_neon_vld1_x4di ((const __builtin_neon_di
*) __a
);
10337 #pragma GCC pop_options
10338 __extension__
extern __inline int8x8_t
10339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10340 vld1_s8 (const int8_t * __a
)
10342 return (int8x8_t
)__builtin_neon_vld1v8qi ((const __builtin_neon_qi
*) __a
);
10345 __extension__
extern __inline int16x4_t
10346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10347 vld1_s16 (const int16_t * __a
)
10349 return (int16x4_t
)__builtin_neon_vld1v4hi ((const __builtin_neon_hi
*) __a
);
10352 __extension__
extern __inline int32x2_t
10353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10354 vld1_s32 (const int32_t * __a
)
10356 return (int32x2_t
)__builtin_neon_vld1v2si ((const __builtin_neon_si
*) __a
);
10359 __extension__
extern __inline int64x1_t
10360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10361 vld1_s64 (const int64_t * __a
)
10363 return (int64x1_t
) { *__a
};
10366 __extension__
extern __inline int8x8x2_t
10367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10368 vld1_s8_x2 (const int8_t * __a
)
10370 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10371 __rv
.__o
= __builtin_neon_vld1_x2v8qi ((const __builtin_neon_qi
*) __a
);
10375 __extension__
extern __inline int16x4x2_t
10376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10377 vld1_s16_x2 (const int16_t * __a
)
10379 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10380 __rv
.__o
= __builtin_neon_vld1_x2v4hi ((const __builtin_neon_hi
*) __a
);
10384 __extension__
extern __inline int32x2x2_t
10385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10386 vld1_s32_x2 (const int32_t * __a
)
10388 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10389 __rv
.__o
= __builtin_neon_vld1_x2v2si ((const __builtin_neon_si
*) __a
);
10393 __extension__
extern __inline int64x1x2_t
10394 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10395 vld1_s64_x2 (const int64_t * __a
)
10397 union { int64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10398 __rv
.__o
= __builtin_neon_vld1_x2di ((const __builtin_neon_di
*) __a
);
10402 __extension__
extern __inline int8x8x3_t
10403 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10404 vld1_s8_x3 (const int8_t * __a
)
10406 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10407 __rv
.__o
= __builtin_neon_vld1_x3v8qi ((const __builtin_neon_qi
*) __a
);
10411 __extension__
extern __inline int16x4x3_t
10412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10413 vld1_s16_x3 (const int16_t * __a
)
10415 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10416 __rv
.__o
= __builtin_neon_vld1_x3v4hi ((const __builtin_neon_hi
*) __a
);
10420 __extension__
extern __inline int32x2x3_t
10421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10422 vld1_s32_x3 (const int32_t * __a
)
10424 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10425 __rv
.__o
= __builtin_neon_vld1_x3v2si ((const __builtin_neon_si
*) __a
);
10429 __extension__
extern __inline int64x1x3_t
10430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10431 vld1_s64_x3 (const int64_t * __a
)
10433 union { int64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10434 __rv
.__o
= __builtin_neon_vld1_x3di ((const __builtin_neon_di
*) __a
);
10438 __extension__
extern __inline int8x8x4_t
10439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10440 vld1_s8_x4 (const int8_t * __a
)
10442 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10443 __rv
.__o
= __builtin_neon_vld1_x4v8qi ((const __builtin_neon_qi
*) __a
);
10447 __extension__
extern __inline int16x4x4_t
10448 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10449 vld1_s16_x4 (const int16_t * __a
)
10451 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10452 __rv
.__o
= __builtin_neon_vld1_x4v4hi ((const __builtin_neon_hi
*) __a
);
10456 __extension__
extern __inline int32x2x4_t
10457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10458 vld1_s32_x4 (const int32_t * __a
)
10460 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10461 __rv
.__o
= __builtin_neon_vld1_x4v2si ((const __builtin_neon_si
*) __a
);
10465 __extension__
extern __inline int64x1x4_t
10466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10467 vld1_s64_x4 (const int64_t * __a
)
10469 union { int64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10470 __rv
.__o
= __builtin_neon_vld1_x4di ((const __builtin_neon_di
*) __a
);
10474 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10475 __extension__
extern __inline float16x4_t
10476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10477 vld1_f16 (const float16_t
* __a
)
10479 return __builtin_neon_vld1v4hf (__a
);
10483 __extension__
extern __inline float32x2_t
10484 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10485 vld1_f32 (const float32_t
* __a
)
10487 return (float32x2_t
)__builtin_neon_vld1v2sf ((const __builtin_neon_sf
*) __a
);
10490 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10491 __extension__
extern __inline float16x4x2_t
10492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10493 vld1_f16_x2 (const float16_t
* __a
)
10495 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10496 __rv
.__o
= __builtin_neon_vld1_x2v4hf (__a
);
10501 __extension__
extern __inline float32x2x2_t
10502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10503 vld1_f32_x2 (const float32_t
* __a
)
10505 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10506 __rv
.__o
= __builtin_neon_vld1_x2v2sf ((const __builtin_neon_sf
*) __a
);
10510 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10511 __extension__
extern __inline float16x4x3_t
10512 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10513 vld1_f16_x3 (const float16_t
* __a
)
10515 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10516 __rv
.__o
= __builtin_neon_vld1_x3v4hf (__a
);
10521 __extension__
extern __inline float32x2x3_t
10522 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10523 vld1_f32_x3 (const float32_t
* __a
)
10525 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10526 __rv
.__o
= __builtin_neon_vld1_x3v2sf ((const __builtin_neon_sf
*) __a
);
10530 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10531 __extension__
extern __inline float16x4x4_t
10532 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10533 vld1_f16_x4 (const float16_t
* __a
)
10535 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10536 __rv
.__o
= __builtin_neon_vld1_x4v4hf (__a
);
10541 __extension__
extern __inline float32x2x4_t
10542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10543 vld1_f32_x4 (const float32_t
* __a
)
10545 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10546 __rv
.__o
= __builtin_neon_vld1_x4v2sf ((const __builtin_neon_sf
*) __a
);
10550 __extension__
extern __inline uint8x8_t
10551 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10552 vld1_u8 (const uint8_t * __a
)
10554 return (uint8x8_t
)__builtin_neon_vld1v8qi ((const __builtin_neon_qi
*) __a
);
10557 __extension__
extern __inline uint16x4_t
10558 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10559 vld1_u16 (const uint16_t * __a
)
10561 return (uint16x4_t
)__builtin_neon_vld1v4hi ((const __builtin_neon_hi
*) __a
);
10564 __extension__
extern __inline uint32x2_t
10565 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10566 vld1_u32 (const uint32_t * __a
)
10568 return (uint32x2_t
)__builtin_neon_vld1v2si ((const __builtin_neon_si
*) __a
);
10571 __extension__
extern __inline uint64x1_t
10572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10573 vld1_u64 (const uint64_t * __a
)
10575 return (uint64x1_t
) { *__a
};
10578 __extension__
extern __inline uint8x8x2_t
10579 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10580 vld1_u8_x2 (const uint8_t * __a
)
10582 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10583 __rv
.__o
= __builtin_neon_vld1_x2v8qi ((const __builtin_neon_qi
*) __a
);
10587 __extension__
extern __inline uint16x4x2_t
10588 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10589 vld1_u16_x2 (const uint16_t * __a
)
10591 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10592 __rv
.__o
= __builtin_neon_vld1_x2v4hi ((const __builtin_neon_hi
*) __a
);
10596 __extension__
extern __inline uint32x2x2_t
10597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10598 vld1_u32_x2 (const uint32_t * __a
)
10600 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10601 __rv
.__o
= __builtin_neon_vld1_x2v2si ((const __builtin_neon_si
*) __a
);
10605 __extension__
extern __inline uint64x1x2_t
10606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10607 vld1_u64_x2 (const uint64_t * __a
)
10609 union { uint64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10610 __rv
.__o
= __builtin_neon_vld1_x2di ((const __builtin_neon_di
*) __a
);
10614 __extension__
extern __inline uint8x8x3_t
10615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10616 vld1_u8_x3 (const uint8_t * __a
)
10618 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10619 __rv
.__o
= __builtin_neon_vld1_x3v8qi ((const __builtin_neon_qi
*) __a
);
10623 __extension__
extern __inline uint16x4x3_t
10624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10625 vld1_u16_x3 (const uint16_t * __a
)
10627 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10628 __rv
.__o
= __builtin_neon_vld1_x3v4hi ((const __builtin_neon_hi
*) __a
);
10632 __extension__
extern __inline uint32x2x3_t
10633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10634 vld1_u32_x3 (const uint32_t * __a
)
10636 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10637 __rv
.__o
= __builtin_neon_vld1_x3v2si ((const __builtin_neon_si
*) __a
);
10641 __extension__
extern __inline uint64x1x3_t
10642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10643 vld1_u64_x3 (const uint64_t * __a
)
10645 union { uint64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10646 __rv
.__o
= __builtin_neon_vld1_x3di ((const __builtin_neon_di
*) __a
);
10650 __extension__
extern __inline uint8x8x4_t
10651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10652 vld1_u8_x4 (const uint8_t * __a
)
10654 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10655 __rv
.__o
= __builtin_neon_vld1_x4v8qi ((const __builtin_neon_qi
*) __a
);
10659 __extension__
extern __inline uint16x4x4_t
10660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10661 vld1_u16_x4 (const uint16_t * __a
)
10663 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10664 __rv
.__o
= __builtin_neon_vld1_x4v4hi ((const __builtin_neon_hi
*) __a
);
10668 __extension__
extern __inline uint32x2x4_t
10669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10670 vld1_u32_x4 (const uint32_t * __a
)
10672 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10673 __rv
.__o
= __builtin_neon_vld1_x4v2si ((const __builtin_neon_si
*) __a
);
10677 __extension__
extern __inline uint64x1x4_t
10678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10679 vld1_u64_x4 (const uint64_t * __a
)
10681 union { uint64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10682 __rv
.__o
= __builtin_neon_vld1_x4di ((const __builtin_neon_di
*) __a
);
10686 __extension__
extern __inline poly8x8_t
10687 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10688 vld1_p8 (const poly8_t
* __a
)
10690 return (poly8x8_t
)__builtin_neon_vld1v8qi ((const __builtin_neon_qi
*) __a
);
10693 __extension__
extern __inline poly16x4_t
10694 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10695 vld1_p16 (const poly16_t
* __a
)
10697 return (poly16x4_t
)__builtin_neon_vld1v4hi ((const __builtin_neon_hi
*) __a
);
10700 __extension__
extern __inline poly8x8x2_t
10701 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10702 vld1_p8_x2 (const poly8_t
* __a
)
10704 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10705 __rv
.__o
= __builtin_neon_vld1_x2v8qi ((const __builtin_neon_qi
*) __a
);
10709 __extension__
extern __inline poly16x4x2_t
10710 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10711 vld1_p16_x2 (const poly16_t
* __a
)
10713 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
10714 __rv
.__o
= __builtin_neon_vld1_x2v4hi ((const __builtin_neon_hi
*) __a
);
10718 __extension__
extern __inline poly8x8x3_t
10719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10720 vld1_p8_x3 (const poly8_t
* __a
)
10722 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10723 __rv
.__o
= __builtin_neon_vld1_x3v8qi ((const __builtin_neon_qi
*) __a
);
10727 __extension__
extern __inline poly16x4x3_t
10728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10729 vld1_p16_x3 (const poly16_t
* __a
)
10731 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
10732 __rv
.__o
= __builtin_neon_vld1_x3v4hi ((const __builtin_neon_hi
*) __a
);
10736 __extension__
extern __inline poly8x8x4_t
10737 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10738 vld1_p8_x4 (const poly8_t
* __a
)
10740 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10741 __rv
.__o
= __builtin_neon_vld1_x4v8qi ((const __builtin_neon_qi
*) __a
);
10745 __extension__
extern __inline poly16x4x4_t
10746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10747 vld1_p16_x4 (const poly16_t
* __a
)
10749 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
10750 __rv
.__o
= __builtin_neon_vld1_x4v4hi ((const __builtin_neon_hi
*) __a
);
10754 #pragma GCC push_options
10755 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10756 __extension__
extern __inline poly64x2_t
10757 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10758 vld1q_p64 (const poly64_t
* __a
)
10760 return (poly64x2_t
)__builtin_neon_vld1v2di ((const __builtin_neon_di
*) __a
);
10763 __extension__
extern __inline poly64x2x2_t
10764 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10765 vld1q_p64_x2 (const poly64_t
* __a
)
10767 union { poly64x2x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10768 __rv
.__o
= __builtin_neon_vld1q_x2v2di ((const __builtin_neon_di
*) __a
);
10772 __extension__
extern __inline poly64x2x3_t
10773 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10774 vld1q_p64_x3 (const poly64_t
* __a
)
10776 union { poly64x2x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10777 __rv
.__o
= __builtin_neon_vld1q_x3v2di ((const __builtin_neon_di
*) __a
);
10781 __extension__
extern __inline poly64x2x4_t
10782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10783 vld1q_p64_x4 (const poly64_t
* __a
)
10785 union { poly64x2x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10786 __rv
.__o
= __builtin_neon_vld1q_x4v2di ((const __builtin_neon_di
*) __a
);
10790 #pragma GCC pop_options
10791 __extension__
extern __inline int8x16_t
10792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10793 vld1q_s8 (const int8_t * __a
)
10795 return (int8x16_t
)__builtin_neon_vld1v16qi ((const __builtin_neon_qi
*) __a
);
10798 __extension__
extern __inline int16x8_t
10799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10800 vld1q_s16 (const int16_t * __a
)
10802 return (int16x8_t
)__builtin_neon_vld1v8hi ((const __builtin_neon_hi
*) __a
);
10805 __extension__
extern __inline int32x4_t
10806 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10807 vld1q_s32 (const int32_t * __a
)
10809 return (int32x4_t
)__builtin_neon_vld1v4si ((const __builtin_neon_si
*) __a
);
10812 __extension__
extern __inline int64x2_t
10813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10814 vld1q_s64 (const int64_t * __a
)
10816 return (int64x2_t
)__builtin_neon_vld1v2di ((const __builtin_neon_di
*) __a
);
10819 __extension__
extern __inline int8x16x2_t
10820 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10821 vld1q_s8_x2 (const int8_t * __a
)
10823 union { int8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10824 __rv
.__o
= __builtin_neon_vld1q_x2v16qi ((const __builtin_neon_qi
*) __a
);
10828 __extension__
extern __inline int16x8x2_t
10829 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10830 vld1q_s16_x2 (const int16_t * __a
)
10832 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10833 __rv
.__o
= __builtin_neon_vld1q_x2v8hi ((const __builtin_neon_hi
*) __a
);
10837 __extension__
extern __inline int32x4x2_t
10838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10839 vld1q_s32_x2 (const int32_t * __a
)
10841 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10842 __rv
.__o
= __builtin_neon_vld1q_x2v4si ((const __builtin_neon_si
*) __a
);
10846 __extension__
extern __inline int64x2x2_t
10847 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10848 vld1q_s64_x2 (const int64_t * __a
)
10850 union { int64x2x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10851 __rv
.__o
= __builtin_neon_vld1q_x2v2di ((const __builtin_neon_di
*) __a
);
10855 __extension__
extern __inline int8x16x3_t
10856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10857 vld1q_s8_x3 (const uint8_t * __a
)
10859 union { int8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10860 __rv
.__o
= __builtin_neon_vld1q_x3v16qi ((const __builtin_neon_qi
*) __a
);
10864 __extension__
extern __inline int16x8x3_t
10865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10866 vld1q_s16_x3 (const uint16_t * __a
)
10868 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10869 __rv
.__o
= __builtin_neon_vld1q_x3v8hi ((const __builtin_neon_hi
*) __a
);
10873 __extension__
extern __inline int32x4x3_t
10874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10875 vld1q_s32_x3 (const int32_t * __a
)
10877 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10878 __rv
.__o
= __builtin_neon_vld1q_x3v4si ((const __builtin_neon_si
*) __a
);
10882 __extension__
extern __inline int64x2x3_t
10883 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10884 vld1q_s64_x3 (const int64_t * __a
)
10886 union { int64x2x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10887 __rv
.__o
= __builtin_neon_vld1q_x3v2di ((const __builtin_neon_di
*) __a
);
10891 __extension__
extern __inline int8x16x4_t
10892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10893 vld1q_s8_x4 (const uint8_t * __a
)
10895 union { int8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10896 __rv
.__o
= __builtin_neon_vld1q_x4v16qi ((const __builtin_neon_qi
*) __a
);
10900 __extension__
extern __inline int16x8x4_t
10901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10902 vld1q_s16_x4 (const uint16_t * __a
)
10904 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10905 __rv
.__o
= __builtin_neon_vld1q_x4v8hi ((const __builtin_neon_hi
*) __a
);
10909 __extension__
extern __inline int32x4x4_t
10910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10911 vld1q_s32_x4 (const int32_t * __a
)
10913 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10914 __rv
.__o
= __builtin_neon_vld1q_x4v4si ((const __builtin_neon_si
*) __a
);
10918 __extension__
extern __inline int64x2x4_t
10919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10920 vld1q_s64_x4 (const int64_t * __a
)
10922 union { int64x2x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10923 __rv
.__o
= __builtin_neon_vld1q_x4v2di ((const __builtin_neon_di
*) __a
);
10927 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10928 __extension__
extern __inline float16x8_t
10929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10930 vld1q_f16 (const float16_t
* __a
)
10932 return __builtin_neon_vld1v8hf (__a
);
10936 __extension__
extern __inline float32x4_t
10937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10938 vld1q_f32 (const float32_t
* __a
)
10940 return (float32x4_t
)__builtin_neon_vld1v4sf ((const __builtin_neon_sf
*) __a
);
10943 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10944 __extension__
extern __inline float16x8x2_t
10945 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10946 vld1q_f16_x2 (const float16_t
* __a
)
10948 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10949 __rv
.__o
= __builtin_neon_vld1q_x2v8hf (__a
);
10954 __extension__
extern __inline float32x4x2_t
10955 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10956 vld1q_f32_x2 (const float32_t
* __a
)
10958 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
10959 __rv
.__o
= __builtin_neon_vld1q_x2v4sf ((const __builtin_neon_sf
*) __a
);
10963 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10964 __extension__
extern __inline float16x8x3_t
10965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10966 vld1q_f16_x3 (const float16_t
* __a
)
10968 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10969 __rv
.__o
= __builtin_neon_vld1q_x3v8hf (__a
);
10974 __extension__
extern __inline float32x4x3_t
10975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10976 vld1q_f32_x3 (const float32_t
* __a
)
10978 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
10979 __rv
.__o
= __builtin_neon_vld1q_x3v4sf ((const __builtin_neon_sf
*) __a
);
10983 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10984 __extension__
extern __inline float16x8x4_t
10985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10986 vld1q_f16_x4 (const float16_t
* __a
)
10988 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10989 __rv
.__o
= __builtin_neon_vld1q_x4v8hf (__a
);
10994 __extension__
extern __inline float32x4x4_t
10995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
10996 vld1q_f32_x4 (const float32_t
* __a
)
10998 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
10999 __rv
.__o
= __builtin_neon_vld1q_x4v4sf ((const __builtin_neon_sf
*) __a
);
11003 __extension__
extern __inline uint8x16_t
11004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11005 vld1q_u8 (const uint8_t * __a
)
11007 return (uint8x16_t
)__builtin_neon_vld1v16qi ((const __builtin_neon_qi
*) __a
);
11010 __extension__
extern __inline uint16x8_t
11011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11012 vld1q_u16 (const uint16_t * __a
)
11014 return (uint16x8_t
)__builtin_neon_vld1v8hi ((const __builtin_neon_hi
*) __a
);
11017 __extension__
extern __inline uint32x4_t
11018 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11019 vld1q_u32 (const uint32_t * __a
)
11021 return (uint32x4_t
)__builtin_neon_vld1v4si ((const __builtin_neon_si
*) __a
);
11024 __extension__
extern __inline uint64x2_t
11025 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11026 vld1q_u64 (const uint64_t * __a
)
11028 return (uint64x2_t
)__builtin_neon_vld1v2di ((const __builtin_neon_di
*) __a
);
11031 __extension__
extern __inline uint8x16x2_t
11032 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11033 vld1q_u8_x2 (const uint8_t * __a
)
11035 union { uint8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11036 __rv
.__o
= __builtin_neon_vld1q_x2v16qi ((const __builtin_neon_qi
*) __a
);
11040 __extension__
extern __inline uint16x8x2_t
11041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11042 vld1q_u16_x2 (const uint16_t * __a
)
11044 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11045 __rv
.__o
= __builtin_neon_vld1q_x2v8hi ((const __builtin_neon_hi
*) __a
);
11049 __extension__
extern __inline uint32x4x2_t
11050 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11051 vld1q_u32_x2 (const uint32_t * __a
)
11053 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11054 __rv
.__o
= __builtin_neon_vld1q_x2v4si ((const __builtin_neon_si
*) __a
);
11058 __extension__
extern __inline uint64x2x2_t
11059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11060 vld1q_u64_x2 (const uint64_t * __a
)
11062 union { uint64x2x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11063 __rv
.__o
= __builtin_neon_vld1q_x2v2di ((const __builtin_neon_di
*) __a
);
11067 __extension__
extern __inline uint8x16x3_t
11068 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11069 vld1q_u8_x3 (const uint8_t * __a
)
11071 union { uint8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11072 __rv
.__o
= __builtin_neon_vld1q_x3v16qi ((const __builtin_neon_qi
*) __a
);
11076 __extension__
extern __inline uint16x8x3_t
11077 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11078 vld1q_u16_x3 (const uint16_t * __a
)
11080 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11081 __rv
.__o
= __builtin_neon_vld1q_x3v8hi ((const __builtin_neon_hi
*) __a
);
11085 __extension__
extern __inline uint32x4x3_t
11086 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11087 vld1q_u32_x3 (const uint32_t * __a
)
11089 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11090 __rv
.__o
= __builtin_neon_vld1q_x3v4si ((const __builtin_neon_si
*) __a
);
11094 __extension__
extern __inline uint64x2x3_t
11095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11096 vld1q_u64_x3 (const uint64_t * __a
)
11098 union { uint64x2x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11099 __rv
.__o
= __builtin_neon_vld1q_x3v2di ((const __builtin_neon_di
*) __a
);
11103 __extension__
extern __inline uint8x16x4_t
11104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11105 vld1q_u8_x4 (const uint8_t * __a
)
11107 union { uint8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11108 __rv
.__o
= __builtin_neon_vld1q_x4v16qi ((const __builtin_neon_qi
*) __a
);
11112 __extension__
extern __inline uint16x8x4_t
11113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11114 vld1q_u16_x4 (const uint16_t * __a
)
11116 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11117 __rv
.__o
= __builtin_neon_vld1q_x4v8hi ((const __builtin_neon_hi
*) __a
);
11121 __extension__
extern __inline uint32x4x4_t
11122 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11123 vld1q_u32_x4 (const uint32_t * __a
)
11125 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11126 __rv
.__o
= __builtin_neon_vld1q_x4v4si ((const __builtin_neon_si
*) __a
);
11130 __extension__
extern __inline uint64x2x4_t
11131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11132 vld1q_u64_x4 (const uint64_t * __a
)
11134 union { uint64x2x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11135 __rv
.__o
= __builtin_neon_vld1q_x4v2di ((const __builtin_neon_di
*) __a
);
11139 __extension__
extern __inline poly8x16_t
11140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11141 vld1q_p8 (const poly8_t
* __a
)
11143 return (poly8x16_t
)__builtin_neon_vld1v16qi ((const __builtin_neon_qi
*) __a
);
11146 __extension__
extern __inline poly16x8_t
11147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11148 vld1q_p16 (const poly16_t
* __a
)
11150 return (poly16x8_t
)__builtin_neon_vld1v8hi ((const __builtin_neon_hi
*) __a
);
11153 __extension__
extern __inline poly8x16x2_t
11154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11155 vld1q_p8_x2 (const poly8_t
* __a
)
11157 union { poly8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11158 __rv
.__o
= __builtin_neon_vld1q_x2v16qi ((const __builtin_neon_qi
*) __a
);
11162 __extension__
extern __inline poly16x8x2_t
11163 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11164 vld1q_p16_x2 (const poly16_t
* __a
)
11166 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
11167 __rv
.__o
= __builtin_neon_vld1q_x2v8hi ((const __builtin_neon_hi
*) __a
);
11171 __extension__
extern __inline poly8x16x3_t
11172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11173 vld1q_p8_x3 (const poly8_t
* __a
)
11175 union { poly8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11176 __rv
.__o
= __builtin_neon_vld1q_x3v16qi ((const __builtin_neon_qi
*) __a
);
11180 __extension__
extern __inline poly16x8x3_t
11181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11182 vld1q_p16_x3 (const poly16_t
* __a
)
11184 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
11185 __rv
.__o
= __builtin_neon_vld1q_x3v8hi ((const __builtin_neon_hi
*) __a
);
11189 __extension__
extern __inline poly8x16x4_t
11190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11191 vld1q_p8_x4 (const poly8_t
* __a
)
11193 union { poly8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11194 __rv
.__o
= __builtin_neon_vld1q_x4v16qi ((const __builtin_neon_qi
*) __a
);
11198 __extension__
extern __inline poly16x8x4_t
11199 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11200 vld1q_p16_x4 (const poly16_t
* __a
)
11202 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
11203 __rv
.__o
= __builtin_neon_vld1q_x4v8hi ((const __builtin_neon_hi
*) __a
);
11207 __extension__
extern __inline int8x8_t
11208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11209 vld1_lane_s8 (const int8_t * __a
, int8x8_t __b
, const int __c
)
11211 return (int8x8_t
)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi
*) __a
, __b
, __c
);
11214 __extension__
extern __inline int16x4_t
11215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11216 vld1_lane_s16 (const int16_t * __a
, int16x4_t __b
, const int __c
)
11218 return (int16x4_t
)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi
*) __a
, __b
, __c
);
11221 __extension__
extern __inline int32x2_t
11222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11223 vld1_lane_s32 (const int32_t * __a
, int32x2_t __b
, const int __c
)
11225 return (int32x2_t
)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si
*) __a
, __b
, __c
);
11228 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11229 __extension__
extern __inline float16x4_t
11230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11231 vld1_lane_f16 (const float16_t
* __a
, float16x4_t __b
, const int __c
)
11233 return vset_lane_f16 (*__a
, __b
, __c
);
11237 __extension__
extern __inline float32x2_t
11238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11239 vld1_lane_f32 (const float32_t
* __a
, float32x2_t __b
, const int __c
)
11241 return (float32x2_t
)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf
*) __a
, __b
, __c
);
11244 __extension__
extern __inline uint8x8_t
11245 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11246 vld1_lane_u8 (const uint8_t * __a
, uint8x8_t __b
, const int __c
)
11248 return (uint8x8_t
)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi
*) __a
, (int8x8_t
) __b
, __c
);
11251 __extension__
extern __inline uint16x4_t
11252 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11253 vld1_lane_u16 (const uint16_t * __a
, uint16x4_t __b
, const int __c
)
11255 return (uint16x4_t
)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi
*) __a
, (int16x4_t
) __b
, __c
);
11258 __extension__
extern __inline uint32x2_t
11259 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11260 vld1_lane_u32 (const uint32_t * __a
, uint32x2_t __b
, const int __c
)
11262 return (uint32x2_t
)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si
*) __a
, (int32x2_t
) __b
, __c
);
11265 __extension__
extern __inline poly8x8_t
11266 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11267 vld1_lane_p8 (const poly8_t
* __a
, poly8x8_t __b
, const int __c
)
11269 return (poly8x8_t
)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi
*) __a
, (int8x8_t
) __b
, __c
);
11272 __extension__
extern __inline poly16x4_t
11273 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11274 vld1_lane_p16 (const poly16_t
* __a
, poly16x4_t __b
, const int __c
)
11276 return (poly16x4_t
)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi
*) __a
, (int16x4_t
) __b
, __c
);
11279 #pragma GCC push_options
11280 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11281 __extension__
extern __inline poly64x1_t
11282 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11283 vld1_lane_p64 (const poly64_t
* __a
, poly64x1_t __b
, const int __c
)
11285 return (poly64x1_t
)__builtin_neon_vld1_lanedi ((const __builtin_neon_di
*) __a
, __b
, __c
);
11288 #pragma GCC pop_options
11289 __extension__
extern __inline int64x1_t
11290 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11291 vld1_lane_s64 (const int64_t * __a
, int64x1_t __b
, const int __c
)
11293 return (int64x1_t
)__builtin_neon_vld1_lanedi ((const __builtin_neon_di
*) __a
, __b
, __c
);
11296 __extension__
extern __inline uint64x1_t
11297 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11298 vld1_lane_u64 (const uint64_t * __a
, uint64x1_t __b
, const int __c
)
11300 return (uint64x1_t
)__builtin_neon_vld1_lanedi ((const __builtin_neon_di
*) __a
, (int64x1_t
) __b
, __c
);
11303 __extension__
extern __inline int8x16_t
11304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11305 vld1q_lane_s8 (const int8_t * __a
, int8x16_t __b
, const int __c
)
11307 return (int8x16_t
)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi
*) __a
, __b
, __c
);
11310 __extension__
extern __inline int16x8_t
11311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11312 vld1q_lane_s16 (const int16_t * __a
, int16x8_t __b
, const int __c
)
11314 return (int16x8_t
)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi
*) __a
, __b
, __c
);
11317 __extension__
extern __inline int32x4_t
11318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11319 vld1q_lane_s32 (const int32_t * __a
, int32x4_t __b
, const int __c
)
11321 return (int32x4_t
)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si
*) __a
, __b
, __c
);
11324 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11325 __extension__
extern __inline float16x8_t
11326 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11327 vld1q_lane_f16 (const float16_t
* __a
, float16x8_t __b
, const int __c
)
11329 return vsetq_lane_f16 (*__a
, __b
, __c
);
11333 __extension__
extern __inline float32x4_t
11334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11335 vld1q_lane_f32 (const float32_t
* __a
, float32x4_t __b
, const int __c
)
11337 return (float32x4_t
)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf
*) __a
, __b
, __c
);
11340 __extension__
extern __inline uint8x16_t
11341 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11342 vld1q_lane_u8 (const uint8_t * __a
, uint8x16_t __b
, const int __c
)
11344 return (uint8x16_t
)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi
*) __a
, (int8x16_t
) __b
, __c
);
11347 __extension__
extern __inline uint16x8_t
11348 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11349 vld1q_lane_u16 (const uint16_t * __a
, uint16x8_t __b
, const int __c
)
11351 return (uint16x8_t
)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi
*) __a
, (int16x8_t
) __b
, __c
);
11354 __extension__
extern __inline uint32x4_t
11355 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11356 vld1q_lane_u32 (const uint32_t * __a
, uint32x4_t __b
, const int __c
)
11358 return (uint32x4_t
)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si
*) __a
, (int32x4_t
) __b
, __c
);
11361 __extension__
extern __inline poly8x16_t
11362 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11363 vld1q_lane_p8 (const poly8_t
* __a
, poly8x16_t __b
, const int __c
)
11365 return (poly8x16_t
)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi
*) __a
, (int8x16_t
) __b
, __c
);
11368 __extension__
extern __inline poly16x8_t
11369 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11370 vld1q_lane_p16 (const poly16_t
* __a
, poly16x8_t __b
, const int __c
)
11372 return (poly16x8_t
)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi
*) __a
, (int16x8_t
) __b
, __c
);
11375 #pragma GCC push_options
11376 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11377 __extension__
extern __inline poly64x2_t
11378 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11379 vld1q_lane_p64 (const poly64_t
* __a
, poly64x2_t __b
, const int __c
)
11381 return (poly64x2_t
)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di
*) __a
, (int64x2_t
) __b
, __c
);
11384 #pragma GCC pop_options
11385 __extension__
extern __inline int64x2_t
11386 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11387 vld1q_lane_s64 (const int64_t * __a
, int64x2_t __b
, const int __c
)
11389 return (int64x2_t
)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di
*) __a
, __b
, __c
);
11392 __extension__
extern __inline uint64x2_t
11393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11394 vld1q_lane_u64 (const uint64_t * __a
, uint64x2_t __b
, const int __c
)
11396 return (uint64x2_t
)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di
*) __a
, (int64x2_t
) __b
, __c
);
11399 __extension__
extern __inline int8x8_t
11400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11401 vld1_dup_s8 (const int8_t * __a
)
11403 return (int8x8_t
)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi
*) __a
);
11406 __extension__
extern __inline int16x4_t
11407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11408 vld1_dup_s16 (const int16_t * __a
)
11410 return (int16x4_t
)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi
*) __a
);
11413 __extension__
extern __inline int32x2_t
11414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11415 vld1_dup_s32 (const int32_t * __a
)
11417 return (int32x2_t
)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si
*) __a
);
11420 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11421 __extension__
extern __inline float16x4_t
11422 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11423 vld1_dup_f16 (const float16_t
* __a
)
11425 float16_t __f
= *__a
;
11426 return (float16x4_t
) { __f
, __f
, __f
, __f
};
11430 __extension__
extern __inline float32x2_t
11431 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11432 vld1_dup_f32 (const float32_t
* __a
)
11434 return (float32x2_t
)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf
*) __a
);
11437 __extension__
extern __inline uint8x8_t
11438 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11439 vld1_dup_u8 (const uint8_t * __a
)
11441 return (uint8x8_t
)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi
*) __a
);
11444 __extension__
extern __inline uint16x4_t
11445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11446 vld1_dup_u16 (const uint16_t * __a
)
11448 return (uint16x4_t
)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi
*) __a
);
11451 __extension__
extern __inline uint32x2_t
11452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11453 vld1_dup_u32 (const uint32_t * __a
)
11455 return (uint32x2_t
)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si
*) __a
);
11458 __extension__
extern __inline poly8x8_t
11459 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11460 vld1_dup_p8 (const poly8_t
* __a
)
11462 return (poly8x8_t
)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi
*) __a
);
11465 __extension__
extern __inline poly16x4_t
11466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11467 vld1_dup_p16 (const poly16_t
* __a
)
11469 return (poly16x4_t
)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi
*) __a
);
11472 #pragma GCC push_options
11473 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11474 __extension__
extern __inline poly64x1_t
11475 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11476 vld1_dup_p64 (const poly64_t
* __a
)
11478 return (poly64x1_t
)__builtin_neon_vld1_dupdi ((const __builtin_neon_di
*) __a
);
11481 #pragma GCC pop_options
11482 __extension__
extern __inline int64x1_t
11483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11484 vld1_dup_s64 (const int64_t * __a
)
11486 return (int64x1_t
)__builtin_neon_vld1_dupdi ((const __builtin_neon_di
*) __a
);
11489 __extension__
extern __inline uint64x1_t
11490 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11491 vld1_dup_u64 (const uint64_t * __a
)
11493 return (uint64x1_t
)__builtin_neon_vld1_dupdi ((const __builtin_neon_di
*) __a
);
11496 __extension__
extern __inline int8x16_t
11497 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11498 vld1q_dup_s8 (const int8_t * __a
)
11500 return (int8x16_t
)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi
*) __a
);
11503 __extension__
extern __inline int16x8_t
11504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11505 vld1q_dup_s16 (const int16_t * __a
)
11507 return (int16x8_t
)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi
*) __a
);
11510 __extension__
extern __inline int32x4_t
11511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11512 vld1q_dup_s32 (const int32_t * __a
)
11514 return (int32x4_t
)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si
*) __a
);
11517 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11518 __extension__
extern __inline float16x8_t
11519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11520 vld1q_dup_f16 (const float16_t
* __a
)
11522 float16_t __f
= *__a
;
11523 return (float16x8_t
) { __f
, __f
, __f
, __f
, __f
, __f
, __f
, __f
};
11527 __extension__
extern __inline float32x4_t
11528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11529 vld1q_dup_f32 (const float32_t
* __a
)
11531 return (float32x4_t
)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf
*) __a
);
11534 __extension__
extern __inline uint8x16_t
11535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11536 vld1q_dup_u8 (const uint8_t * __a
)
11538 return (uint8x16_t
)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi
*) __a
);
11541 __extension__
extern __inline uint16x8_t
11542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11543 vld1q_dup_u16 (const uint16_t * __a
)
11545 return (uint16x8_t
)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi
*) __a
);
11548 __extension__
extern __inline uint32x4_t
11549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11550 vld1q_dup_u32 (const uint32_t * __a
)
11552 return (uint32x4_t
)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si
*) __a
);
11555 __extension__
extern __inline poly8x16_t
11556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11557 vld1q_dup_p8 (const poly8_t
* __a
)
11559 return (poly8x16_t
)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi
*) __a
);
11562 __extension__
extern __inline poly16x8_t
11563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11564 vld1q_dup_p16 (const poly16_t
* __a
)
11566 return (poly16x8_t
)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi
*) __a
);
11569 #pragma GCC push_options
11570 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11571 __extension__
extern __inline poly64x2_t
11572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11573 vld1q_dup_p64 (const poly64_t
* __a
)
11575 return (poly64x2_t
)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di
*) __a
);
11578 #pragma GCC pop_options
11579 __extension__
extern __inline int64x2_t
11580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11581 vld1q_dup_s64 (const int64_t * __a
)
11583 return (int64x2_t
)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di
*) __a
);
11586 __extension__
extern __inline uint64x2_t
11587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11588 vld1q_dup_u64 (const uint64_t * __a
)
11590 return (uint64x2_t
)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di
*) __a
);
11593 #pragma GCC push_options
11594 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11595 __extension__
extern __inline
void
11596 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11597 vst1_p64 (poly64_t
* __a
, poly64x1_t __b
)
11599 __builtin_neon_vst1di ((__builtin_neon_di
*) __a
, __b
);
11602 __extension__
extern __inline
void
11603 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11604 vst1_p64_x2 (poly64_t
* __a
, poly64x1x2_t __b
)
11606 union { poly64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11607 __builtin_neon_vst1_x2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11610 __extension__
extern __inline
void
11611 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11612 vst1_p64_x3 (poly64_t
* __a
, poly64x1x3_t __b
)
11614 union { poly64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11615 __builtin_neon_vst1_x3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11618 __extension__
extern __inline
void
11619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11620 vst1_p64_x4 (poly64_t
* __a
, poly64x1x4_t __b
)
11622 union { poly64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11623 __builtin_neon_vst1_x3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11626 #pragma GCC pop_options
11627 __extension__
extern __inline
void
11628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11629 vst1_s8 (int8_t * __a
, int8x8_t __b
)
11631 __builtin_neon_vst1v8qi ((__builtin_neon_qi
*) __a
, __b
);
11634 __extension__
extern __inline
void
11635 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11636 vst1_s16 (int16_t * __a
, int16x4_t __b
)
11638 __builtin_neon_vst1v4hi ((__builtin_neon_hi
*) __a
, __b
);
11641 __extension__
extern __inline
void
11642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11643 vst1_s32 (int32_t * __a
, int32x2_t __b
)
11645 __builtin_neon_vst1v2si ((__builtin_neon_si
*) __a
, __b
);
11648 __extension__
extern __inline
void
11649 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11650 vst1_s64 (int64_t * __a
, int64x1_t __b
)
11652 __builtin_neon_vst1di ((__builtin_neon_di
*) __a
, __b
);
11655 __extension__
extern __inline
void
11656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11657 vst1_s8_x2 (int8_t * __a
, int8x8x2_t __b
)
11659 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11660 __builtin_neon_vst1_x2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11663 __extension__
extern __inline
void
11664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11665 vst1_s16_x2 (int16_t * __a
, int16x4x2_t __b
)
11667 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11668 __builtin_neon_vst1_x2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11671 __extension__
extern __inline
void
11672 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11673 vst1_s32_x2 (int32_t * __a
, int32x2x2_t __b
)
11675 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11676 __builtin_neon_vst1_x2v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11679 __extension__
extern __inline
void
11680 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11681 vst1_s64_x2 (int64_t * __a
, int64x1x2_t __b
)
11683 union { int64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11684 __builtin_neon_vst1_x2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11687 __extension__
extern __inline
void
11688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11689 vst1q_s8_x2 (int8_t * __a
, int8x16x2_t __b
)
11691 union { int8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11692 __builtin_neon_vst1q_x2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11695 __extension__
extern __inline
void
11696 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11697 vst1q_s16_x2 (int16_t * __a
, int16x8x2_t __b
)
11699 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11700 __builtin_neon_vst1q_x2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11703 __extension__
extern __inline
void
11704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11705 vst1q_s32_x2 (int32_t * __a
, int32x4x2_t __b
)
11707 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11708 __builtin_neon_vst1q_x2v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11711 __extension__
extern __inline
void
11712 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11713 vst1q_s64_x2 (int64_t * __a
, int64x2x2_t __b
)
11715 union { int64x2x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11716 __builtin_neon_vst1q_x2v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11719 __extension__
extern __inline
void
11720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11721 vst1q_s8_x3 (int8_t * __a
, int8x16x3_t __b
)
11723 union { int8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
11724 __builtin_neon_vst1q_x3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11727 __extension__
extern __inline
void
11728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11729 vst1q_s16_x3 (int16_t * __a
, int16x8x3_t __b
)
11731 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
11732 __builtin_neon_vst1q_x3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11735 __extension__
extern __inline
void
11736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11737 vst1q_s32_x3 (int32_t * __a
, int32x4x3_t __b
)
11739 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
11740 __builtin_neon_vst1q_x3v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11743 __extension__
extern __inline
void
11744 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11745 vst1q_s64_x3 (int64_t * __a
, int64x2x3_t __b
)
11747 union { int64x2x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
11748 __builtin_neon_vst1q_x3v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11751 __extension__
extern __inline
void
11752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11753 vst1q_s8_x4 (int8_t * __a
, int8x16x4_t __b
)
11755 union { int8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
11756 __builtin_neon_vst1q_x4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11759 __extension__
extern __inline
void
11760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11761 vst1q_s16_x4 (int16_t * __a
, int16x8x4_t __b
)
11763 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
11764 __builtin_neon_vst1q_x4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11767 __extension__
extern __inline
void
11768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11769 vst1q_s32_x4 (int32_t * __a
, int32x4x4_t __b
)
11771 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
11772 __builtin_neon_vst1q_x4v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11775 __extension__
extern __inline
void
11776 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11777 vst1q_s64_x4 (int64_t * __a
, int64x2x4_t __b
)
11779 union { int64x2x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
11780 __builtin_neon_vst1q_x4v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11783 __extension__
extern __inline
void
11784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11785 vst1_s8_x3 (int8_t * __a
, int8x8x3_t __b
)
11787 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11788 __builtin_neon_vst1_x3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11791 __extension__
extern __inline
void
11792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11793 vst1_s16_x3 (int16_t * __a
, int16x4x3_t __b
)
11795 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11796 __builtin_neon_vst1_x3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11799 __extension__
extern __inline
void
11800 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11801 vst1_s32_x3 (int32_t * __a
, int32x2x3_t __b
)
11803 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11804 __builtin_neon_vst1_x3v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11807 __extension__
extern __inline
void
11808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11809 vst1_s64_x3 (int64_t * __a
, int64x1x3_t __b
)
11811 union { int64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11812 __builtin_neon_vst1_x3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11815 __extension__
extern __inline
void
11816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11817 vst1_s8_x4 (int8_t * __a
, int8x8x4_t __b
)
11819 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11820 __builtin_neon_vst1_x4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11823 __extension__
extern __inline
void
11824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11825 vst1_s16_x4 (int16_t * __a
, int16x4x4_t __b
)
11827 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11828 __builtin_neon_vst1_x4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11831 __extension__
extern __inline
void
11832 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11833 vst1_s32_x4 (int32_t * __a
, int32x2x4_t __b
)
11835 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11836 __builtin_neon_vst1_x4v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11839 __extension__
extern __inline
void
11840 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11841 vst1_s64_x4 (int64_t * __a
, int64x1x4_t __b
)
11843 union { int64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11844 __builtin_neon_vst1_x4di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11847 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11848 __extension__
extern __inline
void
11849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11850 vst1_f16 (float16_t
* __a
, float16x4_t __b
)
11852 __builtin_neon_vst1v4hf (__a
, __b
);
11856 __extension__
extern __inline
void
11857 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11858 vst1_f32 (float32_t
* __a
, float32x2_t __b
)
11860 __builtin_neon_vst1v2sf ((__builtin_neon_sf
*) __a
, __b
);
11863 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11864 __extension__
extern __inline
void
11865 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11866 vst1_f16_x2 (float16_t
* __a
, float16x4x2_t __b
)
11868 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11869 __builtin_neon_vst1_x2v4hf (__a
, __bu
.__o
);
11873 __extension__
extern __inline
void
11874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11875 vst1_f32_x2 (float32_t
* __a
, float32x2x2_t __b
)
11877 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11878 __builtin_neon_vst1_x2v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
11881 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11882 __extension__
extern __inline
void
11883 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11884 vst1_f16_x3 (float16_t
* __a
, float16x4x3_t __b
)
11886 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11887 __builtin_neon_vst1_x3v4hf (__a
, __bu
.__o
);
11891 __extension__
extern __inline
void
11892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11893 vst1_f32_x3 (float32_t
* __a
, float32x2x3_t __b
)
11895 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11896 __builtin_neon_vst1_x3v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
11899 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11900 __extension__
extern __inline
void
11901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11902 vst1_f16_x4 (float16_t
* __a
, float16x4x4_t __b
)
11904 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11905 __builtin_neon_vst1_x4v4hf (__a
, __bu
.__o
);
11909 __extension__
extern __inline
void
11910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11911 vst1_f32_x4 (float32_t
* __a
, float32x2x4_t __b
)
11913 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
11914 __builtin_neon_vst1_x4v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
11917 __extension__
extern __inline
void
11918 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11919 vst1_u8 (uint8_t * __a
, uint8x8_t __b
)
11921 __builtin_neon_vst1v8qi ((__builtin_neon_qi
*) __a
, (int8x8_t
) __b
);
11924 __extension__
extern __inline
void
11925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11926 vst1_u16 (uint16_t * __a
, uint16x4_t __b
)
11928 __builtin_neon_vst1v4hi ((__builtin_neon_hi
*) __a
, (int16x4_t
) __b
);
11931 __extension__
extern __inline
void
11932 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11933 vst1_u32 (uint32_t * __a
, uint32x2_t __b
)
11935 __builtin_neon_vst1v2si ((__builtin_neon_si
*) __a
, (int32x2_t
) __b
);
11938 __extension__
extern __inline
void
11939 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11940 vst1_u64 (uint64_t * __a
, uint64x1_t __b
)
11942 __builtin_neon_vst1di ((__builtin_neon_di
*) __a
, (int64x1_t
) __b
);
11945 __extension__
extern __inline
void
11946 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11947 vst1_u8_x2 (uint8_t * __a
, uint8x8x2_t __b
)
11949 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11950 __builtin_neon_vst1_x2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11953 __extension__
extern __inline
void
11954 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11955 vst1_u16_x2 (uint16_t * __a
, uint16x4x2_t __b
)
11957 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11958 __builtin_neon_vst1_x2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11961 __extension__
extern __inline
void
11962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11963 vst1_u32_x2 (uint32_t * __a
, uint32x2x2_t __b
)
11965 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11966 __builtin_neon_vst1_x2v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
11969 __extension__
extern __inline
void
11970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11971 vst1_u64_x2 (uint64_t * __a
, uint64x1x2_t __b
)
11973 union { uint64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
11974 __builtin_neon_vst1_x2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
11977 __extension__
extern __inline
void
11978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11979 vst1_u8_x3 (uint8_t * __a
, uint8x8x3_t __b
)
11981 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11982 __builtin_neon_vst1_x3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
11985 __extension__
extern __inline
void
11986 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11987 vst1_u16_x3 (uint16_t * __a
, uint16x4x3_t __b
)
11989 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11990 __builtin_neon_vst1_x3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
11993 __extension__
extern __inline
void
11994 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
11995 vst1_u32_x3 (uint32_t * __a
, uint32x2x3_t __b
)
11997 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
11998 __builtin_neon_vst1_x3v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
12001 __extension__
extern __inline
void
12002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12003 vst1_u64_x3 (uint64_t * __a
, uint64x1x3_t __b
)
12005 union { uint64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
12006 __builtin_neon_vst1_x3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12009 __extension__
extern __inline
void
12010 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12011 vst1_u8_x4 (uint8_t * __a
, uint8x8x4_t __b
)
12013 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12014 __builtin_neon_vst1_x4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12017 __extension__
extern __inline
void
12018 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12019 vst1_u16_x4 (uint16_t * __a
, uint16x4x4_t __b
)
12021 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12022 __builtin_neon_vst1_x4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12025 __extension__
extern __inline
void
12026 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12027 vst1_u32_x4 (uint32_t * __a
, uint32x2x4_t __b
)
12029 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12030 __builtin_neon_vst1_x4v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
12033 __extension__
extern __inline
void
12034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12035 vst1_u64_x4 (uint64_t * __a
, uint64x1x4_t __b
)
12037 union { uint64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12038 __builtin_neon_vst1_x4di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12041 __extension__
extern __inline
void
12042 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12043 vst1_p8 (poly8_t
* __a
, poly8x8_t __b
)
12045 __builtin_neon_vst1v8qi ((__builtin_neon_qi
*) __a
, (int8x8_t
) __b
);
12048 __extension__
extern __inline
void
12049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12050 vst1_p16 (poly16_t
* __a
, poly16x4_t __b
)
12052 __builtin_neon_vst1v4hi ((__builtin_neon_hi
*) __a
, (int16x4_t
) __b
);
12055 __extension__
extern __inline
void
12056 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12057 vst1_p8_x2 (poly8_t
* __a
, poly8x8x2_t __b
)
12059 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12060 __builtin_neon_vst1_x2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12063 __extension__
extern __inline
void
12064 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12065 vst1_p16_x2 (poly16_t
* __a
, poly16x4x2_t __b
)
12067 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12068 __builtin_neon_vst1_x2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12071 __extension__
extern __inline
void
12072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12073 vst1_p8_x3 (poly8_t
* __a
, poly8x8x3_t __b
)
12075 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
12076 __builtin_neon_vst1_x3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12079 __extension__
extern __inline
void
12080 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12081 vst1_p16_x3 (poly16_t
* __a
, poly16x4x3_t __b
)
12083 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
12084 __builtin_neon_vst1_x3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12087 __extension__
extern __inline
void
12088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12089 vst1_p8_x4 (poly8_t
* __a
, poly8x8x4_t __b
)
12091 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12092 __builtin_neon_vst1_x4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12095 __extension__
extern __inline
void
12096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12097 vst1_p16_x4 (poly16_t
* __a
, poly16x4x4_t __b
)
12099 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12100 __builtin_neon_vst1_x4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12103 #pragma GCC push_options
12104 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12105 __extension__
extern __inline
void
12106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12107 vst1q_p64 (poly64_t
* __a
, poly64x2_t __b
)
12109 __builtin_neon_vst1v2di ((__builtin_neon_di
*) __a
, (int64x2_t
) __b
);
12112 __extension__
extern __inline
void
12113 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12114 vst1q_p64_x2 (poly64_t
* __a
, poly64x2x2_t __b
)
12116 union { poly64x2x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12117 __builtin_neon_vst1q_x2v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12120 __extension__
extern __inline
void
12121 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12122 vst1q_p64_x3 (poly64_t
* __a
, poly64x2x3_t __b
)
12124 union { poly64x2x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12125 __builtin_neon_vst1q_x3v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12128 __extension__
extern __inline
void
12129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12130 vst1q_p64_x4 (poly64_t
* __a
, poly64x2x4_t __b
)
12132 union { poly64x2x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12133 __builtin_neon_vst1q_x4v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12136 #pragma GCC pop_options
12137 __extension__
extern __inline
void
12138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12139 vst1q_s8 (int8_t * __a
, int8x16_t __b
)
12141 __builtin_neon_vst1v16qi ((__builtin_neon_qi
*) __a
, __b
);
12144 __extension__
extern __inline
void
12145 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12146 vst1q_s16 (int16_t * __a
, int16x8_t __b
)
12148 __builtin_neon_vst1v8hi ((__builtin_neon_hi
*) __a
, __b
);
12151 __extension__
extern __inline
void
12152 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12153 vst1q_s32 (int32_t * __a
, int32x4_t __b
)
12155 __builtin_neon_vst1v4si ((__builtin_neon_si
*) __a
, __b
);
12158 __extension__
extern __inline
void
12159 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12160 vst1q_s64 (int64_t * __a
, int64x2_t __b
)
12162 __builtin_neon_vst1v2di ((__builtin_neon_di
*) __a
, __b
);
12165 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12166 __extension__
extern __inline
void
12167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12168 vst1q_f16 (float16_t
* __a
, float16x8_t __b
)
12170 __builtin_neon_vst1v8hf (__a
, __b
);
12174 __extension__
extern __inline
void
12175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12176 vst1q_f32 (float32_t
* __a
, float32x4_t __b
)
12178 __builtin_neon_vst1v4sf ((__builtin_neon_sf
*) __a
, __b
);
12181 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12182 __extension__
extern __inline
void
12183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12184 vst1q_f16_x2 (float16_t
* __a
, float16x8x2_t __b
)
12186 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12187 __builtin_neon_vst1q_x2v8hf (__a
, __bu
.__o
);
12191 __extension__
extern __inline
void
12192 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12193 vst1q_f32_x2 (float32_t
* __a
, float32x4x2_t __b
)
12195 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12196 __builtin_neon_vst1q_x2v4sf (__a
, __bu
.__o
);
12199 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12200 __extension__
extern __inline
void
12201 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12202 vst1q_f16_x3 (float16_t
* __a
, float16x8x3_t __b
)
12204 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12205 __builtin_neon_vst1q_x3v8hf (__a
, __bu
.__o
);
12209 __extension__
extern __inline
void
12210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12211 vst1q_f32_x3 (float32_t
* __a
, float32x4x3_t __b
)
12213 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12214 __builtin_neon_vst1q_x3v4sf (__a
, __bu
.__o
);
12217 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12218 __extension__
extern __inline
void
12219 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12220 vst1q_f16_x4 (float16_t
* __a
, float16x8x4_t __b
)
12222 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12223 __builtin_neon_vst1q_x4v8hf (__a
, __bu
.__o
);
12227 __extension__
extern __inline
void
12228 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12229 vst1q_f32_x4 (float32_t
* __a
, float32x4x4_t __b
)
12231 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12232 __builtin_neon_vst1q_x4v4sf (__a
, __bu
.__o
);
12235 __extension__
extern __inline
void
12236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12237 vst1q_u8 (uint8_t * __a
, uint8x16_t __b
)
12239 __builtin_neon_vst1v16qi ((__builtin_neon_qi
*) __a
, (int8x16_t
) __b
);
12242 __extension__
extern __inline
void
12243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12244 vst1q_u16 (uint16_t * __a
, uint16x8_t __b
)
12246 __builtin_neon_vst1v8hi ((__builtin_neon_hi
*) __a
, (int16x8_t
) __b
);
12249 __extension__
extern __inline
void
12250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12251 vst1q_u32 (uint32_t * __a
, uint32x4_t __b
)
12253 __builtin_neon_vst1v4si ((__builtin_neon_si
*) __a
, (int32x4_t
) __b
);
12256 __extension__
extern __inline
void
12257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12258 vst1q_u64 (uint64_t * __a
, uint64x2_t __b
)
12260 __builtin_neon_vst1v2di ((__builtin_neon_di
*) __a
, (int64x2_t
) __b
);
12263 __extension__
extern __inline
void
12264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12265 vst1q_u8_x2 (uint8_t * __a
, uint8x16x2_t __b
)
12267 union { uint8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12268 __builtin_neon_vst1q_x2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12271 __extension__
extern __inline
void
12272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12273 vst1q_u16_x2 (uint16_t * __a
, uint16x8x2_t __b
)
12275 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12276 __builtin_neon_vst1q_x2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12279 __extension__
extern __inline
void
12280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12281 vst1q_u32_x2 (uint32_t * __a
, uint32x4x2_t __b
)
12283 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12284 __builtin_neon_vst1q_x2v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
12287 __extension__
extern __inline
void
12288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12289 vst1q_u64_x2 (uint64_t * __a
, uint64x2x2_t __b
)
12291 union { uint64x2x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12292 __builtin_neon_vst1q_x2v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12295 __extension__
extern __inline
void
12296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12297 vst1q_u8_x3 (uint8_t * __a
, uint8x16x3_t __b
)
12299 union { uint8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12300 __builtin_neon_vst1q_x3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12303 __extension__
extern __inline
void
12304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12305 vst1q_u16_x3 (uint16_t * __a
, uint16x8x3_t __b
)
12307 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12308 __builtin_neon_vst1q_x3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12311 __extension__
extern __inline
void
12312 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12313 vst1q_u32_x3 (uint32_t * __a
, uint32x4x3_t __b
)
12315 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12316 __builtin_neon_vst1q_x3v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
12319 __extension__
extern __inline
void
12320 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12321 vst1q_u64_x3 (uint64_t * __a
, uint64x2x3_t __b
)
12323 union { uint64x2x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12324 __builtin_neon_vst1q_x3v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12327 __extension__
extern __inline
void
12328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12329 vst1q_u8_x4 (uint8_t * __a
, uint8x16x4_t __b
)
12331 union { uint8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12332 __builtin_neon_vst1q_x4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12335 __extension__
extern __inline
void
12336 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12337 vst1q_u16_x4 (uint16_t * __a
, uint16x8x4_t __b
)
12339 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12340 __builtin_neon_vst1q_x4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12343 __extension__
extern __inline
void
12344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12345 vst1q_u32_x4 (uint32_t * __a
, uint32x4x4_t __b
)
12347 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12348 __builtin_neon_vst1q_x4v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
12351 __extension__
extern __inline
void
12352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12353 vst1q_u64_x4 (uint64_t * __a
, uint64x2x4_t __b
)
12355 union { uint64x2x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12356 __builtin_neon_vst1q_x4v2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
12359 __extension__
extern __inline
void
12360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12361 vst1q_p8 (poly8_t
* __a
, poly8x16_t __b
)
12363 __builtin_neon_vst1v16qi ((__builtin_neon_qi
*) __a
, (int8x16_t
) __b
);
12366 __extension__
extern __inline
void
12367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12368 vst1q_p16 (poly16_t
* __a
, poly16x8_t __b
)
12370 __builtin_neon_vst1v8hi ((__builtin_neon_hi
*) __a
, (int16x8_t
) __b
);
12373 __extension__
extern __inline
void
12374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12375 vst1q_p8_x2 (poly8_t
* __a
, poly8x16x2_t __b
)
12377 union { poly8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12378 __builtin_neon_vst1q_x2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12381 __extension__
extern __inline
void
12382 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12383 vst1q_p16_x2 (poly16_t
* __a
, poly16x8x2_t __b
)
12385 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12386 __builtin_neon_vst1q_x2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12389 __extension__
extern __inline
void
12390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12391 vst1q_p8_x3 (poly8_t
* __a
, poly8x16x3_t __b
)
12393 union { poly8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12394 __builtin_neon_vst1q_x3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12397 __extension__
extern __inline
void
12398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12399 vst1q_p16_x3 (poly16_t
* __a
, poly16x8x3_t __b
)
12401 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
12402 __builtin_neon_vst1q_x3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12405 __extension__
extern __inline
void
12406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12407 vst1q_p8_x4 (poly8_t
* __a
, poly8x16x4_t __b
)
12409 union { poly8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12410 __builtin_neon_vst1q_x4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
12413 __extension__
extern __inline
void
12414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12415 vst1q_p16_x4 (poly16_t
* __a
, poly16x8x4_t __b
)
12417 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
12418 __builtin_neon_vst1q_x4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
12421 __extension__
extern __inline
void
12422 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12423 vst1_lane_s8 (int8_t * __a
, int8x8_t __b
, const int __c
)
12425 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi
*) __a
, __b
, __c
);
12428 __extension__
extern __inline
void
12429 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12430 vst1_lane_s16 (int16_t * __a
, int16x4_t __b
, const int __c
)
12432 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi
*) __a
, __b
, __c
);
12435 __extension__
extern __inline
void
12436 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12437 vst1_lane_s32 (int32_t * __a
, int32x2_t __b
, const int __c
)
12439 __builtin_neon_vst1_lanev2si ((__builtin_neon_si
*) __a
, __b
, __c
);
12442 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12443 __extension__
extern __inline
void
12444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12445 vst1_lane_f16 (float16_t
* __a
, float16x4_t __b
, const int __c
)
12447 __builtin_neon_vst1_lanev4hf (__a
, __b
, __c
);
12451 __extension__
extern __inline
void
12452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12453 vst1_lane_f32 (float32_t
* __a
, float32x2_t __b
, const int __c
)
12455 __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf
*) __a
, __b
, __c
);
12458 __extension__
extern __inline
void
12459 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12460 vst1_lane_u8 (uint8_t * __a
, uint8x8_t __b
, const int __c
)
12462 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi
*) __a
, (int8x8_t
) __b
, __c
);
12465 __extension__
extern __inline
void
12466 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12467 vst1_lane_u16 (uint16_t * __a
, uint16x4_t __b
, const int __c
)
12469 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi
*) __a
, (int16x4_t
) __b
, __c
);
12472 __extension__
extern __inline
void
12473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12474 vst1_lane_u32 (uint32_t * __a
, uint32x2_t __b
, const int __c
)
12476 __builtin_neon_vst1_lanev2si ((__builtin_neon_si
*) __a
, (int32x2_t
) __b
, __c
);
12479 __extension__
extern __inline
void
12480 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12481 vst1_lane_p8 (poly8_t
* __a
, poly8x8_t __b
, const int __c
)
12483 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi
*) __a
, (int8x8_t
) __b
, __c
);
12486 __extension__
extern __inline
void
12487 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12488 vst1_lane_p16 (poly16_t
* __a
, poly16x4_t __b
, const int __c
)
12490 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi
*) __a
, (int16x4_t
) __b
, __c
);
12493 #pragma GCC push_options
12494 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12495 __extension__
extern __inline
void
12496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12497 vst1_lane_p64 (poly64_t
* __a
, poly64x1_t __b
, const int __c
)
12499 __builtin_neon_vst1_lanedi ((__builtin_neon_di
*) __a
, __b
, __c
);
12502 #pragma GCC pop_options
12503 __extension__
extern __inline
void
12504 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12505 vst1_lane_s64 (int64_t * __a
, int64x1_t __b
, const int __c
)
12507 __builtin_neon_vst1_lanedi ((__builtin_neon_di
*) __a
, __b
, __c
);
12510 __extension__
extern __inline
void
12511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12512 vst1_lane_u64 (uint64_t * __a
, uint64x1_t __b
, const int __c
)
12514 __builtin_neon_vst1_lanedi ((__builtin_neon_di
*) __a
, (int64x1_t
) __b
, __c
);
12517 __extension__
extern __inline
void
12518 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12519 vst1q_lane_s8 (int8_t * __a
, int8x16_t __b
, const int __c
)
12521 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi
*) __a
, __b
, __c
);
12524 __extension__
extern __inline
void
12525 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12526 vst1q_lane_s16 (int16_t * __a
, int16x8_t __b
, const int __c
)
12528 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi
*) __a
, __b
, __c
);
12531 __extension__
extern __inline
void
12532 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12533 vst1q_lane_s32 (int32_t * __a
, int32x4_t __b
, const int __c
)
12535 __builtin_neon_vst1_lanev4si ((__builtin_neon_si
*) __a
, __b
, __c
);
12538 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12539 __extension__
extern __inline
void
12540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12541 vst1q_lane_f16 (float16_t
* __a
, float16x8_t __b
, const int __c
)
12543 __builtin_neon_vst1_lanev8hf (__a
, __b
, __c
);
12547 __extension__
extern __inline
void
12548 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12549 vst1q_lane_f32 (float32_t
* __a
, float32x4_t __b
, const int __c
)
12551 __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf
*) __a
, __b
, __c
);
12554 __extension__
extern __inline
void
12555 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12556 vst1q_lane_u8 (uint8_t * __a
, uint8x16_t __b
, const int __c
)
12558 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi
*) __a
, (int8x16_t
) __b
, __c
);
12561 __extension__
extern __inline
void
12562 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12563 vst1q_lane_u16 (uint16_t * __a
, uint16x8_t __b
, const int __c
)
12565 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi
*) __a
, (int16x8_t
) __b
, __c
);
12568 __extension__
extern __inline
void
12569 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12570 vst1q_lane_u32 (uint32_t * __a
, uint32x4_t __b
, const int __c
)
12572 __builtin_neon_vst1_lanev4si ((__builtin_neon_si
*) __a
, (int32x4_t
) __b
, __c
);
12575 __extension__
extern __inline
void
12576 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12577 vst1q_lane_p8 (poly8_t
* __a
, poly8x16_t __b
, const int __c
)
12579 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi
*) __a
, (int8x16_t
) __b
, __c
);
12582 __extension__
extern __inline
void
12583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12584 vst1q_lane_p16 (poly16_t
* __a
, poly16x8_t __b
, const int __c
)
12586 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi
*) __a
, (int16x8_t
) __b
, __c
);
12589 #pragma GCC push_options
12590 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12591 __extension__
extern __inline
void
12592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12593 vst1q_lane_p64 (poly64_t
* __a
, poly64x2_t __b
, const int __c
)
12595 __builtin_neon_vst1_lanev2di ((__builtin_neon_di
*) __a
, (int64x2_t
) __b
, __c
);
12598 #pragma GCC pop_options
12599 __extension__
extern __inline
void
12600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12601 vst1q_lane_s64 (int64_t * __a
, int64x2_t __b
, const int __c
)
12603 __builtin_neon_vst1_lanev2di ((__builtin_neon_di
*) __a
, __b
, __c
);
12606 __extension__
extern __inline
void
12607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12608 vst1q_lane_u64 (uint64_t * __a
, uint64x2_t __b
, const int __c
)
12610 __builtin_neon_vst1_lanev2di ((__builtin_neon_di
*) __a
, (int64x2_t
) __b
, __c
);
12613 __extension__
extern __inline int8x8x2_t
12614 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12615 vld2_s8 (const int8_t * __a
)
12617 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12618 __rv
.__o
= __builtin_neon_vld2v8qi ((const __builtin_neon_qi
*) __a
);
12622 __extension__
extern __inline int16x4x2_t
12623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12624 vld2_s16 (const int16_t * __a
)
12626 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12627 __rv
.__o
= __builtin_neon_vld2v4hi ((const __builtin_neon_hi
*) __a
);
12631 __extension__
extern __inline int32x2x2_t
12632 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12633 vld2_s32 (const int32_t * __a
)
12635 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12636 __rv
.__o
= __builtin_neon_vld2v2si ((const __builtin_neon_si
*) __a
);
12640 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12641 __extension__
extern __inline float16x4x2_t
12642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12643 vld2_f16 (const float16_t
* __a
)
12645 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12646 __rv
.__o
= __builtin_neon_vld2v4hf (__a
);
12651 __extension__
extern __inline float32x2x2_t
12652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12653 vld2_f32 (const float32_t
* __a
)
12655 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12656 __rv
.__o
= __builtin_neon_vld2v2sf ((const __builtin_neon_sf
*) __a
);
12660 __extension__
extern __inline uint8x8x2_t
12661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12662 vld2_u8 (const uint8_t * __a
)
12664 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12665 __rv
.__o
= __builtin_neon_vld2v8qi ((const __builtin_neon_qi
*) __a
);
12669 __extension__
extern __inline uint16x4x2_t
12670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12671 vld2_u16 (const uint16_t * __a
)
12673 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12674 __rv
.__o
= __builtin_neon_vld2v4hi ((const __builtin_neon_hi
*) __a
);
12678 __extension__
extern __inline uint32x2x2_t
12679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12680 vld2_u32 (const uint32_t * __a
)
12682 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12683 __rv
.__o
= __builtin_neon_vld2v2si ((const __builtin_neon_si
*) __a
);
12687 __extension__
extern __inline poly8x8x2_t
12688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12689 vld2_p8 (const poly8_t
* __a
)
12691 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12692 __rv
.__o
= __builtin_neon_vld2v8qi ((const __builtin_neon_qi
*) __a
);
12696 __extension__
extern __inline poly16x4x2_t
12697 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12698 vld2_p16 (const poly16_t
* __a
)
12700 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12701 __rv
.__o
= __builtin_neon_vld2v4hi ((const __builtin_neon_hi
*) __a
);
12705 #pragma GCC push_options
12706 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12707 __extension__
extern __inline poly64x1x2_t
12708 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12709 vld2_p64 (const poly64_t
* __a
)
12711 union { poly64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12712 __rv
.__o
= __builtin_neon_vld2di ((const __builtin_neon_di
*) __a
);
12716 #pragma GCC pop_options
12717 __extension__
extern __inline int64x1x2_t
12718 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12719 vld2_s64 (const int64_t * __a
)
12721 union { int64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12722 __rv
.__o
= __builtin_neon_vld2di ((const __builtin_neon_di
*) __a
);
12726 __extension__
extern __inline uint64x1x2_t
12727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12728 vld2_u64 (const uint64_t * __a
)
12730 union { uint64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12731 __rv
.__o
= __builtin_neon_vld2di ((const __builtin_neon_di
*) __a
);
12735 __extension__
extern __inline int8x16x2_t
12736 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12737 vld2q_s8 (const int8_t * __a
)
12739 union { int8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12740 __rv
.__o
= __builtin_neon_vld2v16qi ((const __builtin_neon_qi
*) __a
);
12744 __extension__
extern __inline int16x8x2_t
12745 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12746 vld2q_s16 (const int16_t * __a
)
12748 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12749 __rv
.__o
= __builtin_neon_vld2v8hi ((const __builtin_neon_hi
*) __a
);
12753 __extension__
extern __inline int32x4x2_t
12754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12755 vld2q_s32 (const int32_t * __a
)
12757 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12758 __rv
.__o
= __builtin_neon_vld2v4si ((const __builtin_neon_si
*) __a
);
12762 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12763 __extension__
extern __inline float16x8x2_t
12764 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12765 vld2q_f16 (const float16_t
* __a
)
12767 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12768 __rv
.__o
= __builtin_neon_vld2v8hf (__a
);
12773 __extension__
extern __inline float32x4x2_t
12774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12775 vld2q_f32 (const float32_t
* __a
)
12777 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12778 __rv
.__o
= __builtin_neon_vld2v4sf ((const __builtin_neon_sf
*) __a
);
12782 __extension__
extern __inline uint8x16x2_t
12783 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12784 vld2q_u8 (const uint8_t * __a
)
12786 union { uint8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12787 __rv
.__o
= __builtin_neon_vld2v16qi ((const __builtin_neon_qi
*) __a
);
12791 __extension__
extern __inline uint16x8x2_t
12792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12793 vld2q_u16 (const uint16_t * __a
)
12795 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12796 __rv
.__o
= __builtin_neon_vld2v8hi ((const __builtin_neon_hi
*) __a
);
12800 __extension__
extern __inline uint32x4x2_t
12801 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12802 vld2q_u32 (const uint32_t * __a
)
12804 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12805 __rv
.__o
= __builtin_neon_vld2v4si ((const __builtin_neon_si
*) __a
);
12809 __extension__
extern __inline poly8x16x2_t
12810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12811 vld2q_p8 (const poly8_t
* __a
)
12813 union { poly8x16x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12814 __rv
.__o
= __builtin_neon_vld2v16qi ((const __builtin_neon_qi
*) __a
);
12818 __extension__
extern __inline poly16x8x2_t
12819 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12820 vld2q_p16 (const poly16_t
* __a
)
12822 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12823 __rv
.__o
= __builtin_neon_vld2v8hi ((const __builtin_neon_hi
*) __a
);
12827 __extension__
extern __inline int8x8x2_t
12828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12829 vld2_lane_s8 (const int8_t * __a
, int8x8x2_t __b
, const int __c
)
12831 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12832 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12833 __rv
.__o
= __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
12837 __extension__
extern __inline int16x4x2_t
12838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12839 vld2_lane_s16 (const int16_t * __a
, int16x4x2_t __b
, const int __c
)
12841 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12842 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12843 __rv
.__o
= __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
12847 __extension__
extern __inline int32x2x2_t
12848 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12849 vld2_lane_s32 (const int32_t * __a
, int32x2x2_t __b
, const int __c
)
12851 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12852 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12853 __rv
.__o
= __builtin_neon_vld2_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
12857 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12858 __extension__
extern __inline float16x4x2_t
12859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12860 vld2_lane_f16 (const float16_t
* __a
, float16x4x2_t __b
, const int __c
)
12862 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12863 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12864 __rv
.__o
= __builtin_neon_vld2_lanev4hf ( __a
, __bu
.__o
, __c
);
12869 __extension__
extern __inline float32x2x2_t
12870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12871 vld2_lane_f32 (const float32_t
* __a
, float32x2x2_t __b
, const int __c
)
12873 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12874 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12875 __rv
.__o
= __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
12879 __extension__
extern __inline uint8x8x2_t
12880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12881 vld2_lane_u8 (const uint8_t * __a
, uint8x8x2_t __b
, const int __c
)
12883 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12884 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12885 __rv
.__o
= __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
12889 __extension__
extern __inline uint16x4x2_t
12890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12891 vld2_lane_u16 (const uint16_t * __a
, uint16x4x2_t __b
, const int __c
)
12893 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12894 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12895 __rv
.__o
= __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
12899 __extension__
extern __inline uint32x2x2_t
12900 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12901 vld2_lane_u32 (const uint32_t * __a
, uint32x2x2_t __b
, const int __c
)
12903 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12904 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12905 __rv
.__o
= __builtin_neon_vld2_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
12909 __extension__
extern __inline poly8x8x2_t
12910 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12911 vld2_lane_p8 (const poly8_t
* __a
, poly8x8x2_t __b
, const int __c
)
12913 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12914 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12915 __rv
.__o
= __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
12919 __extension__
extern __inline poly16x4x2_t
12920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12921 vld2_lane_p16 (const poly16_t
* __a
, poly16x4x2_t __b
, const int __c
)
12923 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
12924 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
12925 __rv
.__o
= __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
12929 __extension__
extern __inline int16x8x2_t
12930 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12931 vld2q_lane_s16 (const int16_t * __a
, int16x8x2_t __b
, const int __c
)
12933 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12934 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12935 __rv
.__o
= __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
12939 __extension__
extern __inline int32x4x2_t
12940 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12941 vld2q_lane_s32 (const int32_t * __a
, int32x4x2_t __b
, const int __c
)
12943 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12944 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12945 __rv
.__o
= __builtin_neon_vld2_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
12949 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12950 __extension__
extern __inline float16x8x2_t
12951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12952 vld2q_lane_f16 (const float16_t
* __a
, float16x8x2_t __b
, const int __c
)
12954 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12955 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12956 __rv
.__o
= __builtin_neon_vld2_lanev8hf (__a
, __bu
.__o
, __c
);
12961 __extension__
extern __inline float32x4x2_t
12962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12963 vld2q_lane_f32 (const float32_t
* __a
, float32x4x2_t __b
, const int __c
)
12965 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12966 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12967 __rv
.__o
= __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
12971 __extension__
extern __inline uint16x8x2_t
12972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12973 vld2q_lane_u16 (const uint16_t * __a
, uint16x8x2_t __b
, const int __c
)
12975 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12976 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12977 __rv
.__o
= __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
12981 __extension__
extern __inline uint32x4x2_t
12982 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12983 vld2q_lane_u32 (const uint32_t * __a
, uint32x4x2_t __b
, const int __c
)
12985 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12986 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12987 __rv
.__o
= __builtin_neon_vld2_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
12991 __extension__
extern __inline poly16x8x2_t
12992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
12993 vld2q_lane_p16 (const poly16_t
* __a
, poly16x8x2_t __b
, const int __c
)
12995 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
12996 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
12997 __rv
.__o
= __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13001 __extension__
extern __inline int8x8x2_t
13002 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13003 vld2_dup_s8 (const int8_t * __a
)
13005 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13006 __rv
.__o
= __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi
*) __a
);
13010 __extension__
extern __inline int16x4x2_t
13011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13012 vld2_dup_s16 (const int16_t * __a
)
13014 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13015 __rv
.__o
= __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi
*) __a
);
13019 __extension__
extern __inline int32x2x2_t
13020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13021 vld2_dup_s32 (const int32_t * __a
)
13023 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13024 __rv
.__o
= __builtin_neon_vld2_dupv2si ((const __builtin_neon_si
*) __a
);
13028 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13029 __extension__
extern __inline float16x4x2_t
13030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13031 vld2_dup_f16 (const float16_t
* __a
)
13033 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13034 __rv
.__o
= __builtin_neon_vld2_dupv4hf (__a
);
13039 __extension__
extern __inline float32x2x2_t
13040 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13041 vld2_dup_f32 (const float32_t
* __a
)
13043 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13044 __rv
.__o
= __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf
*) __a
);
13048 __extension__
extern __inline uint8x8x2_t
13049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13050 vld2_dup_u8 (const uint8_t * __a
)
13052 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13053 __rv
.__o
= __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi
*) __a
);
13057 __extension__
extern __inline uint16x4x2_t
13058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13059 vld2_dup_u16 (const uint16_t * __a
)
13061 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13062 __rv
.__o
= __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi
*) __a
);
13066 __extension__
extern __inline uint32x2x2_t
13067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13068 vld2_dup_u32 (const uint32_t * __a
)
13070 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13071 __rv
.__o
= __builtin_neon_vld2_dupv2si ((const __builtin_neon_si
*) __a
);
13075 __extension__
extern __inline poly8x8x2_t
13076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13077 vld2_dup_p8 (const poly8_t
* __a
)
13079 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13080 __rv
.__o
= __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi
*) __a
);
13084 __extension__
extern __inline poly16x4x2_t
13085 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13086 vld2_dup_p16 (const poly16_t
* __a
)
13088 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13089 __rv
.__o
= __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi
*) __a
);
13093 #pragma GCC push_options
13094 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13095 __extension__
extern __inline poly64x1x2_t
13096 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13097 vld2_dup_p64 (const poly64_t
* __a
)
13099 union { poly64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13100 __rv
.__o
= __builtin_neon_vld2_dupdi ((const __builtin_neon_di
*) __a
);
13104 #pragma GCC pop_options
13105 __extension__
extern __inline int64x1x2_t
13106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13107 vld2_dup_s64 (const int64_t * __a
)
13109 union { int64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13110 __rv
.__o
= __builtin_neon_vld2_dupdi ((const __builtin_neon_di
*) __a
);
13114 __extension__
extern __inline uint64x1x2_t
13115 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13116 vld2_dup_u64 (const uint64_t * __a
)
13118 union { uint64x1x2_t __i
; __builtin_neon_ti __o
; } __rv
;
13119 __rv
.__o
= __builtin_neon_vld2_dupdi ((const __builtin_neon_di
*) __a
);
13123 __extension__
extern __inline
void
13124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13125 vst2_s8 (int8_t * __a
, int8x8x2_t __b
)
13127 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13128 __builtin_neon_vst2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13131 __extension__
extern __inline
void
13132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13133 vst2_s16 (int16_t * __a
, int16x4x2_t __b
)
13135 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13136 __builtin_neon_vst2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13139 __extension__
extern __inline
void
13140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13141 vst2_s32 (int32_t * __a
, int32x2x2_t __b
)
13143 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13144 __builtin_neon_vst2v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
13147 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13148 __extension__
extern __inline
void
13149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13150 vst2_f16 (float16_t
* __a
, float16x4x2_t __b
)
13152 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13153 __builtin_neon_vst2v4hf (__a
, __bu
.__o
);
13157 __extension__
extern __inline
void
13158 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13159 vst2_f32 (float32_t
* __a
, float32x2x2_t __b
)
13161 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13162 __builtin_neon_vst2v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
13165 __extension__
extern __inline
void
13166 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13167 vst2_u8 (uint8_t * __a
, uint8x8x2_t __b
)
13169 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13170 __builtin_neon_vst2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13173 __extension__
extern __inline
void
13174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13175 vst2_u16 (uint16_t * __a
, uint16x4x2_t __b
)
13177 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13178 __builtin_neon_vst2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13181 __extension__
extern __inline
void
13182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13183 vst2_u32 (uint32_t * __a
, uint32x2x2_t __b
)
13185 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13186 __builtin_neon_vst2v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
13189 __extension__
extern __inline
void
13190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13191 vst2_p8 (poly8_t
* __a
, poly8x8x2_t __b
)
13193 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13194 __builtin_neon_vst2v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13197 __extension__
extern __inline
void
13198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13199 vst2_p16 (poly16_t
* __a
, poly16x4x2_t __b
)
13201 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13202 __builtin_neon_vst2v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13205 #pragma GCC push_options
13206 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13207 __extension__
extern __inline
void
13208 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13209 vst2_p64 (poly64_t
* __a
, poly64x1x2_t __b
)
13211 union { poly64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13212 __builtin_neon_vst2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
13215 #pragma GCC pop_options
13216 __extension__
extern __inline
void
13217 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13218 vst2_s64 (int64_t * __a
, int64x1x2_t __b
)
13220 union { int64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13221 __builtin_neon_vst2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
13224 __extension__
extern __inline
void
13225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13226 vst2_u64 (uint64_t * __a
, uint64x1x2_t __b
)
13228 union { uint64x1x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13229 __builtin_neon_vst2di ((__builtin_neon_di
*) __a
, __bu
.__o
);
13232 __extension__
extern __inline
void
13233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13234 vst2q_s8 (int8_t * __a
, int8x16x2_t __b
)
13236 union { int8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13237 __builtin_neon_vst2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13240 __extension__
extern __inline
void
13241 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13242 vst2q_s16 (int16_t * __a
, int16x8x2_t __b
)
13244 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13245 __builtin_neon_vst2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13248 __extension__
extern __inline
void
13249 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13250 vst2q_s32 (int32_t * __a
, int32x4x2_t __b
)
13252 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13253 __builtin_neon_vst2v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
13256 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13257 __extension__
extern __inline
void
13258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13259 vst2q_f16 (float16_t
* __a
, float16x8x2_t __b
)
13261 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13262 __builtin_neon_vst2v8hf (__a
, __bu
.__o
);
13266 __extension__
extern __inline
void
13267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13268 vst2q_f32 (float32_t
* __a
, float32x4x2_t __b
)
13270 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13271 __builtin_neon_vst2v4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
13274 __extension__
extern __inline
void
13275 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13276 vst2q_u8 (uint8_t * __a
, uint8x16x2_t __b
)
13278 union { uint8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13279 __builtin_neon_vst2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13282 __extension__
extern __inline
void
13283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13284 vst2q_u16 (uint16_t * __a
, uint16x8x2_t __b
)
13286 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13287 __builtin_neon_vst2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13290 __extension__
extern __inline
void
13291 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13292 vst2q_u32 (uint32_t * __a
, uint32x4x2_t __b
)
13294 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13295 __builtin_neon_vst2v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
13298 __extension__
extern __inline
void
13299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13300 vst2q_p8 (poly8_t
* __a
, poly8x16x2_t __b
)
13302 union { poly8x16x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13303 __builtin_neon_vst2v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13306 __extension__
extern __inline
void
13307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13308 vst2q_p16 (poly16_t
* __a
, poly16x8x2_t __b
)
13310 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13311 __builtin_neon_vst2v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13314 __extension__
extern __inline
void
13315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13316 vst2_lane_s8 (int8_t * __a
, int8x8x2_t __b
, const int __c
)
13318 union { int8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13319 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13322 __extension__
extern __inline
void
13323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13324 vst2_lane_s16 (int16_t * __a
, int16x4x2_t __b
, const int __c
)
13326 union { int16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13327 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13330 __extension__
extern __inline
void
13331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13332 vst2_lane_s32 (int32_t * __a
, int32x2x2_t __b
, const int __c
)
13334 union { int32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13335 __builtin_neon_vst2_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13338 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13339 __extension__
extern __inline
void
13340 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13341 vst2_lane_f16 (float16_t
* __a
, float16x4x2_t __b
, const int __c
)
13343 union { float16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13344 __builtin_neon_vst2_lanev4hf (__a
, __bu
.__o
, __c
);
13348 __extension__
extern __inline
void
13349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13350 vst2_lane_f32 (float32_t
* __a
, float32x2x2_t __b
, const int __c
)
13352 union { float32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13353 __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
13356 __extension__
extern __inline
void
13357 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13358 vst2_lane_u8 (uint8_t * __a
, uint8x8x2_t __b
, const int __c
)
13360 union { uint8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13361 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13364 __extension__
extern __inline
void
13365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13366 vst2_lane_u16 (uint16_t * __a
, uint16x4x2_t __b
, const int __c
)
13368 union { uint16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13369 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13372 __extension__
extern __inline
void
13373 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13374 vst2_lane_u32 (uint32_t * __a
, uint32x2x2_t __b
, const int __c
)
13376 union { uint32x2x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13377 __builtin_neon_vst2_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13380 __extension__
extern __inline
void
13381 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13382 vst2_lane_p8 (poly8_t
* __a
, poly8x8x2_t __b
, const int __c
)
13384 union { poly8x8x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13385 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13388 __extension__
extern __inline
void
13389 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13390 vst2_lane_p16 (poly16_t
* __a
, poly16x4x2_t __b
, const int __c
)
13392 union { poly16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
13393 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13396 __extension__
extern __inline
void
13397 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13398 vst2q_lane_s16 (int16_t * __a
, int16x8x2_t __b
, const int __c
)
13400 union { int16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13401 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13404 __extension__
extern __inline
void
13405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13406 vst2q_lane_s32 (int32_t * __a
, int32x4x2_t __b
, const int __c
)
13408 union { int32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13409 __builtin_neon_vst2_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13412 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13413 __extension__
extern __inline
void
13414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13415 vst2q_lane_f16 (float16_t
* __a
, float16x8x2_t __b
, const int __c
)
13417 union { float16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13418 __builtin_neon_vst2_lanev8hf (__a
, __bu
.__o
, __c
);
13422 __extension__
extern __inline
void
13423 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13424 vst2q_lane_f32 (float32_t
* __a
, float32x4x2_t __b
, const int __c
)
13426 union { float32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13427 __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
13430 __extension__
extern __inline
void
13431 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13432 vst2q_lane_u16 (uint16_t * __a
, uint16x8x2_t __b
, const int __c
)
13434 union { uint16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13435 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13438 __extension__
extern __inline
void
13439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13440 vst2q_lane_u32 (uint32_t * __a
, uint32x4x2_t __b
, const int __c
)
13442 union { uint32x4x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13443 __builtin_neon_vst2_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13446 __extension__
extern __inline
void
13447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13448 vst2q_lane_p16 (poly16_t
* __a
, poly16x8x2_t __b
, const int __c
)
13450 union { poly16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
13451 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13454 __extension__
extern __inline int8x8x3_t
13455 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13456 vld3_s8 (const int8_t * __a
)
13458 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13459 __rv
.__o
= __builtin_neon_vld3v8qi ((const __builtin_neon_qi
*) __a
);
13463 __extension__
extern __inline int16x4x3_t
13464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13465 vld3_s16 (const int16_t * __a
)
13467 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13468 __rv
.__o
= __builtin_neon_vld3v4hi ((const __builtin_neon_hi
*) __a
);
13472 __extension__
extern __inline int32x2x3_t
13473 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13474 vld3_s32 (const int32_t * __a
)
13476 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13477 __rv
.__o
= __builtin_neon_vld3v2si ((const __builtin_neon_si
*) __a
);
13481 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13482 __extension__
extern __inline float16x4x3_t
13483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13484 vld3_f16 (const float16_t
* __a
)
13486 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13487 __rv
.__o
= __builtin_neon_vld3v4hf (__a
);
13492 __extension__
extern __inline float32x2x3_t
13493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13494 vld3_f32 (const float32_t
* __a
)
13496 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13497 __rv
.__o
= __builtin_neon_vld3v2sf ((const __builtin_neon_sf
*) __a
);
13501 __extension__
extern __inline uint8x8x3_t
13502 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13503 vld3_u8 (const uint8_t * __a
)
13505 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13506 __rv
.__o
= __builtin_neon_vld3v8qi ((const __builtin_neon_qi
*) __a
);
13510 __extension__
extern __inline uint16x4x3_t
13511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13512 vld3_u16 (const uint16_t * __a
)
13514 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13515 __rv
.__o
= __builtin_neon_vld3v4hi ((const __builtin_neon_hi
*) __a
);
13519 __extension__
extern __inline uint32x2x3_t
13520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13521 vld3_u32 (const uint32_t * __a
)
13523 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13524 __rv
.__o
= __builtin_neon_vld3v2si ((const __builtin_neon_si
*) __a
);
13528 __extension__
extern __inline poly8x8x3_t
13529 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13530 vld3_p8 (const poly8_t
* __a
)
13532 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13533 __rv
.__o
= __builtin_neon_vld3v8qi ((const __builtin_neon_qi
*) __a
);
13537 __extension__
extern __inline poly16x4x3_t
13538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13539 vld3_p16 (const poly16_t
* __a
)
13541 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13542 __rv
.__o
= __builtin_neon_vld3v4hi ((const __builtin_neon_hi
*) __a
);
13546 #pragma GCC push_options
13547 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13548 __extension__
extern __inline poly64x1x3_t
13549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13550 vld3_p64 (const poly64_t
* __a
)
13552 union { poly64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13553 __rv
.__o
= __builtin_neon_vld3di ((const __builtin_neon_di
*) __a
);
13557 #pragma GCC pop_options
13558 __extension__
extern __inline int64x1x3_t
13559 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13560 vld3_s64 (const int64_t * __a
)
13562 union { int64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13563 __rv
.__o
= __builtin_neon_vld3di ((const __builtin_neon_di
*) __a
);
13567 __extension__
extern __inline uint64x1x3_t
13568 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13569 vld3_u64 (const uint64_t * __a
)
13571 union { uint64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13572 __rv
.__o
= __builtin_neon_vld3di ((const __builtin_neon_di
*) __a
);
13576 __extension__
extern __inline int8x16x3_t
13577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13578 vld3q_s8 (const int8_t * __a
)
13580 union { int8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13581 __rv
.__o
= __builtin_neon_vld3v16qi ((const __builtin_neon_qi
*) __a
);
13585 __extension__
extern __inline int16x8x3_t
13586 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13587 vld3q_s16 (const int16_t * __a
)
13589 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13590 __rv
.__o
= __builtin_neon_vld3v8hi ((const __builtin_neon_hi
*) __a
);
13594 __extension__
extern __inline int32x4x3_t
13595 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13596 vld3q_s32 (const int32_t * __a
)
13598 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13599 __rv
.__o
= __builtin_neon_vld3v4si ((const __builtin_neon_si
*) __a
);
13603 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13604 __extension__
extern __inline float16x8x3_t
13605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13606 vld3q_f16 (const float16_t
* __a
)
13608 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13609 __rv
.__o
= __builtin_neon_vld3v8hf (__a
);
13614 __extension__
extern __inline float32x4x3_t
13615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13616 vld3q_f32 (const float32_t
* __a
)
13618 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13619 __rv
.__o
= __builtin_neon_vld3v4sf ((const __builtin_neon_sf
*) __a
);
13623 __extension__
extern __inline uint8x16x3_t
13624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13625 vld3q_u8 (const uint8_t * __a
)
13627 union { uint8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13628 __rv
.__o
= __builtin_neon_vld3v16qi ((const __builtin_neon_qi
*) __a
);
13632 __extension__
extern __inline uint16x8x3_t
13633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13634 vld3q_u16 (const uint16_t * __a
)
13636 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13637 __rv
.__o
= __builtin_neon_vld3v8hi ((const __builtin_neon_hi
*) __a
);
13641 __extension__
extern __inline uint32x4x3_t
13642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13643 vld3q_u32 (const uint32_t * __a
)
13645 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13646 __rv
.__o
= __builtin_neon_vld3v4si ((const __builtin_neon_si
*) __a
);
13650 __extension__
extern __inline poly8x16x3_t
13651 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13652 vld3q_p8 (const poly8_t
* __a
)
13654 union { poly8x16x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13655 __rv
.__o
= __builtin_neon_vld3v16qi ((const __builtin_neon_qi
*) __a
);
13659 __extension__
extern __inline poly16x8x3_t
13660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13661 vld3q_p16 (const poly16_t
* __a
)
13663 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13664 __rv
.__o
= __builtin_neon_vld3v8hi ((const __builtin_neon_hi
*) __a
);
13668 __extension__
extern __inline int8x8x3_t
13669 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13670 vld3_lane_s8 (const int8_t * __a
, int8x8x3_t __b
, const int __c
)
13672 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13673 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13674 __rv
.__o
= __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13678 __extension__
extern __inline int16x4x3_t
13679 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13680 vld3_lane_s16 (const int16_t * __a
, int16x4x3_t __b
, const int __c
)
13682 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13683 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13684 __rv
.__o
= __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13688 __extension__
extern __inline int32x2x3_t
13689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13690 vld3_lane_s32 (const int32_t * __a
, int32x2x3_t __b
, const int __c
)
13692 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13693 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13694 __rv
.__o
= __builtin_neon_vld3_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13698 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13699 __extension__
extern __inline float16x4x3_t
13700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13701 vld3_lane_f16 (const float16_t
* __a
, float16x4x3_t __b
, const int __c
)
13703 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13704 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13705 __rv
.__o
= __builtin_neon_vld3_lanev4hf (__a
, __bu
.__o
, __c
);
13710 __extension__
extern __inline float32x2x3_t
13711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13712 vld3_lane_f32 (const float32_t
* __a
, float32x2x3_t __b
, const int __c
)
13714 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13715 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13716 __rv
.__o
= __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
13720 __extension__
extern __inline uint8x8x3_t
13721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13722 vld3_lane_u8 (const uint8_t * __a
, uint8x8x3_t __b
, const int __c
)
13724 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13725 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13726 __rv
.__o
= __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13730 __extension__
extern __inline uint16x4x3_t
13731 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13732 vld3_lane_u16 (const uint16_t * __a
, uint16x4x3_t __b
, const int __c
)
13734 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13735 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13736 __rv
.__o
= __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13740 __extension__
extern __inline uint32x2x3_t
13741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13742 vld3_lane_u32 (const uint32_t * __a
, uint32x2x3_t __b
, const int __c
)
13744 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13745 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13746 __rv
.__o
= __builtin_neon_vld3_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13750 __extension__
extern __inline poly8x8x3_t
13751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13752 vld3_lane_p8 (const poly8_t
* __a
, poly8x8x3_t __b
, const int __c
)
13754 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13755 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13756 __rv
.__o
= __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
13760 __extension__
extern __inline poly16x4x3_t
13761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13762 vld3_lane_p16 (const poly16_t
* __a
, poly16x4x3_t __b
, const int __c
)
13764 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13765 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13766 __rv
.__o
= __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13770 __extension__
extern __inline int16x8x3_t
13771 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13772 vld3q_lane_s16 (const int16_t * __a
, int16x8x3_t __b
, const int __c
)
13774 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13775 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13776 __rv
.__o
= __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13780 __extension__
extern __inline int32x4x3_t
13781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13782 vld3q_lane_s32 (const int32_t * __a
, int32x4x3_t __b
, const int __c
)
13784 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13785 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13786 __rv
.__o
= __builtin_neon_vld3_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13790 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13791 __extension__
extern __inline float16x8x3_t
13792 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13793 vld3q_lane_f16 (const float16_t
* __a
, float16x8x3_t __b
, const int __c
)
13795 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13796 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13797 __rv
.__o
= __builtin_neon_vld3_lanev8hf (__a
, __bu
.__o
, __c
);
13802 __extension__
extern __inline float32x4x3_t
13803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13804 vld3q_lane_f32 (const float32_t
* __a
, float32x4x3_t __b
, const int __c
)
13806 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13807 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13808 __rv
.__o
= __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
13812 __extension__
extern __inline uint16x8x3_t
13813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13814 vld3q_lane_u16 (const uint16_t * __a
, uint16x8x3_t __b
, const int __c
)
13816 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13817 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13818 __rv
.__o
= __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13822 __extension__
extern __inline uint32x4x3_t
13823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13824 vld3q_lane_u32 (const uint32_t * __a
, uint32x4x3_t __b
, const int __c
)
13826 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13827 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13828 __rv
.__o
= __builtin_neon_vld3_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
13832 __extension__
extern __inline poly16x8x3_t
13833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13834 vld3q_lane_p16 (const poly16_t
* __a
, poly16x8x3_t __b
, const int __c
)
13836 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
13837 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
13838 __rv
.__o
= __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
13842 __extension__
extern __inline int8x8x3_t
13843 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13844 vld3_dup_s8 (const int8_t * __a
)
13846 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13847 __rv
.__o
= __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi
*) __a
);
13851 __extension__
extern __inline int16x4x3_t
13852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13853 vld3_dup_s16 (const int16_t * __a
)
13855 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13856 __rv
.__o
= __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi
*) __a
);
13860 __extension__
extern __inline int32x2x3_t
13861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13862 vld3_dup_s32 (const int32_t * __a
)
13864 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13865 __rv
.__o
= __builtin_neon_vld3_dupv2si ((const __builtin_neon_si
*) __a
);
13869 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13870 __extension__
extern __inline float16x4x3_t
13871 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13872 vld3_dup_f16 (const float16_t
* __a
)
13874 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13875 __rv
.__o
= __builtin_neon_vld3_dupv4hf (__a
);
13880 __extension__
extern __inline float32x2x3_t
13881 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13882 vld3_dup_f32 (const float32_t
* __a
)
13884 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13885 __rv
.__o
= __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf
*) __a
);
13889 __extension__
extern __inline uint8x8x3_t
13890 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13891 vld3_dup_u8 (const uint8_t * __a
)
13893 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13894 __rv
.__o
= __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi
*) __a
);
13898 __extension__
extern __inline uint16x4x3_t
13899 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13900 vld3_dup_u16 (const uint16_t * __a
)
13902 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13903 __rv
.__o
= __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi
*) __a
);
13907 __extension__
extern __inline uint32x2x3_t
13908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13909 vld3_dup_u32 (const uint32_t * __a
)
13911 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13912 __rv
.__o
= __builtin_neon_vld3_dupv2si ((const __builtin_neon_si
*) __a
);
13916 __extension__
extern __inline poly8x8x3_t
13917 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13918 vld3_dup_p8 (const poly8_t
* __a
)
13920 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13921 __rv
.__o
= __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi
*) __a
);
13925 __extension__
extern __inline poly16x4x3_t
13926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13927 vld3_dup_p16 (const poly16_t
* __a
)
13929 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13930 __rv
.__o
= __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi
*) __a
);
13934 #pragma GCC push_options
13935 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13936 __extension__
extern __inline poly64x1x3_t
13937 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13938 vld3_dup_p64 (const poly64_t
* __a
)
13940 union { poly64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13941 __rv
.__o
= __builtin_neon_vld3_dupdi ((const __builtin_neon_di
*) __a
);
13945 #pragma GCC pop_options
13946 __extension__
extern __inline int64x1x3_t
13947 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13948 vld3_dup_s64 (const int64_t * __a
)
13950 union { int64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13951 __rv
.__o
= __builtin_neon_vld3_dupdi ((const __builtin_neon_di
*) __a
);
13955 __extension__
extern __inline uint64x1x3_t
13956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13957 vld3_dup_u64 (const uint64_t * __a
)
13959 union { uint64x1x3_t __i
; __builtin_neon_ei __o
; } __rv
;
13960 __rv
.__o
= __builtin_neon_vld3_dupdi ((const __builtin_neon_di
*) __a
);
13964 __extension__
extern __inline
void
13965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13966 vst3_s8 (int8_t * __a
, int8x8x3_t __b
)
13968 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13969 __builtin_neon_vst3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
13972 __extension__
extern __inline
void
13973 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13974 vst3_s16 (int16_t * __a
, int16x4x3_t __b
)
13976 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13977 __builtin_neon_vst3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
13980 __extension__
extern __inline
void
13981 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13982 vst3_s32 (int32_t * __a
, int32x2x3_t __b
)
13984 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13985 __builtin_neon_vst3v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
13988 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13989 __extension__
extern __inline
void
13990 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
13991 vst3_f16 (float16_t
* __a
, float16x4x3_t __b
)
13993 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
13994 __builtin_neon_vst3v4hf (__a
, __bu
.__o
);
13998 __extension__
extern __inline
void
13999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14000 vst3_f32 (float32_t
* __a
, float32x2x3_t __b
)
14002 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14003 __builtin_neon_vst3v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
14006 __extension__
extern __inline
void
14007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14008 vst3_u8 (uint8_t * __a
, uint8x8x3_t __b
)
14010 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14011 __builtin_neon_vst3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14014 __extension__
extern __inline
void
14015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14016 vst3_u16 (uint16_t * __a
, uint16x4x3_t __b
)
14018 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14019 __builtin_neon_vst3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14022 __extension__
extern __inline
void
14023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14024 vst3_u32 (uint32_t * __a
, uint32x2x3_t __b
)
14026 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14027 __builtin_neon_vst3v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14030 __extension__
extern __inline
void
14031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14032 vst3_p8 (poly8_t
* __a
, poly8x8x3_t __b
)
14034 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14035 __builtin_neon_vst3v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14038 __extension__
extern __inline
void
14039 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14040 vst3_p16 (poly16_t
* __a
, poly16x4x3_t __b
)
14042 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14043 __builtin_neon_vst3v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14046 #pragma GCC push_options
14047 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14048 __extension__
extern __inline
void
14049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14050 vst3_p64 (poly64_t
* __a
, poly64x1x3_t __b
)
14052 union { poly64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14053 __builtin_neon_vst3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14056 #pragma GCC pop_options
14057 __extension__
extern __inline
void
14058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14059 vst3_s64 (int64_t * __a
, int64x1x3_t __b
)
14061 union { int64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14062 __builtin_neon_vst3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14065 __extension__
extern __inline
void
14066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14067 vst3_u64 (uint64_t * __a
, uint64x1x3_t __b
)
14069 union { uint64x1x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14070 __builtin_neon_vst3di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14073 __extension__
extern __inline
void
14074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14075 vst3q_s8 (int8_t * __a
, int8x16x3_t __b
)
14077 union { int8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14078 __builtin_neon_vst3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14081 __extension__
extern __inline
void
14082 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14083 vst3q_s16 (int16_t * __a
, int16x8x3_t __b
)
14085 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14086 __builtin_neon_vst3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14089 __extension__
extern __inline
void
14090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14091 vst3q_s32 (int32_t * __a
, int32x4x3_t __b
)
14093 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14094 __builtin_neon_vst3v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14097 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14098 __extension__
extern __inline
void
14099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14100 vst3q_f16 (float16_t
* __a
, float16x8x3_t __b
)
14102 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14103 __builtin_neon_vst3v8hf (__a
, __bu
.__o
);
14107 __extension__
extern __inline
void
14108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14109 vst3q_f32 (float32_t
* __a
, float32x4x3_t __b
)
14111 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14112 __builtin_neon_vst3v4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
14115 __extension__
extern __inline
void
14116 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14117 vst3q_u8 (uint8_t * __a
, uint8x16x3_t __b
)
14119 union { uint8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14120 __builtin_neon_vst3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14123 __extension__
extern __inline
void
14124 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14125 vst3q_u16 (uint16_t * __a
, uint16x8x3_t __b
)
14127 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14128 __builtin_neon_vst3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14131 __extension__
extern __inline
void
14132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14133 vst3q_u32 (uint32_t * __a
, uint32x4x3_t __b
)
14135 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14136 __builtin_neon_vst3v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14139 __extension__
extern __inline
void
14140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14141 vst3q_p8 (poly8_t
* __a
, poly8x16x3_t __b
)
14143 union { poly8x16x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14144 __builtin_neon_vst3v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14147 __extension__
extern __inline
void
14148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14149 vst3q_p16 (poly16_t
* __a
, poly16x8x3_t __b
)
14151 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14152 __builtin_neon_vst3v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14155 __extension__
extern __inline
void
14156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14157 vst3_lane_s8 (int8_t * __a
, int8x8x3_t __b
, const int __c
)
14159 union { int8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14160 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14163 __extension__
extern __inline
void
14164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14165 vst3_lane_s16 (int16_t * __a
, int16x4x3_t __b
, const int __c
)
14167 union { int16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14168 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14171 __extension__
extern __inline
void
14172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14173 vst3_lane_s32 (int32_t * __a
, int32x2x3_t __b
, const int __c
)
14175 union { int32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14176 __builtin_neon_vst3_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14179 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14180 __extension__
extern __inline
void
14181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14182 vst3_lane_f16 (float16_t
* __a
, float16x4x3_t __b
, const int __c
)
14184 union { float16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14185 __builtin_neon_vst3_lanev4hf (__a
, __bu
.__o
, __c
);
14189 __extension__
extern __inline
void
14190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14191 vst3_lane_f32 (float32_t
* __a
, float32x2x3_t __b
, const int __c
)
14193 union { float32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14194 __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
14197 __extension__
extern __inline
void
14198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14199 vst3_lane_u8 (uint8_t * __a
, uint8x8x3_t __b
, const int __c
)
14201 union { uint8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14202 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14205 __extension__
extern __inline
void
14206 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14207 vst3_lane_u16 (uint16_t * __a
, uint16x4x3_t __b
, const int __c
)
14209 union { uint16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14210 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14213 __extension__
extern __inline
void
14214 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14215 vst3_lane_u32 (uint32_t * __a
, uint32x2x3_t __b
, const int __c
)
14217 union { uint32x2x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14218 __builtin_neon_vst3_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14221 __extension__
extern __inline
void
14222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14223 vst3_lane_p8 (poly8_t
* __a
, poly8x8x3_t __b
, const int __c
)
14225 union { poly8x8x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14226 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14229 __extension__
extern __inline
void
14230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14231 vst3_lane_p16 (poly16_t
* __a
, poly16x4x3_t __b
, const int __c
)
14233 union { poly16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
14234 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14237 __extension__
extern __inline
void
14238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14239 vst3q_lane_s16 (int16_t * __a
, int16x8x3_t __b
, const int __c
)
14241 union { int16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14242 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14245 __extension__
extern __inline
void
14246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14247 vst3q_lane_s32 (int32_t * __a
, int32x4x3_t __b
, const int __c
)
14249 union { int32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14250 __builtin_neon_vst3_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14253 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14254 __extension__
extern __inline
void
14255 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14256 vst3q_lane_f16 (float16_t
* __a
, float16x8x3_t __b
, const int __c
)
14258 union { float16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14259 __builtin_neon_vst3_lanev8hf (__a
, __bu
.__o
, __c
);
14263 __extension__
extern __inline
void
14264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14265 vst3q_lane_f32 (float32_t
* __a
, float32x4x3_t __b
, const int __c
)
14267 union { float32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14268 __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
14271 __extension__
extern __inline
void
14272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14273 vst3q_lane_u16 (uint16_t * __a
, uint16x8x3_t __b
, const int __c
)
14275 union { uint16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14276 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14279 __extension__
extern __inline
void
14280 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14281 vst3q_lane_u32 (uint32_t * __a
, uint32x4x3_t __b
, const int __c
)
14283 union { uint32x4x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14284 __builtin_neon_vst3_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14287 __extension__
extern __inline
void
14288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14289 vst3q_lane_p16 (poly16_t
* __a
, poly16x8x3_t __b
, const int __c
)
14291 union { poly16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
14292 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14295 __extension__
extern __inline int8x8x4_t
14296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14297 vld4_s8 (const int8_t * __a
)
14299 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14300 __rv
.__o
= __builtin_neon_vld4v8qi ((const __builtin_neon_qi
*) __a
);
14304 __extension__
extern __inline int16x4x4_t
14305 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14306 vld4_s16 (const int16_t * __a
)
14308 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14309 __rv
.__o
= __builtin_neon_vld4v4hi ((const __builtin_neon_hi
*) __a
);
14313 __extension__
extern __inline int32x2x4_t
14314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14315 vld4_s32 (const int32_t * __a
)
14317 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14318 __rv
.__o
= __builtin_neon_vld4v2si ((const __builtin_neon_si
*) __a
);
14322 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14323 __extension__
extern __inline float16x4x4_t
14324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14325 vld4_f16 (const float16_t
* __a
)
14327 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14328 __rv
.__o
= __builtin_neon_vld4v4hf (__a
);
14333 __extension__
extern __inline float32x2x4_t
14334 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14335 vld4_f32 (const float32_t
* __a
)
14337 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14338 __rv
.__o
= __builtin_neon_vld4v2sf ((const __builtin_neon_sf
*) __a
);
14342 __extension__
extern __inline uint8x8x4_t
14343 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14344 vld4_u8 (const uint8_t * __a
)
14346 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14347 __rv
.__o
= __builtin_neon_vld4v8qi ((const __builtin_neon_qi
*) __a
);
14351 __extension__
extern __inline uint16x4x4_t
14352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14353 vld4_u16 (const uint16_t * __a
)
14355 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14356 __rv
.__o
= __builtin_neon_vld4v4hi ((const __builtin_neon_hi
*) __a
);
14360 __extension__
extern __inline uint32x2x4_t
14361 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14362 vld4_u32 (const uint32_t * __a
)
14364 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14365 __rv
.__o
= __builtin_neon_vld4v2si ((const __builtin_neon_si
*) __a
);
14369 __extension__
extern __inline poly8x8x4_t
14370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14371 vld4_p8 (const poly8_t
* __a
)
14373 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14374 __rv
.__o
= __builtin_neon_vld4v8qi ((const __builtin_neon_qi
*) __a
);
14378 __extension__
extern __inline poly16x4x4_t
14379 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14380 vld4_p16 (const poly16_t
* __a
)
14382 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14383 __rv
.__o
= __builtin_neon_vld4v4hi ((const __builtin_neon_hi
*) __a
);
14387 #pragma GCC push_options
14388 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14389 __extension__
extern __inline poly64x1x4_t
14390 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14391 vld4_p64 (const poly64_t
* __a
)
14393 union { poly64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14394 __rv
.__o
= __builtin_neon_vld4di ((const __builtin_neon_di
*) __a
);
14398 #pragma GCC pop_options
14399 __extension__
extern __inline int64x1x4_t
14400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14401 vld4_s64 (const int64_t * __a
)
14403 union { int64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14404 __rv
.__o
= __builtin_neon_vld4di ((const __builtin_neon_di
*) __a
);
14408 __extension__
extern __inline uint64x1x4_t
14409 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14410 vld4_u64 (const uint64_t * __a
)
14412 union { uint64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14413 __rv
.__o
= __builtin_neon_vld4di ((const __builtin_neon_di
*) __a
);
14417 __extension__
extern __inline int8x16x4_t
14418 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14419 vld4q_s8 (const int8_t * __a
)
14421 union { int8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14422 __rv
.__o
= __builtin_neon_vld4v16qi ((const __builtin_neon_qi
*) __a
);
14426 __extension__
extern __inline int16x8x4_t
14427 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14428 vld4q_s16 (const int16_t * __a
)
14430 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14431 __rv
.__o
= __builtin_neon_vld4v8hi ((const __builtin_neon_hi
*) __a
);
14435 __extension__
extern __inline int32x4x4_t
14436 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14437 vld4q_s32 (const int32_t * __a
)
14439 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14440 __rv
.__o
= __builtin_neon_vld4v4si ((const __builtin_neon_si
*) __a
);
14444 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14445 __extension__
extern __inline float16x8x4_t
14446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14447 vld4q_f16 (const float16_t
* __a
)
14449 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14450 __rv
.__o
= __builtin_neon_vld4v8hf (__a
);
14455 __extension__
extern __inline float32x4x4_t
14456 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14457 vld4q_f32 (const float32_t
* __a
)
14459 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14460 __rv
.__o
= __builtin_neon_vld4v4sf ((const __builtin_neon_sf
*) __a
);
14464 __extension__
extern __inline uint8x16x4_t
14465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14466 vld4q_u8 (const uint8_t * __a
)
14468 union { uint8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14469 __rv
.__o
= __builtin_neon_vld4v16qi ((const __builtin_neon_qi
*) __a
);
14473 __extension__
extern __inline uint16x8x4_t
14474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14475 vld4q_u16 (const uint16_t * __a
)
14477 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14478 __rv
.__o
= __builtin_neon_vld4v8hi ((const __builtin_neon_hi
*) __a
);
14482 __extension__
extern __inline uint32x4x4_t
14483 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14484 vld4q_u32 (const uint32_t * __a
)
14486 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14487 __rv
.__o
= __builtin_neon_vld4v4si ((const __builtin_neon_si
*) __a
);
14491 __extension__
extern __inline poly8x16x4_t
14492 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14493 vld4q_p8 (const poly8_t
* __a
)
14495 union { poly8x16x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14496 __rv
.__o
= __builtin_neon_vld4v16qi ((const __builtin_neon_qi
*) __a
);
14500 __extension__
extern __inline poly16x8x4_t
14501 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14502 vld4q_p16 (const poly16_t
* __a
)
14504 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14505 __rv
.__o
= __builtin_neon_vld4v8hi ((const __builtin_neon_hi
*) __a
);
14509 __extension__
extern __inline int8x8x4_t
14510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14511 vld4_lane_s8 (const int8_t * __a
, int8x8x4_t __b
, const int __c
)
14513 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14514 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14515 __rv
.__o
= __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14519 __extension__
extern __inline int16x4x4_t
14520 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14521 vld4_lane_s16 (const int16_t * __a
, int16x4x4_t __b
, const int __c
)
14523 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14524 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14525 __rv
.__o
= __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14529 __extension__
extern __inline int32x2x4_t
14530 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14531 vld4_lane_s32 (const int32_t * __a
, int32x2x4_t __b
, const int __c
)
14533 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14534 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14535 __rv
.__o
= __builtin_neon_vld4_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14539 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14540 __extension__
extern __inline float16x4x4_t
14541 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14542 vld4_lane_f16 (const float16_t
* __a
, float16x4x4_t __b
, const int __c
)
14544 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14545 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14546 __rv
.__o
= __builtin_neon_vld4_lanev4hf (__a
,
14552 __extension__
extern __inline float32x2x4_t
14553 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14554 vld4_lane_f32 (const float32_t
* __a
, float32x2x4_t __b
, const int __c
)
14556 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14557 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14558 __rv
.__o
= __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
14562 __extension__
extern __inline uint8x8x4_t
14563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14564 vld4_lane_u8 (const uint8_t * __a
, uint8x8x4_t __b
, const int __c
)
14566 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14567 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14568 __rv
.__o
= __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14572 __extension__
extern __inline uint16x4x4_t
14573 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14574 vld4_lane_u16 (const uint16_t * __a
, uint16x4x4_t __b
, const int __c
)
14576 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14577 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14578 __rv
.__o
= __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14582 __extension__
extern __inline uint32x2x4_t
14583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14584 vld4_lane_u32 (const uint32_t * __a
, uint32x2x4_t __b
, const int __c
)
14586 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14587 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14588 __rv
.__o
= __builtin_neon_vld4_lanev2si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14592 __extension__
extern __inline poly8x8x4_t
14593 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14594 vld4_lane_p8 (const poly8_t
* __a
, poly8x8x4_t __b
, const int __c
)
14596 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14597 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14598 __rv
.__o
= __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
14602 __extension__
extern __inline poly16x4x4_t
14603 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14604 vld4_lane_p16 (const poly16_t
* __a
, poly16x4x4_t __b
, const int __c
)
14606 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14607 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14608 __rv
.__o
= __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14612 __extension__
extern __inline int16x8x4_t
14613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14614 vld4q_lane_s16 (const int16_t * __a
, int16x8x4_t __b
, const int __c
)
14616 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14617 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14618 __rv
.__o
= __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14622 __extension__
extern __inline int32x4x4_t
14623 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14624 vld4q_lane_s32 (const int32_t * __a
, int32x4x4_t __b
, const int __c
)
14626 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14627 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14628 __rv
.__o
= __builtin_neon_vld4_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14632 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14633 __extension__
extern __inline float16x8x4_t
14634 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14635 vld4q_lane_f16 (const float16_t
* __a
, float16x8x4_t __b
, const int __c
)
14637 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14638 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14639 __rv
.__o
= __builtin_neon_vld4_lanev8hf (__a
,
14645 __extension__
extern __inline float32x4x4_t
14646 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14647 vld4q_lane_f32 (const float32_t
* __a
, float32x4x4_t __b
, const int __c
)
14649 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14650 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14651 __rv
.__o
= __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
14655 __extension__
extern __inline uint16x8x4_t
14656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14657 vld4q_lane_u16 (const uint16_t * __a
, uint16x8x4_t __b
, const int __c
)
14659 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14660 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14661 __rv
.__o
= __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14665 __extension__
extern __inline uint32x4x4_t
14666 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14667 vld4q_lane_u32 (const uint32_t * __a
, uint32x4x4_t __b
, const int __c
)
14669 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14670 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14671 __rv
.__o
= __builtin_neon_vld4_lanev4si ((const __builtin_neon_si
*) __a
, __bu
.__o
, __c
);
14675 __extension__
extern __inline poly16x8x4_t
14676 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14677 vld4q_lane_p16 (const poly16_t
* __a
, poly16x8x4_t __b
, const int __c
)
14679 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14680 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
14681 __rv
.__o
= __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
14685 __extension__
extern __inline int8x8x4_t
14686 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14687 vld4_dup_s8 (const int8_t * __a
)
14689 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14690 __rv
.__o
= __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi
*) __a
);
14694 __extension__
extern __inline int16x4x4_t
14695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14696 vld4_dup_s16 (const int16_t * __a
)
14698 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14699 __rv
.__o
= __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi
*) __a
);
14703 __extension__
extern __inline int32x2x4_t
14704 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14705 vld4_dup_s32 (const int32_t * __a
)
14707 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14708 __rv
.__o
= __builtin_neon_vld4_dupv2si ((const __builtin_neon_si
*) __a
);
14712 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14713 __extension__
extern __inline float16x4x4_t
14714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14715 vld4_dup_f16 (const float16_t
* __a
)
14717 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14718 __rv
.__o
= __builtin_neon_vld4_dupv4hf (__a
);
14723 __extension__
extern __inline float32x2x4_t
14724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14725 vld4_dup_f32 (const float32_t
* __a
)
14727 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14728 __rv
.__o
= __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf
*) __a
);
14732 __extension__
extern __inline uint8x8x4_t
14733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14734 vld4_dup_u8 (const uint8_t * __a
)
14736 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14737 __rv
.__o
= __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi
*) __a
);
14741 __extension__
extern __inline uint16x4x4_t
14742 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14743 vld4_dup_u16 (const uint16_t * __a
)
14745 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14746 __rv
.__o
= __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi
*) __a
);
14750 __extension__
extern __inline uint32x2x4_t
14751 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14752 vld4_dup_u32 (const uint32_t * __a
)
14754 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14755 __rv
.__o
= __builtin_neon_vld4_dupv2si ((const __builtin_neon_si
*) __a
);
14759 __extension__
extern __inline poly8x8x4_t
14760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14761 vld4_dup_p8 (const poly8_t
* __a
)
14763 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14764 __rv
.__o
= __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi
*) __a
);
14768 __extension__
extern __inline poly16x4x4_t
14769 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14770 vld4_dup_p16 (const poly16_t
* __a
)
14772 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14773 __rv
.__o
= __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi
*) __a
);
14777 #pragma GCC push_options
14778 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14779 __extension__
extern __inline poly64x1x4_t
14780 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14781 vld4_dup_p64 (const poly64_t
* __a
)
14783 union { poly64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14784 __rv
.__o
= __builtin_neon_vld4_dupdi ((const __builtin_neon_di
*) __a
);
14788 #pragma GCC pop_options
14789 __extension__
extern __inline int64x1x4_t
14790 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14791 vld4_dup_s64 (const int64_t * __a
)
14793 union { int64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14794 __rv
.__o
= __builtin_neon_vld4_dupdi ((const __builtin_neon_di
*) __a
);
14798 __extension__
extern __inline uint64x1x4_t
14799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14800 vld4_dup_u64 (const uint64_t * __a
)
14802 union { uint64x1x4_t __i
; __builtin_neon_oi __o
; } __rv
;
14803 __rv
.__o
= __builtin_neon_vld4_dupdi ((const __builtin_neon_di
*) __a
);
14807 __extension__
extern __inline
void
14808 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14809 vst4_s8 (int8_t * __a
, int8x8x4_t __b
)
14811 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14812 __builtin_neon_vst4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14815 __extension__
extern __inline
void
14816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14817 vst4_s16 (int16_t * __a
, int16x4x4_t __b
)
14819 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14820 __builtin_neon_vst4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14823 __extension__
extern __inline
void
14824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14825 vst4_s32 (int32_t * __a
, int32x2x4_t __b
)
14827 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14828 __builtin_neon_vst4v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14831 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14832 __extension__
extern __inline
void
14833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14834 vst4_f16 (float16_t
* __a
, float16x4x4_t __b
)
14836 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14837 __builtin_neon_vst4v4hf (__a
, __bu
.__o
);
14841 __extension__
extern __inline
void
14842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14843 vst4_f32 (float32_t
* __a
, float32x2x4_t __b
)
14845 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14846 __builtin_neon_vst4v2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
14849 __extension__
extern __inline
void
14850 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14851 vst4_u8 (uint8_t * __a
, uint8x8x4_t __b
)
14853 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14854 __builtin_neon_vst4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14857 __extension__
extern __inline
void
14858 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14859 vst4_u16 (uint16_t * __a
, uint16x4x4_t __b
)
14861 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14862 __builtin_neon_vst4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14865 __extension__
extern __inline
void
14866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14867 vst4_u32 (uint32_t * __a
, uint32x2x4_t __b
)
14869 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14870 __builtin_neon_vst4v2si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14873 __extension__
extern __inline
void
14874 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14875 vst4_p8 (poly8_t
* __a
, poly8x8x4_t __b
)
14877 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14878 __builtin_neon_vst4v8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14881 __extension__
extern __inline
void
14882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14883 vst4_p16 (poly16_t
* __a
, poly16x4x4_t __b
)
14885 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14886 __builtin_neon_vst4v4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14889 #pragma GCC push_options
14890 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14891 __extension__
extern __inline
void
14892 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14893 vst4_p64 (poly64_t
* __a
, poly64x1x4_t __b
)
14895 union { poly64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14896 __builtin_neon_vst4di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14899 #pragma GCC pop_options
14900 __extension__
extern __inline
void
14901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14902 vst4_s64 (int64_t * __a
, int64x1x4_t __b
)
14904 union { int64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14905 __builtin_neon_vst4di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14908 __extension__
extern __inline
void
14909 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14910 vst4_u64 (uint64_t * __a
, uint64x1x4_t __b
)
14912 union { uint64x1x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
14913 __builtin_neon_vst4di ((__builtin_neon_di
*) __a
, __bu
.__o
);
14916 __extension__
extern __inline
void
14917 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14918 vst4q_s8 (int8_t * __a
, int8x16x4_t __b
)
14920 union { int8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14921 __builtin_neon_vst4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14924 __extension__
extern __inline
void
14925 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14926 vst4q_s16 (int16_t * __a
, int16x8x4_t __b
)
14928 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14929 __builtin_neon_vst4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14932 __extension__
extern __inline
void
14933 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14934 vst4q_s32 (int32_t * __a
, int32x4x4_t __b
)
14936 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14937 __builtin_neon_vst4v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14940 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14941 __extension__
extern __inline
void
14942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14943 vst4q_f16 (float16_t
* __a
, float16x8x4_t __b
)
14945 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14946 __builtin_neon_vst4v8hf (__a
, __bu
.__o
);
14950 __extension__
extern __inline
void
14951 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14952 vst4q_f32 (float32_t
* __a
, float32x4x4_t __b
)
14954 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14955 __builtin_neon_vst4v4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
);
14958 __extension__
extern __inline
void
14959 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14960 vst4q_u8 (uint8_t * __a
, uint8x16x4_t __b
)
14962 union { uint8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14963 __builtin_neon_vst4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14966 __extension__
extern __inline
void
14967 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14968 vst4q_u16 (uint16_t * __a
, uint16x8x4_t __b
)
14970 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14971 __builtin_neon_vst4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14974 __extension__
extern __inline
void
14975 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14976 vst4q_u32 (uint32_t * __a
, uint32x4x4_t __b
)
14978 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14979 __builtin_neon_vst4v4si ((__builtin_neon_si
*) __a
, __bu
.__o
);
14982 __extension__
extern __inline
void
14983 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14984 vst4q_p8 (poly8_t
* __a
, poly8x16x4_t __b
)
14986 union { poly8x16x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14987 __builtin_neon_vst4v16qi ((__builtin_neon_qi
*) __a
, __bu
.__o
);
14990 __extension__
extern __inline
void
14991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
14992 vst4q_p16 (poly16_t
* __a
, poly16x8x4_t __b
)
14994 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
14995 __builtin_neon_vst4v8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
);
14998 __extension__
extern __inline
void
14999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15000 vst4_lane_s8 (int8_t * __a
, int8x8x4_t __b
, const int __c
)
15002 union { int8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15003 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
15006 __extension__
extern __inline
void
15007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15008 vst4_lane_s16 (int16_t * __a
, int16x4x4_t __b
, const int __c
)
15010 union { int16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15011 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15014 __extension__
extern __inline
void
15015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15016 vst4_lane_s32 (int32_t * __a
, int32x2x4_t __b
, const int __c
)
15018 union { int32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15019 __builtin_neon_vst4_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
15022 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15023 __extension__
extern __inline
void
15024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15025 vst4_lane_f16 (float16_t
* __a
, float16x4x4_t __b
, const int __c
)
15027 union { float16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15028 __builtin_neon_vst4_lanev4hf (__a
, __bu
.__o
, __c
);
15032 __extension__
extern __inline
void
15033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15034 vst4_lane_f32 (float32_t
* __a
, float32x2x4_t __b
, const int __c
)
15036 union { float32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15037 __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
15040 __extension__
extern __inline
void
15041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15042 vst4_lane_u8 (uint8_t * __a
, uint8x8x4_t __b
, const int __c
)
15044 union { uint8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15045 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
15048 __extension__
extern __inline
void
15049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15050 vst4_lane_u16 (uint16_t * __a
, uint16x4x4_t __b
, const int __c
)
15052 union { uint16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15053 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15056 __extension__
extern __inline
void
15057 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15058 vst4_lane_u32 (uint32_t * __a
, uint32x2x4_t __b
, const int __c
)
15060 union { uint32x2x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15061 __builtin_neon_vst4_lanev2si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
15064 __extension__
extern __inline
void
15065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15066 vst4_lane_p8 (poly8_t
* __a
, poly8x8x4_t __b
, const int __c
)
15068 union { poly8x8x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15069 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi
*) __a
, __bu
.__o
, __c
);
15072 __extension__
extern __inline
void
15073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15074 vst4_lane_p16 (poly16_t
* __a
, poly16x4x4_t __b
, const int __c
)
15076 union { poly16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
15077 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15080 __extension__
extern __inline
void
15081 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15082 vst4q_lane_s16 (int16_t * __a
, int16x8x4_t __b
, const int __c
)
15084 union { int16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15085 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15088 __extension__
extern __inline
void
15089 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15090 vst4q_lane_s32 (int32_t * __a
, int32x4x4_t __b
, const int __c
)
15092 union { int32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15093 __builtin_neon_vst4_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
15096 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15097 __extension__
extern __inline
void
15098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15099 vst4q_lane_f16 (float16_t
* __a
, float16x8x4_t __b
, const int __c
)
15101 union { float16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15102 __builtin_neon_vst4_lanev8hf (__a
, __bu
.__o
, __c
);
15106 __extension__
extern __inline
void
15107 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15108 vst4q_lane_f32 (float32_t
* __a
, float32x4x4_t __b
, const int __c
)
15110 union { float32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15111 __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf
*) __a
, __bu
.__o
, __c
);
15114 __extension__
extern __inline
void
15115 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15116 vst4q_lane_u16 (uint16_t * __a
, uint16x8x4_t __b
, const int __c
)
15118 union { uint16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15119 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15122 __extension__
extern __inline
void
15123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15124 vst4q_lane_u32 (uint32_t * __a
, uint32x4x4_t __b
, const int __c
)
15126 union { uint32x4x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15127 __builtin_neon_vst4_lanev4si ((__builtin_neon_si
*) __a
, __bu
.__o
, __c
);
15130 __extension__
extern __inline
void
15131 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15132 vst4q_lane_p16 (poly16_t
* __a
, poly16x8x4_t __b
, const int __c
)
15134 union { poly16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
15135 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi
*) __a
, __bu
.__o
, __c
);
15138 __extension__
extern __inline int8x8_t
15139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15140 vand_s8 (int8x8_t __a
, int8x8_t __b
)
15145 __extension__
extern __inline int16x4_t
15146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15147 vand_s16 (int16x4_t __a
, int16x4_t __b
)
15152 __extension__
extern __inline int32x2_t
15153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15154 vand_s32 (int32x2_t __a
, int32x2_t __b
)
15159 __extension__
extern __inline uint8x8_t
15160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15161 vand_u8 (uint8x8_t __a
, uint8x8_t __b
)
15166 __extension__
extern __inline uint16x4_t
15167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15168 vand_u16 (uint16x4_t __a
, uint16x4_t __b
)
15173 __extension__
extern __inline uint32x2_t
15174 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15175 vand_u32 (uint32x2_t __a
, uint32x2_t __b
)
15180 __extension__
extern __inline int64x1_t
15181 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15182 vand_s64 (int64x1_t __a
, int64x1_t __b
)
15187 __extension__
extern __inline uint64x1_t
15188 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15189 vand_u64 (uint64x1_t __a
, uint64x1_t __b
)
15194 __extension__
extern __inline int8x16_t
15195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15196 vandq_s8 (int8x16_t __a
, int8x16_t __b
)
15201 __extension__
extern __inline int16x8_t
15202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15203 vandq_s16 (int16x8_t __a
, int16x8_t __b
)
15208 __extension__
extern __inline int32x4_t
15209 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15210 vandq_s32 (int32x4_t __a
, int32x4_t __b
)
15215 __extension__
extern __inline int64x2_t
15216 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15217 vandq_s64 (int64x2_t __a
, int64x2_t __b
)
15222 __extension__
extern __inline uint8x16_t
15223 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15224 vandq_u8 (uint8x16_t __a
, uint8x16_t __b
)
15229 __extension__
extern __inline uint16x8_t
15230 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15231 vandq_u16 (uint16x8_t __a
, uint16x8_t __b
)
15236 __extension__
extern __inline uint32x4_t
15237 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15238 vandq_u32 (uint32x4_t __a
, uint32x4_t __b
)
15243 __extension__
extern __inline uint64x2_t
15244 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15245 vandq_u64 (uint64x2_t __a
, uint64x2_t __b
)
15250 __extension__
extern __inline int8x8_t
15251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15252 vorr_s8 (int8x8_t __a
, int8x8_t __b
)
15257 __extension__
extern __inline int16x4_t
15258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15259 vorr_s16 (int16x4_t __a
, int16x4_t __b
)
15264 __extension__
extern __inline int32x2_t
15265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15266 vorr_s32 (int32x2_t __a
, int32x2_t __b
)
15271 __extension__
extern __inline uint8x8_t
15272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15273 vorr_u8 (uint8x8_t __a
, uint8x8_t __b
)
15278 __extension__
extern __inline uint16x4_t
15279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15280 vorr_u16 (uint16x4_t __a
, uint16x4_t __b
)
15285 __extension__
extern __inline uint32x2_t
15286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15287 vorr_u32 (uint32x2_t __a
, uint32x2_t __b
)
15292 __extension__
extern __inline int64x1_t
15293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15294 vorr_s64 (int64x1_t __a
, int64x1_t __b
)
15299 __extension__
extern __inline uint64x1_t
15300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15301 vorr_u64 (uint64x1_t __a
, uint64x1_t __b
)
15306 __extension__
extern __inline int8x16_t
15307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15308 vorrq_s8 (int8x16_t __a
, int8x16_t __b
)
15313 __extension__
extern __inline int16x8_t
15314 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15315 vorrq_s16 (int16x8_t __a
, int16x8_t __b
)
15320 __extension__
extern __inline int32x4_t
15321 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15322 vorrq_s32 (int32x4_t __a
, int32x4_t __b
)
15327 __extension__
extern __inline int64x2_t
15328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15329 vorrq_s64 (int64x2_t __a
, int64x2_t __b
)
15334 __extension__
extern __inline uint8x16_t
15335 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15336 vorrq_u8 (uint8x16_t __a
, uint8x16_t __b
)
15341 __extension__
extern __inline uint16x8_t
15342 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15343 vorrq_u16 (uint16x8_t __a
, uint16x8_t __b
)
15348 __extension__
extern __inline uint32x4_t
15349 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15350 vorrq_u32 (uint32x4_t __a
, uint32x4_t __b
)
15355 __extension__
extern __inline uint64x2_t
15356 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15357 vorrq_u64 (uint64x2_t __a
, uint64x2_t __b
)
15362 __extension__
extern __inline int8x8_t
15363 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15364 veor_s8 (int8x8_t __a
, int8x8_t __b
)
15369 __extension__
extern __inline int16x4_t
15370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15371 veor_s16 (int16x4_t __a
, int16x4_t __b
)
15376 __extension__
extern __inline int32x2_t
15377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15378 veor_s32 (int32x2_t __a
, int32x2_t __b
)
15383 __extension__
extern __inline uint8x8_t
15384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15385 veor_u8 (uint8x8_t __a
, uint8x8_t __b
)
15390 __extension__
extern __inline uint16x4_t
15391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15392 veor_u16 (uint16x4_t __a
, uint16x4_t __b
)
15397 __extension__
extern __inline uint32x2_t
15398 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15399 veor_u32 (uint32x2_t __a
, uint32x2_t __b
)
15404 __extension__
extern __inline int64x1_t
15405 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15406 veor_s64 (int64x1_t __a
, int64x1_t __b
)
15411 __extension__
extern __inline uint64x1_t
15412 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15413 veor_u64 (uint64x1_t __a
, uint64x1_t __b
)
15418 __extension__
extern __inline int8x16_t
15419 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15420 veorq_s8 (int8x16_t __a
, int8x16_t __b
)
15425 __extension__
extern __inline int16x8_t
15426 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15427 veorq_s16 (int16x8_t __a
, int16x8_t __b
)
15432 __extension__
extern __inline int32x4_t
15433 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15434 veorq_s32 (int32x4_t __a
, int32x4_t __b
)
15439 __extension__
extern __inline int64x2_t
15440 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15441 veorq_s64 (int64x2_t __a
, int64x2_t __b
)
15446 __extension__
extern __inline uint8x16_t
15447 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15448 veorq_u8 (uint8x16_t __a
, uint8x16_t __b
)
15453 __extension__
extern __inline uint16x8_t
15454 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15455 veorq_u16 (uint16x8_t __a
, uint16x8_t __b
)
15460 __extension__
extern __inline uint32x4_t
15461 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15462 veorq_u32 (uint32x4_t __a
, uint32x4_t __b
)
15467 __extension__
extern __inline uint64x2_t
15468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15469 veorq_u64 (uint64x2_t __a
, uint64x2_t __b
)
15474 __extension__
extern __inline int8x8_t
15475 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15476 vbic_s8 (int8x8_t __a
, int8x8_t __b
)
15481 __extension__
extern __inline int16x4_t
15482 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15483 vbic_s16 (int16x4_t __a
, int16x4_t __b
)
15488 __extension__
extern __inline int32x2_t
15489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15490 vbic_s32 (int32x2_t __a
, int32x2_t __b
)
15495 __extension__
extern __inline uint8x8_t
15496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15497 vbic_u8 (uint8x8_t __a
, uint8x8_t __b
)
15502 __extension__
extern __inline uint16x4_t
15503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15504 vbic_u16 (uint16x4_t __a
, uint16x4_t __b
)
15509 __extension__
extern __inline uint32x2_t
15510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15511 vbic_u32 (uint32x2_t __a
, uint32x2_t __b
)
15516 __extension__
extern __inline int64x1_t
15517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15518 vbic_s64 (int64x1_t __a
, int64x1_t __b
)
15523 __extension__
extern __inline uint64x1_t
15524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15525 vbic_u64 (uint64x1_t __a
, uint64x1_t __b
)
15530 __extension__
extern __inline int8x16_t
15531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15532 vbicq_s8 (int8x16_t __a
, int8x16_t __b
)
15537 __extension__
extern __inline int16x8_t
15538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15539 vbicq_s16 (int16x8_t __a
, int16x8_t __b
)
15544 __extension__
extern __inline int32x4_t
15545 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15546 vbicq_s32 (int32x4_t __a
, int32x4_t __b
)
15551 __extension__
extern __inline int64x2_t
15552 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15553 vbicq_s64 (int64x2_t __a
, int64x2_t __b
)
15558 __extension__
extern __inline uint8x16_t
15559 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15560 vbicq_u8 (uint8x16_t __a
, uint8x16_t __b
)
15565 __extension__
extern __inline uint16x8_t
15566 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15567 vbicq_u16 (uint16x8_t __a
, uint16x8_t __b
)
15572 __extension__
extern __inline uint32x4_t
15573 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15574 vbicq_u32 (uint32x4_t __a
, uint32x4_t __b
)
15579 __extension__
extern __inline uint64x2_t
15580 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15581 vbicq_u64 (uint64x2_t __a
, uint64x2_t __b
)
15586 __extension__
extern __inline int8x8_t
15587 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15588 vorn_s8 (int8x8_t __a
, int8x8_t __b
)
15593 __extension__
extern __inline int16x4_t
15594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15595 vorn_s16 (int16x4_t __a
, int16x4_t __b
)
15600 __extension__
extern __inline int32x2_t
15601 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15602 vorn_s32 (int32x2_t __a
, int32x2_t __b
)
15607 __extension__
extern __inline uint8x8_t
15608 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15609 vorn_u8 (uint8x8_t __a
, uint8x8_t __b
)
15614 __extension__
extern __inline uint16x4_t
15615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15616 vorn_u16 (uint16x4_t __a
, uint16x4_t __b
)
15621 __extension__
extern __inline uint32x2_t
15622 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15623 vorn_u32 (uint32x2_t __a
, uint32x2_t __b
)
15628 __extension__
extern __inline int64x1_t
15629 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15630 vorn_s64 (int64x1_t __a
, int64x1_t __b
)
15635 __extension__
extern __inline uint64x1_t
15636 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15637 vorn_u64 (uint64x1_t __a
, uint64x1_t __b
)
15642 __extension__
extern __inline int8x16_t
15643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15644 vornq_s8 (int8x16_t __a
, int8x16_t __b
)
15649 __extension__
extern __inline int16x8_t
15650 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15651 vornq_s16 (int16x8_t __a
, int16x8_t __b
)
15656 __extension__
extern __inline int32x4_t
15657 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15658 vornq_s32 (int32x4_t __a
, int32x4_t __b
)
15663 __extension__
extern __inline int64x2_t
15664 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15665 vornq_s64 (int64x2_t __a
, int64x2_t __b
)
15670 __extension__
extern __inline uint8x16_t
15671 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15672 vornq_u8 (uint8x16_t __a
, uint8x16_t __b
)
15677 __extension__
extern __inline uint16x8_t
15678 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15679 vornq_u16 (uint16x8_t __a
, uint16x8_t __b
)
15684 __extension__
extern __inline uint32x4_t
15685 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15686 vornq_u32 (uint32x4_t __a
, uint32x4_t __b
)
15691 __extension__
extern __inline uint64x2_t
15692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15693 vornq_u64 (uint64x2_t __a
, uint64x2_t __b
)
15698 __extension__
extern __inline poly8x8_t
15699 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15700 vreinterpret_p8_p16 (poly16x4_t __a
)
15702 return (poly8x8_t
) __a
;
15705 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15706 __extension__
extern __inline poly8x8_t
15707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15708 vreinterpret_p8_f16 (float16x4_t __a
)
15710 return (poly8x8_t
) __a
;
15714 __extension__
extern __inline poly8x8_t
15715 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15716 vreinterpret_p8_f32 (float32x2_t __a
)
15718 return (poly8x8_t
)__a
;
15721 #pragma GCC push_options
15722 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15723 __extension__
extern __inline poly8x8_t
15724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15725 vreinterpret_p8_p64 (poly64x1_t __a
)
15727 return (poly8x8_t
)__a
;
15730 #pragma GCC pop_options
15731 __extension__
extern __inline poly8x8_t
15732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15733 vreinterpret_p8_s64 (int64x1_t __a
)
15735 return (poly8x8_t
)__a
;
15738 __extension__
extern __inline poly8x8_t
15739 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15740 vreinterpret_p8_u64 (uint64x1_t __a
)
15742 return (poly8x8_t
)__a
;
15745 __extension__
extern __inline poly8x8_t
15746 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15747 vreinterpret_p8_s8 (int8x8_t __a
)
15749 return (poly8x8_t
)__a
;
15752 __extension__
extern __inline poly8x8_t
15753 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15754 vreinterpret_p8_s16 (int16x4_t __a
)
15756 return (poly8x8_t
)__a
;
15759 __extension__
extern __inline poly8x8_t
15760 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15761 vreinterpret_p8_s32 (int32x2_t __a
)
15763 return (poly8x8_t
)__a
;
15766 __extension__
extern __inline poly8x8_t
15767 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15768 vreinterpret_p8_u8 (uint8x8_t __a
)
15770 return (poly8x8_t
)__a
;
15773 __extension__
extern __inline poly8x8_t
15774 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15775 vreinterpret_p8_u16 (uint16x4_t __a
)
15777 return (poly8x8_t
)__a
;
15780 __extension__
extern __inline poly8x8_t
15781 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15782 vreinterpret_p8_u32 (uint32x2_t __a
)
15784 return (poly8x8_t
)__a
;
15787 __extension__
extern __inline poly16x4_t
15788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15789 vreinterpret_p16_p8 (poly8x8_t __a
)
15791 return (poly16x4_t
)__a
;
15794 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15795 __extension__
extern __inline poly16x4_t
15796 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15797 vreinterpret_p16_f16 (float16x4_t __a
)
15799 return (poly16x4_t
) __a
;
15803 __extension__
extern __inline poly16x4_t
15804 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15805 vreinterpret_p16_f32 (float32x2_t __a
)
15807 return (poly16x4_t
)__a
;
15810 #pragma GCC push_options
15811 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15812 __extension__
extern __inline poly16x4_t
15813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15814 vreinterpret_p16_p64 (poly64x1_t __a
)
15816 return (poly16x4_t
)__a
;
15819 #pragma GCC pop_options
15820 __extension__
extern __inline poly16x4_t
15821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15822 vreinterpret_p16_s64 (int64x1_t __a
)
15824 return (poly16x4_t
)__a
;
15827 __extension__
extern __inline poly16x4_t
15828 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15829 vreinterpret_p16_u64 (uint64x1_t __a
)
15831 return (poly16x4_t
)__a
;
15834 __extension__
extern __inline poly16x4_t
15835 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15836 vreinterpret_p16_s8 (int8x8_t __a
)
15838 return (poly16x4_t
)__a
;
15841 __extension__
extern __inline poly16x4_t
15842 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15843 vreinterpret_p16_s16 (int16x4_t __a
)
15845 return (poly16x4_t
)__a
;
15848 __extension__
extern __inline poly16x4_t
15849 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15850 vreinterpret_p16_s32 (int32x2_t __a
)
15852 return (poly16x4_t
)__a
;
15855 __extension__
extern __inline poly16x4_t
15856 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15857 vreinterpret_p16_u8 (uint8x8_t __a
)
15859 return (poly16x4_t
)__a
;
15862 __extension__
extern __inline poly16x4_t
15863 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15864 vreinterpret_p16_u16 (uint16x4_t __a
)
15866 return (poly16x4_t
)__a
;
15869 __extension__
extern __inline poly16x4_t
15870 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15871 vreinterpret_p16_u32 (uint32x2_t __a
)
15873 return (poly16x4_t
)__a
;
15876 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15877 __extension__
extern __inline float16x4_t
15878 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15879 vreinterpret_f16_bf16 (bfloat16x4_t __a
)
15881 return (float16x4_t
) __a
;
15885 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15886 __extension__
extern __inline float16x4_t
15887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15888 vreinterpret_f16_p8 (poly8x8_t __a
)
15890 return (float16x4_t
) __a
;
15894 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15895 __extension__
extern __inline float16x4_t
15896 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15897 vreinterpret_f16_p16 (poly16x4_t __a
)
15899 return (float16x4_t
) __a
;
15903 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15904 __extension__
extern __inline float16x4_t
15905 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15906 vreinterpret_f16_f32 (float32x2_t __a
)
15908 return (float16x4_t
) __a
;
15912 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15913 #pragma GCC push_options
15914 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15915 __extension__
extern __inline float16x4_t
15916 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15917 vreinterpret_f16_p64 (poly64x1_t __a
)
15919 return (float16x4_t
) __a
;
15921 #pragma GCC pop_options
15924 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15925 __extension__
extern __inline float16x4_t
15926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15927 vreinterpret_f16_s64 (int64x1_t __a
)
15929 return (float16x4_t
) __a
;
15933 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15934 __extension__
extern __inline float16x4_t
15935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15936 vreinterpret_f16_u64 (uint64x1_t __a
)
15938 return (float16x4_t
) __a
;
15942 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15943 __extension__
extern __inline float16x4_t
15944 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15945 vreinterpret_f16_s8 (int8x8_t __a
)
15947 return (float16x4_t
) __a
;
15951 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15952 __extension__
extern __inline float16x4_t
15953 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15954 vreinterpret_f16_s16 (int16x4_t __a
)
15956 return (float16x4_t
) __a
;
15960 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15961 __extension__
extern __inline float16x4_t
15962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15963 vreinterpret_f16_s32 (int32x2_t __a
)
15965 return (float16x4_t
) __a
;
15969 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15970 __extension__
extern __inline float16x4_t
15971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15972 vreinterpret_f16_u8 (uint8x8_t __a
)
15974 return (float16x4_t
) __a
;
15978 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15979 __extension__
extern __inline float16x4_t
15980 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15981 vreinterpret_f16_u16 (uint16x4_t __a
)
15983 return (float16x4_t
) __a
;
15987 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15988 __extension__
extern __inline float16x4_t
15989 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15990 vreinterpret_f16_u32 (uint32x2_t __a
)
15992 return (float16x4_t
) __a
;
15996 __extension__
extern __inline float32x2_t
15997 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
15998 vreinterpret_f32_p8 (poly8x8_t __a
)
16000 return (float32x2_t
)__a
;
16003 __extension__
extern __inline float32x2_t
16004 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16005 vreinterpret_f32_p16 (poly16x4_t __a
)
16007 return (float32x2_t
)__a
;
16010 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16011 __extension__
extern __inline float32x2_t
16012 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16013 vreinterpret_f32_f16 (float16x4_t __a
)
16015 return (float32x2_t
) __a
;
16019 #pragma GCC push_options
16020 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16021 __extension__
extern __inline float32x2_t
16022 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16023 vreinterpret_f32_p64 (poly64x1_t __a
)
16025 return (float32x2_t
)__a
;
16028 #pragma GCC pop_options
16029 __extension__
extern __inline float32x2_t
16030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16031 vreinterpret_f32_s64 (int64x1_t __a
)
16033 return (float32x2_t
)__a
;
16036 __extension__
extern __inline float32x2_t
16037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16038 vreinterpret_f32_u64 (uint64x1_t __a
)
16040 return (float32x2_t
)__a
;
16043 __extension__
extern __inline float32x2_t
16044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16045 vreinterpret_f32_s8 (int8x8_t __a
)
16047 return (float32x2_t
)__a
;
16050 __extension__
extern __inline float32x2_t
16051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16052 vreinterpret_f32_s16 (int16x4_t __a
)
16054 return (float32x2_t
)__a
;
16057 __extension__
extern __inline float32x2_t
16058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16059 vreinterpret_f32_s32 (int32x2_t __a
)
16061 return (float32x2_t
)__a
;
16064 __extension__
extern __inline float32x2_t
16065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16066 vreinterpret_f32_u8 (uint8x8_t __a
)
16068 return (float32x2_t
)__a
;
16071 __extension__
extern __inline float32x2_t
16072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16073 vreinterpret_f32_u16 (uint16x4_t __a
)
16075 return (float32x2_t
)__a
;
16078 __extension__
extern __inline float32x2_t
16079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16080 vreinterpret_f32_u32 (uint32x2_t __a
)
16082 return (float32x2_t
)__a
;
16085 #pragma GCC push_options
16086 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16087 __extension__
extern __inline poly64x1_t
16088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16089 vreinterpret_p64_p8 (poly8x8_t __a
)
16091 return (poly64x1_t
)__a
;
16094 __extension__
extern __inline poly64x1_t
16095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16096 vreinterpret_p64_p16 (poly16x4_t __a
)
16098 return (poly64x1_t
)__a
;
16101 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16102 __extension__
extern __inline poly64x1_t
16103 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16104 vreinterpret_p64_f16 (float16x4_t __a
)
16106 return (poly64x1_t
) __a
;
16110 __extension__
extern __inline poly64x1_t
16111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16112 vreinterpret_p64_f32 (float32x2_t __a
)
16114 return (poly64x1_t
)__a
;
16117 __extension__
extern __inline poly64x1_t
16118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16119 vreinterpret_p64_s64 (int64x1_t __a
)
16121 return (poly64x1_t
)__a
;
16124 __extension__
extern __inline poly64x1_t
16125 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16126 vreinterpret_p64_u64 (uint64x1_t __a
)
16128 return (poly64x1_t
)__a
;
16131 __extension__
extern __inline poly64x1_t
16132 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16133 vreinterpret_p64_s8 (int8x8_t __a
)
16135 return (poly64x1_t
)__a
;
16138 __extension__
extern __inline poly64x1_t
16139 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16140 vreinterpret_p64_s16 (int16x4_t __a
)
16142 return (poly64x1_t
)__a
;
16145 __extension__
extern __inline poly64x1_t
16146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16147 vreinterpret_p64_s32 (int32x2_t __a
)
16149 return (poly64x1_t
)__a
;
16152 __extension__
extern __inline poly64x1_t
16153 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16154 vreinterpret_p64_u8 (uint8x8_t __a
)
16156 return (poly64x1_t
)__a
;
16159 __extension__
extern __inline poly64x1_t
16160 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16161 vreinterpret_p64_u16 (uint16x4_t __a
)
16163 return (poly64x1_t
)__a
;
16166 __extension__
extern __inline poly64x1_t
16167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16168 vreinterpret_p64_u32 (uint32x2_t __a
)
16170 return (poly64x1_t
)__a
;
16173 #pragma GCC pop_options
16174 __extension__
extern __inline int64x1_t
16175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16176 vreinterpret_s64_p8 (poly8x8_t __a
)
16178 return (int64x1_t
)__a
;
16181 __extension__
extern __inline int64x1_t
16182 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16183 vreinterpret_s64_p16 (poly16x4_t __a
)
16185 return (int64x1_t
)__a
;
16188 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16189 __extension__
extern __inline int64x1_t
16190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16191 vreinterpret_s64_f16 (float16x4_t __a
)
16193 return (int64x1_t
) __a
;
16197 __extension__
extern __inline int64x1_t
16198 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16199 vreinterpret_s64_f32 (float32x2_t __a
)
16201 return (int64x1_t
)__a
;
16204 #pragma GCC push_options
16205 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16206 __extension__
extern __inline int64x1_t
16207 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16208 vreinterpret_s64_p64 (poly64x1_t __a
)
16210 return (int64x1_t
)__a
;
16213 #pragma GCC pop_options
16214 __extension__
extern __inline int64x1_t
16215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16216 vreinterpret_s64_u64 (uint64x1_t __a
)
16218 return (int64x1_t
)__a
;
16221 __extension__
extern __inline int64x1_t
16222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16223 vreinterpret_s64_s8 (int8x8_t __a
)
16225 return (int64x1_t
)__a
;
16228 __extension__
extern __inline int64x1_t
16229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16230 vreinterpret_s64_s16 (int16x4_t __a
)
16232 return (int64x1_t
)__a
;
16235 __extension__
extern __inline int64x1_t
16236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16237 vreinterpret_s64_s32 (int32x2_t __a
)
16239 return (int64x1_t
)__a
;
16242 __extension__
extern __inline int64x1_t
16243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16244 vreinterpret_s64_u8 (uint8x8_t __a
)
16246 return (int64x1_t
)__a
;
16249 __extension__
extern __inline int64x1_t
16250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16251 vreinterpret_s64_u16 (uint16x4_t __a
)
16253 return (int64x1_t
)__a
;
16256 __extension__
extern __inline int64x1_t
16257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16258 vreinterpret_s64_u32 (uint32x2_t __a
)
16260 return (int64x1_t
)__a
;
16263 __extension__
extern __inline uint64x1_t
16264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16265 vreinterpret_u64_p8 (poly8x8_t __a
)
16267 return (uint64x1_t
)__a
;
16270 __extension__
extern __inline uint64x1_t
16271 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16272 vreinterpret_u64_p16 (poly16x4_t __a
)
16274 return (uint64x1_t
)__a
;
16277 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16278 __extension__
extern __inline uint64x1_t
16279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16280 vreinterpret_u64_f16 (float16x4_t __a
)
16282 return (uint64x1_t
) __a
;
16286 __extension__
extern __inline uint64x1_t
16287 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16288 vreinterpret_u64_f32 (float32x2_t __a
)
16290 return (uint64x1_t
)__a
;
16293 #pragma GCC push_options
16294 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16295 __extension__
extern __inline uint64x1_t
16296 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16297 vreinterpret_u64_p64 (poly64x1_t __a
)
16299 return (uint64x1_t
)__a
;
16302 #pragma GCC pop_options
16303 __extension__
extern __inline uint64x1_t
16304 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16305 vreinterpret_u64_s64 (int64x1_t __a
)
16307 return (uint64x1_t
)__a
;
16310 __extension__
extern __inline uint64x1_t
16311 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16312 vreinterpret_u64_s8 (int8x8_t __a
)
16314 return (uint64x1_t
)__a
;
16317 __extension__
extern __inline uint64x1_t
16318 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16319 vreinterpret_u64_s16 (int16x4_t __a
)
16321 return (uint64x1_t
)__a
;
16324 __extension__
extern __inline uint64x1_t
16325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16326 vreinterpret_u64_s32 (int32x2_t __a
)
16328 return (uint64x1_t
)__a
;
16331 __extension__
extern __inline uint64x1_t
16332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16333 vreinterpret_u64_u8 (uint8x8_t __a
)
16335 return (uint64x1_t
)__a
;
16338 __extension__
extern __inline uint64x1_t
16339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16340 vreinterpret_u64_u16 (uint16x4_t __a
)
16342 return (uint64x1_t
)__a
;
16345 __extension__
extern __inline uint64x1_t
16346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16347 vreinterpret_u64_u32 (uint32x2_t __a
)
16349 return (uint64x1_t
)__a
;
16352 __extension__
extern __inline int8x8_t
16353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16354 vreinterpret_s8_p8 (poly8x8_t __a
)
16356 return (int8x8_t
)__a
;
16359 __extension__
extern __inline int8x8_t
16360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16361 vreinterpret_s8_p16 (poly16x4_t __a
)
16363 return (int8x8_t
)__a
;
16366 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16367 __extension__
extern __inline int8x8_t
16368 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16369 vreinterpret_s8_f16 (float16x4_t __a
)
16371 return (int8x8_t
) __a
;
16375 __extension__
extern __inline int8x8_t
16376 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16377 vreinterpret_s8_f32 (float32x2_t __a
)
16379 return (int8x8_t
)__a
;
16382 #pragma GCC push_options
16383 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16384 __extension__
extern __inline int8x8_t
16385 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16386 vreinterpret_s8_p64 (poly64x1_t __a
)
16388 return (int8x8_t
)__a
;
16391 #pragma GCC pop_options
16392 __extension__
extern __inline int8x8_t
16393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16394 vreinterpret_s8_s64 (int64x1_t __a
)
16396 return (int8x8_t
)__a
;
16399 __extension__
extern __inline int8x8_t
16400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16401 vreinterpret_s8_u64 (uint64x1_t __a
)
16403 return (int8x8_t
)__a
;
16406 __extension__
extern __inline int8x8_t
16407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16408 vreinterpret_s8_s16 (int16x4_t __a
)
16410 return (int8x8_t
)__a
;
16413 __extension__
extern __inline int8x8_t
16414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16415 vreinterpret_s8_s32 (int32x2_t __a
)
16417 return (int8x8_t
)__a
;
16420 __extension__
extern __inline int8x8_t
16421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16422 vreinterpret_s8_u8 (uint8x8_t __a
)
16424 return (int8x8_t
)__a
;
16427 __extension__
extern __inline int8x8_t
16428 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16429 vreinterpret_s8_u16 (uint16x4_t __a
)
16431 return (int8x8_t
)__a
;
16434 __extension__
extern __inline int8x8_t
16435 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16436 vreinterpret_s8_u32 (uint32x2_t __a
)
16438 return (int8x8_t
)__a
;
16441 __extension__
extern __inline int16x4_t
16442 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16443 vreinterpret_s16_p8 (poly8x8_t __a
)
16445 return (int16x4_t
)__a
;
16448 __extension__
extern __inline int16x4_t
16449 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16450 vreinterpret_s16_p16 (poly16x4_t __a
)
16452 return (int16x4_t
)__a
;
16455 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16456 __extension__
extern __inline int16x4_t
16457 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16458 vreinterpret_s16_f16 (float16x4_t __a
)
16460 return (int16x4_t
) __a
;
16464 __extension__
extern __inline int16x4_t
16465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16466 vreinterpret_s16_f32 (float32x2_t __a
)
16468 return (int16x4_t
)__a
;
16471 #pragma GCC push_options
16472 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16473 __extension__
extern __inline int16x4_t
16474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16475 vreinterpret_s16_p64 (poly64x1_t __a
)
16477 return (int16x4_t
)__a
;
16480 #pragma GCC pop_options
16481 __extension__
extern __inline int16x4_t
16482 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16483 vreinterpret_s16_s64 (int64x1_t __a
)
16485 return (int16x4_t
)__a
;
16488 __extension__
extern __inline int16x4_t
16489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16490 vreinterpret_s16_u64 (uint64x1_t __a
)
16492 return (int16x4_t
)__a
;
16495 __extension__
extern __inline int16x4_t
16496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16497 vreinterpret_s16_s8 (int8x8_t __a
)
16499 return (int16x4_t
)__a
;
16502 __extension__
extern __inline int16x4_t
16503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16504 vreinterpret_s16_s32 (int32x2_t __a
)
16506 return (int16x4_t
)__a
;
16509 __extension__
extern __inline int16x4_t
16510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16511 vreinterpret_s16_u8 (uint8x8_t __a
)
16513 return (int16x4_t
)__a
;
16516 __extension__
extern __inline int16x4_t
16517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16518 vreinterpret_s16_u16 (uint16x4_t __a
)
16520 return (int16x4_t
)__a
;
16523 __extension__
extern __inline int16x4_t
16524 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16525 vreinterpret_s16_u32 (uint32x2_t __a
)
16527 return (int16x4_t
)__a
;
16530 __extension__
extern __inline int32x2_t
16531 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16532 vreinterpret_s32_p8 (poly8x8_t __a
)
16534 return (int32x2_t
)__a
;
16537 __extension__
extern __inline int32x2_t
16538 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16539 vreinterpret_s32_p16 (poly16x4_t __a
)
16541 return (int32x2_t
)__a
;
16544 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16545 __extension__
extern __inline int32x2_t
16546 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16547 vreinterpret_s32_f16 (float16x4_t __a
)
16549 return (int32x2_t
) __a
;
16553 __extension__
extern __inline int32x2_t
16554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16555 vreinterpret_s32_f32 (float32x2_t __a
)
16557 return (int32x2_t
)__a
;
16560 #pragma GCC push_options
16561 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16562 __extension__
extern __inline int32x2_t
16563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16564 vreinterpret_s32_p64 (poly64x1_t __a
)
16566 return (int32x2_t
)__a
;
16569 #pragma GCC pop_options
16570 __extension__
extern __inline int32x2_t
16571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16572 vreinterpret_s32_s64 (int64x1_t __a
)
16574 return (int32x2_t
)__a
;
16577 __extension__
extern __inline int32x2_t
16578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16579 vreinterpret_s32_u64 (uint64x1_t __a
)
16581 return (int32x2_t
)__a
;
16584 __extension__
extern __inline int32x2_t
16585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16586 vreinterpret_s32_s8 (int8x8_t __a
)
16588 return (int32x2_t
)__a
;
16591 __extension__
extern __inline int32x2_t
16592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16593 vreinterpret_s32_s16 (int16x4_t __a
)
16595 return (int32x2_t
)__a
;
16598 __extension__
extern __inline int32x2_t
16599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16600 vreinterpret_s32_u8 (uint8x8_t __a
)
16602 return (int32x2_t
)__a
;
16605 __extension__
extern __inline int32x2_t
16606 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16607 vreinterpret_s32_u16 (uint16x4_t __a
)
16609 return (int32x2_t
)__a
;
16612 __extension__
extern __inline int32x2_t
16613 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16614 vreinterpret_s32_u32 (uint32x2_t __a
)
16616 return (int32x2_t
)__a
;
16619 __extension__
extern __inline uint8x8_t
16620 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16621 vreinterpret_u8_p8 (poly8x8_t __a
)
16623 return (uint8x8_t
)__a
;
16626 __extension__
extern __inline uint8x8_t
16627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16628 vreinterpret_u8_p16 (poly16x4_t __a
)
16630 return (uint8x8_t
)__a
;
16633 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16634 __extension__
extern __inline uint8x8_t
16635 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16636 vreinterpret_u8_f16 (float16x4_t __a
)
16638 return (uint8x8_t
) __a
;
16642 __extension__
extern __inline uint8x8_t
16643 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16644 vreinterpret_u8_f32 (float32x2_t __a
)
16646 return (uint8x8_t
)__a
;
16649 #pragma GCC push_options
16650 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16651 __extension__
extern __inline uint8x8_t
16652 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16653 vreinterpret_u8_p64 (poly64x1_t __a
)
16655 return (uint8x8_t
)__a
;
16658 #pragma GCC pop_options
16659 __extension__
extern __inline uint8x8_t
16660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16661 vreinterpret_u8_s64 (int64x1_t __a
)
16663 return (uint8x8_t
)__a
;
16666 __extension__
extern __inline uint8x8_t
16667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16668 vreinterpret_u8_u64 (uint64x1_t __a
)
16670 return (uint8x8_t
)__a
;
16673 __extension__
extern __inline uint8x8_t
16674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16675 vreinterpret_u8_s8 (int8x8_t __a
)
16677 return (uint8x8_t
)__a
;
16680 __extension__
extern __inline uint8x8_t
16681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16682 vreinterpret_u8_s16 (int16x4_t __a
)
16684 return (uint8x8_t
)__a
;
16687 __extension__
extern __inline uint8x8_t
16688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16689 vreinterpret_u8_s32 (int32x2_t __a
)
16691 return (uint8x8_t
)__a
;
16694 __extension__
extern __inline uint8x8_t
16695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16696 vreinterpret_u8_u16 (uint16x4_t __a
)
16698 return (uint8x8_t
)__a
;
16701 __extension__
extern __inline uint8x8_t
16702 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16703 vreinterpret_u8_u32 (uint32x2_t __a
)
16705 return (uint8x8_t
)__a
;
16708 __extension__
extern __inline uint16x4_t
16709 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16710 vreinterpret_u16_p8 (poly8x8_t __a
)
16712 return (uint16x4_t
)__a
;
16715 __extension__
extern __inline uint16x4_t
16716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16717 vreinterpret_u16_p16 (poly16x4_t __a
)
16719 return (uint16x4_t
)__a
;
16722 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16723 __extension__
extern __inline uint16x4_t
16724 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16725 vreinterpret_u16_f16 (float16x4_t __a
)
16727 return (uint16x4_t
) __a
;
16731 __extension__
extern __inline uint16x4_t
16732 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16733 vreinterpret_u16_f32 (float32x2_t __a
)
16735 return (uint16x4_t
)__a
;
16738 #pragma GCC push_options
16739 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16740 __extension__
extern __inline uint16x4_t
16741 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16742 vreinterpret_u16_p64 (poly64x1_t __a
)
16744 return (uint16x4_t
)__a
;
16747 #pragma GCC pop_options
16748 __extension__
extern __inline uint16x4_t
16749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16750 vreinterpret_u16_s64 (int64x1_t __a
)
16752 return (uint16x4_t
)__a
;
16755 __extension__
extern __inline uint16x4_t
16756 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16757 vreinterpret_u16_u64 (uint64x1_t __a
)
16759 return (uint16x4_t
)__a
;
16762 __extension__
extern __inline uint16x4_t
16763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16764 vreinterpret_u16_s8 (int8x8_t __a
)
16766 return (uint16x4_t
)__a
;
16769 __extension__
extern __inline uint16x4_t
16770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16771 vreinterpret_u16_s16 (int16x4_t __a
)
16773 return (uint16x4_t
)__a
;
16776 __extension__
extern __inline uint16x4_t
16777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16778 vreinterpret_u16_s32 (int32x2_t __a
)
16780 return (uint16x4_t
)__a
;
16783 __extension__
extern __inline uint16x4_t
16784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16785 vreinterpret_u16_u8 (uint8x8_t __a
)
16787 return (uint16x4_t
)__a
;
16790 __extension__
extern __inline uint16x4_t
16791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16792 vreinterpret_u16_u32 (uint32x2_t __a
)
16794 return (uint16x4_t
)__a
;
16797 __extension__
extern __inline uint32x2_t
16798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16799 vreinterpret_u32_p8 (poly8x8_t __a
)
16801 return (uint32x2_t
)__a
;
16804 __extension__
extern __inline uint32x2_t
16805 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16806 vreinterpret_u32_p16 (poly16x4_t __a
)
16808 return (uint32x2_t
)__a
;
16811 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16812 __extension__
extern __inline uint32x2_t
16813 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16814 vreinterpret_u32_f16 (float16x4_t __a
)
16816 return (uint32x2_t
) __a
;
16820 __extension__
extern __inline uint32x2_t
16821 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16822 vreinterpret_u32_f32 (float32x2_t __a
)
16824 return (uint32x2_t
)__a
;
16827 #pragma GCC push_options
16828 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16829 __extension__
extern __inline uint32x2_t
16830 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16831 vreinterpret_u32_p64 (poly64x1_t __a
)
16833 return (uint32x2_t
)__a
;
16836 #pragma GCC pop_options
16837 __extension__
extern __inline uint32x2_t
16838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16839 vreinterpret_u32_s64 (int64x1_t __a
)
16841 return (uint32x2_t
)__a
;
16844 __extension__
extern __inline uint32x2_t
16845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16846 vreinterpret_u32_u64 (uint64x1_t __a
)
16848 return (uint32x2_t
)__a
;
16851 __extension__
extern __inline uint32x2_t
16852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16853 vreinterpret_u32_s8 (int8x8_t __a
)
16855 return (uint32x2_t
)__a
;
16858 __extension__
extern __inline uint32x2_t
16859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16860 vreinterpret_u32_s16 (int16x4_t __a
)
16862 return (uint32x2_t
)__a
;
16865 __extension__
extern __inline uint32x2_t
16866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16867 vreinterpret_u32_s32 (int32x2_t __a
)
16869 return (uint32x2_t
)__a
;
16872 __extension__
extern __inline uint32x2_t
16873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16874 vreinterpret_u32_u8 (uint8x8_t __a
)
16876 return (uint32x2_t
)__a
;
16879 __extension__
extern __inline uint32x2_t
16880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16881 vreinterpret_u32_u16 (uint16x4_t __a
)
16883 return (uint32x2_t
)__a
;
16886 __extension__
extern __inline poly8x16_t
16887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16888 vreinterpretq_p8_p16 (poly16x8_t __a
)
16890 return (poly8x16_t
)__a
;
16893 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16894 __extension__
extern __inline poly8x16_t
16895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16896 vreinterpretq_p8_f16 (float16x8_t __a
)
16898 return (poly8x16_t
) __a
;
16902 __extension__
extern __inline poly8x16_t
16903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16904 vreinterpretq_p8_f32 (float32x4_t __a
)
16906 return (poly8x16_t
)__a
;
16909 #pragma GCC push_options
16910 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16911 __extension__
extern __inline poly8x16_t
16912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16913 vreinterpretq_p8_p64 (poly64x2_t __a
)
16915 return (poly8x16_t
)__a
;
16919 __extension__
extern __inline poly8x16_t
16920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16921 vreinterpretq_p8_p128 (poly128_t __a
)
16923 return (poly8x16_t
)__a
;
16926 #pragma GCC pop_options
16927 __extension__
extern __inline poly8x16_t
16928 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16929 vreinterpretq_p8_s64 (int64x2_t __a
)
16931 return (poly8x16_t
)__a
;
16934 __extension__
extern __inline poly8x16_t
16935 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16936 vreinterpretq_p8_u64 (uint64x2_t __a
)
16938 return (poly8x16_t
)__a
;
16941 __extension__
extern __inline poly8x16_t
16942 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16943 vreinterpretq_p8_s8 (int8x16_t __a
)
16945 return (poly8x16_t
)__a
;
16948 __extension__
extern __inline poly8x16_t
16949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16950 vreinterpretq_p8_s16 (int16x8_t __a
)
16952 return (poly8x16_t
)__a
;
16955 __extension__
extern __inline poly8x16_t
16956 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16957 vreinterpretq_p8_s32 (int32x4_t __a
)
16959 return (poly8x16_t
)__a
;
16962 __extension__
extern __inline poly8x16_t
16963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16964 vreinterpretq_p8_u8 (uint8x16_t __a
)
16966 return (poly8x16_t
)__a
;
16969 __extension__
extern __inline poly8x16_t
16970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16971 vreinterpretq_p8_u16 (uint16x8_t __a
)
16973 return (poly8x16_t
)__a
;
16976 __extension__
extern __inline poly8x16_t
16977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16978 vreinterpretq_p8_u32 (uint32x4_t __a
)
16980 return (poly8x16_t
)__a
;
16983 __extension__
extern __inline poly16x8_t
16984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16985 vreinterpretq_p16_p8 (poly8x16_t __a
)
16987 return (poly16x8_t
)__a
;
16990 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16991 __extension__
extern __inline poly16x8_t
16992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
16993 vreinterpretq_p16_f16 (float16x8_t __a
)
16995 return (poly16x8_t
) __a
;
16999 __extension__
extern __inline poly16x8_t
17000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17001 vreinterpretq_p16_f32 (float32x4_t __a
)
17003 return (poly16x8_t
)__a
;
17006 #pragma GCC push_options
17007 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17008 __extension__
extern __inline poly16x8_t
17009 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17010 vreinterpretq_p16_p64 (poly64x2_t __a
)
17012 return (poly16x8_t
)__a
;
17015 __extension__
extern __inline poly16x8_t
17016 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17017 vreinterpretq_p16_p128 (poly128_t __a
)
17019 return (poly16x8_t
)__a
;
17022 #pragma GCC pop_options
17023 __extension__
extern __inline poly16x8_t
17024 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17025 vreinterpretq_p16_s64 (int64x2_t __a
)
17027 return (poly16x8_t
)__a
;
17030 __extension__
extern __inline poly16x8_t
17031 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17032 vreinterpretq_p16_u64 (uint64x2_t __a
)
17034 return (poly16x8_t
)__a
;
17037 __extension__
extern __inline poly16x8_t
17038 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17039 vreinterpretq_p16_s8 (int8x16_t __a
)
17041 return (poly16x8_t
)__a
;
17044 __extension__
extern __inline poly16x8_t
17045 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17046 vreinterpretq_p16_s16 (int16x8_t __a
)
17048 return (poly16x8_t
)__a
;
17051 __extension__
extern __inline poly16x8_t
17052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17053 vreinterpretq_p16_s32 (int32x4_t __a
)
17055 return (poly16x8_t
)__a
;
17058 __extension__
extern __inline poly16x8_t
17059 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17060 vreinterpretq_p16_u8 (uint8x16_t __a
)
17062 return (poly16x8_t
)__a
;
17065 __extension__
extern __inline poly16x8_t
17066 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17067 vreinterpretq_p16_u16 (uint16x8_t __a
)
17069 return (poly16x8_t
)__a
;
17072 __extension__
extern __inline poly16x8_t
17073 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17074 vreinterpretq_p16_u32 (uint32x4_t __a
)
17076 return (poly16x8_t
)__a
;
17079 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17080 __extension__
extern __inline float16x8_t
17081 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17082 vreinterpretq_f16_p8 (poly8x16_t __a
)
17084 return (float16x8_t
) __a
;
17088 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17089 __extension__
extern __inline float16x8_t
17090 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17091 vreinterpretq_f16_p16 (poly16x8_t __a
)
17093 return (float16x8_t
) __a
;
17097 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17098 __extension__
extern __inline float16x8_t
17099 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17100 vreinterpretq_f16_bf16 (bfloat16x8_t __a
)
17102 return (float16x8_t
) __a
;
17106 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17107 __extension__
extern __inline float16x8_t
17108 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17109 vreinterpretq_f16_f32 (float32x4_t __a
)
17111 return (float16x8_t
) __a
;
17115 #pragma GCC push_options
17116 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17118 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17119 __extension__
extern __inline float16x8_t
17120 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17121 vreinterpretq_f16_p64 (poly64x2_t __a
)
17123 return (float16x8_t
) __a
;
17127 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17128 __extension__
extern __inline float16x8_t
17129 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17130 vreinterpretq_f16_p128 (poly128_t __a
)
17132 return (float16x8_t
) __a
;
17136 #pragma GCC pop_options
17138 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17139 __extension__
extern __inline float16x8_t
17140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17141 vreinterpretq_f16_s64 (int64x2_t __a
)
17143 return (float16x8_t
) __a
;
17147 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17148 __extension__
extern __inline float16x8_t
17149 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17150 vreinterpretq_f16_u64 (uint64x2_t __a
)
17152 return (float16x8_t
) __a
;
17156 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17157 __extension__
extern __inline float16x8_t
17158 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17159 vreinterpretq_f16_s8 (int8x16_t __a
)
17161 return (float16x8_t
) __a
;
17165 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17166 __extension__
extern __inline float16x8_t
17167 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17168 vreinterpretq_f16_s16 (int16x8_t __a
)
17170 return (float16x8_t
) __a
;
17174 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17175 __extension__
extern __inline float16x8_t
17176 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17177 vreinterpretq_f16_s32 (int32x4_t __a
)
17179 return (float16x8_t
) __a
;
17183 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17184 __extension__
extern __inline float16x8_t
17185 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17186 vreinterpretq_f16_u8 (uint8x16_t __a
)
17188 return (float16x8_t
) __a
;
17192 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17193 __extension__
extern __inline float16x8_t
17194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17195 vreinterpretq_f16_u16 (uint16x8_t __a
)
17197 return (float16x8_t
) __a
;
17201 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17202 __extension__
extern __inline float16x8_t
17203 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17204 vreinterpretq_f16_u32 (uint32x4_t __a
)
17206 return (float16x8_t
) __a
;
17210 __extension__
extern __inline float32x4_t
17211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17212 vreinterpretq_f32_p8 (poly8x16_t __a
)
17214 return (float32x4_t
)__a
;
17217 __extension__
extern __inline float32x4_t
17218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17219 vreinterpretq_f32_p16 (poly16x8_t __a
)
17221 return (float32x4_t
)__a
;
17224 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17225 __extension__
extern __inline float32x4_t
17226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17227 vreinterpretq_f32_f16 (float16x8_t __a
)
17229 return (float32x4_t
) __a
;
17233 #pragma GCC push_options
17234 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17235 __extension__
extern __inline float32x4_t
17236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17237 vreinterpretq_f32_p64 (poly64x2_t __a
)
17239 return (float32x4_t
)__a
;
17242 __extension__
extern __inline float32x4_t
17243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17244 vreinterpretq_f32_p128 (poly128_t __a
)
17246 return (float32x4_t
)__a
;
17249 #pragma GCC pop_options
17250 __extension__
extern __inline float32x4_t
17251 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17252 vreinterpretq_f32_s64 (int64x2_t __a
)
17254 return (float32x4_t
)__a
;
17257 __extension__
extern __inline float32x4_t
17258 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17259 vreinterpretq_f32_u64 (uint64x2_t __a
)
17261 return (float32x4_t
)__a
;
17264 __extension__
extern __inline float32x4_t
17265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17266 vreinterpretq_f32_s8 (int8x16_t __a
)
17268 return (float32x4_t
)__a
;
17271 __extension__
extern __inline float32x4_t
17272 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17273 vreinterpretq_f32_s16 (int16x8_t __a
)
17275 return (float32x4_t
)__a
;
17278 __extension__
extern __inline float32x4_t
17279 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17280 vreinterpretq_f32_s32 (int32x4_t __a
)
17282 return (float32x4_t
)__a
;
17285 __extension__
extern __inline float32x4_t
17286 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17287 vreinterpretq_f32_u8 (uint8x16_t __a
)
17289 return (float32x4_t
)__a
;
17292 __extension__
extern __inline float32x4_t
17293 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17294 vreinterpretq_f32_u16 (uint16x8_t __a
)
17296 return (float32x4_t
)__a
;
17299 __extension__
extern __inline float32x4_t
17300 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17301 vreinterpretq_f32_u32 (uint32x4_t __a
)
17303 return (float32x4_t
)__a
;
17306 #pragma GCC push_options
17307 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17308 __extension__
extern __inline poly64x2_t
17309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17310 vreinterpretq_p64_p8 (poly8x16_t __a
)
17312 return (poly64x2_t
)__a
;
17315 __extension__
extern __inline poly64x2_t
17316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17317 vreinterpretq_p64_p16 (poly16x8_t __a
)
17319 return (poly64x2_t
)__a
;
17322 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17323 __extension__
extern __inline poly64x2_t
17324 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17325 vreinterpretq_p64_f16 (float16x8_t __a
)
17327 return (poly64x2_t
) __a
;
17331 __extension__
extern __inline poly64x2_t
17332 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17333 vreinterpretq_p64_f32 (float32x4_t __a
)
17335 return (poly64x2_t
)__a
;
17338 __extension__
extern __inline poly64x2_t
17339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17340 vreinterpretq_p64_p128 (poly128_t __a
)
17342 return (poly64x2_t
)__a
;
17345 __extension__
extern __inline poly64x2_t
17346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17347 vreinterpretq_p64_s64 (int64x2_t __a
)
17349 return (poly64x2_t
)__a
;
17352 __extension__
extern __inline poly64x2_t
17353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17354 vreinterpretq_p64_u64 (uint64x2_t __a
)
17356 return (poly64x2_t
)__a
;
17359 __extension__
extern __inline poly64x2_t
17360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17361 vreinterpretq_p64_s8 (int8x16_t __a
)
17363 return (poly64x2_t
)__a
;
17366 __extension__
extern __inline poly64x2_t
17367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17368 vreinterpretq_p64_s16 (int16x8_t __a
)
17370 return (poly64x2_t
)__a
;
17373 __extension__
extern __inline poly64x2_t
17374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17375 vreinterpretq_p64_s32 (int32x4_t __a
)
17377 return (poly64x2_t
)__a
;
17380 __extension__
extern __inline poly64x2_t
17381 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17382 vreinterpretq_p64_u8 (uint8x16_t __a
)
17384 return (poly64x2_t
)__a
;
17387 __extension__
extern __inline poly64x2_t
17388 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17389 vreinterpretq_p64_u16 (uint16x8_t __a
)
17391 return (poly64x2_t
)__a
;
17394 __extension__
extern __inline poly64x2_t
17395 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17396 vreinterpretq_p64_u32 (uint32x4_t __a
)
17398 return (poly64x2_t
)__a
;
17401 __extension__
extern __inline poly128_t
17402 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17403 vreinterpretq_p128_p8 (poly8x16_t __a
)
17405 return (poly128_t
)__a
;
17408 __extension__
extern __inline poly128_t
17409 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17410 vreinterpretq_p128_p16 (poly16x8_t __a
)
17412 return (poly128_t
)__a
;
17415 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17416 __extension__
extern __inline poly128_t
17417 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17418 vreinterpretq_p128_f16 (float16x8_t __a
)
17420 return (poly128_t
) __a
;
17424 __extension__
extern __inline poly128_t
17425 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17426 vreinterpretq_p128_f32 (float32x4_t __a
)
17428 return (poly128_t
)__a
;
17431 __extension__
extern __inline poly128_t
17432 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17433 vreinterpretq_p128_p64 (poly64x2_t __a
)
17435 return (poly128_t
)__a
;
17438 __extension__
extern __inline poly128_t
17439 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17440 vreinterpretq_p128_s64 (int64x2_t __a
)
17442 return (poly128_t
)__a
;
17445 __extension__
extern __inline poly128_t
17446 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17447 vreinterpretq_p128_u64 (uint64x2_t __a
)
17449 return (poly128_t
)__a
;
17452 __extension__
extern __inline poly128_t
17453 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17454 vreinterpretq_p128_s8 (int8x16_t __a
)
17456 return (poly128_t
)__a
;
17459 __extension__
extern __inline poly128_t
17460 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17461 vreinterpretq_p128_s16 (int16x8_t __a
)
17463 return (poly128_t
)__a
;
17466 __extension__
extern __inline poly128_t
17467 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17468 vreinterpretq_p128_s32 (int32x4_t __a
)
17470 return (poly128_t
)__a
;
17473 __extension__
extern __inline poly128_t
17474 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17475 vreinterpretq_p128_u8 (uint8x16_t __a
)
17477 return (poly128_t
)__a
;
17480 __extension__
extern __inline poly128_t
17481 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17482 vreinterpretq_p128_u16 (uint16x8_t __a
)
17484 return (poly128_t
)__a
;
17487 __extension__
extern __inline poly128_t
17488 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17489 vreinterpretq_p128_u32 (uint32x4_t __a
)
17491 return (poly128_t
)__a
;
17494 #pragma GCC pop_options
17495 __extension__
extern __inline int64x2_t
17496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17497 vreinterpretq_s64_p8 (poly8x16_t __a
)
17499 return (int64x2_t
)__a
;
17502 __extension__
extern __inline int64x2_t
17503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17504 vreinterpretq_s64_p16 (poly16x8_t __a
)
17506 return (int64x2_t
)__a
;
17509 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17510 __extension__
extern __inline int64x2_t
17511 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17512 vreinterpretq_s64_f16 (float16x8_t __a
)
17514 return (int64x2_t
) __a
;
17518 __extension__
extern __inline int64x2_t
17519 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17520 vreinterpretq_s64_f32 (float32x4_t __a
)
17522 return (int64x2_t
)__a
;
17525 #pragma GCC push_options
17526 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17527 __extension__
extern __inline int64x2_t
17528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17529 vreinterpretq_s64_p64 (poly64x2_t __a
)
17531 return (int64x2_t
)__a
;
17534 __extension__
extern __inline int64x2_t
17535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17536 vreinterpretq_s64_p128 (poly128_t __a
)
17538 return (int64x2_t
)__a
;
17541 #pragma GCC pop_options
17542 __extension__
extern __inline int64x2_t
17543 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17544 vreinterpretq_s64_u64 (uint64x2_t __a
)
17546 return (int64x2_t
)__a
;
17549 __extension__
extern __inline int64x2_t
17550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17551 vreinterpretq_s64_s8 (int8x16_t __a
)
17553 return (int64x2_t
)__a
;
17556 __extension__
extern __inline int64x2_t
17557 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17558 vreinterpretq_s64_s16 (int16x8_t __a
)
17560 return (int64x2_t
)__a
;
17563 __extension__
extern __inline int64x2_t
17564 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17565 vreinterpretq_s64_s32 (int32x4_t __a
)
17567 return (int64x2_t
)__a
;
17570 __extension__
extern __inline int64x2_t
17571 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17572 vreinterpretq_s64_u8 (uint8x16_t __a
)
17574 return (int64x2_t
)__a
;
17577 __extension__
extern __inline int64x2_t
17578 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17579 vreinterpretq_s64_u16 (uint16x8_t __a
)
17581 return (int64x2_t
)__a
;
17584 __extension__
extern __inline int64x2_t
17585 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17586 vreinterpretq_s64_u32 (uint32x4_t __a
)
17588 return (int64x2_t
)__a
;
17591 __extension__
extern __inline uint64x2_t
17592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17593 vreinterpretq_u64_p8 (poly8x16_t __a
)
17595 return (uint64x2_t
)__a
;
17598 __extension__
extern __inline uint64x2_t
17599 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17600 vreinterpretq_u64_p16 (poly16x8_t __a
)
17602 return (uint64x2_t
)__a
;
17605 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17606 __extension__
extern __inline uint64x2_t
17607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17608 vreinterpretq_u64_f16 (float16x8_t __a
)
17610 return (uint64x2_t
) __a
;
17614 __extension__
extern __inline uint64x2_t
17615 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17616 vreinterpretq_u64_f32 (float32x4_t __a
)
17618 return (uint64x2_t
)__a
;
17621 #pragma GCC push_options
17622 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17623 __extension__
extern __inline uint64x2_t
17624 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17625 vreinterpretq_u64_p64 (poly64x2_t __a
)
17627 return (uint64x2_t
)__a
;
17630 __extension__
extern __inline uint64x2_t
17631 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17632 vreinterpretq_u64_p128 (poly128_t __a
)
17634 return (uint64x2_t
)__a
;
17637 #pragma GCC pop_options
17638 __extension__
extern __inline uint64x2_t
17639 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17640 vreinterpretq_u64_s64 (int64x2_t __a
)
17642 return (uint64x2_t
)__a
;
17645 __extension__
extern __inline uint64x2_t
17646 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17647 vreinterpretq_u64_s8 (int8x16_t __a
)
17649 return (uint64x2_t
)__a
;
17652 __extension__
extern __inline uint64x2_t
17653 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17654 vreinterpretq_u64_s16 (int16x8_t __a
)
17656 return (uint64x2_t
)__a
;
17659 __extension__
extern __inline uint64x2_t
17660 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17661 vreinterpretq_u64_s32 (int32x4_t __a
)
17663 return (uint64x2_t
)__a
;
17666 __extension__
extern __inline uint64x2_t
17667 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17668 vreinterpretq_u64_u8 (uint8x16_t __a
)
17670 return (uint64x2_t
)__a
;
17673 __extension__
extern __inline uint64x2_t
17674 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17675 vreinterpretq_u64_u16 (uint16x8_t __a
)
17677 return (uint64x2_t
)__a
;
17680 __extension__
extern __inline uint64x2_t
17681 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17682 vreinterpretq_u64_u32 (uint32x4_t __a
)
17684 return (uint64x2_t
)__a
;
17687 __extension__
extern __inline int8x16_t
17688 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17689 vreinterpretq_s8_p8 (poly8x16_t __a
)
17691 return (int8x16_t
)__a
;
17694 __extension__
extern __inline int8x16_t
17695 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17696 vreinterpretq_s8_p16 (poly16x8_t __a
)
17698 return (int8x16_t
)__a
;
17701 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17702 __extension__
extern __inline int8x16_t
17703 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17704 vreinterpretq_s8_f16 (float16x8_t __a
)
17706 return (int8x16_t
) __a
;
17710 __extension__
extern __inline int8x16_t
17711 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17712 vreinterpretq_s8_f32 (float32x4_t __a
)
17714 return (int8x16_t
)__a
;
17717 #pragma GCC push_options
17718 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17719 __extension__
extern __inline int8x16_t
17720 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17721 vreinterpretq_s8_p64 (poly64x2_t __a
)
17723 return (int8x16_t
)__a
;
17726 __extension__
extern __inline int8x16_t
17727 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17728 vreinterpretq_s8_p128 (poly128_t __a
)
17730 return (int8x16_t
)__a
;
17733 #pragma GCC pop_options
17734 __extension__
extern __inline int8x16_t
17735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17736 vreinterpretq_s8_s64 (int64x2_t __a
)
17738 return (int8x16_t
)__a
;
17741 __extension__
extern __inline int8x16_t
17742 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17743 vreinterpretq_s8_u64 (uint64x2_t __a
)
17745 return (int8x16_t
)__a
;
17748 __extension__
extern __inline int8x16_t
17749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17750 vreinterpretq_s8_s16 (int16x8_t __a
)
17752 return (int8x16_t
)__a
;
17755 __extension__
extern __inline int8x16_t
17756 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17757 vreinterpretq_s8_s32 (int32x4_t __a
)
17759 return (int8x16_t
)__a
;
17762 __extension__
extern __inline int8x16_t
17763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17764 vreinterpretq_s8_u8 (uint8x16_t __a
)
17766 return (int8x16_t
)__a
;
17769 __extension__
extern __inline int8x16_t
17770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17771 vreinterpretq_s8_u16 (uint16x8_t __a
)
17773 return (int8x16_t
)__a
;
17776 __extension__
extern __inline int8x16_t
17777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17778 vreinterpretq_s8_u32 (uint32x4_t __a
)
17780 return (int8x16_t
)__a
;
17783 __extension__
extern __inline int16x8_t
17784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17785 vreinterpretq_s16_p8 (poly8x16_t __a
)
17787 return (int16x8_t
)__a
;
17790 __extension__
extern __inline int16x8_t
17791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17792 vreinterpretq_s16_p16 (poly16x8_t __a
)
17794 return (int16x8_t
)__a
;
17797 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17798 __extension__
extern __inline int16x8_t
17799 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17800 vreinterpretq_s16_f16 (float16x8_t __a
)
17802 return (int16x8_t
) __a
;
17806 __extension__
extern __inline int16x8_t
17807 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17808 vreinterpretq_s16_f32 (float32x4_t __a
)
17810 return (int16x8_t
)__a
;
17813 #pragma GCC push_options
17814 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17815 __extension__
extern __inline int16x8_t
17816 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17817 vreinterpretq_s16_p64 (poly64x2_t __a
)
17819 return (int16x8_t
)__a
;
17822 __extension__
extern __inline int16x8_t
17823 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17824 vreinterpretq_s16_p128 (poly128_t __a
)
17826 return (int16x8_t
)__a
;
17829 #pragma GCC pop_options
17830 __extension__
extern __inline int16x8_t
17831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17832 vreinterpretq_s16_s64 (int64x2_t __a
)
17834 return (int16x8_t
)__a
;
17837 __extension__
extern __inline int16x8_t
17838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17839 vreinterpretq_s16_u64 (uint64x2_t __a
)
17841 return (int16x8_t
)__a
;
17844 __extension__
extern __inline int16x8_t
17845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17846 vreinterpretq_s16_s8 (int8x16_t __a
)
17848 return (int16x8_t
)__a
;
17851 __extension__
extern __inline int16x8_t
17852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17853 vreinterpretq_s16_s32 (int32x4_t __a
)
17855 return (int16x8_t
)__a
;
17858 __extension__
extern __inline int16x8_t
17859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17860 vreinterpretq_s16_u8 (uint8x16_t __a
)
17862 return (int16x8_t
)__a
;
17865 __extension__
extern __inline int16x8_t
17866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17867 vreinterpretq_s16_u16 (uint16x8_t __a
)
17869 return (int16x8_t
)__a
;
17872 __extension__
extern __inline int16x8_t
17873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17874 vreinterpretq_s16_u32 (uint32x4_t __a
)
17876 return (int16x8_t
)__a
;
17879 __extension__
extern __inline int32x4_t
17880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17881 vreinterpretq_s32_p8 (poly8x16_t __a
)
17883 return (int32x4_t
)__a
;
17886 __extension__
extern __inline int32x4_t
17887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17888 vreinterpretq_s32_p16 (poly16x8_t __a
)
17890 return (int32x4_t
)__a
;
17893 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17894 __extension__
extern __inline int32x4_t
17895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17896 vreinterpretq_s32_f16 (float16x8_t __a
)
17898 return (int32x4_t
)__a
;
17902 __extension__
extern __inline int32x4_t
17903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17904 vreinterpretq_s32_f32 (float32x4_t __a
)
17906 return (int32x4_t
)__a
;
17909 #pragma GCC push_options
17910 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
17911 __extension__
extern __inline int32x4_t
17912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17913 vreinterpretq_s32_p64 (poly64x2_t __a
)
17915 return (int32x4_t
)__a
;
17918 __extension__
extern __inline int32x4_t
17919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17920 vreinterpretq_s32_p128 (poly128_t __a
)
17922 return (int32x4_t
)__a
;
17925 #pragma GCC pop_options
17926 __extension__
extern __inline int32x4_t
17927 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17928 vreinterpretq_s32_s64 (int64x2_t __a
)
17930 return (int32x4_t
)__a
;
17933 __extension__
extern __inline int32x4_t
17934 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17935 vreinterpretq_s32_u64 (uint64x2_t __a
)
17937 return (int32x4_t
)__a
;
17940 __extension__
extern __inline int32x4_t
17941 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17942 vreinterpretq_s32_s8 (int8x16_t __a
)
17944 return (int32x4_t
)__a
;
17947 __extension__
extern __inline int32x4_t
17948 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17949 vreinterpretq_s32_s16 (int16x8_t __a
)
17951 return (int32x4_t
)__a
;
17954 __extension__
extern __inline int32x4_t
17955 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17956 vreinterpretq_s32_u8 (uint8x16_t __a
)
17958 return (int32x4_t
)__a
;
17961 __extension__
extern __inline int32x4_t
17962 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17963 vreinterpretq_s32_u16 (uint16x8_t __a
)
17965 return (int32x4_t
)__a
;
17968 __extension__
extern __inline int32x4_t
17969 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17970 vreinterpretq_s32_u32 (uint32x4_t __a
)
17972 return (int32x4_t
)__a
;
17975 __extension__
extern __inline uint8x16_t
17976 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17977 vreinterpretq_u8_p8 (poly8x16_t __a
)
17979 return (uint8x16_t
)__a
;
17982 __extension__
extern __inline uint8x16_t
17983 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17984 vreinterpretq_u8_p16 (poly16x8_t __a
)
17986 return (uint8x16_t
)__a
;
17989 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17990 __extension__
extern __inline uint8x16_t
17991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
17992 vreinterpretq_u8_f16 (float16x8_t __a
)
17994 return (uint8x16_t
) __a
;
17998 __extension__
extern __inline uint8x16_t
17999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18000 vreinterpretq_u8_f32 (float32x4_t __a
)
18002 return (uint8x16_t
)__a
;
18005 #pragma GCC push_options
18006 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
18007 __extension__
extern __inline uint8x16_t
18008 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18009 vreinterpretq_u8_p64 (poly64x2_t __a
)
18011 return (uint8x16_t
)__a
;
18014 __extension__
extern __inline uint8x16_t
18015 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18016 vreinterpretq_u8_p128 (poly128_t __a
)
18018 return (uint8x16_t
)__a
;
18021 #pragma GCC pop_options
18022 __extension__
extern __inline uint8x16_t
18023 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18024 vreinterpretq_u8_s64 (int64x2_t __a
)
18026 return (uint8x16_t
)__a
;
18029 __extension__
extern __inline uint8x16_t
18030 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18031 vreinterpretq_u8_u64 (uint64x2_t __a
)
18033 return (uint8x16_t
)__a
;
18036 __extension__
extern __inline uint8x16_t
18037 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18038 vreinterpretq_u8_s8 (int8x16_t __a
)
18040 return (uint8x16_t
)__a
;
18043 __extension__
extern __inline uint8x16_t
18044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18045 vreinterpretq_u8_s16 (int16x8_t __a
)
18047 return (uint8x16_t
)__a
;
18050 __extension__
extern __inline uint8x16_t
18051 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18052 vreinterpretq_u8_s32 (int32x4_t __a
)
18054 return (uint8x16_t
)__a
;
18057 __extension__
extern __inline uint8x16_t
18058 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18059 vreinterpretq_u8_u16 (uint16x8_t __a
)
18061 return (uint8x16_t
)__a
;
18064 __extension__
extern __inline uint8x16_t
18065 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18066 vreinterpretq_u8_u32 (uint32x4_t __a
)
18068 return (uint8x16_t
)__a
;
18071 __extension__
extern __inline uint16x8_t
18072 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18073 vreinterpretq_u16_p8 (poly8x16_t __a
)
18075 return (uint16x8_t
)__a
;
18078 __extension__
extern __inline uint16x8_t
18079 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18080 vreinterpretq_u16_p16 (poly16x8_t __a
)
18082 return (uint16x8_t
)__a
;
18085 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
18086 __extension__
extern __inline uint16x8_t
18087 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18088 vreinterpretq_u16_f16 (float16x8_t __a
)
18090 return (uint16x8_t
) __a
;
18094 __extension__
extern __inline uint16x8_t
18095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18096 vreinterpretq_u16_f32 (float32x4_t __a
)
18098 return (uint16x8_t
)__a
;
18101 #pragma GCC push_options
18102 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
18103 __extension__
extern __inline uint16x8_t
18104 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18105 vreinterpretq_u16_p64 (poly64x2_t __a
)
18107 return (uint16x8_t
)__a
;
18110 __extension__
extern __inline uint16x8_t
18111 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18112 vreinterpretq_u16_p128 (poly128_t __a
)
18114 return (uint16x8_t
)__a
;
18117 #pragma GCC pop_options
18118 __extension__
extern __inline uint16x8_t
18119 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18120 vreinterpretq_u16_s64 (int64x2_t __a
)
18122 return (uint16x8_t
)__a
;
18125 __extension__
extern __inline uint16x8_t
18126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18127 vreinterpretq_u16_u64 (uint64x2_t __a
)
18129 return (uint16x8_t
)__a
;
18132 __extension__
extern __inline uint16x8_t
18133 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18134 vreinterpretq_u16_s8 (int8x16_t __a
)
18136 return (uint16x8_t
)__a
;
18139 __extension__
extern __inline uint16x8_t
18140 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18141 vreinterpretq_u16_s16 (int16x8_t __a
)
18143 return (uint16x8_t
)__a
;
18146 __extension__
extern __inline uint16x8_t
18147 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18148 vreinterpretq_u16_s32 (int32x4_t __a
)
18150 return (uint16x8_t
)__a
;
18153 __extension__
extern __inline uint16x8_t
18154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18155 vreinterpretq_u16_u8 (uint8x16_t __a
)
18157 return (uint16x8_t
)__a
;
18160 __extension__
extern __inline uint16x8_t
18161 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18162 vreinterpretq_u16_u32 (uint32x4_t __a
)
18164 return (uint16x8_t
)__a
;
18167 __extension__
extern __inline uint32x4_t
18168 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18169 vreinterpretq_u32_p8 (poly8x16_t __a
)
18171 return (uint32x4_t
)__a
;
18174 __extension__
extern __inline uint32x4_t
18175 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18176 vreinterpretq_u32_p16 (poly16x8_t __a
)
18178 return (uint32x4_t
)__a
;
18181 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
18182 __extension__
extern __inline uint32x4_t
18183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18184 vreinterpretq_u32_f16 (float16x8_t __a
)
18186 return (uint32x4_t
) __a
;
18190 __extension__
extern __inline uint32x4_t
18191 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18192 vreinterpretq_u32_f32 (float32x4_t __a
)
18194 return (uint32x4_t
)__a
;
18197 #pragma GCC push_options
18198 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
18199 __extension__
extern __inline uint32x4_t
18200 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18201 vreinterpretq_u32_p64 (poly64x2_t __a
)
18203 return (uint32x4_t
)__a
;
18206 __extension__
extern __inline uint32x4_t
18207 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18208 vreinterpretq_u32_p128 (poly128_t __a
)
18210 return (uint32x4_t
)__a
;
18213 #pragma GCC pop_options
18214 __extension__
extern __inline uint32x4_t
18215 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18216 vreinterpretq_u32_s64 (int64x2_t __a
)
18218 return (uint32x4_t
)__a
;
18221 __extension__
extern __inline uint32x4_t
18222 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18223 vreinterpretq_u32_u64 (uint64x2_t __a
)
18225 return (uint32x4_t
)__a
;
18228 __extension__
extern __inline uint32x4_t
18229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18230 vreinterpretq_u32_s8 (int8x16_t __a
)
18232 return (uint32x4_t
)__a
;
18235 __extension__
extern __inline uint32x4_t
18236 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18237 vreinterpretq_u32_s16 (int16x8_t __a
)
18239 return (uint32x4_t
)__a
;
18242 __extension__
extern __inline uint32x4_t
18243 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18244 vreinterpretq_u32_s32 (int32x4_t __a
)
18246 return (uint32x4_t
)__a
;
18249 __extension__
extern __inline uint32x4_t
18250 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18251 vreinterpretq_u32_u8 (uint8x16_t __a
)
18253 return (uint32x4_t
)__a
;
18256 __extension__
extern __inline uint32x4_t
18257 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18258 vreinterpretq_u32_u16 (uint16x8_t __a
)
18260 return (uint32x4_t
)__a
;
18264 #pragma GCC push_options
18265 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
18266 __extension__
extern __inline poly128_t
18267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18268 vldrq_p128 (poly128_t
const * __ptr
)
18270 #ifdef __ARM_BIG_ENDIAN
18271 poly64_t
* __ptmp
= (poly64_t
*) __ptr
;
18272 poly64_t __d0
= vld1_p64 (__ptmp
);
18273 poly64_t __d1
= vld1_p64 (__ptmp
+ 1);
18274 return vreinterpretq_p128_p64 (vcombine_p64 (__d1
, __d0
));
18276 return vreinterpretq_p128_p64 (vld1q_p64 ((poly64_t
*) __ptr
));
18280 __extension__
extern __inline
void
18281 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18282 vstrq_p128 (poly128_t
* __ptr
, poly128_t __val
)
18284 #ifdef __ARM_BIG_ENDIAN
18285 poly64x2_t __tmp
= vreinterpretq_p64_p128 (__val
);
18286 poly64_t __d0
= vget_high_p64 (__tmp
);
18287 poly64_t __d1
= vget_low_p64 (__tmp
);
18288 vst1q_p64 ((poly64_t
*) __ptr
, vcombine_p64 (__d0
, __d1
));
18290 vst1q_p64 ((poly64_t
*) __ptr
, vreinterpretq_p64_p128 (__val
));
18294 /* The vceq_p64 intrinsic does not map to a single instruction.
18295 Instead we emulate it by performing a 32-bit variant of the vceq
18296 and applying a pairwise min reduction to the result.
18297 vceq_u32 will produce two 32-bit halves, each of which will contain either
18298 all ones or all zeros depending on whether the corresponding 32-bit
18299 halves of the poly64_t were equal. The whole poly64_t values are equal
18300 if and only if both halves are equal, i.e. vceq_u32 returns all ones.
18301 If the result is all zeroes for any half then the whole result is zeroes.
18302 This is what the pairwise min reduction achieves. */
18304 __extension__
extern __inline uint64x1_t
18305 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18306 vceq_p64 (poly64x1_t __a
, poly64x1_t __b
)
18308 uint32x2_t __t_a
= vreinterpret_u32_p64 (__a
);
18309 uint32x2_t __t_b
= vreinterpret_u32_p64 (__b
);
18310 uint32x2_t __c
= vceq_u32 (__t_a
, __t_b
);
18311 uint32x2_t __m
= vpmin_u32 (__c
, __c
);
18312 return vreinterpret_u64_u32 (__m
);
18315 __extension__
extern __inline uint64x1_t
18316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18317 vceqz_p64 (poly64x1_t __a
)
18319 poly64x1_t __b
= vreinterpret_p64_u32 (vdup_n_u32 (0));
18320 return vceq_p64 (__a
, __b
);
18323 /* For vceqq_p64, we rely on vceq_p64 for each of the two elements. */
18324 __extension__
extern __inline uint64x2_t
18325 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18326 vceqq_p64 (poly64x2_t __a
, poly64x2_t __b
)
18328 poly64_t __high_a
= vget_high_p64 (__a
);
18329 poly64_t __high_b
= vget_high_p64 (__b
);
18330 uint64x1_t __high
= vceq_p64 (__high_a
, __high_b
);
18332 poly64_t __low_a
= vget_low_p64 (__a
);
18333 poly64_t __low_b
= vget_low_p64 (__b
);
18334 uint64x1_t __low
= vceq_p64 (__low_a
, __low_b
);
18335 return vcombine_u64 (__low
, __high
);
18338 __extension__
extern __inline uint64x2_t
18339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18340 vceqzq_p64 (poly64x2_t __a
)
18342 poly64x2_t __b
= vreinterpretq_p64_u32 (vdupq_n_u32 (0));
18343 return vceqq_p64 (__a
, __b
);
18346 /* The vtst_p64 intrinsic does not map to a single instruction.
18347 We emulate it in way similar to vceq_p64 above but here we do
18348 a reduction with max since if any two corresponding bits
18349 in the two poly64_t's match, then the whole result must be all ones. */
18351 __extension__
extern __inline uint64x1_t
18352 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18353 vtst_p64 (poly64x1_t __a
, poly64x1_t __b
)
18355 uint32x2_t __t_a
= vreinterpret_u32_p64 (__a
);
18356 uint32x2_t __t_b
= vreinterpret_u32_p64 (__b
);
18357 uint32x2_t __c
= vtst_u32 (__t_a
, __t_b
);
18358 uint32x2_t __m
= vpmax_u32 (__c
, __c
);
18359 return vreinterpret_u64_u32 (__m
);
18362 __extension__
extern __inline uint8x16_t
18363 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18364 vaeseq_u8 (uint8x16_t __data
, uint8x16_t __key
)
18366 return __builtin_arm_crypto_aese (__data
, __key
);
18369 __extension__
extern __inline uint8x16_t
18370 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18371 vaesdq_u8 (uint8x16_t __data
, uint8x16_t __key
)
18373 return __builtin_arm_crypto_aesd (__data
, __key
);
18376 __extension__
extern __inline uint8x16_t
18377 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18378 vaesmcq_u8 (uint8x16_t __data
)
18380 return __builtin_arm_crypto_aesmc (__data
);
18383 __extension__
extern __inline uint8x16_t
18384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18385 vaesimcq_u8 (uint8x16_t __data
)
18387 return __builtin_arm_crypto_aesimc (__data
);
18390 __extension__
extern __inline
uint32_t
18391 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18392 vsha1h_u32 (uint32_t __hash_e
)
18394 return vgetq_lane_u32 (__builtin_arm_crypto_sha1h (vdupq_n_u32 (__hash_e
)),
18398 __extension__
extern __inline uint32x4_t
18399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18400 vsha1cq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
18402 return __builtin_arm_crypto_sha1c (__hash_abcd
, vdupq_n_u32 (__hash_e
),
18406 __extension__
extern __inline uint32x4_t
18407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18408 vsha1pq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
18410 return __builtin_arm_crypto_sha1p (__hash_abcd
, vdupq_n_u32 (__hash_e
),
18414 __extension__
extern __inline uint32x4_t
18415 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18416 vsha1mq_u32 (uint32x4_t __hash_abcd
, uint32_t __hash_e
, uint32x4_t __wk
)
18418 return __builtin_arm_crypto_sha1m (__hash_abcd
, vdupq_n_u32 (__hash_e
),
18422 __extension__
extern __inline uint32x4_t
18423 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18424 vsha1su0q_u32 (uint32x4_t __w0_3
, uint32x4_t __w4_7
, uint32x4_t __w8_11
)
18426 return __builtin_arm_crypto_sha1su0 (__w0_3
, __w4_7
, __w8_11
);
18429 __extension__
extern __inline uint32x4_t
18430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18431 vsha1su1q_u32 (uint32x4_t __tw0_3
, uint32x4_t __w12_15
)
18433 return __builtin_arm_crypto_sha1su1 (__tw0_3
, __w12_15
);
18436 __extension__
extern __inline uint32x4_t
18437 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18438 vsha256hq_u32 (uint32x4_t __hash_abcd
, uint32x4_t __hash_efgh
, uint32x4_t __wk
)
18440 return __builtin_arm_crypto_sha256h (__hash_abcd
, __hash_efgh
, __wk
);
18443 __extension__
extern __inline uint32x4_t
18444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18445 vsha256h2q_u32 (uint32x4_t __hash_abcd
, uint32x4_t __hash_efgh
, uint32x4_t __wk
)
18447 return __builtin_arm_crypto_sha256h2 (__hash_abcd
, __hash_efgh
, __wk
);
18450 __extension__
extern __inline uint32x4_t
18451 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18452 vsha256su0q_u32 (uint32x4_t __w0_3
, uint32x4_t __w4_7
)
18454 return __builtin_arm_crypto_sha256su0 (__w0_3
, __w4_7
);
18457 __extension__
extern __inline uint32x4_t
18458 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18459 vsha256su1q_u32 (uint32x4_t __tw0_3
, uint32x4_t __w8_11
, uint32x4_t __w12_15
)
18461 return __builtin_arm_crypto_sha256su1 (__tw0_3
, __w8_11
, __w12_15
);
18464 __extension__
extern __inline poly128_t
18465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18466 vmull_p64 (poly64_t __a
, poly64_t __b
)
18468 return (poly128_t
) __builtin_arm_crypto_vmullp64 ((uint64_t) __a
, (uint64_t) __b
);
18471 __extension__
extern __inline poly128_t
18472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18473 vmull_high_p64 (poly64x2_t __a
, poly64x2_t __b
)
18475 poly64_t __t1
= vget_high_p64 (__a
);
18476 poly64_t __t2
= vget_high_p64 (__b
);
18478 return (poly128_t
) __builtin_arm_crypto_vmullp64 ((uint64_t) __t1
, (uint64_t) __t2
);
18481 #pragma GCC pop_options
18483 /* Intrinsics for FP16 instructions. */
18484 #pragma GCC push_options
18485 #pragma GCC target ("fpu=neon-fp-armv8")
18486 #if defined (__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
18488 __extension__
extern __inline float16x4_t
18489 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18490 vabd_f16 (float16x4_t __a
, float16x4_t __b
)
18492 return __builtin_neon_vabdv4hf (__a
, __b
);
18495 __extension__
extern __inline float16x8_t
18496 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18497 vabdq_f16 (float16x8_t __a
, float16x8_t __b
)
18499 return __builtin_neon_vabdv8hf (__a
, __b
);
18502 __extension__
extern __inline float16x4_t
18503 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18504 vabs_f16 (float16x4_t __a
)
18506 return __builtin_neon_vabsv4hf (__a
);
18509 __extension__
extern __inline float16x8_t
18510 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18511 vabsq_f16 (float16x8_t __a
)
18513 return __builtin_neon_vabsv8hf (__a
);
18516 __extension__
extern __inline float16x4_t
18517 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18518 vadd_f16 (float16x4_t __a
, float16x4_t __b
)
18520 #ifdef __FAST_MATH__
18523 return __builtin_neon_vaddv4hf (__a
, __b
);
18527 __extension__
extern __inline float16x8_t
18528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18529 vaddq_f16 (float16x8_t __a
, float16x8_t __b
)
18531 #ifdef __FAST_MATH__
18534 return __builtin_neon_vaddv8hf (__a
, __b
);
18538 __extension__
extern __inline uint16x4_t
18539 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18540 vcage_f16 (float16x4_t __a
, float16x4_t __b
)
18542 #ifdef __FAST_MATH__
18543 return (uint16x4_t
) (vabs_f16 (__a
) >= vabs_f16 (__b
));
18545 return (uint16x4_t
)__builtin_neon_vcagev4hf (__a
, __b
);
18549 __extension__
extern __inline uint16x8_t
18550 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18551 vcageq_f16 (float16x8_t __a
, float16x8_t __b
)
18553 #ifdef __FAST_MATH__
18554 return (uint16x8_t
) (vabsq_f16 (__a
) >= vabsq_f16 (__b
));
18556 return (uint16x8_t
)__builtin_neon_vcagev8hf (__a
, __b
);
18560 __extension__
extern __inline uint16x4_t
18561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18562 vcagt_f16 (float16x4_t __a
, float16x4_t __b
)
18564 #ifdef __FAST_MATH__
18565 return (uint16x4_t
) (vabs_f16 (__a
) > vabs_f16 (__b
));
18567 return (uint16x4_t
)__builtin_neon_vcagtv4hf (__a
, __b
);
18571 __extension__
extern __inline uint16x8_t
18572 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18573 vcagtq_f16 (float16x8_t __a
, float16x8_t __b
)
18575 #ifdef __FAST_MATH__
18576 return (uint16x8_t
) (vabsq_f16 (__a
) > vabsq_f16 (__b
));
18578 return (uint16x8_t
)__builtin_neon_vcagtv8hf (__a
, __b
);
18582 __extension__
extern __inline uint16x4_t
18583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18584 vcale_f16 (float16x4_t __a
, float16x4_t __b
)
18586 #ifdef __FAST_MATH__
18587 return (uint16x4_t
) (vabs_f16 (__a
) <= vabs_f16 (__b
));
18589 return (uint16x4_t
)__builtin_neon_vcalev4hf (__a
, __b
);
18593 __extension__
extern __inline uint16x8_t
18594 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18595 vcaleq_f16 (float16x8_t __a
, float16x8_t __b
)
18597 #ifdef __FAST_MATH__
18598 return (uint16x8_t
) (vabsq_f16 (__a
) <= vabsq_f16 (__b
));
18600 return (uint16x8_t
)__builtin_neon_vcalev8hf (__a
, __b
);
18604 __extension__
extern __inline uint16x4_t
18605 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18606 vcalt_f16 (float16x4_t __a
, float16x4_t __b
)
18608 #ifdef __FAST_MATH__
18609 return (uint16x4_t
) (vabs_f16 (__a
) < vabs_f16 (__b
));
18611 return (uint16x4_t
)__builtin_neon_vcaltv4hf (__a
, __b
);
18615 __extension__
extern __inline uint16x8_t
18616 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18617 vcaltq_f16 (float16x8_t __a
, float16x8_t __b
)
18619 #ifdef __FAST_MATH__
18620 return (uint16x8_t
) (vabsq_f16 (__a
) < vabsq_f16 (__b
));
18622 return (uint16x8_t
)__builtin_neon_vcaltv8hf (__a
, __b
);
18626 __extension__
extern __inline uint16x4_t
18627 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18628 vceq_f16 (float16x4_t __a
, float16x4_t __b
)
18630 #ifdef __FAST_MATH__
18631 return (uint16x4_t
) (__a
== __b
);
18633 return (uint16x4_t
)__builtin_neon_vceqv4hf (__a
, __b
);
18637 __extension__
extern __inline uint16x8_t
18638 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18639 vceqq_f16 (float16x8_t __a
, float16x8_t __b
)
18641 #ifdef __FAST_MATH__
18642 return (uint16x8_t
) (__a
== __b
);
18644 return (uint16x8_t
)__builtin_neon_vceqv8hf (__a
, __b
);
18648 __extension__
extern __inline uint16x4_t
18649 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18650 vceqz_f16 (float16x4_t __a
)
18652 return (uint16x4_t
)__builtin_neon_vceqzv4hf (__a
);
18655 __extension__
extern __inline uint16x8_t
18656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18657 vceqzq_f16 (float16x8_t __a
)
18659 return (uint16x8_t
)__builtin_neon_vceqzv8hf (__a
);
18662 __extension__
extern __inline uint16x4_t
18663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18664 vcge_f16 (float16x4_t __a
, float16x4_t __b
)
18666 return (uint16x4_t
)__builtin_neon_vcgev4hf (__a
, __b
);
18669 __extension__
extern __inline uint16x8_t
18670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18671 vcgeq_f16 (float16x8_t __a
, float16x8_t __b
)
18673 return (uint16x8_t
)__builtin_neon_vcgev8hf (__a
, __b
);
18676 __extension__
extern __inline uint16x4_t
18677 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18678 vcgez_f16 (float16x4_t __a
)
18680 return (uint16x4_t
)__builtin_neon_vcgezv4hf (__a
);
18683 __extension__
extern __inline uint16x8_t
18684 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18685 vcgezq_f16 (float16x8_t __a
)
18687 return (uint16x8_t
)__builtin_neon_vcgezv8hf (__a
);
18690 __extension__
extern __inline uint16x4_t
18691 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18692 vcgt_f16 (float16x4_t __a
, float16x4_t __b
)
18694 return (uint16x4_t
)__builtin_neon_vcgtv4hf (__a
, __b
);
18697 __extension__
extern __inline uint16x8_t
18698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18699 vcgtq_f16 (float16x8_t __a
, float16x8_t __b
)
18701 return (uint16x8_t
)__builtin_neon_vcgtv8hf (__a
, __b
);
18704 __extension__
extern __inline uint16x4_t
18705 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18706 vcgtz_f16 (float16x4_t __a
)
18708 return (uint16x4_t
)__builtin_neon_vcgtzv4hf (__a
);
18711 __extension__
extern __inline uint16x8_t
18712 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18713 vcgtzq_f16 (float16x8_t __a
)
18715 return (uint16x8_t
)__builtin_neon_vcgtzv8hf (__a
);
18718 __extension__
extern __inline uint16x4_t
18719 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18720 vcle_f16 (float16x4_t __a
, float16x4_t __b
)
18722 return (uint16x4_t
)__builtin_neon_vclev4hf (__a
, __b
);
18725 __extension__
extern __inline uint16x8_t
18726 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18727 vcleq_f16 (float16x8_t __a
, float16x8_t __b
)
18729 return (uint16x8_t
)__builtin_neon_vclev8hf (__a
, __b
);
18732 __extension__
extern __inline uint16x4_t
18733 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18734 vclez_f16 (float16x4_t __a
)
18736 return (uint16x4_t
)__builtin_neon_vclezv4hf (__a
);
18739 __extension__
extern __inline uint16x8_t
18740 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18741 vclezq_f16 (float16x8_t __a
)
18743 return (uint16x8_t
)__builtin_neon_vclezv8hf (__a
);
18746 __extension__
extern __inline uint16x4_t
18747 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18748 vclt_f16 (float16x4_t __a
, float16x4_t __b
)
18750 return (uint16x4_t
)__builtin_neon_vcltv4hf (__a
, __b
);
18753 __extension__
extern __inline uint16x8_t
18754 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18755 vcltq_f16 (float16x8_t __a
, float16x8_t __b
)
18757 return (uint16x8_t
)__builtin_neon_vcltv8hf (__a
, __b
);
18760 __extension__
extern __inline uint16x4_t
18761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18762 vcltz_f16 (float16x4_t __a
)
18764 return (uint16x4_t
)__builtin_neon_vcltzv4hf (__a
);
18767 __extension__
extern __inline uint16x8_t
18768 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18769 vcltzq_f16 (float16x8_t __a
)
18771 return (uint16x8_t
)__builtin_neon_vcltzv8hf (__a
);
18774 __extension__
extern __inline float16x4_t
18775 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18776 vcvt_f16_s16 (int16x4_t __a
)
18778 return (float16x4_t
)__builtin_neon_vcvtsv4hi (__a
);
18781 __extension__
extern __inline float16x4_t
18782 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18783 vcvt_f16_u16 (uint16x4_t __a
)
18785 return (float16x4_t
)__builtin_neon_vcvtuv4hi ((int16x4_t
)__a
);
18788 __extension__
extern __inline int16x4_t
18789 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18790 vcvt_s16_f16 (float16x4_t __a
)
18792 return (int16x4_t
)__builtin_neon_vcvtsv4hf (__a
);
18795 __extension__
extern __inline uint16x4_t
18796 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18797 vcvt_u16_f16 (float16x4_t __a
)
18799 return (uint16x4_t
)__builtin_neon_vcvtuv4hf (__a
);
18802 __extension__
extern __inline float16x8_t
18803 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18804 vcvtq_f16_s16 (int16x8_t __a
)
18806 return (float16x8_t
)__builtin_neon_vcvtsv8hi (__a
);
18809 __extension__
extern __inline float16x8_t
18810 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18811 vcvtq_f16_u16 (uint16x8_t __a
)
18813 return (float16x8_t
)__builtin_neon_vcvtuv8hi ((int16x8_t
)__a
);
18816 __extension__
extern __inline int16x8_t
18817 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18818 vcvtq_s16_f16 (float16x8_t __a
)
18820 return (int16x8_t
)__builtin_neon_vcvtsv8hf (__a
);
18823 __extension__
extern __inline uint16x8_t
18824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18825 vcvtq_u16_f16 (float16x8_t __a
)
18827 return (uint16x8_t
)__builtin_neon_vcvtuv8hf (__a
);
18830 __extension__
extern __inline int16x4_t
18831 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18832 vcvta_s16_f16 (float16x4_t __a
)
18834 return __builtin_neon_vcvtasv4hf (__a
);
18837 __extension__
extern __inline uint16x4_t
18838 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18839 vcvta_u16_f16 (float16x4_t __a
)
18841 return (uint16x4_t
)__builtin_neon_vcvtauv4hf (__a
);
18844 __extension__
extern __inline int16x8_t
18845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18846 vcvtaq_s16_f16 (float16x8_t __a
)
18848 return __builtin_neon_vcvtasv8hf (__a
);
18851 __extension__
extern __inline uint16x8_t
18852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18853 vcvtaq_u16_f16 (float16x8_t __a
)
18855 return (uint16x8_t
)__builtin_neon_vcvtauv8hf (__a
);
18858 __extension__
extern __inline int16x4_t
18859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18860 vcvtm_s16_f16 (float16x4_t __a
)
18862 return __builtin_neon_vcvtmsv4hf (__a
);
18865 __extension__
extern __inline uint16x4_t
18866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18867 vcvtm_u16_f16 (float16x4_t __a
)
18869 return (uint16x4_t
)__builtin_neon_vcvtmuv4hf (__a
);
18872 __extension__
extern __inline int16x8_t
18873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18874 vcvtmq_s16_f16 (float16x8_t __a
)
18876 return __builtin_neon_vcvtmsv8hf (__a
);
18879 __extension__
extern __inline uint16x8_t
18880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18881 vcvtmq_u16_f16 (float16x8_t __a
)
18883 return (uint16x8_t
)__builtin_neon_vcvtmuv8hf (__a
);
18886 __extension__
extern __inline int16x4_t
18887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18888 vcvtn_s16_f16 (float16x4_t __a
)
18890 return __builtin_neon_vcvtnsv4hf (__a
);
18893 __extension__
extern __inline uint16x4_t
18894 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18895 vcvtn_u16_f16 (float16x4_t __a
)
18897 return (uint16x4_t
)__builtin_neon_vcvtnuv4hf (__a
);
18900 __extension__
extern __inline int16x8_t
18901 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18902 vcvtnq_s16_f16 (float16x8_t __a
)
18904 return __builtin_neon_vcvtnsv8hf (__a
);
18907 __extension__
extern __inline uint16x8_t
18908 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18909 vcvtnq_u16_f16 (float16x8_t __a
)
18911 return (uint16x8_t
)__builtin_neon_vcvtnuv8hf (__a
);
18914 __extension__
extern __inline int16x4_t
18915 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18916 vcvtp_s16_f16 (float16x4_t __a
)
18918 return __builtin_neon_vcvtpsv4hf (__a
);
18921 __extension__
extern __inline uint16x4_t
18922 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18923 vcvtp_u16_f16 (float16x4_t __a
)
18925 return (uint16x4_t
)__builtin_neon_vcvtpuv4hf (__a
);
18928 __extension__
extern __inline int16x8_t
18929 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18930 vcvtpq_s16_f16 (float16x8_t __a
)
18932 return __builtin_neon_vcvtpsv8hf (__a
);
18935 __extension__
extern __inline uint16x8_t
18936 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18937 vcvtpq_u16_f16 (float16x8_t __a
)
18939 return (uint16x8_t
)__builtin_neon_vcvtpuv8hf (__a
);
18942 __extension__
extern __inline float16x4_t
18943 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18944 vcvt_n_f16_s16 (int16x4_t __a
, const int __b
)
18946 return __builtin_neon_vcvts_nv4hi (__a
, __b
);
18949 __extension__
extern __inline float16x4_t
18950 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18951 vcvt_n_f16_u16 (uint16x4_t __a
, const int __b
)
18953 return __builtin_neon_vcvtu_nv4hi ((int16x4_t
)__a
, __b
);
18956 __extension__
extern __inline float16x8_t
18957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18958 vcvtq_n_f16_s16 (int16x8_t __a
, const int __b
)
18960 return __builtin_neon_vcvts_nv8hi (__a
, __b
);
18963 __extension__
extern __inline float16x8_t
18964 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18965 vcvtq_n_f16_u16 (uint16x8_t __a
, const int __b
)
18967 return __builtin_neon_vcvtu_nv8hi ((int16x8_t
)__a
, __b
);
18970 __extension__
extern __inline int16x4_t
18971 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18972 vcvt_n_s16_f16 (float16x4_t __a
, const int __b
)
18974 return __builtin_neon_vcvts_nv4hf (__a
, __b
);
18977 __extension__
extern __inline uint16x4_t
18978 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18979 vcvt_n_u16_f16 (float16x4_t __a
, const int __b
)
18981 return (uint16x4_t
)__builtin_neon_vcvtu_nv4hf (__a
, __b
);
18984 __extension__
extern __inline int16x8_t
18985 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18986 vcvtq_n_s16_f16 (float16x8_t __a
, const int __b
)
18988 return __builtin_neon_vcvts_nv8hf (__a
, __b
);
18991 __extension__
extern __inline uint16x8_t
18992 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
18993 vcvtq_n_u16_f16 (float16x8_t __a
, const int __b
)
18995 return (uint16x8_t
)__builtin_neon_vcvtu_nv8hf (__a
, __b
);
18998 __extension__
extern __inline float16x4_t
18999 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19000 vfma_f16 (float16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
19002 return __builtin_neon_vfmav4hf (__a
, __b
, __c
);
19005 __extension__
extern __inline float16x8_t
19006 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19007 vfmaq_f16 (float16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
19009 return __builtin_neon_vfmav8hf (__a
, __b
, __c
);
19012 __extension__
extern __inline float16x4_t
19013 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19014 vfms_f16 (float16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
19016 return __builtin_neon_vfmsv4hf (__a
, __b
, __c
);
19019 __extension__
extern __inline float16x8_t
19020 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19021 vfmsq_f16 (float16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
19023 return __builtin_neon_vfmsv8hf (__a
, __b
, __c
);
19026 __extension__
extern __inline float16x4_t
19027 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19028 vmax_f16 (float16x4_t __a
, float16x4_t __b
)
19030 return __builtin_neon_vmaxfv4hf (__a
, __b
);
19033 __extension__
extern __inline float16x8_t
19034 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19035 vmaxq_f16 (float16x8_t __a
, float16x8_t __b
)
19037 return __builtin_neon_vmaxfv8hf (__a
, __b
);
19040 __extension__
extern __inline float16x4_t
19041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19042 vmaxnm_f16 (float16x4_t __a
, float16x4_t __b
)
19044 return __builtin_neon_vmaxnmv4hf (__a
, __b
);
19047 __extension__
extern __inline float16x8_t
19048 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19049 vmaxnmq_f16 (float16x8_t __a
, float16x8_t __b
)
19051 return __builtin_neon_vmaxnmv8hf (__a
, __b
);
19054 __extension__
extern __inline float16x4_t
19055 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19056 vmin_f16 (float16x4_t __a
, float16x4_t __b
)
19058 return __builtin_neon_vminfv4hf (__a
, __b
);
19061 __extension__
extern __inline float16x8_t
19062 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19063 vminq_f16 (float16x8_t __a
, float16x8_t __b
)
19065 return __builtin_neon_vminfv8hf (__a
, __b
);
19068 __extension__
extern __inline float16x4_t
19069 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19070 vminnm_f16 (float16x4_t __a
, float16x4_t __b
)
19072 return __builtin_neon_vminnmv4hf (__a
, __b
);
19075 __extension__
extern __inline float16x8_t
19076 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19077 vminnmq_f16 (float16x8_t __a
, float16x8_t __b
)
19079 return __builtin_neon_vminnmv8hf (__a
, __b
);
19082 __extension__
extern __inline float16x4_t
19083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19084 vmul_f16 (float16x4_t __a
, float16x4_t __b
)
19086 #ifdef __FAST_MATH__
19089 return __builtin_neon_vmulfv4hf (__a
, __b
);
19093 __extension__
extern __inline float16x4_t
19094 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19095 vmul_lane_f16 (float16x4_t __a
, float16x4_t __b
, const int __c
)
19097 return __builtin_neon_vmul_lanev4hf (__a
, __b
, __c
);
19100 __extension__
extern __inline float16x4_t
19101 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19102 vmul_n_f16 (float16x4_t __a
, float16_t __b
)
19104 #ifdef __FAST_MATH__
19107 return __builtin_neon_vmul_nv4hf (__a
, __b
);
19111 __extension__
extern __inline float16x8_t
19112 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19113 vmulq_f16 (float16x8_t __a
, float16x8_t __b
)
19115 #ifdef __FAST_MATH__
19118 return __builtin_neon_vmulfv8hf (__a
, __b
);
19122 __extension__
extern __inline float16x8_t
19123 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19124 vmulq_lane_f16 (float16x8_t __a
, float16x4_t __b
, const int __c
)
19126 return __builtin_neon_vmul_lanev8hf (__a
, __b
, __c
);
19129 __extension__
extern __inline float16x8_t
19130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19131 vmulq_n_f16 (float16x8_t __a
, float16_t __b
)
19133 #ifdef __FAST_MATH__
19136 return __builtin_neon_vmul_nv8hf (__a
, __b
);
19140 __extension__
extern __inline float16x4_t
19141 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19142 vneg_f16 (float16x4_t __a
)
19144 return __builtin_neon_vnegv4hf (__a
);
19147 __extension__
extern __inline float16x8_t
19148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19149 vnegq_f16 (float16x8_t __a
)
19151 return __builtin_neon_vnegv8hf (__a
);
19154 __extension__
extern __inline float16x4_t
19155 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19156 vpadd_f16 (float16x4_t __a
, float16x4_t __b
)
19158 return __builtin_neon_vpaddv4hf (__a
, __b
);
19161 __extension__
extern __inline float16x4_t
19162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19163 vpmax_f16 (float16x4_t __a
, float16x4_t __b
)
19165 return __builtin_neon_vpmaxfv4hf (__a
, __b
);
19168 __extension__
extern __inline float16x4_t
19169 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19170 vpmin_f16 (float16x4_t __a
, float16x4_t __b
)
19172 return __builtin_neon_vpminfv4hf (__a
, __b
);
19175 __extension__
extern __inline float16x4_t
19176 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19177 vrecpe_f16 (float16x4_t __a
)
19179 return __builtin_neon_vrecpev4hf (__a
);
19182 __extension__
extern __inline float16x8_t
19183 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19184 vrecpeq_f16 (float16x8_t __a
)
19186 return __builtin_neon_vrecpev8hf (__a
);
19189 __extension__
extern __inline float16x4_t
19190 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19191 vrnd_f16 (float16x4_t __a
)
19193 return __builtin_neon_vrndv4hf (__a
);
19196 __extension__
extern __inline float16x8_t
19197 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19198 vrndq_f16 (float16x8_t __a
)
19200 return __builtin_neon_vrndv8hf (__a
);
19203 __extension__
extern __inline float16x4_t
19204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19205 vrnda_f16 (float16x4_t __a
)
19207 return __builtin_neon_vrndav4hf (__a
);
19210 __extension__
extern __inline float16x8_t
19211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19212 vrndaq_f16 (float16x8_t __a
)
19214 return __builtin_neon_vrndav8hf (__a
);
19217 __extension__
extern __inline float16x4_t
19218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19219 vrndm_f16 (float16x4_t __a
)
19221 return __builtin_neon_vrndmv4hf (__a
);
19224 __extension__
extern __inline float16x8_t
19225 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19226 vrndmq_f16 (float16x8_t __a
)
19228 return __builtin_neon_vrndmv8hf (__a
);
19231 __extension__
extern __inline float16x4_t
19232 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19233 vrndn_f16 (float16x4_t __a
)
19235 return __builtin_neon_vrndnv4hf (__a
);
19238 __extension__
extern __inline float16x8_t
19239 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19240 vrndnq_f16 (float16x8_t __a
)
19242 return __builtin_neon_vrndnv8hf (__a
);
19245 __extension__
extern __inline float16x4_t
19246 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19247 vrndp_f16 (float16x4_t __a
)
19249 return __builtin_neon_vrndpv4hf (__a
);
19252 __extension__
extern __inline float16x8_t
19253 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19254 vrndpq_f16 (float16x8_t __a
)
19256 return __builtin_neon_vrndpv8hf (__a
);
19259 __extension__
extern __inline float16x4_t
19260 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19261 vrndx_f16 (float16x4_t __a
)
19263 return __builtin_neon_vrndxv4hf (__a
);
19266 __extension__
extern __inline float16x8_t
19267 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19268 vrndxq_f16 (float16x8_t __a
)
19270 return __builtin_neon_vrndxv8hf (__a
);
19273 __extension__
extern __inline float16x4_t
19274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19275 vrsqrte_f16 (float16x4_t __a
)
19277 return __builtin_neon_vrsqrtev4hf (__a
);
19280 __extension__
extern __inline float16x8_t
19281 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19282 vrsqrteq_f16 (float16x8_t __a
)
19284 return __builtin_neon_vrsqrtev8hf (__a
);
19287 __extension__
extern __inline float16x4_t
19288 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19289 vrecps_f16 (float16x4_t __a
, float16x4_t __b
)
19291 return __builtin_neon_vrecpsv4hf (__a
, __b
);
19294 __extension__
extern __inline float16x8_t
19295 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19296 vrecpsq_f16 (float16x8_t __a
, float16x8_t __b
)
19298 return __builtin_neon_vrecpsv8hf (__a
, __b
);
19301 __extension__
extern __inline float16x4_t
19302 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19303 vrsqrts_f16 (float16x4_t __a
, float16x4_t __b
)
19305 return __builtin_neon_vrsqrtsv4hf (__a
, __b
);
19308 __extension__
extern __inline float16x8_t
19309 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19310 vrsqrtsq_f16 (float16x8_t __a
, float16x8_t __b
)
19312 return __builtin_neon_vrsqrtsv8hf (__a
, __b
);
19315 __extension__
extern __inline float16x4_t
19316 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19317 vsub_f16 (float16x4_t __a
, float16x4_t __b
)
19319 #ifdef __FAST_MATH__
19322 return __builtin_neon_vsubv4hf (__a
, __b
);
19326 __extension__
extern __inline float16x8_t
19327 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19328 vsubq_f16 (float16x8_t __a
, float16x8_t __b
)
19330 #ifdef __FAST_MATH__
19333 return __builtin_neon_vsubv8hf (__a
, __b
);
19337 #endif /* __ARM_FEATURE_VECTOR_FP16_ARITHMETIC. */
19338 #pragma GCC pop_options
19340 /* Half-precision data processing intrinsics. */
19341 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
19343 __extension__
extern __inline float16x4_t
19344 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19345 vbsl_f16 (uint16x4_t __a
, float16x4_t __b
, float16x4_t __c
)
19347 return __builtin_neon_vbslv4hf ((int16x4_t
)__a
, __b
, __c
);
19350 __extension__
extern __inline float16x8_t
19351 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19352 vbslq_f16 (uint16x8_t __a
, float16x8_t __b
, float16x8_t __c
)
19354 return __builtin_neon_vbslv8hf ((int16x8_t
)__a
, __b
, __c
);
19357 __extension__
extern __inline float16x4_t
19358 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19359 vdup_n_f16 (float16_t __a
)
19361 return (float16x4_t
) {__a
, __a
, __a
, __a
};
19364 __extension__
extern __inline float16x8_t
19365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19366 vdupq_n_f16 (float16_t __a
)
19368 return (float16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
19371 __extension__
extern __inline float16x4_t
19372 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19373 vdup_lane_f16 (float16x4_t __a
, const int __b
)
19375 return __builtin_neon_vdup_lanev4hf (__a
, __b
);
19378 __extension__
extern __inline float16x8_t
19379 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19380 vdupq_lane_f16 (float16x4_t __a
, const int __b
)
19382 return __builtin_neon_vdup_lanev8hf (__a
, __b
);
19385 __extension__
extern __inline float16x4_t
19386 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19387 vext_f16 (float16x4_t __a
, float16x4_t __b
, const int __c
)
19389 return __builtin_neon_vextv4hf (__a
, __b
, __c
);
19392 __extension__
extern __inline float16x8_t
19393 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19394 vextq_f16 (float16x8_t __a
, float16x8_t __b
, const int __c
)
19396 return __builtin_neon_vextv8hf (__a
, __b
, __c
);
19399 __extension__
extern __inline float16x4_t
19400 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19401 vmov_n_f16 (float16_t __a
)
19403 return vdup_n_f16 (__a
);
19406 __extension__
extern __inline float16x8_t
19407 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19408 vmovq_n_f16 (float16_t __a
)
19410 return vdupq_n_f16 (__a
);
19413 __extension__
extern __inline float16x4_t
19414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19415 vrev64_f16 (float16x4_t __a
)
19417 return (float16x4_t
)__builtin_shuffle (__a
, (uint16x4_t
){ 3, 2, 1, 0 });
19420 __extension__
extern __inline float16x8_t
19421 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19422 vrev64q_f16 (float16x8_t __a
)
19425 (float16x8_t
)__builtin_shuffle (__a
,
19426 (uint16x8_t
){ 3, 2, 1, 0, 7, 6, 5, 4 });
19429 __extension__
extern __inline float16x4x2_t
19430 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19431 vtrn_f16 (float16x4_t __a
, float16x4_t __b
)
19433 float16x4x2_t __rv
;
19434 #ifdef __ARM_BIG_ENDIAN
19435 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 5, 1, 7, 3 });
19436 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 4, 0, 6, 2 });
19438 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 0, 4, 2, 6 });
19439 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 1, 5, 3, 7 });
19444 __extension__
extern __inline float16x8x2_t
19445 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19446 vtrnq_f16 (float16x8_t __a
, float16x8_t __b
)
19448 float16x8x2_t __rv
;
19449 #ifdef __ARM_BIG_ENDIAN
19450 __rv
.val
[0] = __builtin_shuffle (__a
, __b
,
19451 (uint16x8_t
){ 9, 1, 11, 3, 13, 5, 15, 7 });
19452 __rv
.val
[1] = __builtin_shuffle (__a
, __b
,
19453 (uint16x8_t
){ 8, 0, 10, 2, 12, 4, 14, 6 });
19455 __rv
.val
[0] = __builtin_shuffle (__a
, __b
,
19456 (uint16x8_t
){ 0, 8, 2, 10, 4, 12, 6, 14 });
19457 __rv
.val
[1] = __builtin_shuffle (__a
, __b
,
19458 (uint16x8_t
){ 1, 9, 3, 11, 5, 13, 7, 15 });
19463 __extension__
extern __inline float16x4x2_t
19464 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19465 vuzp_f16 (float16x4_t __a
, float16x4_t __b
)
19467 float16x4x2_t __rv
;
19468 #ifdef __ARM_BIG_ENDIAN
19469 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 5, 7, 1, 3 });
19470 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 4, 6, 0, 2 });
19472 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 0, 2, 4, 6 });
19473 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 1, 3, 5, 7 });
19478 __extension__
extern __inline float16x8x2_t
19479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19480 vuzpq_f16 (float16x8_t __a
, float16x8_t __b
)
19482 float16x8x2_t __rv
;
19483 #ifdef __ARM_BIG_ENDIAN
19484 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
19485 { 5, 7, 1, 3, 13, 15, 9, 11 });
19486 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
19487 { 4, 6, 0, 2, 12, 14, 8, 10 });
19489 __rv
.val
[0] = __builtin_shuffle (__a
, __b
,
19490 (uint16x8_t
){ 0, 2, 4, 6, 8, 10, 12, 14 });
19491 __rv
.val
[1] = __builtin_shuffle (__a
, __b
,
19492 (uint16x8_t
){ 1, 3, 5, 7, 9, 11, 13, 15 });
19497 __extension__
extern __inline float16x4x2_t
19498 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19499 vzip_f16 (float16x4_t __a
, float16x4_t __b
)
19501 float16x4x2_t __rv
;
19502 #ifdef __ARM_BIG_ENDIAN
19503 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 6, 2, 7, 3 });
19504 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 4, 0, 5, 1 });
19506 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 0, 4, 1, 5 });
19507 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x4_t
){ 2, 6, 3, 7 });
19512 __extension__
extern __inline float16x8x2_t
19513 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19514 vzipq_f16 (float16x8_t __a
, float16x8_t __b
)
19516 float16x8x2_t __rv
;
19517 #ifdef __ARM_BIG_ENDIAN
19518 __rv
.val
[0] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
19519 { 10, 2, 11, 3, 8, 0, 9, 1 });
19520 __rv
.val
[1] = __builtin_shuffle (__a
, __b
, (uint16x8_t
)
19521 { 14, 6, 15, 7, 12, 4, 13, 5 });
19523 __rv
.val
[0] = __builtin_shuffle (__a
, __b
,
19524 (uint16x8_t
){ 0, 8, 1, 9, 2, 10, 3, 11 });
19525 __rv
.val
[1] = __builtin_shuffle (__a
, __b
,
19526 (uint16x8_t
){ 4, 12, 5, 13, 6, 14, 7, 15 });
19533 /* AdvSIMD Dot Product intrinsics. */
19535 #if __ARM_ARCH >= 8
19536 #pragma GCC push_options
19537 #pragma GCC target ("arch=armv8.2-a+dotprod")
19539 __extension__
extern __inline uint32x2_t
19540 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19541 vdot_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x8_t __b
)
19543 return __builtin_neon_udotv8qi_uuuu (__r
, __a
, __b
);
19546 __extension__
extern __inline uint32x4_t
19547 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19548 vdotq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
)
19550 return __builtin_neon_udotv16qi_uuuu (__r
, __a
, __b
);
19553 __extension__
extern __inline int32x2_t
19554 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19555 vdot_s32 (int32x2_t __r
, int8x8_t __a
, int8x8_t __b
)
19557 return __builtin_neon_sdotv8qi (__r
, __a
, __b
);
19560 __extension__
extern __inline int32x4_t
19561 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19562 vdotq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
)
19564 return __builtin_neon_sdotv16qi (__r
, __a
, __b
);
19567 __extension__
extern __inline uint32x2_t
19568 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19569 vdot_lane_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x8_t __b
, const int __index
)
19571 return __builtin_neon_udot_lanev8qi_uuuus (__r
, __a
, __b
, __index
);
19574 __extension__
extern __inline uint32x4_t
19575 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19576 vdotq_lane_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x8_t __b
,
19579 return __builtin_neon_udot_lanev16qi_uuuus (__r
, __a
, __b
, __index
);
19582 __extension__
extern __inline int32x2_t
19583 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19584 vdot_lane_s32 (int32x2_t __r
, int8x8_t __a
, int8x8_t __b
, const int __index
)
19586 return __builtin_neon_sdot_lanev8qi (__r
, __a
, __b
, __index
);
19589 __extension__
extern __inline int32x4_t
19590 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19591 vdotq_lane_s32 (int32x4_t __r
, int8x16_t __a
, int8x8_t __b
, const int __index
)
19593 return __builtin_neon_sdot_lanev16qi (__r
, __a
, __b
, __index
);
19596 __extension__
extern __inline uint32x2_t
19597 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19598 vdot_laneq_u32 (uint32x2_t __r
, uint8x8_t __a
, uint8x16_t __b
, const int __index
)
19600 return __builtin_neon_udot_laneqv8qi_uuuus (__r
, __a
, __b
, __index
);
19603 __extension__
extern __inline uint32x4_t
19604 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19605 vdotq_laneq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
,
19608 return __builtin_neon_udot_laneqv16qi_uuuus (__r
, __a
, __b
, __index
);
19611 __extension__
extern __inline int32x2_t
19612 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19613 vdot_laneq_s32 (int32x2_t __r
, int8x8_t __a
, int8x16_t __b
, const int __index
)
19615 return __builtin_neon_sdot_laneqv8qi (__r
, __a
, __b
, __index
);
19618 __extension__
extern __inline int32x4_t
19619 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19620 vdotq_laneq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
, const int __index
)
19622 return __builtin_neon_sdot_laneqv16qi (__r
, __a
, __b
, __index
);
19625 #pragma GCC pop_options
19628 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
19629 #pragma GCC push_options
19630 #pragma GCC target ("arch=armv8.2-a+fp16fml")
19632 __extension__
extern __inline float32x2_t
19633 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19634 vfmlal_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
19636 return __builtin_neon_vfmal_lowv2sf (__r
, __a
, __b
);
19639 __extension__
extern __inline float32x2_t
19640 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19641 vfmlsl_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
19643 return __builtin_neon_vfmsl_lowv2sf (__r
, __a
, __b
);
19646 __extension__
extern __inline float32x2_t
19647 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19648 vfmlal_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
19650 return __builtin_neon_vfmal_highv2sf (__r
, __a
, __b
);
19653 __extension__
extern __inline float32x2_t
19654 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19655 vfmlsl_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
)
19657 return __builtin_neon_vfmsl_highv2sf (__r
, __a
, __b
);
19660 __extension__
extern __inline float32x4_t
19661 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19662 vfmlalq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
19664 return __builtin_neon_vfmal_lowv4sf (__r
, __a
, __b
);
19667 __extension__
extern __inline float32x4_t
19668 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19669 vfmlslq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
19671 return __builtin_neon_vfmsl_lowv4sf (__r
, __a
, __b
);
19674 __extension__
extern __inline float32x4_t
19675 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19676 vfmlalq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
19678 return __builtin_neon_vfmal_highv4sf (__r
, __a
, __b
);
19681 __extension__
extern __inline float32x4_t
19682 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19683 vfmlslq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
)
19685 return __builtin_neon_vfmsl_highv4sf (__r
, __a
, __b
);
19688 __extension__
extern __inline float32x2_t
19689 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19690 vfmlal_lane_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
19693 __builtin_arm_lane_check (4, __index
);
19694 return __builtin_neon_vfmal_lane_lowv2sf (__r
, __a
, __b
, __index
);
19697 __extension__
extern __inline float32x2_t
19698 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19699 vfmlal_lane_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
19702 __builtin_arm_lane_check (4, __index
);
19703 return __builtin_neon_vfmal_lane_highv2sf (__r
, __a
, __b
, __index
);
19706 __extension__
extern __inline float32x4_t
19707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19708 vfmlalq_laneq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
19711 __builtin_arm_lane_check (8, __index
);
19712 return __builtin_neon_vfmal_lane_lowv4sf (__r
, __a
, __b
, __index
);
19715 __extension__
extern __inline float32x4_t
19716 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19717 vfmlalq_lane_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
19720 __builtin_arm_lane_check (4, __index
);
19721 return __builtin_neon_vfmal_lane_lowv4hfv4sf (__r
, __a
, __b
, __index
);
19724 __extension__
extern __inline float32x2_t
19725 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19726 vfmlal_laneq_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
19729 __builtin_arm_lane_check (8, __index
);
19730 return __builtin_neon_vfmal_lane_lowv8hfv2sf (__r
, __a
, __b
, __index
);
19733 __extension__
extern __inline float32x4_t
19734 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19735 vfmlalq_laneq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
19738 __builtin_arm_lane_check (8, __index
);
19739 return __builtin_neon_vfmal_lane_highv4sf (__r
, __a
, __b
, __index
);
19742 __extension__
extern __inline float32x4_t
19743 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19744 vfmlalq_lane_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
19747 __builtin_arm_lane_check (4, __index
);
19748 return __builtin_neon_vfmal_lane_highv4hfv4sf (__r
, __a
, __b
, __index
);
19751 __extension__
extern __inline float32x2_t
19752 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19753 vfmlal_laneq_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
19756 __builtin_arm_lane_check (8, __index
);
19757 return __builtin_neon_vfmal_lane_highv8hfv2sf (__r
, __a
, __b
, __index
);
19760 __extension__
extern __inline float32x2_t
19761 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19762 vfmlsl_lane_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
19765 __builtin_arm_lane_check (4, __index
);
19766 return __builtin_neon_vfmsl_lane_lowv2sf (__r
, __a
, __b
, __index
);
19769 __extension__
extern __inline float32x2_t
19770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19771 vfmlsl_lane_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x4_t __b
,
19774 __builtin_arm_lane_check (4, __index
);
19775 return __builtin_neon_vfmsl_lane_highv2sf (__r
, __a
, __b
, __index
);
19778 __extension__
extern __inline float32x4_t
19779 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19780 vfmlslq_laneq_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
19783 __builtin_arm_lane_check (8, __index
);
19784 return __builtin_neon_vfmsl_lane_lowv4sf (__r
, __a
, __b
, __index
);
19787 __extension__
extern __inline float32x4_t
19788 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19789 vfmlslq_lane_low_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
19792 __builtin_arm_lane_check (4, __index
);
19793 return __builtin_neon_vfmsl_lane_lowv4hfv4sf (__r
, __a
, __b
, __index
);
19796 __extension__
extern __inline float32x2_t
19797 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19798 vfmlsl_laneq_low_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
19801 __builtin_arm_lane_check (8, __index
);
19802 return __builtin_neon_vfmsl_lane_lowv8hfv2sf (__r
, __a
, __b
, __index
);
19805 __extension__
extern __inline float32x4_t
19806 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19807 vfmlslq_laneq_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x8_t __b
,
19810 __builtin_arm_lane_check (8, __index
);
19811 return __builtin_neon_vfmsl_lane_highv4sf (__r
, __a
, __b
, __index
);
19814 __extension__
extern __inline float32x4_t
19815 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19816 vfmlslq_lane_high_f16 (float32x4_t __r
, float16x8_t __a
, float16x4_t __b
,
19819 __builtin_arm_lane_check (4, __index
);
19820 return __builtin_neon_vfmsl_lane_highv4hfv4sf (__r
, __a
, __b
, __index
);
19823 __extension__
extern __inline float32x2_t
19824 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19825 vfmlsl_laneq_high_f16 (float32x2_t __r
, float16x4_t __a
, float16x8_t __b
,
19828 __builtin_arm_lane_check (8, __index
);
19829 return __builtin_neon_vfmsl_lane_highv8hfv2sf (__r
, __a
, __b
, __index
);
19832 #pragma GCC pop_options
19835 /* AdvSIMD Complex numbers intrinsics. */
19836 #if __ARM_ARCH >= 8
19837 #pragma GCC push_options
19838 #pragma GCC target ("arch=armv8.3-a")
19841 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
19842 #pragma GCC push_options
19843 #pragma GCC target ("+fp16")
19844 __extension__
extern __inline float16x4_t
19845 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19846 vcadd_rot90_f16 (float16x4_t __a
, float16x4_t __b
)
19848 return __builtin_neon_vcadd90v4hf (__a
, __b
);
19851 __extension__
extern __inline float16x8_t
19852 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19853 vcaddq_rot90_f16 (float16x8_t __a
, float16x8_t __b
)
19855 return __builtin_neon_vcadd90v8hf (__a
, __b
);
19858 __extension__
extern __inline float16x4_t
19859 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19860 vcadd_rot270_f16 (float16x4_t __a
, float16x4_t __b
)
19862 return __builtin_neon_vcadd90v4hf (__a
, __b
);
19865 __extension__
extern __inline float16x8_t
19866 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19867 vcaddq_rot270_f16 (float16x8_t __a
, float16x8_t __b
)
19869 return __builtin_neon_vcadd90v8hf (__a
, __b
);
19872 __extension__
extern __inline float16x4_t
19873 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19874 vcmla_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
19876 return __builtin_neon_vcmla0v4hf (__r
, __a
, __b
);
19879 __extension__
extern __inline float16x8_t
19880 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19881 vcmlaq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
19883 return __builtin_neon_vcmla0v8hf (__r
, __a
, __b
);
19886 __extension__
extern __inline float16x4_t
19887 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19888 vcmla_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
19891 return __builtin_neon_vcmla_lane0v4hf (__r
, __a
, __b
, __index
);
19894 __extension__
extern __inline float16x4_t
19895 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19896 vcmla_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
19899 return __builtin_neon_vcmla_laneq0v4hf (__r
, __a
, __b
, __index
);
19902 __extension__
extern __inline float16x8_t
19903 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19904 vcmlaq_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
19907 return __builtin_neon_vcmlaq_lane0v8hf (__r
, __a
, __b
, __index
);
19910 __extension__
extern __inline float16x8_t
19911 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19912 vcmlaq_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
19915 return __builtin_neon_vcmla_lane0v8hf (__r
, __a
, __b
, __index
);
19918 __extension__
extern __inline float16x4_t
19919 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19920 vcmla_rot90_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
19922 return __builtin_neon_vcmla90v4hf (__r
, __a
, __b
);
19925 __extension__
extern __inline float16x8_t
19926 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19927 vcmlaq_rot90_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
19929 return __builtin_neon_vcmla90v8hf (__r
, __a
, __b
);
19932 __extension__
extern __inline float16x4_t
19933 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19934 vcmla_rot90_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
19937 return __builtin_neon_vcmla_lane90v4hf (__r
, __a
, __b
, __index
);
19940 __extension__
extern __inline float16x4_t
19941 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19942 vcmla_rot90_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
19945 return __builtin_neon_vcmla_laneq90v4hf (__r
, __a
, __b
, __index
);
19948 __extension__
extern __inline float16x8_t
19949 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19950 vcmlaq_rot90_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
19953 return __builtin_neon_vcmlaq_lane90v8hf (__r
, __a
, __b
, __index
);
19956 __extension__
extern __inline float16x8_t
19957 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19958 vcmlaq_rot90_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
19961 return __builtin_neon_vcmla_lane90v8hf (__r
, __a
, __b
, __index
);
19964 __extension__
extern __inline float16x4_t
19965 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19966 vcmla_rot180_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
19968 return __builtin_neon_vcmla180v4hf (__r
, __a
, __b
);
19971 __extension__
extern __inline float16x8_t
19972 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19973 vcmlaq_rot180_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
19975 return __builtin_neon_vcmla180v8hf (__r
, __a
, __b
);
19978 __extension__
extern __inline float16x4_t
19979 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19980 vcmla_rot180_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
19983 return __builtin_neon_vcmla_lane180v4hf (__r
, __a
, __b
, __index
);
19986 __extension__
extern __inline float16x4_t
19987 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19988 vcmla_rot180_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
19991 return __builtin_neon_vcmla_laneq180v4hf (__r
, __a
, __b
, __index
);
19994 __extension__
extern __inline float16x8_t
19995 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
19996 vcmlaq_rot180_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
19999 return __builtin_neon_vcmlaq_lane180v8hf (__r
, __a
, __b
, __index
);
20002 __extension__
extern __inline float16x8_t
20003 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20004 vcmlaq_rot180_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
20007 return __builtin_neon_vcmla_lane180v8hf (__r
, __a
, __b
, __index
);
20010 __extension__
extern __inline float16x4_t
20011 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20012 vcmla_rot270_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
)
20014 return __builtin_neon_vcmla270v4hf (__r
, __a
, __b
);
20017 __extension__
extern __inline float16x8_t
20018 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20019 vcmlaq_rot270_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
)
20021 return __builtin_neon_vcmla270v8hf (__r
, __a
, __b
);
20024 __extension__
extern __inline float16x4_t
20025 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20026 vcmla_rot270_lane_f16 (float16x4_t __r
, float16x4_t __a
, float16x4_t __b
,
20029 return __builtin_neon_vcmla_lane270v4hf (__r
, __a
, __b
, __index
);
20032 __extension__
extern __inline float16x4_t
20033 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20034 vcmla_rot270_laneq_f16 (float16x4_t __r
, float16x4_t __a
, float16x8_t __b
,
20037 return __builtin_neon_vcmla_laneq270v4hf (__r
, __a
, __b
, __index
);
20040 __extension__
extern __inline float16x8_t
20041 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20042 vcmlaq_rot270_lane_f16 (float16x8_t __r
, float16x8_t __a
, float16x4_t __b
,
20045 return __builtin_neon_vcmlaq_lane270v8hf (__r
, __a
, __b
, __index
);
20048 __extension__
extern __inline float16x8_t
20049 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20050 vcmlaq_rot270_laneq_f16 (float16x8_t __r
, float16x8_t __a
, float16x8_t __b
,
20053 return __builtin_neon_vcmla_lane270v8hf (__r
, __a
, __b
, __index
);
20056 #pragma GCC pop_options
20059 __extension__
extern __inline float32x2_t
20060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20061 vcadd_rot90_f32 (float32x2_t __a
, float32x2_t __b
)
20063 return __builtin_neon_vcadd90v2sf (__a
, __b
);
20066 __extension__
extern __inline float32x4_t
20067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20068 vcaddq_rot90_f32 (float32x4_t __a
, float32x4_t __b
)
20070 return __builtin_neon_vcadd90v4sf (__a
, __b
);
20073 __extension__
extern __inline float32x2_t
20074 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20075 vcadd_rot270_f32 (float32x2_t __a
, float32x2_t __b
)
20077 return __builtin_neon_vcadd90v2sf (__a
, __b
);
20080 __extension__
extern __inline float32x4_t
20081 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20082 vcaddq_rot270_f32 (float32x4_t __a
, float32x4_t __b
)
20084 return __builtin_neon_vcadd90v4sf (__a
, __b
);
20087 __extension__
extern __inline float32x2_t
20088 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20089 vcmla_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
20091 return __builtin_neon_vcmla0v2sf (__r
, __a
, __b
);
20094 __extension__
extern __inline float32x4_t
20095 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20096 vcmlaq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
20098 return __builtin_neon_vcmla0v4sf (__r
, __a
, __b
);
20101 __extension__
extern __inline float32x2_t
20102 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20103 vcmla_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
20106 return __builtin_neon_vcmla_lane0v2sf (__r
, __a
, __b
, __index
);
20109 __extension__
extern __inline float32x2_t
20110 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20111 vcmla_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
20114 return __builtin_neon_vcmla_laneq0v2sf (__r
, __a
, __b
, __index
);
20117 __extension__
extern __inline float32x4_t
20118 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20119 vcmlaq_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
20122 return __builtin_neon_vcmlaq_lane0v4sf (__r
, __a
, __b
, __index
);
20125 __extension__
extern __inline float32x4_t
20126 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20127 vcmlaq_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
20130 return __builtin_neon_vcmla_lane0v4sf (__r
, __a
, __b
, __index
);
20133 __extension__
extern __inline float32x2_t
20134 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20135 vcmla_rot90_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
20137 return __builtin_neon_vcmla90v2sf (__r
, __a
, __b
);
20140 __extension__
extern __inline float32x4_t
20141 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20142 vcmlaq_rot90_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
20144 return __builtin_neon_vcmla90v4sf (__r
, __a
, __b
);
20147 __extension__
extern __inline float32x2_t
20148 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20149 vcmla_rot90_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
20152 return __builtin_neon_vcmla_lane90v2sf (__r
, __a
, __b
, __index
);
20155 __extension__
extern __inline float32x2_t
20156 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20157 vcmla_rot90_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
20160 return __builtin_neon_vcmla_laneq90v2sf (__r
, __a
, __b
, __index
);
20163 __extension__
extern __inline float32x4_t
20164 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20165 vcmlaq_rot90_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
20168 return __builtin_neon_vcmlaq_lane90v4sf (__r
, __a
, __b
, __index
);
20171 __extension__
extern __inline float32x4_t
20172 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20173 vcmlaq_rot90_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
20176 return __builtin_neon_vcmla_lane90v4sf (__r
, __a
, __b
, __index
);
20179 __extension__
extern __inline float32x2_t
20180 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20181 vcmla_rot180_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
20183 return __builtin_neon_vcmla180v2sf (__r
, __a
, __b
);
20186 __extension__
extern __inline float32x4_t
20187 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20188 vcmlaq_rot180_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
20190 return __builtin_neon_vcmla180v4sf (__r
, __a
, __b
);
20193 __extension__
extern __inline float32x2_t
20194 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20195 vcmla_rot180_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
20198 return __builtin_neon_vcmla_lane180v2sf (__r
, __a
, __b
, __index
);
20201 __extension__
extern __inline float32x2_t
20202 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20203 vcmla_rot180_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
20206 return __builtin_neon_vcmla_laneq180v2sf (__r
, __a
, __b
, __index
);
20209 __extension__
extern __inline float32x4_t
20210 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20211 vcmlaq_rot180_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
20214 return __builtin_neon_vcmlaq_lane180v4sf (__r
, __a
, __b
, __index
);
20217 __extension__
extern __inline float32x4_t
20218 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20219 vcmlaq_rot180_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
20222 return __builtin_neon_vcmla_lane180v4sf (__r
, __a
, __b
, __index
);
20225 __extension__
extern __inline float32x2_t
20226 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20227 vcmla_rot270_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
)
20229 return __builtin_neon_vcmla270v2sf (__r
, __a
, __b
);
20232 __extension__
extern __inline float32x4_t
20233 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20234 vcmlaq_rot270_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
)
20236 return __builtin_neon_vcmla270v4sf (__r
, __a
, __b
);
20239 __extension__
extern __inline float32x2_t
20240 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20241 vcmla_rot270_lane_f32 (float32x2_t __r
, float32x2_t __a
, float32x2_t __b
,
20244 return __builtin_neon_vcmla_lane270v2sf (__r
, __a
, __b
, __index
);
20247 __extension__
extern __inline float32x2_t
20248 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20249 vcmla_rot270_laneq_f32 (float32x2_t __r
, float32x2_t __a
, float32x4_t __b
,
20252 return __builtin_neon_vcmla_laneq270v2sf (__r
, __a
, __b
, __index
);
20255 __extension__
extern __inline float32x4_t
20256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20257 vcmlaq_rot270_lane_f32 (float32x4_t __r
, float32x4_t __a
, float32x2_t __b
,
20260 return __builtin_neon_vcmlaq_lane270v4sf (__r
, __a
, __b
, __index
);
20263 __extension__
extern __inline float32x4_t
20264 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20265 vcmlaq_rot270_laneq_f32 (float32x4_t __r
, float32x4_t __a
, float32x4_t __b
,
20268 return __builtin_neon_vcmla_lane270v4sf (__r
, __a
, __b
, __index
);
20272 /* AdvSIMD Matrix Multiply-Accumulate and Dot Product intrinsics. */
20273 #pragma GCC push_options
20274 #pragma GCC target ("arch=armv8.2-a+i8mm")
20276 __extension__
extern __inline int32x2_t
20277 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20278 vusdot_s32 (int32x2_t __r
, uint8x8_t __a
, int8x8_t __b
)
20280 return __builtin_neon_usdotv8qi_ssus (__r
, __a
, __b
);
20283 __extension__
extern __inline int32x4_t
20284 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20285 vusdotq_s32 (int32x4_t __r
, uint8x16_t __a
, int8x16_t __b
)
20287 return __builtin_neon_usdotv16qi_ssus (__r
, __a
, __b
);
20290 __extension__
extern __inline int32x2_t
20291 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20292 vusdot_lane_s32 (int32x2_t __r
, uint8x8_t __a
,
20293 int8x8_t __b
, const int __index
)
20295 return __builtin_neon_usdot_lanev8qi_ssuss (__r
, __a
, __b
, __index
);
20298 __extension__
extern __inline int32x4_t
20299 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20300 vusdotq_lane_s32 (int32x4_t __r
, uint8x16_t __a
,
20301 int8x8_t __b
, const int __index
)
20303 return __builtin_neon_usdot_lanev16qi_ssuss (__r
, __a
, __b
, __index
);
20306 __extension__
extern __inline int32x2_t
20307 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20308 vsudot_lane_s32 (int32x2_t __r
, int8x8_t __a
,
20309 uint8x8_t __b
, const int __index
)
20311 return __builtin_neon_sudot_lanev8qi_sssus (__r
, __a
, __b
, __index
);
20314 __extension__
extern __inline int32x4_t
20315 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20316 vsudotq_lane_s32 (int32x4_t __r
, int8x16_t __a
,
20317 uint8x8_t __b
, const int __index
)
20319 return __builtin_neon_sudot_lanev16qi_sssus (__r
, __a
, __b
, __index
);
20322 __extension__
extern __inline int32x2_t
20323 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20324 vusdot_laneq_s32 (int32x2_t __r
, uint8x8_t __a
,
20325 int8x16_t __b
, const int __index
)
20327 return __builtin_neon_usdot_laneqv8qi_ssuss (__r
, __a
, __b
, __index
);
20330 __extension__
extern __inline int32x4_t
20331 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20332 vusdotq_laneq_s32 (int32x4_t __r
, uint8x16_t __a
,
20333 int8x16_t __b
, const int __index
)
20335 return __builtin_neon_usdot_laneqv16qi_ssuss (__r
, __a
, __b
, __index
);
20338 __extension__
extern __inline int32x2_t
20339 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20340 vsudot_laneq_s32 (int32x2_t __r
, int8x8_t __a
,
20341 uint8x16_t __b
, const int __index
)
20343 return __builtin_neon_sudot_laneqv8qi_sssus (__r
, __a
, __b
, __index
);
20346 __extension__
extern __inline int32x4_t
20347 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20348 vsudotq_laneq_s32 (int32x4_t __r
, int8x16_t __a
,
20349 uint8x16_t __b
, const int __index
)
20351 return __builtin_neon_sudot_laneqv16qi_sssus (__r
, __a
, __b
, __index
);
20354 #pragma GCC pop_options
20356 #pragma GCC pop_options
20359 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics. */
20361 #pragma GCC push_options
20362 #pragma GCC target ("arch=armv8.2-a+i8mm")
20364 __extension__
extern __inline int32x4_t
20365 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20366 vmmlaq_s32 (int32x4_t __r
, int8x16_t __a
, int8x16_t __b
)
20368 return __builtin_neon_smmlav16qi (__r
, __a
, __b
);
20371 __extension__
extern __inline uint32x4_t
20372 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20373 vmmlaq_u32 (uint32x4_t __r
, uint8x16_t __a
, uint8x16_t __b
)
20375 return __builtin_neon_ummlav16qi_uuuu (__r
, __a
, __b
);
20378 __extension__
extern __inline int32x4_t
20379 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20380 vusmmlaq_s32 (int32x4_t __r
, uint8x16_t __a
, int8x16_t __b
)
20382 return __builtin_neon_usmmlav16qi_ssus (__r
, __a
, __b
);
20385 #pragma GCC pop_options
20387 /* AdvSIMD Brain half-precision float-point (Bfloat16) intrinsics. */
20388 #pragma GCC push_options
20389 #pragma GCC target ("arch=armv8.2-a+bf16")
20391 __extension__
extern __inline bfloat16x4_t
20392 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20393 vcreate_bf16 (uint64_t __a
)
20395 return (bfloat16x4_t
) __a
;
20398 __extension__
extern __inline bfloat16x4_t
20399 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20400 vdup_n_bf16 (bfloat16_t __a
)
20402 return (bfloat16x4_t
) {__a
, __a
, __a
, __a
};
20405 __extension__
extern __inline bfloat16x8_t
20406 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20407 vdupq_n_bf16 (bfloat16_t __a
)
20409 return (bfloat16x8_t
) {__a
, __a
, __a
, __a
, __a
, __a
, __a
, __a
};
20412 __extension__
extern __inline bfloat16x4_t
20413 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20414 vdup_lane_bf16 (bfloat16x4_t __a
, const int __b
)
20416 return __builtin_neon_vdup_lanev4bf (__a
, __b
);
20419 __extension__
extern __inline bfloat16x8_t
20420 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20421 vdupq_lane_bf16 (bfloat16x4_t __a
, const int __b
)
20423 return __builtin_neon_vdup_lanev8bf (__a
, __b
);
20426 #define vset_lane_bf16(__e, __v, __idx) \
20429 bfloat16_t __elem = (__e); \
20430 bfloat16x4_t __vec = (__v); \
20431 __builtin_arm_lane_check (4, __idx); \
20432 __vec[__arm_lane(__vec, __idx)] = __elem; \
20436 #define vsetq_lane_bf16(__e, __v, __idx) \
20439 bfloat16_t __elem = (__e); \
20440 bfloat16x8_t __vec = (__v); \
20441 __builtin_arm_lane_check (8, __idx); \
20442 __vec[__arm_laneq(__vec, __idx)] = __elem; \
20446 #define vget_lane_bf16(__v, __idx) \
20449 bfloat16x4_t __vec = (__v); \
20450 __builtin_arm_lane_check (4, __idx); \
20451 bfloat16_t __res = __vec[__arm_lane(__vec, __idx)]; \
20455 #define vgetq_lane_bf16(__v, __idx) \
20458 bfloat16x8_t __vec = (__v); \
20459 __builtin_arm_lane_check (8, __idx); \
20460 bfloat16_t __res = __vec[__arm_laneq(__vec, __idx)]; \
20464 __extension__
extern __inline bfloat16x4_t
20465 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20466 vdup_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
20468 return vdup_n_bf16( vgetq_lane_bf16 (__a
, __b
));
20471 __extension__
extern __inline bfloat16x8_t
20472 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20473 vdupq_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
20475 return vdupq_n_bf16( vgetq_lane_bf16 (__a
, __b
));
20478 __extension__
extern __inline bfloat16_t
20479 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20480 vduph_lane_bf16 (bfloat16x4_t __a
, const int __b
)
20482 return vget_lane_bf16 (__a
, __b
);
20485 __extension__
extern __inline bfloat16_t
20486 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20487 vduph_laneq_bf16 (bfloat16x8_t __a
, const int __b
)
20489 return vgetq_lane_bf16 (__a
, __b
);
20492 __extension__
extern __inline bfloat16x4_t
20493 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20494 vget_high_bf16 (bfloat16x8_t __a
)
20496 return __builtin_neon_vget_highv8bf (__a
);
20499 __extension__
extern __inline bfloat16x4_t
20500 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20501 vget_low_bf16 (bfloat16x8_t __a
)
20503 return __builtin_neon_vget_lowv8bf (__a
);
20506 __extension__
extern __inline bfloat16x8_t
20507 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20508 vcombine_bf16 (bfloat16x4_t __a
, bfloat16x4_t __b
)
20510 return __builtin_neon_vcombinev4bf (__a
, __b
);
20513 __extension__
extern __inline bfloat16x4_t
20514 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20515 vreinterpret_bf16_u8 (uint8x8_t __a
)
20517 return (bfloat16x4_t
)__a
;
20520 __extension__
extern __inline bfloat16x4_t
20521 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20522 vreinterpret_bf16_u16 (uint16x4_t __a
)
20524 return (bfloat16x4_t
)__a
;
20527 __extension__
extern __inline bfloat16x4_t
20528 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20529 vreinterpret_bf16_u32 (uint32x2_t __a
)
20531 return (bfloat16x4_t
)__a
;
20534 __extension__
extern __inline bfloat16x4_t
20535 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20536 vreinterpret_bf16_u64 (uint64x1_t __a
)
20538 return (bfloat16x4_t
)__a
;
20541 __extension__
extern __inline bfloat16x4_t
20542 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20543 vreinterpret_bf16_s8 (int8x8_t __a
)
20545 return (bfloat16x4_t
)__a
;
20548 __extension__
extern __inline bfloat16x4_t
20549 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20550 vreinterpret_bf16_s16 (int16x4_t __a
)
20552 return (bfloat16x4_t
)__a
;
20555 __extension__
extern __inline bfloat16x4_t
20556 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20557 vreinterpret_bf16_s32 (int32x2_t __a
)
20559 return (bfloat16x4_t
)__a
;
20562 __extension__
extern __inline bfloat16x4_t
20563 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20564 vreinterpret_bf16_s64 (int64x1_t __a
)
20566 return (bfloat16x4_t
)__a
;
20569 __extension__
extern __inline bfloat16x4_t
20570 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20571 vreinterpret_bf16_p8 (poly8x8_t __a
)
20573 return (bfloat16x4_t
)__a
;
20576 __extension__
extern __inline bfloat16x4_t
20577 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20578 vreinterpret_bf16_p16 (poly16x4_t __a
)
20580 return (bfloat16x4_t
)__a
;
20583 __extension__
extern __inline bfloat16x4_t
20584 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20585 vreinterpret_bf16_p64 (poly64x1_t __a
)
20587 return (bfloat16x4_t
)__a
;
20590 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
20591 __extension__
extern __inline bfloat16x4_t
20592 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20593 vreinterpret_bf16_f16 (float16x4_t __a
)
20595 return (bfloat16x4_t
)__a
;
20599 __extension__
extern __inline bfloat16x4_t
20600 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20601 vreinterpret_bf16_f32 (float32x2_t __a
)
20603 return (bfloat16x4_t
)__a
;
20606 __extension__
extern __inline bfloat16x8_t
20607 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20608 vreinterpretq_bf16_u8 (uint8x16_t __a
)
20610 return (bfloat16x8_t
)__a
;
20613 __extension__
extern __inline bfloat16x8_t
20614 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20615 vreinterpretq_bf16_u16 (uint16x8_t __a
)
20617 return (bfloat16x8_t
)__a
;
20620 __extension__
extern __inline bfloat16x8_t
20621 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20622 vreinterpretq_bf16_u32 (uint32x4_t __a
)
20624 return (bfloat16x8_t
)__a
;
20627 __extension__
extern __inline bfloat16x8_t
20628 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20629 vreinterpretq_bf16_u64 (uint64x2_t __a
)
20631 return (bfloat16x8_t
)__a
;
20634 __extension__
extern __inline bfloat16x8_t
20635 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20636 vreinterpretq_bf16_s8 (int8x16_t __a
)
20638 return (bfloat16x8_t
)__a
;
20641 __extension__
extern __inline bfloat16x8_t
20642 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20643 vreinterpretq_bf16_s16 (int16x8_t __a
)
20645 return (bfloat16x8_t
)__a
;
20648 __extension__
extern __inline bfloat16x8_t
20649 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20650 vreinterpretq_bf16_s32 (int32x4_t __a
)
20652 return (bfloat16x8_t
)__a
;
20655 __extension__
extern __inline bfloat16x8_t
20656 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20657 vreinterpretq_bf16_s64 (int64x2_t __a
)
20659 return (bfloat16x8_t
)__a
;
20662 __extension__
extern __inline bfloat16x8_t
20663 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20664 vreinterpretq_bf16_p8 (poly8x16_t __a
)
20666 return (bfloat16x8_t
)__a
;
20669 __extension__
extern __inline bfloat16x8_t
20670 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20671 vreinterpretq_bf16_p16 (poly16x8_t __a
)
20673 return (bfloat16x8_t
)__a
;
20676 __extension__
extern __inline bfloat16x8_t
20677 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20678 vreinterpretq_bf16_p64 (poly64x2_t __a
)
20680 return (bfloat16x8_t
)__a
;
20683 __extension__
extern __inline bfloat16x8_t
20684 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20685 vreinterpretq_bf16_p128 (poly128_t __a
)
20687 return (bfloat16x8_t
)__a
;
20690 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
20691 __extension__
extern __inline bfloat16x8_t
20692 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20693 vreinterpretq_bf16_f16 (float16x8_t __a
)
20695 return (bfloat16x8_t
)__a
;
20699 __extension__
extern __inline bfloat16x8_t
20700 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20701 vreinterpretq_bf16_f32 (float32x4_t __a
)
20703 return (bfloat16x8_t
)__a
;
20706 __extension__
extern __inline int8x8_t
20707 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20708 vreinterpret_s8_bf16 (bfloat16x4_t __a
)
20710 return (int8x8_t
)__a
;
20713 __extension__
extern __inline int16x4_t
20714 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20715 vreinterpret_s16_bf16 (bfloat16x4_t __a
)
20717 return (int16x4_t
)__a
;
20720 __extension__
extern __inline int32x2_t
20721 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20722 vreinterpret_s32_bf16 (bfloat16x4_t __a
)
20724 return (int32x2_t
)__a
;
20727 __extension__
extern __inline int64x1_t
20728 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20729 vreinterpret_s64_bf16 (bfloat16x4_t __a
)
20731 return (int64x1_t
)__a
;
20734 __extension__
extern __inline uint8x8_t
20735 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20736 vreinterpret_u8_bf16 (bfloat16x4_t __a
)
20738 return (uint8x8_t
)__a
;
20741 __extension__
extern __inline uint16x4_t
20742 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20743 vreinterpret_u16_bf16 (bfloat16x4_t __a
)
20745 return (uint16x4_t
)__a
;
20748 __extension__
extern __inline uint32x2_t
20749 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20750 vreinterpret_u32_bf16 (bfloat16x4_t __a
)
20752 return (uint32x2_t
)__a
;
20755 __extension__
extern __inline uint64x1_t
20756 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20757 vreinterpret_u64_bf16 (bfloat16x4_t __a
)
20759 return (uint64x1_t
)__a
;
20762 __extension__
extern __inline float32x2_t
20763 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20764 vreinterpret_f32_bf16 (bfloat16x4_t __a
)
20766 return (float32x2_t
)__a
;
20769 __extension__
extern __inline poly8x8_t
20770 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20771 vreinterpret_p8_bf16 (bfloat16x4_t __a
)
20773 return (poly8x8_t
)__a
;
20776 __extension__
extern __inline poly16x4_t
20777 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20778 vreinterpret_p16_bf16 (bfloat16x4_t __a
)
20780 return (poly16x4_t
)__a
;
20783 __extension__
extern __inline poly64x1_t
20784 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20785 vreinterpret_p64_bf16 (bfloat16x4_t __a
)
20787 return (poly64x1_t
)__a
;
20790 __extension__
extern __inline int8x16_t
20791 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20792 vreinterpretq_s8_bf16 (bfloat16x8_t __a
)
20794 return (int8x16_t
)__a
;
20797 __extension__
extern __inline int16x8_t
20798 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20799 vreinterpretq_s16_bf16 (bfloat16x8_t __a
)
20801 return (int16x8_t
)__a
;
20804 __extension__
extern __inline int32x4_t
20805 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20806 vreinterpretq_s32_bf16 (bfloat16x8_t __a
)
20808 return (int32x4_t
)__a
;
20811 __extension__
extern __inline int64x2_t
20812 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20813 vreinterpretq_s64_bf16 (bfloat16x8_t __a
)
20815 return (int64x2_t
)__a
;
20818 __extension__
extern __inline uint8x16_t
20819 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20820 vreinterpretq_u8_bf16 (bfloat16x8_t __a
)
20822 return (uint8x16_t
)__a
;
20825 __extension__
extern __inline uint16x8_t
20826 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20827 vreinterpretq_u16_bf16 (bfloat16x8_t __a
)
20829 return (uint16x8_t
)__a
;
20832 __extension__
extern __inline uint32x4_t
20833 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20834 vreinterpretq_u32_bf16 (bfloat16x8_t __a
)
20836 return (uint32x4_t
)__a
;
20839 __extension__
extern __inline uint64x2_t
20840 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20841 vreinterpretq_u64_bf16 (bfloat16x8_t __a
)
20843 return (uint64x2_t
)__a
;
20846 __extension__
extern __inline float32x4_t
20847 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20848 vreinterpretq_f32_bf16 (bfloat16x8_t __a
)
20850 return (float32x4_t
)__a
;
20853 __extension__
extern __inline poly8x16_t
20854 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20855 vreinterpretq_p8_bf16 (bfloat16x8_t __a
)
20857 return (poly8x16_t
)__a
;
20860 __extension__
extern __inline poly16x8_t
20861 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20862 vreinterpretq_p16_bf16 (bfloat16x8_t __a
)
20864 return (poly16x8_t
)__a
;
20867 __extension__
extern __inline poly64x2_t
20868 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20869 vreinterpretq_p64_bf16 (bfloat16x8_t __a
)
20871 return (poly64x2_t
)__a
;
20874 __extension__
extern __inline poly128_t
20875 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20876 vreinterpretq_p128_bf16 (bfloat16x8_t __a
)
20878 return (poly128_t
)__a
;
20881 __extension__
extern __inline float32x2_t
20882 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20883 vbfdot_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x4_t __b
)
20885 return __builtin_neon_vbfdotv2sf (__r
, __a
, __b
);
20888 __extension__
extern __inline float32x4_t
20889 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20890 vbfdotq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
20892 return __builtin_neon_vbfdotv4sf (__r
, __a
, __b
);
20895 __extension__
extern __inline float32x2_t
20896 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20897 vbfdot_lane_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x4_t __b
,
20900 return __builtin_neon_vbfdot_lanev4bfv2sf (__r
, __a
, __b
, __index
);
20903 __extension__
extern __inline float32x4_t
20904 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20905 vbfdotq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
20908 return __builtin_neon_vbfdot_lanev8bfv4sf (__r
, __a
, __b
, __index
);
20911 __extension__
extern __inline float32x2_t
20912 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20913 vbfdot_laneq_f32 (float32x2_t __r
, bfloat16x4_t __a
, bfloat16x8_t __b
,
20916 return __builtin_neon_vbfdot_lanev8bfv2sf (__r
, __a
, __b
, __index
);
20919 __extension__
extern __inline float32x4_t
20920 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20921 vbfdotq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
20924 return __builtin_neon_vbfdot_lanev4bfv4sf (__r
, __a
, __b
, __index
);
20927 #pragma GCC pop_options
20929 #pragma GCC push_options
20930 #pragma GCC target ("arch=armv8.2-a+bf16")
20932 typedef struct bfloat16x4x2_t
20934 bfloat16x4_t val
[2];
20937 typedef struct bfloat16x8x2_t
20939 bfloat16x8_t val
[2];
20942 typedef struct bfloat16x4x3_t
20944 bfloat16x4_t val
[3];
20947 typedef struct bfloat16x8x3_t
20949 bfloat16x8_t val
[3];
20952 typedef struct bfloat16x4x4_t
20954 bfloat16x4_t val
[4];
20957 typedef struct bfloat16x8x4_t
20959 bfloat16x8_t val
[4];
20962 __extension__
extern __inline float32x4_t
20963 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20964 vcvt_f32_bf16 (bfloat16x4_t __a
)
20966 return __builtin_neon_vbfcvtv4bf (__a
);
20969 __extension__
extern __inline float32x4_t
20970 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20971 vcvtq_low_f32_bf16 (bfloat16x8_t __a
)
20973 return __builtin_neon_vbfcvtv8bf (__a
);
20976 __extension__
extern __inline float32x4_t
20977 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20978 vcvtq_high_f32_bf16 (bfloat16x8_t __a
)
20980 return __builtin_neon_vbfcvt_highv8bf (__a
);
20983 __extension__
extern __inline bfloat16x4_t
20984 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20985 vcvt_bf16_f32 (float32x4_t __a
)
20987 return __builtin_neon_vbfcvtv4sfv4bf (__a
);
20990 __extension__
extern __inline bfloat16x8_t
20991 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
20992 vcvtq_low_bf16_f32 (float32x4_t __a
)
20994 return __builtin_neon_vbfcvtv4sfv8bf (__a
);
20997 /* The 'inactive' operand is not converted but it provides the
20998 low 64 bits to assemble the final 128-bit result. */
20999 __extension__
extern __inline bfloat16x8_t
21000 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21001 vcvtq_high_bf16_f32 (bfloat16x8_t inactive
, float32x4_t __a
)
21003 return __builtin_neon_vbfcvtv4sf_highv8bf (inactive
, __a
);
21006 __extension__
extern __inline float32x4_t
21007 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21008 vbfmmlaq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
21010 return __builtin_neon_vmmlav8bf (__r
, __a
, __b
);
21013 __extension__
extern __inline float32x4_t
21014 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21015 vbfmlalbq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
21017 return __builtin_neon_vfmabv8bf (__r
, __a
, __b
);
21020 __extension__
extern __inline float32x4_t
21021 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21022 vbfmlaltq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
)
21024 return __builtin_neon_vfmatv8bf (__r
, __a
, __b
);
21027 __extension__
extern __inline float32x4_t
21028 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21029 vbfmlalbq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
21032 return __builtin_neon_vfmab_lanev8bf (__r
, __a
, __b
, __index
);
21035 __extension__
extern __inline float32x4_t
21036 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21037 vbfmlaltq_lane_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x4_t __b
,
21040 return __builtin_neon_vfmat_lanev8bf (__r
, __a
, __b
, __index
);
21043 __extension__
extern __inline float32x4_t
21044 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21045 vbfmlalbq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
21048 return __builtin_neon_vfmab_laneqv8bf (__r
, __a
, __b
, __index
);
21051 __extension__
extern __inline float32x4_t
21052 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21053 vbfmlaltq_laneq_f32 (float32x4_t __r
, bfloat16x8_t __a
, bfloat16x8_t __b
,
21056 return __builtin_neon_vfmat_laneqv8bf (__r
, __a
, __b
, __index
);
21059 __extension__
extern __inline
void
21060 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21061 vst1_bf16 (bfloat16_t
* __a
, bfloat16x4_t __b
)
21063 __builtin_neon_vst1v4bf (__a
, __b
);
21066 __extension__
extern __inline
void
21067 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21068 vst1_bf16_x2 (bfloat16_t
* __a
, bfloat16x4x2_t __b
)
21070 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
21071 __builtin_neon_vst1_x2v4bf ((__builtin_neon_bf
*) __a
, __bu
.__o
);
21074 __extension__
extern __inline
void
21075 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21076 vst1_bf16_x3 (bfloat16_t
* __a
, bfloat16x4x3_t __b
)
21078 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
21079 __builtin_neon_vst1_x3v4bf ((__builtin_neon_bf
*) __a
, __bu
.__o
);
21082 __extension__
extern __inline
void
21083 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21084 vst1_bf16_x4 (bfloat16_t
* __a
, bfloat16x4x4_t __b
)
21086 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21087 __builtin_neon_vst1_x4v4bf ((__builtin_neon_bf
*) __a
, __bu
.__o
);
21090 __extension__
extern __inline
void
21091 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21092 vst1q_bf16 (bfloat16_t
* __a
, bfloat16x8_t __b
)
21094 __builtin_neon_vst1v8bf (__a
, __b
);
21097 __extension__
extern __inline
void
21098 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21099 vst1q_bf16_x2 (bfloat16_t
* __a
, bfloat16x8x2_t __b
)
21101 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21102 __builtin_neon_vst1q_x2v8bf (__a
, __bu
.__o
);
21105 __extension__
extern __inline
void
21106 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21107 vst1q_bf16_x3 (bfloat16_t
* __a
, bfloat16x8x3_t __b
)
21109 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
21110 __builtin_neon_vst1q_x3v8bf (__a
, __bu
.__o
);
21113 __extension__
extern __inline
void
21114 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21115 vst1q_bf16_x4 (bfloat16_t
* __a
, bfloat16x8x4_t __b
)
21117 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
21118 __builtin_neon_vst1q_x4v8bf (__a
, __bu
.__o
);
21121 __extension__
extern __inline
void
21122 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21123 vst2_bf16 (bfloat16_t
* __ptr
, bfloat16x4x2_t __val
)
21125 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __val
};
21126 return __builtin_neon_vst2v4bf (__ptr
, __bu
.__o
);
21129 __extension__
extern __inline
void
21130 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21131 vst2q_bf16 (bfloat16_t
* __ptr
, bfloat16x8x2_t __val
)
21133 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __val
};
21134 return __builtin_neon_vst2v8bf (__ptr
, __bu
.__o
);
21137 __extension__
extern __inline
void
21138 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21139 vst3_bf16 (bfloat16_t
* __ptr
, bfloat16x4x3_t __val
)
21141 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __val
};
21142 return __builtin_neon_vst3v4bf (__ptr
, __bu
.__o
);
21145 __extension__
extern __inline
void
21146 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21147 vst3q_bf16 (bfloat16_t
* __ptr
, bfloat16x8x3_t __val
)
21149 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __val
};
21150 return __builtin_neon_vst3v8bf (__ptr
, __bu
.__o
);
21153 __extension__
extern __inline
void
21154 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21155 vst4_bf16 (bfloat16_t
* __ptr
, bfloat16x4x4_t __val
)
21157 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __val
};
21158 return __builtin_neon_vst4v4bf (__ptr
, __bu
.__o
);
21161 __extension__
extern __inline
void
21162 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21163 vst4q_bf16 (bfloat16_t
* __ptr
, bfloat16x8x4_t __val
)
21165 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __val
};
21166 return __builtin_neon_vst4v8bf (__ptr
, __bu
.__o
);
21169 __extension__
extern __inline bfloat16x4_t
21170 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21171 vld1_bf16 (bfloat16_t
const * __ptr
)
21173 return __builtin_neon_vld1v4bf (__ptr
);
21176 __extension__
extern __inline bfloat16x4x2_t
21177 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21178 vld1_bf16_x2 (const bfloat16_t
* __ptr
)
21180 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
21181 __rv
.__o
= __builtin_neon_vld1_x2v4bf ((const __builtin_neon_bf
*) __ptr
);
21185 __extension__
extern __inline bfloat16x4x3_t
21186 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21187 vld1_bf16_x3 (const bfloat16_t
* __ptr
)
21189 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
21190 __rv
.__o
= __builtin_neon_vld1_x3v4bf ((const __builtin_neon_bf
*) __ptr
);
21194 __extension__
extern __inline bfloat16x4x4_t
21195 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21196 vld1_bf16_x4 (const bfloat16_t
* __ptr
)
21198 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
21199 __rv
.__o
= __builtin_neon_vld1_x4v4bf ((const __builtin_neon_bf
*) __ptr
);
21203 __extension__
extern __inline bfloat16x8_t
21204 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21205 vld1q_bf16 (const bfloat16_t
* __ptr
)
21207 return __builtin_neon_vld1v8bf (__ptr
);
21210 __extension__
extern __inline bfloat16x8x2_t
21211 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21212 vld1q_bf16_x2 (const bfloat16_t
* __ptr
)
21214 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
21215 __rv
.__o
= __builtin_neon_vld1q_x2v8bf ((const __builtin_neon_bf
*) __ptr
);
21219 __extension__
extern __inline bfloat16x8x3_t
21220 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21221 vld1q_bf16_x3 (const bfloat16_t
* __ptr
)
21223 union { bfloat16x8x3_t __i
; __builtin_neon_oi __o
; } __rv
;
21224 __rv
.__o
= __builtin_neon_vld1q_x3v8bf ((const __builtin_neon_bf
*) __ptr
);
21228 __extension__
extern __inline bfloat16x8x4_t
21229 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21230 vld1q_bf16_x4 (const bfloat16_t
* __ptr
)
21232 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
21233 __rv
.__o
= __builtin_neon_vld1q_x4v8bf ((const __builtin_neon_bf
*) __ptr
);
21237 __extension__
extern __inline bfloat16x4x2_t
21238 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21239 vld2_bf16 (bfloat16_t
const * __ptr
)
21241 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
21242 __rv
.__o
= __builtin_neon_vld2v4bf ((const __builtin_neon_bf
*) __ptr
);
21246 __extension__
extern __inline bfloat16x8x2_t
21247 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21248 vld2q_bf16 (const bfloat16_t
* __ptr
)
21250 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
21251 __rv
.__o
= __builtin_neon_vld2v8bf ((const __builtin_neon_bf
*) __ptr
);
21255 __extension__
extern __inline bfloat16x4x3_t
21256 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21257 vld3_bf16 (const bfloat16_t
* __ptr
)
21259 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
21260 __rv
.__o
= __builtin_neon_vld3v4bf ((const __builtin_neon_bf
*) __ptr
);
21264 __extension__
extern __inline bfloat16x8x3_t
21265 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21266 vld3q_bf16 (const bfloat16_t
* __ptr
)
21268 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
21269 __rv
.__o
= __builtin_neon_vld3v8bf ((const __builtin_neon_bf
*) __ptr
);
21273 __extension__
extern __inline bfloat16x4x4_t
21274 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21275 vld4_bf16 (const bfloat16_t
* __ptr
)
21277 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
21278 __rv
.__o
= __builtin_neon_vld4v4bf ((const __builtin_neon_bf
*) __ptr
);
21282 __extension__
extern __inline bfloat16x8x4_t
21283 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21284 vld4q_bf16 (const bfloat16_t
* __ptr
)
21286 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
21287 __rv
.__o
= __builtin_neon_vld4v8bf ((const __builtin_neon_bf
*) __ptr
);
21291 __extension__
extern __inline bfloat16x4x2_t
21292 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21293 vld2_dup_bf16 (const bfloat16_t
* __ptr
)
21295 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
21296 __rv
.__o
= __builtin_neon_vld2_dupv4bf ((const __builtin_neon_bf
*) __ptr
);
21300 __extension__
extern __inline bfloat16x8x2_t
21301 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21302 vld2q_dup_bf16 (const bfloat16_t
* __ptr
)
21304 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
21305 __rv
.__o
= __builtin_neon_vld2_dupv8bf ((const __builtin_neon_bf
*) __ptr
);
21309 __extension__
extern __inline bfloat16x4x3_t
21310 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21311 vld3_dup_bf16 (const bfloat16_t
* __ptr
)
21313 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
21314 __rv
.__o
= __builtin_neon_vld3_dupv4bf ((const __builtin_neon_bf
*) __ptr
);
21318 __extension__
extern __inline bfloat16x8x3_t
21319 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21320 vld3q_dup_bf16 (const bfloat16_t
* __ptr
)
21322 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
21323 __rv
.__o
= __builtin_neon_vld3_dupv8bf ((const __builtin_neon_bf
*) __ptr
);
21327 __extension__
extern __inline bfloat16x4x4_t
21328 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21329 vld4_dup_bf16 (const bfloat16_t
* __ptr
)
21331 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
21332 __rv
.__o
= __builtin_neon_vld4_dupv4bf ((const __builtin_neon_bf
*) __ptr
);
21336 __extension__
extern __inline bfloat16x8x4_t
21337 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21338 vld4q_dup_bf16 (const bfloat16_t
* __ptr
)
21340 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
21341 __rv
.__o
= __builtin_neon_vld4_dupv8bf ((const __builtin_neon_bf
*) __ptr
);
21345 __extension__
extern __inline bfloat16x4_t
21346 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21347 vld1_lane_bf16 (const bfloat16_t
* __a
, bfloat16x4_t __b
, const int __c
)
21349 return __builtin_neon_vld1_lanev4bf (__a
, __b
, __c
);
21352 __extension__
extern __inline bfloat16x8_t
21353 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21354 vld1q_lane_bf16 (const bfloat16_t
* __a
, bfloat16x8_t __b
, const int __c
)
21356 return __builtin_neon_vld1_lanev8bf (__a
, __b
, __c
);
21359 __extension__
extern __inline
void
21360 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21361 vst1_lane_bf16 (bfloat16_t
* __a
, bfloat16x4_t __b
, const int __c
)
21363 __builtin_neon_vst1_lanev4bf (__a
, __b
, __c
);
21366 __extension__
extern __inline
void
21367 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21368 vst1q_lane_bf16 (bfloat16_t
* __a
, bfloat16x8_t __b
, const int __c
)
21370 __builtin_neon_vst1_lanev8bf (__a
, __b
, __c
);
21373 __extension__
extern __inline bfloat16x4x2_t
21374 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21375 vld2_lane_bf16 (const bfloat16_t
* __a
, bfloat16x4x2_t __b
, const int __c
)
21377 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
21378 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __rv
;
21379 __rv
.__o
= __builtin_neon_vld2_lanev4bf ( __a
, __bu
.__o
, __c
);
21383 __extension__
extern __inline bfloat16x8x2_t
21384 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21385 vld2q_lane_bf16 (const bfloat16_t
* __a
, bfloat16x8x2_t __b
, const int __c
)
21387 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21388 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __rv
;
21389 __rv
.__o
= __builtin_neon_vld2_lanev8bf (__a
, __bu
.__o
, __c
);
21393 __extension__
extern __inline bfloat16x4x3_t
21394 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21395 vld3_lane_bf16 (const bfloat16_t
* __a
, bfloat16x4x3_t __b
, const int __c
)
21397 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
21398 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __rv
;
21399 __rv
.__o
= __builtin_neon_vld3_lanev4bf (__a
, __bu
.__o
, __c
);
21403 __extension__
extern __inline bfloat16x8x3_t
21404 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21405 vld3q_lane_bf16 (const bfloat16_t
* __a
, bfloat16x8x3_t __b
, const int __c
)
21407 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
21408 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __rv
;
21409 __rv
.__o
= __builtin_neon_vld3_lanev8bf (__a
, __bu
.__o
, __c
);
21413 __extension__
extern __inline bfloat16x4x4_t
21414 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21415 vld4_lane_bf16 (const bfloat16_t
* __a
, bfloat16x4x4_t __b
, const int __c
)
21417 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21418 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __rv
;
21419 __rv
.__o
= __builtin_neon_vld4_lanev4bf (__a
,
21424 __extension__
extern __inline bfloat16x8x4_t
21425 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21426 vld4q_lane_bf16 (const bfloat16_t
* __a
, bfloat16x8x4_t __b
, const int __c
)
21428 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
21429 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __rv
;
21430 __rv
.__o
= __builtin_neon_vld4_lanev8bf (__a
,
21435 __extension__
extern __inline
void
21436 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21437 vst2_lane_bf16 (bfloat16_t
* __a
, bfloat16x4x2_t __b
, const int __c
)
21439 union { bfloat16x4x2_t __i
; __builtin_neon_ti __o
; } __bu
= { __b
};
21440 __builtin_neon_vst2_lanev4bf (__a
, __bu
.__o
, __c
);
21443 __extension__
extern __inline
void
21444 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21445 vst2q_lane_bf16 (bfloat16_t
* __a
, bfloat16x8x2_t __b
, const int __c
)
21447 union { bfloat16x8x2_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21448 __builtin_neon_vst2_lanev8bf (__a
, __bu
.__o
, __c
);
21451 __extension__
extern __inline
void
21452 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21453 vst3_lane_bf16 (bfloat16_t
* __a
, bfloat16x4x3_t __b
, const int __c
)
21455 union { bfloat16x4x3_t __i
; __builtin_neon_ei __o
; } __bu
= { __b
};
21456 __builtin_neon_vst3_lanev4bf (__a
, __bu
.__o
, __c
);
21459 __extension__
extern __inline
void
21460 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21461 vst3q_lane_bf16 (bfloat16_t
* __a
, bfloat16x8x3_t __b
, const int __c
)
21463 union { bfloat16x8x3_t __i
; __builtin_neon_ci __o
; } __bu
= { __b
};
21464 __builtin_neon_vst3_lanev8bf (__a
, __bu
.__o
, __c
);
21467 __extension__
extern __inline
void
21468 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21469 vst4_lane_bf16 (bfloat16_t
* __a
, bfloat16x4x4_t __b
, const int __c
)
21471 union { bfloat16x4x4_t __i
; __builtin_neon_oi __o
; } __bu
= { __b
};
21472 __builtin_neon_vst4_lanev4bf (__a
, __bu
.__o
, __c
);
21475 __extension__
extern __inline
void
21476 __attribute__ ((__always_inline__
, __gnu_inline__
, __artificial__
))
21477 vst4q_lane_bf16 (bfloat16_t
* __a
, bfloat16x8x4_t __b
, const int __c
)
21479 union { bfloat16x8x4_t __i
; __builtin_neon_xi __o
; } __bu
= { __b
};
21480 __builtin_neon_vst4_lanev8bf (__a
, __bu
.__o
, __c
);
21483 #pragma GCC pop_options
21489 #pragma GCC pop_options