blob: c297518e258832e03a68f661a4ba5937f68a79bc [file] [log] [blame]
/*===---- arm_neon.h - ARM Neon intrinsics ---------------------------------===
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef __ARM_NEON_H
#define __ARM_NEON_H
#if !defined(__ARM_NEON__) && !defined(__ARM_NEON)
#error "NEON support not enabled"
#endif
#include <stdint.h>
typedef float float32_t;
typedef __fp16 float16_t;
#ifdef __aarch64__
typedef double float64_t;
#endif
#ifdef __aarch64__
typedef uint8_t poly8_t;
typedef uint16_t poly16_t;
typedef uint64_t poly64_t;
#else
typedef int8_t poly8_t;
typedef int16_t poly16_t;
#endif
typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
#ifdef __aarch64__
typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
#endif
typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t;
typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t;
typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t;
#ifdef __aarch64__
typedef __attribute__((neon_polyvector_type(1))) poly64_t poly64x1_t;
typedef __attribute__((neon_polyvector_type(2))) poly64_t poly64x2_t;
#endif
typedef struct int8x8x2_t {
int8x8_t val[2];
} int8x8x2_t;
typedef struct int8x16x2_t {
int8x16_t val[2];
} int8x16x2_t;
typedef struct int16x4x2_t {
int16x4_t val[2];
} int16x4x2_t;
typedef struct int16x8x2_t {
int16x8_t val[2];
} int16x8x2_t;
typedef struct int32x2x2_t {
int32x2_t val[2];
} int32x2x2_t;
typedef struct int32x4x2_t {
int32x4_t val[2];
} int32x4x2_t;
typedef struct int64x1x2_t {
int64x1_t val[2];
} int64x1x2_t;
typedef struct int64x2x2_t {
int64x2_t val[2];
} int64x2x2_t;
typedef struct uint8x8x2_t {
uint8x8_t val[2];
} uint8x8x2_t;
typedef struct uint8x16x2_t {
uint8x16_t val[2];
} uint8x16x2_t;
typedef struct uint16x4x2_t {
uint16x4_t val[2];
} uint16x4x2_t;
typedef struct uint16x8x2_t {
uint16x8_t val[2];
} uint16x8x2_t;
typedef struct uint32x2x2_t {
uint32x2_t val[2];
} uint32x2x2_t;
typedef struct uint32x4x2_t {
uint32x4_t val[2];
} uint32x4x2_t;
typedef struct uint64x1x2_t {
uint64x1_t val[2];
} uint64x1x2_t;
typedef struct uint64x2x2_t {
uint64x2_t val[2];
} uint64x2x2_t;
typedef struct float16x4x2_t {
float16x4_t val[2];
} float16x4x2_t;
typedef struct float16x8x2_t {
float16x8_t val[2];
} float16x8x2_t;
typedef struct float32x2x2_t {
float32x2_t val[2];
} float32x2x2_t;
typedef struct float32x4x2_t {
float32x4_t val[2];
} float32x4x2_t;
#ifdef __aarch64__
typedef struct float64x1x2_t {
float64x1_t val[2];
} float64x1x2_t;
typedef struct float64x2x2_t {
float64x2_t val[2];
} float64x2x2_t;
#endif
typedef struct poly8x8x2_t {
poly8x8_t val[2];
} poly8x8x2_t;
typedef struct poly8x16x2_t {
poly8x16_t val[2];
} poly8x16x2_t;
typedef struct poly16x4x2_t {
poly16x4_t val[2];
} poly16x4x2_t;
typedef struct poly16x8x2_t {
poly16x8_t val[2];
} poly16x8x2_t;
#ifdef __aarch64__
typedef struct poly64x1x2_t {
poly64x1_t val[2];
} poly64x1x2_t;
typedef struct poly64x2x2_t {
poly64x2_t val[2];
} poly64x2x2_t;
#endif
typedef struct int8x8x3_t {
int8x8_t val[3];
} int8x8x3_t;
typedef struct int8x16x3_t {
int8x16_t val[3];
} int8x16x3_t;
typedef struct int16x4x3_t {
int16x4_t val[3];
} int16x4x3_t;
typedef struct int16x8x3_t {
int16x8_t val[3];
} int16x8x3_t;
typedef struct int32x2x3_t {
int32x2_t val[3];
} int32x2x3_t;
typedef struct int32x4x3_t {
int32x4_t val[3];
} int32x4x3_t;
typedef struct int64x1x3_t {
int64x1_t val[3];
} int64x1x3_t;
typedef struct int64x2x3_t {
int64x2_t val[3];
} int64x2x3_t;
typedef struct uint8x8x3_t {
uint8x8_t val[3];
} uint8x8x3_t;
typedef struct uint8x16x3_t {
uint8x16_t val[3];
} uint8x16x3_t;
typedef struct uint16x4x3_t {
uint16x4_t val[3];
} uint16x4x3_t;
typedef struct uint16x8x3_t {
uint16x8_t val[3];
} uint16x8x3_t;
typedef struct uint32x2x3_t {
uint32x2_t val[3];
} uint32x2x3_t;
typedef struct uint32x4x3_t {
uint32x4_t val[3];
} uint32x4x3_t;
typedef struct uint64x1x3_t {
uint64x1_t val[3];
} uint64x1x3_t;
typedef struct uint64x2x3_t {
uint64x2_t val[3];
} uint64x2x3_t;
typedef struct float16x4x3_t {
float16x4_t val[3];
} float16x4x3_t;
typedef struct float16x8x3_t {
float16x8_t val[3];
} float16x8x3_t;
typedef struct float32x2x3_t {
float32x2_t val[3];
} float32x2x3_t;
typedef struct float32x4x3_t {
float32x4_t val[3];
} float32x4x3_t;
#ifdef __aarch64__
typedef struct float64x1x3_t {
float64x1_t val[3];
} float64x1x3_t;
typedef struct float64x2x3_t {
float64x2_t val[3];
} float64x2x3_t;
#endif
typedef struct poly8x8x3_t {
poly8x8_t val[3];
} poly8x8x3_t;
typedef struct poly8x16x3_t {
poly8x16_t val[3];
} poly8x16x3_t;
typedef struct poly16x4x3_t {
poly16x4_t val[3];
} poly16x4x3_t;
typedef struct poly16x8x3_t {
poly16x8_t val[3];
} poly16x8x3_t;
#ifdef __aarch64__
typedef struct poly64x1x3_t {
poly64x1_t val[3];
} poly64x1x3_t;
typedef struct poly64x2x3_t {
poly64x2_t val[3];
} poly64x2x3_t;
#endif
typedef struct int8x8x4_t {
int8x8_t val[4];
} int8x8x4_t;
typedef struct int8x16x4_t {
int8x16_t val[4];
} int8x16x4_t;
typedef struct int16x4x4_t {
int16x4_t val[4];
} int16x4x4_t;
typedef struct int16x8x4_t {
int16x8_t val[4];
} int16x8x4_t;
typedef struct int32x2x4_t {
int32x2_t val[4];
} int32x2x4_t;
typedef struct int32x4x4_t {
int32x4_t val[4];
} int32x4x4_t;
typedef struct int64x1x4_t {
int64x1_t val[4];
} int64x1x4_t;
typedef struct int64x2x4_t {
int64x2_t val[4];
} int64x2x4_t;
typedef struct uint8x8x4_t {
uint8x8_t val[4];
} uint8x8x4_t;
typedef struct uint8x16x4_t {
uint8x16_t val[4];
} uint8x16x4_t;
typedef struct uint16x4x4_t {
uint16x4_t val[4];
} uint16x4x4_t;
typedef struct uint16x8x4_t {
uint16x8_t val[4];
} uint16x8x4_t;
typedef struct uint32x2x4_t {
uint32x2_t val[4];
} uint32x2x4_t;
typedef struct uint32x4x4_t {
uint32x4_t val[4];
} uint32x4x4_t;
typedef struct uint64x1x4_t {
uint64x1_t val[4];
} uint64x1x4_t;
typedef struct uint64x2x4_t {
uint64x2_t val[4];
} uint64x2x4_t;
typedef struct float16x4x4_t {
float16x4_t val[4];
} float16x4x4_t;
typedef struct float16x8x4_t {
float16x8_t val[4];
} float16x8x4_t;
typedef struct float32x2x4_t {
float32x2_t val[4];
} float32x2x4_t;
typedef struct float32x4x4_t {
float32x4_t val[4];
} float32x4x4_t;
#ifdef __aarch64__
typedef struct float64x1x4_t {
float64x1_t val[4];
} float64x1x4_t;
typedef struct float64x2x4_t {
float64x2_t val[4];
} float64x2x4_t;
#endif
typedef struct poly8x8x4_t {
poly8x8_t val[4];
} poly8x8x4_t;
typedef struct poly8x16x4_t {
poly8x16_t val[4];
} poly8x16x4_t;
typedef struct poly16x4x4_t {
poly16x4_t val[4];
} poly16x4x4_t;
typedef struct poly16x8x4_t {
poly16x8_t val[4];
} poly16x8x4_t;
#ifdef __aarch64__
typedef struct poly64x1x4_t {
poly64x1_t val[4];
} poly64x1x4_t;
typedef struct poly64x2x4_t {
poly64x2_t val[4];
} poly64x2x4_t;
#endif
#define __ai static inline __attribute__((__always_inline__, __nodebug__))
__ai int16x8_t vmovl_s8(int8x8_t __a) {
return (int16x8_t)__builtin_neon_vmovl_v(__a, 33); }
__ai int32x4_t vmovl_s16(int16x4_t __a) {
return (int32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 34); }
__ai int64x2_t vmovl_s32(int32x2_t __a) {
return (int64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 35); }
__ai uint16x8_t vmovl_u8(uint8x8_t __a) {
return (uint16x8_t)__builtin_neon_vmovl_v((int8x8_t)__a, 49); }
__ai uint32x4_t vmovl_u16(uint16x4_t __a) {
return (uint32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 50); }
__ai uint64x2_t vmovl_u32(uint32x2_t __a) {
return (uint64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 51); }
__ai int16x8_t vmull_s8(int8x8_t __a, int8x8_t __b) {
return (int16x8_t)__builtin_neon_vmull_v(__a, __b, 33); }
__ai int32x4_t vmull_s16(int16x4_t __a, int16x4_t __b) {
return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 34); }
__ai int64x2_t vmull_s32(int32x2_t __a, int32x2_t __b) {
return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 35); }
__ai uint16x8_t vmull_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 49); }
__ai uint32x4_t vmull_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 50); }
__ai uint64x2_t vmull_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 51); }
__ai poly16x8_t vmull_p8(poly8x8_t __a, poly8x8_t __b) {
return (poly16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 37); }
__ai int8x8_t vabd_s8(int8x8_t __a, int8x8_t __b) {
return (int8x8_t)__builtin_neon_vabd_v(__a, __b, 0); }
__ai int16x4_t vabd_s16(int16x4_t __a, int16x4_t __b) {
return (int16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
__ai int32x2_t vabd_s32(int32x2_t __a, int32x2_t __b) {
return (int32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
__ai uint8x8_t vabd_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
__ai uint16x4_t vabd_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
__ai uint32x2_t vabd_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai float32x2_t vabd_f32(float32x2_t __a, float32x2_t __b) {
return (float32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
__ai int8x16_t vabdq_s8(int8x16_t __a, int8x16_t __b) {
return (int8x16_t)__builtin_neon_vabdq_v(__a, __b, 32); }
__ai int16x8_t vabdq_s16(int16x8_t __a, int16x8_t __b) {
return (int16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
__ai int32x4_t vabdq_s32(int32x4_t __a, int32x4_t __b) {
return (int32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
__ai uint8x16_t vabdq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
__ai uint16x8_t vabdq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
__ai uint32x4_t vabdq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai float32x4_t vabdq_f32(float32x4_t __a, float32x4_t __b) {
return (float32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 40); }
__ai int16x8_t vabdl_s8(int8x8_t __a, int8x8_t __b) {
return (int16x8_t)vmovl_u8((uint8x8_t)vabd_s8(__a, __b)); }
__ai int32x4_t vabdl_s16(int16x4_t __a, int16x4_t __b) {
return (int32x4_t)vmovl_u16((uint16x4_t)vabd_s16(__a, __b)); }
__ai int64x2_t vabdl_s32(int32x2_t __a, int32x2_t __b) {
return (int64x2_t)vmovl_u32((uint32x2_t)vabd_s32(__a, __b)); }
__ai uint16x8_t vabdl_u8(uint8x8_t __a, uint8x8_t __b) {
return vmovl_u8(vabd_u8(__a, __b)); }
__ai uint32x4_t vabdl_u16(uint16x4_t __a, uint16x4_t __b) {
return vmovl_u16(vabd_u16(__a, __b)); }
__ai uint64x2_t vabdl_u32(uint32x2_t __a, uint32x2_t __b) {
return vmovl_u32(vabd_u32(__a, __b)); }
__ai int8x8_t vaba_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) {
return __a + vabd_s8(__b, __c); }
__ai int16x4_t vaba_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) {
return __a + vabd_s16(__b, __c); }
__ai int32x2_t vaba_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) {
return __a + vabd_s32(__b, __c); }
__ai uint8x8_t vaba_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
return __a + vabd_u8(__b, __c); }
__ai uint16x4_t vaba_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
return __a + vabd_u16(__b, __c); }
__ai uint32x2_t vaba_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
return __a + vabd_u32(__b, __c); }
__ai int8x16_t vabaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) {
return __a + vabdq_s8(__b, __c); }
__ai int16x8_t vabaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) {
return __a + vabdq_s16(__b, __c); }
__ai int32x4_t vabaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) {
return __a + vabdq_s32(__b, __c); }
__ai uint8x16_t vabaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
return __a + vabdq_u8(__b, __c); }
__ai uint16x8_t vabaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
return __a + vabdq_u16(__b, __c); }
__ai uint32x4_t vabaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
return __a + vabdq_u32(__b, __c); }
__ai int16x8_t vabal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) {
return __a + vabdl_s8(__b, __c); }
__ai int32x4_t vabal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
return __a + vabdl_s16(__b, __c); }
__ai int64x2_t vabal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
return __a + vabdl_s32(__b, __c); }
__ai uint16x8_t vabal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) {
return __a + vabdl_u8(__b, __c); }
__ai uint32x4_t vabal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) {
return __a + vabdl_u16(__b, __c); }
__ai uint64x2_t vabal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) {
return __a + vabdl_u32(__b, __c); }
__ai int8x8_t vabs_s8(int8x8_t __a) {
return (int8x8_t)__builtin_neon_vabs_v(__a, 0); }
__ai int16x4_t vabs_s16(int16x4_t __a) {
return (int16x4_t)__builtin_neon_vabs_v((int8x8_t)__a, 1); }
__ai int32x2_t vabs_s32(int32x2_t __a) {
return (int32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 2); }
__ai float32x2_t vabs_f32(float32x2_t __a) {
return (float32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 8); }
__ai int8x16_t vabsq_s8(int8x16_t __a) {
return (int8x16_t)__builtin_neon_vabsq_v(__a, 32); }
__ai int16x8_t vabsq_s16(int16x8_t __a) {
return (int16x8_t)__builtin_neon_vabsq_v((int8x16_t)__a, 33); }
__ai int32x4_t vabsq_s32(int32x4_t __a) {
return (int32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 34); }
__ai float32x4_t vabsq_f32(float32x4_t __a) {
return (float32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 40); }
__ai int8x8_t vadd_s8(int8x8_t __a, int8x8_t __b) {
return __a + __b; }
__ai int16x4_t vadd_s16(int16x4_t __a, int16x4_t __b) {
return __a + __b; }
__ai int32x2_t vadd_s32(int32x2_t __a, int32x2_t __b) {
return __a + __b; }
__ai int64x1_t vadd_s64(int64x1_t __a, int64x1_t __b) {
return __a + __b; }
__ai float32x2_t vadd_f32(float32x2_t __a, float32x2_t __b) {
return __a + __b; }
__ai uint8x8_t vadd_u8(uint8x8_t __a, uint8x8_t __b) {
return __a + __b; }
__ai uint16x4_t vadd_u16(uint16x4_t __a, uint16x4_t __b) {
return __a + __b; }
__ai uint32x2_t vadd_u32(uint32x2_t __a, uint32x2_t __b) {
return __a + __b; }
__ai uint64x1_t vadd_u64(uint64x1_t __a, uint64x1_t __b) {
return __a + __b; }
__ai int8x16_t vaddq_s8(int8x16_t __a, int8x16_t __b) {
return __a + __b; }
__ai int16x8_t vaddq_s16(int16x8_t __a, int16x8_t __b) {
return __a + __b; }
__ai int32x4_t vaddq_s32(int32x4_t __a, int32x4_t __b) {
return __a + __b; }
__ai int64x2_t vaddq_s64(int64x2_t __a, int64x2_t __b) {
return __a + __b; }
__ai float32x4_t vaddq_f32(float32x4_t __a, float32x4_t __b) {
return __a + __b; }
__ai uint8x16_t vaddq_u8(uint8x16_t __a, uint8x16_t __b) {
return __a + __b; }
__ai uint16x8_t vaddq_u16(uint16x8_t __a, uint16x8_t __b) {
return __a + __b; }
__ai uint32x4_t vaddq_u32(uint32x4_t __a, uint32x4_t __b) {
return __a + __b; }
__ai uint64x2_t vaddq_u64(uint64x2_t __a, uint64x2_t __b) {
return __a + __b; }
__ai int8x8_t vaddhn_s16(int16x8_t __a, int16x8_t __b) {
return (int8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
__ai int16x4_t vaddhn_s32(int32x4_t __a, int32x4_t __b) {
return (int16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
__ai int32x2_t vaddhn_s64(int64x2_t __a, int64x2_t __b) {
return (int32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
__ai uint8x8_t vaddhn_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 16); }
__ai uint16x4_t vaddhn_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 17); }
__ai uint32x2_t vaddhn_u64(uint64x2_t __a, uint64x2_t __b) {
return (uint32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 18); }
__ai int16x8_t vaddl_s8(int8x8_t __a, int8x8_t __b) {
return vmovl_s8(__a) + vmovl_s8(__b); }
__ai int32x4_t vaddl_s16(int16x4_t __a, int16x4_t __b) {
return vmovl_s16(__a) + vmovl_s16(__b); }
__ai int64x2_t vaddl_s32(int32x2_t __a, int32x2_t __b) {
return vmovl_s32(__a) + vmovl_s32(__b); }
__ai uint16x8_t vaddl_u8(uint8x8_t __a, uint8x8_t __b) {
return vmovl_u8(__a) + vmovl_u8(__b); }
__ai uint32x4_t vaddl_u16(uint16x4_t __a, uint16x4_t __b) {
return vmovl_u16(__a) + vmovl_u16(__b); }
__ai uint64x2_t vaddl_u32(uint32x2_t __a, uint32x2_t __b) {
return vmovl_u32(__a) + vmovl_u32(__b); }
__ai int16x8_t vaddw_s8(int16x8_t __a, int8x8_t __b) {
return __a + vmovl_s8(__b); }
__ai int32x4_t vaddw_s16(int32x4_t __a, int16x4_t __b) {
return __a + vmovl_s16(__b); }
__ai int64x2_t vaddw_s32(int64x2_t __a, int32x2_t __b) {
return __a + vmovl_s32(__b); }
__ai uint16x8_t vaddw_u8(uint16x8_t __a, uint8x8_t __b) {
return __a + vmovl_u8(__b); }
__ai uint32x4_t vaddw_u16(uint32x4_t __a, uint16x4_t __b) {
return __a + vmovl_u16(__b); }
__ai uint64x2_t vaddw_u32(uint64x2_t __a, uint32x2_t __b) {
return __a + vmovl_u32(__b); }
__ai int8x8_t vand_s8(int8x8_t __a, int8x8_t __b) {
return __a & __b; }
__ai int16x4_t vand_s16(int16x4_t __a, int16x4_t __b) {
return __a & __b; }
__ai int32x2_t vand_s32(int32x2_t __a, int32x2_t __b) {
return __a & __b; }
__ai int64x1_t vand_s64(int64x1_t __a, int64x1_t __b) {
return __a & __b; }
__ai uint8x8_t vand_u8(uint8x8_t __a, uint8x8_t __b) {
return __a & __b; }
__ai uint16x4_t vand_u16(uint16x4_t __a, uint16x4_t __b) {
return __a & __b; }
__ai uint32x2_t vand_u32(uint32x2_t __a, uint32x2_t __b) {
return __a & __b; }
__ai uint64x1_t vand_u64(uint64x1_t __a, uint64x1_t __b) {
return __a & __b; }
__ai int8x16_t vandq_s8(int8x16_t __a, int8x16_t __b) {
return __a & __b; }
__ai int16x8_t vandq_s16(int16x8_t __a, int16x8_t __b) {
return __a & __b; }
__ai int32x4_t vandq_s32(int32x4_t __a, int32x4_t __b) {
return __a & __b; }
__ai int64x2_t vandq_s64(int64x2_t __a, int64x2_t __b) {
return __a & __b; }
__ai uint8x16_t vandq_u8(uint8x16_t __a, uint8x16_t __b) {
return __a & __b; }
__ai uint16x8_t vandq_u16(uint16x8_t __a, uint16x8_t __b) {
return __a & __b; }
__ai uint32x4_t vandq_u32(uint32x4_t __a, uint32x4_t __b) {
return __a & __b; }
__ai uint64x2_t vandq_u64(uint64x2_t __a, uint64x2_t __b) {
return __a & __b; }
__ai int8x8_t vbic_s8(int8x8_t __a, int8x8_t __b) {
return __a & ~__b; }
__ai int16x4_t vbic_s16(int16x4_t __a, int16x4_t __b) {
return __a & ~__b; }
__ai int32x2_t vbic_s32(int32x2_t __a, int32x2_t __b) {
return __a & ~__b; }
__ai int64x1_t vbic_s64(int64x1_t __a, int64x1_t __b) {
return __a & ~__b; }
__ai uint8x8_t vbic_u8(uint8x8_t __a, uint8x8_t __b) {
return __a & ~__b; }
__ai uint16x4_t vbic_u16(uint16x4_t __a, uint16x4_t __b) {
return __a & ~__b; }
__ai uint32x2_t vbic_u32(uint32x2_t __a, uint32x2_t __b) {
return __a & ~__b; }
__ai uint64x1_t vbic_u64(uint64x1_t __a, uint64x1_t __b) {
return __a & ~__b; }
__ai int8x16_t vbicq_s8(int8x16_t __a, int8x16_t __b) {
return __a & ~__b; }
__ai int16x8_t vbicq_s16(int16x8_t __a, int16x8_t __b) {
return __a & ~__b; }
__ai int32x4_t vbicq_s32(int32x4_t __a, int32x4_t __b) {
return __a & ~__b; }
__ai int64x2_t vbicq_s64(int64x2_t __a, int64x2_t __b) {
return __a & ~__b; }
__ai uint8x16_t vbicq_u8(uint8x16_t __a, uint8x16_t __b) {
return __a & ~__b; }
__ai uint16x8_t vbicq_u16(uint16x8_t __a, uint16x8_t __b) {
return __a & ~__b; }
__ai uint32x4_t vbicq_u32(uint32x4_t __a, uint32x4_t __b) {
return __a & ~__b; }
__ai uint64x2_t vbicq_u64(uint64x2_t __a, uint64x2_t __b) {
return __a & ~__b; }
__ai int8x8_t vbsl_s8(uint8x8_t __a, int8x8_t __b, int8x8_t __c) {
return (int8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, __b, __c, 0); }
__ai int16x4_t vbsl_s16(uint16x4_t __a, int16x4_t __b, int16x4_t __c) {
return (int16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 1); }
__ai int32x2_t vbsl_s32(uint32x2_t __a, int32x2_t __b, int32x2_t __c) {
return (int32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 2); }
__ai int64x1_t vbsl_s64(uint64x1_t __a, int64x1_t __b, int64x1_t __c) {
return (int64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 3); }
__ai uint8x8_t vbsl_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
return (uint8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 16); }
__ai uint16x4_t vbsl_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
return (uint16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 17); }
__ai uint32x2_t vbsl_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
return (uint32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 18); }
__ai uint64x1_t vbsl_u64(uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) {
return (uint64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 19); }
__ai float32x2_t vbsl_f32(uint32x2_t __a, float32x2_t __b, float32x2_t __c) {
return (float32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 8); }
__ai poly8x8_t vbsl_p8(uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) {
return (poly8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 4); }
__ai poly16x4_t vbsl_p16(uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) {
return (poly16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 5); }
__ai int8x16_t vbslq_s8(uint8x16_t __a, int8x16_t __b, int8x16_t __c) {
return (int8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, __b, __c, 32); }
__ai int16x8_t vbslq_s16(uint16x8_t __a, int16x8_t __b, int16x8_t __c) {
return (int16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 33); }
__ai int32x4_t vbslq_s32(uint32x4_t __a, int32x4_t __b, int32x4_t __c) {
return (int32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 34); }
__ai int64x2_t vbslq_s64(uint64x2_t __a, int64x2_t __b, int64x2_t __c) {
return (int64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 35); }
__ai uint8x16_t vbslq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
return (uint8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 48); }
__ai uint16x8_t vbslq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
return (uint16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 49); }
__ai uint32x4_t vbslq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
return (uint32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 50); }
__ai uint64x2_t vbslq_u64(uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) {
return (uint64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 51); }
__ai float32x4_t vbslq_f32(uint32x4_t __a, float32x4_t __b, float32x4_t __c) {
return (float32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 40); }
__ai poly8x16_t vbslq_p8(uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) {
return (poly8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 36); }
__ai poly16x8_t vbslq_p16(uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) {
return (poly16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 37); }
__ai uint32x2_t vcage_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai uint32x4_t vcageq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai uint32x2_t vcagt_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai uint32x4_t vcagtq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai uint32x2_t vcale_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai uint32x4_t vcaleq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai uint32x2_t vcalt_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai uint32x4_t vcaltq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai uint8x8_t vceq_s8(int8x8_t __a, int8x8_t __b) {
return (uint8x8_t)(__a == __b); }
__ai uint16x4_t vceq_s16(int16x4_t __a, int16x4_t __b) {
return (uint16x4_t)(__a == __b); }
__ai uint32x2_t vceq_s32(int32x2_t __a, int32x2_t __b) {
return (uint32x2_t)(__a == __b); }
__ai uint32x2_t vceq_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)(__a == __b); }
__ai uint8x8_t vceq_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)(__a == __b); }
__ai uint16x4_t vceq_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)(__a == __b); }
__ai uint32x2_t vceq_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)(__a == __b); }
__ai uint8x8_t vceq_p8(poly8x8_t __a, poly8x8_t __b) {
return (uint8x8_t)(__a == __b); }
__ai uint8x16_t vceqq_s8(int8x16_t __a, int8x16_t __b) {
return (uint8x16_t)(__a == __b); }
__ai uint16x8_t vceqq_s16(int16x8_t __a, int16x8_t __b) {
return (uint16x8_t)(__a == __b); }
__ai uint32x4_t vceqq_s32(int32x4_t __a, int32x4_t __b) {
return (uint32x4_t)(__a == __b); }
__ai uint32x4_t vceqq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)(__a == __b); }
__ai uint8x16_t vceqq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)(__a == __b); }
__ai uint16x8_t vceqq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)(__a == __b); }
__ai uint32x4_t vceqq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)(__a == __b); }
__ai uint8x16_t vceqq_p8(poly8x16_t __a, poly8x16_t __b) {
return (uint8x16_t)(__a == __b); }
__ai uint8x8_t vcge_s8(int8x8_t __a, int8x8_t __b) {
return (uint8x8_t)(__a >= __b); }
__ai uint16x4_t vcge_s16(int16x4_t __a, int16x4_t __b) {
return (uint16x4_t)(__a >= __b); }
__ai uint32x2_t vcge_s32(int32x2_t __a, int32x2_t __b) {
return (uint32x2_t)(__a >= __b); }
__ai uint32x2_t vcge_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)(__a >= __b); }
__ai uint8x8_t vcge_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)(__a >= __b); }
__ai uint16x4_t vcge_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)(__a >= __b); }
__ai uint32x2_t vcge_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)(__a >= __b); }
__ai uint8x16_t vcgeq_s8(int8x16_t __a, int8x16_t __b) {
return (uint8x16_t)(__a >= __b); }
__ai uint16x8_t vcgeq_s16(int16x8_t __a, int16x8_t __b) {
return (uint16x8_t)(__a >= __b); }
__ai uint32x4_t vcgeq_s32(int32x4_t __a, int32x4_t __b) {
return (uint32x4_t)(__a >= __b); }
__ai uint32x4_t vcgeq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)(__a >= __b); }
__ai uint8x16_t vcgeq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)(__a >= __b); }
__ai uint16x8_t vcgeq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)(__a >= __b); }
__ai uint32x4_t vcgeq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)(__a >= __b); }
__ai uint8x8_t vcgt_s8(int8x8_t __a, int8x8_t __b) {
return (uint8x8_t)(__a > __b); }
__ai uint16x4_t vcgt_s16(int16x4_t __a, int16x4_t __b) {
return (uint16x4_t)(__a > __b); }
__ai uint32x2_t vcgt_s32(int32x2_t __a, int32x2_t __b) {
return (uint32x2_t)(__a > __b); }
__ai uint32x2_t vcgt_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)(__a > __b); }
__ai uint8x8_t vcgt_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)(__a > __b); }
__ai uint16x4_t vcgt_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)(__a > __b); }
__ai uint32x2_t vcgt_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)(__a > __b); }
__ai uint8x16_t vcgtq_s8(int8x16_t __a, int8x16_t __b) {
return (uint8x16_t)(__a > __b); }
__ai uint16x8_t vcgtq_s16(int16x8_t __a, int16x8_t __b) {
return (uint16x8_t)(__a > __b); }
__ai uint32x4_t vcgtq_s32(int32x4_t __a, int32x4_t __b) {
return (uint32x4_t)(__a > __b); }
__ai uint32x4_t vcgtq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)(__a > __b); }
__ai uint8x16_t vcgtq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)(__a > __b); }
__ai uint16x8_t vcgtq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)(__a > __b); }
__ai uint32x4_t vcgtq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)(__a > __b); }
__ai uint8x8_t vcle_s8(int8x8_t __a, int8x8_t __b) {
return (uint8x8_t)(__a <= __b); }
__ai uint16x4_t vcle_s16(int16x4_t __a, int16x4_t __b) {
return (uint16x4_t)(__a <= __b); }
__ai uint32x2_t vcle_s32(int32x2_t __a, int32x2_t __b) {
return (uint32x2_t)(__a <= __b); }
__ai uint32x2_t vcle_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)(__a <= __b); }
__ai uint8x8_t vcle_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)(__a <= __b); }
__ai uint16x4_t vcle_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)(__a <= __b); }
__ai uint32x2_t vcle_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)(__a <= __b); }
__ai uint8x16_t vcleq_s8(int8x16_t __a, int8x16_t __b) {
return (uint8x16_t)(__a <= __b); }
__ai uint16x8_t vcleq_s16(int16x8_t __a, int16x8_t __b) {
return (uint16x8_t)(__a <= __b); }
__ai uint32x4_t vcleq_s32(int32x4_t __a, int32x4_t __b) {
return (uint32x4_t)(__a <= __b); }
__ai uint32x4_t vcleq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)(__a <= __b); }
__ai uint8x16_t vcleq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)(__a <= __b); }
__ai uint16x8_t vcleq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)(__a <= __b); }
__ai uint32x4_t vcleq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)(__a <= __b); }
__ai int8x8_t vcls_s8(int8x8_t __a) {
return (int8x8_t)__builtin_neon_vcls_v(__a, 0); }
__ai int16x4_t vcls_s16(int16x4_t __a) {
return (int16x4_t)__builtin_neon_vcls_v((int8x8_t)__a, 1); }
__ai int32x2_t vcls_s32(int32x2_t __a) {
return (int32x2_t)__builtin_neon_vcls_v((int8x8_t)__a, 2); }
__ai int8x16_t vclsq_s8(int8x16_t __a) {
return (int8x16_t)__builtin_neon_vclsq_v(__a, 32); }
__ai int16x8_t vclsq_s16(int16x8_t __a) {
return (int16x8_t)__builtin_neon_vclsq_v((int8x16_t)__a, 33); }
__ai int32x4_t vclsq_s32(int32x4_t __a) {
return (int32x4_t)__builtin_neon_vclsq_v((int8x16_t)__a, 34); }
__ai uint8x8_t vclt_s8(int8x8_t __a, int8x8_t __b) {
return (uint8x8_t)(__a < __b); }
__ai uint16x4_t vclt_s16(int16x4_t __a, int16x4_t __b) {
return (uint16x4_t)(__a < __b); }
__ai uint32x2_t vclt_s32(int32x2_t __a, int32x2_t __b) {
return (uint32x2_t)(__a < __b); }
__ai uint32x2_t vclt_f32(float32x2_t __a, float32x2_t __b) {
return (uint32x2_t)(__a < __b); }
__ai uint8x8_t vclt_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)(__a < __b); }
__ai uint16x4_t vclt_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)(__a < __b); }
__ai uint32x2_t vclt_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)(__a < __b); }
__ai uint8x16_t vcltq_s8(int8x16_t __a, int8x16_t __b) {
return (uint8x16_t)(__a < __b); }
__ai uint16x8_t vcltq_s16(int16x8_t __a, int16x8_t __b) {
return (uint16x8_t)(__a < __b); }
__ai uint32x4_t vcltq_s32(int32x4_t __a, int32x4_t __b) {
return (uint32x4_t)(__a < __b); }
__ai uint32x4_t vcltq_f32(float32x4_t __a, float32x4_t __b) {
return (uint32x4_t)(__a < __b); }
__ai uint8x16_t vcltq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)(__a < __b); }
__ai uint16x8_t vcltq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)(__a < __b); }
__ai uint32x4_t vcltq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)(__a < __b); }
__ai int8x8_t vclz_s8(int8x8_t __a) {
return (int8x8_t)__builtin_neon_vclz_v(__a, 0); }
__ai int16x4_t vclz_s16(int16x4_t __a) {
return (int16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 1); }
__ai int32x2_t vclz_s32(int32x2_t __a) {
return (int32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 2); }
__ai uint8x8_t vclz_u8(uint8x8_t __a) {
return (uint8x8_t)__builtin_neon_vclz_v((int8x8_t)__a, 16); }
__ai uint16x4_t vclz_u16(uint16x4_t __a) {
return (uint16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 17); }
__ai uint32x2_t vclz_u32(uint32x2_t __a) {
return (uint32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 18); }
__ai int8x16_t vclzq_s8(int8x16_t __a) {
return (int8x16_t)__builtin_neon_vclzq_v(__a, 32); }
__ai int16x8_t vclzq_s16(int16x8_t __a) {
return (int16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 33); }
__ai int32x4_t vclzq_s32(int32x4_t __a) {
return (int32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 34); }
__ai uint8x16_t vclzq_u8(uint8x16_t __a) {
return (uint8x16_t)__builtin_neon_vclzq_v((int8x16_t)__a, 48); }
__ai uint16x8_t vclzq_u16(uint16x8_t __a) {
return (uint16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 49); }
__ai uint32x4_t vclzq_u32(uint32x4_t __a) {
return (uint32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 50); }
__ai uint8x8_t vcnt_u8(uint8x8_t __a) {
return (uint8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 16); }
__ai int8x8_t vcnt_s8(int8x8_t __a) {
return (int8x8_t)__builtin_neon_vcnt_v(__a, 0); }
__ai poly8x8_t vcnt_p8(poly8x8_t __a) {
return (poly8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 4); }
__ai uint8x16_t vcntq_u8(uint8x16_t __a) {
return (uint8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 48); }
__ai int8x16_t vcntq_s8(int8x16_t __a) {
return (int8x16_t)__builtin_neon_vcntq_v(__a, 32); }
__ai poly8x16_t vcntq_p8(poly8x16_t __a) {
return (poly8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 36); }
__ai int8x16_t vcombine_s8(int8x8_t __a, int8x8_t __b) {
return (int8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai int16x8_t vcombine_s16(int16x4_t __a, int16x4_t __b) {
return (int16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai int32x4_t vcombine_s32(int32x2_t __a, int32x2_t __b) {
return (int32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai int64x2_t vcombine_s64(int64x1_t __a, int64x1_t __b) {
return (int64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai float16x8_t vcombine_f16(float16x4_t __a, float16x4_t __b) {
return (float16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai float32x4_t vcombine_f32(float32x2_t __a, float32x2_t __b) {
return (float32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai uint8x16_t vcombine_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai uint16x8_t vcombine_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai uint32x4_t vcombine_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai uint64x2_t vcombine_u64(uint64x1_t __a, uint64x1_t __b) {
return (uint64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai poly8x16_t vcombine_p8(poly8x8_t __a, poly8x8_t __b) {
return (poly8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai poly16x8_t vcombine_p16(poly16x4_t __a, poly16x4_t __b) {
return (poly16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
__ai int8x8_t vcreate_s8(uint64_t __a) {
return (int8x8_t)__a; }
__ai int16x4_t vcreate_s16(uint64_t __a) {
return (int16x4_t)__a; }
__ai int32x2_t vcreate_s32(uint64_t __a) {
return (int32x2_t)__a; }
__ai float16x4_t vcreate_f16(uint64_t __a) {
return (float16x4_t)__a; }
__ai float32x2_t vcreate_f32(uint64_t __a) {
return (float32x2_t)__a; }
__ai uint8x8_t vcreate_u8(uint64_t __a) {
return (uint8x8_t)__a; }
__ai uint16x4_t vcreate_u16(uint64_t __a) {
return (uint16x4_t)__a; }
__ai uint32x2_t vcreate_u32(uint64_t __a) {
return (uint32x2_t)__a; }
__ai uint64x1_t vcreate_u64(uint64_t __a) {
return (uint64x1_t)__a; }
__ai poly8x8_t vcreate_p8(uint64_t __a) {
return (poly8x8_t)__a; }
__ai poly16x4_t vcreate_p16(uint64_t __a) {
return (poly16x4_t)__a; }
__ai int64x1_t vcreate_s64(uint64_t __a) {
return (int64x1_t)__a; }
__ai float16x4_t vcvt_f16_f32(float32x4_t __a) {
return (float16x4_t)__builtin_neon_vcvt_f16_v((int8x16_t)__a, 7); }
__ai float32x2_t vcvt_f32_s32(int32x2_t __a) {
return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 2); }
__ai float32x2_t vcvt_f32_u32(uint32x2_t __a) {
return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 18); }
__ai float32x4_t vcvtq_f32_s32(int32x4_t __a) {
return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 34); }
__ai float32x4_t vcvtq_f32_u32(uint32x4_t __a) {
return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 50); }
__ai float32x4_t vcvt_f32_f16(float16x4_t __a) {
return (float32x4_t)__builtin_neon_vcvt_f32_f16((int8x8_t)__a, 7); }
#define vcvt_n_f32_s32(a, __b) __extension__ ({ \
int32x2_t __a = (a); \
(float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 2); })
#define vcvt_n_f32_u32(a, __b) __extension__ ({ \
uint32x2_t __a = (a); \
(float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 18); })
#define vcvtq_n_f32_s32(a, __b) __extension__ ({ \
int32x4_t __a = (a); \
(float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 34); })
#define vcvtq_n_f32_u32(a, __b) __extension__ ({ \
uint32x4_t __a = (a); \
(float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 50); })
#define vcvt_n_s32_f32(a, __b) __extension__ ({ \
float32x2_t __a = (a); \
(int32x2_t)__builtin_neon_vcvt_n_s32_v((int8x8_t)__a, __b, 2); })
#define vcvtq_n_s32_f32(a, __b) __extension__ ({ \
float32x4_t __a = (a); \
(int32x4_t)__builtin_neon_vcvtq_n_s32_v((int8x16_t)__a, __b, 34); })
#define vcvt_n_u32_f32(a, __b) __extension__ ({ \
float32x2_t __a = (a); \
(uint32x2_t)__builtin_neon_vcvt_n_u32_v((int8x8_t)__a, __b, 18); })
#define vcvtq_n_u32_f32(a, __b) __extension__ ({ \
float32x4_t __a = (a); \
(uint32x4_t)__builtin_neon_vcvtq_n_u32_v((int8x16_t)__a, __b, 50); })
__ai int32x2_t vcvt_s32_f32(float32x2_t __a) {
return (int32x2_t)__builtin_neon_vcvt_s32_v((int8x8_t)__a, 2); }
__ai int32x4_t vcvtq_s32_f32(float32x4_t __a) {
return (int32x4_t)__builtin_neon_vcvtq_s32_v((int8x16_t)__a, 34); }
__ai uint32x2_t vcvt_u32_f32(float32x2_t __a) {
return (uint32x2_t)__builtin_neon_vcvt_u32_v((int8x8_t)__a, 18); }
__ai uint32x4_t vcvtq_u32_f32(float32x4_t __a) {
return (uint32x4_t)__builtin_neon_vcvtq_u32_v((int8x16_t)__a, 50); }
#define vdup_lane_u8(a, __b) __extension__ ({ \
uint8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdup_lane_u16(a, __b) __extension__ ({ \
uint16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdup_lane_u32(a, __b) __extension__ ({ \
uint32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b); })
#define vdup_lane_s8(a, __b) __extension__ ({ \
int8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdup_lane_s16(a, __b) __extension__ ({ \
int16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdup_lane_s32(a, __b) __extension__ ({ \
int32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b); })
#define vdup_lane_p8(a, __b) __extension__ ({ \
poly8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdup_lane_p16(a, __b) __extension__ ({ \
poly16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdup_lane_f32(a, __b) __extension__ ({ \
float32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b); })
#define vdupq_lane_u8(a, __b) __extension__ ({ \
uint8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_u16(a, __b) __extension__ ({ \
uint16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_u32(a, __b) __extension__ ({ \
uint32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdupq_lane_s8(a, __b) __extension__ ({ \
int8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_s16(a, __b) __extension__ ({ \
int16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_s32(a, __b) __extension__ ({ \
int32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdupq_lane_p8(a, __b) __extension__ ({ \
poly8x8_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_p16(a, __b) __extension__ ({ \
poly16x4_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
#define vdupq_lane_f32(a, __b) __extension__ ({ \
float32x2_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
#define vdup_lane_s64(a, __b) __extension__ ({ \
int64x1_t __a = (a); \
__builtin_shufflevector(__a, __a, __b); })
#define vdup_lane_u64(a, __b) __extension__ ({ \
uint64x1_t __a = (a); \
__builtin_shufflevector(__a, __a, __b); })
#define vdupq_lane_s64(a, __b) __extension__ ({ \
int64x1_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b); })
#define vdupq_lane_u64(a, __b) __extension__ ({ \
uint64x1_t __a = (a); \
__builtin_shufflevector(__a, __a, __b, __b); })
__ai uint8x8_t vdup_n_u8(uint8_t __a) {
return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai uint16x4_t vdup_n_u16(uint16_t __a) {
return (uint16x4_t){ __a, __a, __a, __a }; }
__ai uint32x2_t vdup_n_u32(uint32_t __a) {
return (uint32x2_t){ __a, __a }; }
__ai int8x8_t vdup_n_s8(int8_t __a) {
return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai int16x4_t vdup_n_s16(int16_t __a) {
return (int16x4_t){ __a, __a, __a, __a }; }
__ai int32x2_t vdup_n_s32(int32_t __a) {
return (int32x2_t){ __a, __a }; }
__ai poly8x8_t vdup_n_p8(poly8_t __a) {
return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai poly16x4_t vdup_n_p16(poly16_t __a) {
return (poly16x4_t){ __a, __a, __a, __a }; }
__ai float32x2_t vdup_n_f32(float32_t __a) {
return (float32x2_t){ __a, __a }; }
__ai uint8x16_t vdupq_n_u8(uint8_t __a) {
return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai uint16x8_t vdupq_n_u16(uint16_t __a) {
return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai uint32x4_t vdupq_n_u32(uint32_t __a) {
return (uint32x4_t){ __a, __a, __a, __a }; }
__ai int8x16_t vdupq_n_s8(int8_t __a) {
return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai int16x8_t vdupq_n_s16(int16_t __a) {
return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai int32x4_t vdupq_n_s32(int32_t __a) {
return (int32x4_t){ __a, __a, __a, __a }; }
__ai poly8x16_t vdupq_n_p8(poly8_t __a) {
return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai poly16x8_t vdupq_n_p16(poly16_t __a) {
return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
__ai float32x4_t vdupq_n_f32(float32_t __a) {
return (float32x4_t){ __a, __a, __a, __a }; }
__ai int64x1_t vdup_n_s64(int64_t __a) {
return (int64x1_t){ __a }; }
__ai uint64x1_t vdup_n_u64(uint64_t __a) {
return (uint64x1_t){ __a }; }
__ai int64x2_t vdupq_n_s64(int64_t __a) {
return (int64x2_t){ __a, __a }; }
__ai uint64x2_t vdupq_n_u64(uint64_t __a) {
return (uint64x2_t){ __a, __a }; }
__ai int8x8_t veor_s8(int8x8_t __a, int8x8_t __b) {
return __a ^ __b; }
__ai int16x4_t veor_s16(int16x4_t __a, int16x4_t __b) {
return __a ^ __b; }
__ai int32x2_t veor_s32(int32x2_t __a, int32x2_t __b) {
return __a ^ __b; }
__ai int64x1_t veor_s64(int64x1_t __a, int64x1_t __b) {
return __a ^ __b; }
__ai uint8x8_t veor_u8(uint8x8_t __a, uint8x8_t __b) {
return __a ^ __b; }
__ai uint16x4_t veor_u16(uint16x4_t __a, uint16x4_t __b) {
return __a ^ __b; }
__ai uint32x2_t veor_u32(uint32x2_t __a, uint32x2_t __b) {
return __a ^ __b; }
__ai uint64x1_t veor_u64(uint64x1_t __a, uint64x1_t __b) {
return __a ^ __b; }
__ai int8x16_t veorq_s8(int8x16_t __a, int8x16_t __b) {
return __a ^ __b; }
__ai int16x8_t veorq_s16(int16x8_t __a, int16x8_t __b) {
return __a ^ __b; }
__ai int32x4_t veorq_s32(int32x4_t __a, int32x4_t __b) {
return __a ^ __b; }
__ai int64x2_t veorq_s64(int64x2_t __a, int64x2_t __b) {
return __a ^ __b; }
__ai uint8x16_t veorq_u8(uint8x16_t __a, uint8x16_t __b) {
return __a ^ __b; }
__ai uint16x8_t veorq_u16(uint16x8_t __a, uint16x8_t __b) {
return __a ^ __b; }
__ai uint32x4_t veorq_u32(uint32x4_t __a, uint32x4_t __b) {
return __a ^ __b; }
__ai uint64x2_t veorq_u64(uint64x2_t __a, uint64x2_t __b) {
return __a ^ __b; }
#define vext_s8(a, b, __c) __extension__ ({ \
int8x8_t __a = (a); int8x8_t __b = (b); \
(int8x8_t)__builtin_neon_vext_v(__a, __b, __c, 0); })
#define vext_u8(a, b, __c) __extension__ ({ \
uint8x8_t __a = (a); uint8x8_t __b = (b); \
(uint8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
#define vext_p8(a, b, __c) __extension__ ({ \
poly8x8_t __a = (a); poly8x8_t __b = (b); \
(poly8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); })
#define vext_s16(a, b, __c) __extension__ ({ \
int16x4_t __a = (a); int16x4_t __b = (b); \
(int16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
#define vext_u16(a, b, __c) __extension__ ({ \
uint16x4_t __a = (a); uint16x4_t __b = (b); \
(uint16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); })
#define vext_p16(a, b, __c) __extension__ ({ \
poly16x4_t __a = (a); poly16x4_t __b = (b); \
(poly16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
#define vext_s32(a, b, __c) __extension__ ({ \
int32x2_t __a = (a); int32x2_t __b = (b); \
(int32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
#define vext_u32(a, b, __c) __extension__ ({ \
uint32x2_t __a = (a); uint32x2_t __b = (b); \
(uint32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); })
#define vext_s64(a, b, __c) __extension__ ({ \
int64x1_t __a = (a); int64x1_t __b = (b); \
(int64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
#define vext_u64(a, b, __c) __extension__ ({ \
uint64x1_t __a = (a); uint64x1_t __b = (b); \
(uint64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); })
#define vext_f32(a, b, __c) __extension__ ({ \
float32x2_t __a = (a); float32x2_t __b = (b); \
(float32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
#define vextq_s8(a, b, __c) __extension__ ({ \
int8x16_t __a = (a); int8x16_t __b = (b); \
(int8x16_t)__builtin_neon_vextq_v(__a, __b, __c, 32); })
#define vextq_u8(a, b, __c) __extension__ ({ \
uint8x16_t __a = (a); uint8x16_t __b = (b); \
(uint8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); })
#define vextq_p8(a, b, __c) __extension__ ({ \
poly8x16_t __a = (a); poly8x16_t __b = (b); \
(poly8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 36); })
#define vextq_s16(a, b, __c) __extension__ ({ \
int16x8_t __a = (a); int16x8_t __b = (b); \
(int16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
#define vextq_u16(a, b, __c) __extension__ ({ \
uint16x8_t __a = (a); uint16x8_t __b = (b); \
(uint16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); })
#define vextq_p16(a, b, __c) __extension__ ({ \
poly16x8_t __a = (a); poly16x8_t __b = (b); \
(poly16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 37); })
#define vextq_s32(a, b, __c) __extension__ ({ \
int32x4_t __a = (a); int32x4_t __b = (b); \
(int32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
#define vextq_u32(a, b, __c) __extension__ ({ \
uint32x4_t __a = (a); uint32x4_t __b = (b); \
(uint32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); })
#define vextq_s64(a, b, __c) __extension__ ({ \
int64x2_t __a = (a); int64x2_t __b = (b); \
(int64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
#define vextq_u64(a, b, __c) __extension__ ({ \
uint64x2_t __a = (a); uint64x2_t __b = (b); \
(uint64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); })
#define vextq_f32(a, b, __c) __extension__ ({ \
float32x4_t __a = (a); float32x4_t __b = (b); \
(float32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 40); })
__ai float32x2_t vfma_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) {
return (float32x2_t)__builtin_neon_vfma_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_t)__c, 8); }
__ai float32x4_t vfmaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) {
return (float32x4_t)__builtin_neon_vfmaq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 40); }
__ai int8x8_t vget_high_s8(int8x16_t __a) {
return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
__ai int16x4_t vget_high_s16(int16x8_t __a) {
return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
__ai int32x2_t vget_high_s32(int32x4_t __a) {
return __builtin_shufflevector(__a, __a, 2, 3); }
__ai int64x1_t vget_high_s64(int64x2_t __a) {
return __builtin_shufflevector(__a, __a, 1); }
__ai float16x4_t vget_high_f16(float16x8_t __a) {
return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
__ai float32x2_t vget_high_f32(float32x4_t __a) {
return __builtin_shufflevector(__a, __a, 2, 3); }
__ai uint8x8_t vget_high_u8(uint8x16_t __a) {
return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
__ai uint16x4_t vget_high_u16(uint16x8_t __a) {
return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
__ai uint32x2_t vget_high_u32(uint32x4_t __a) {
return __builtin_shufflevector(__a, __a, 2, 3); }
__ai uint64x1_t vget_high_u64(uint64x2_t __a) {
return __builtin_shufflevector(__a, __a, 1); }
__ai poly8x8_t vget_high_p8(poly8x16_t __a) {
return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
__ai poly16x4_t vget_high_p16(poly16x8_t __a) {
return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
#define vget_lane_u8(a, __b) __extension__ ({ \
uint8x8_t __a = (a); \
(uint8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
#define vget_lane_u16(a, __b) __extension__ ({ \
uint16x4_t __a = (a); \
(uint16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
#define vget_lane_u32(a, __b) __extension__ ({ \
uint32x2_t __a = (a); \
(uint32_t)__builtin_neon_vget_lane_i32((int32x2_t)__a, __b); })
#define vget_lane_s8(a, __b) __extension__ ({ \
int8x8_t __a = (a); \
(int8_t)__builtin_neon_vget_lane_i8(__a, __b); })
#define vget_lane_s16(a, __b) __extension__ ({ \
int16x4_t __a = (a); \
(int16_t)__builtin_neon_vget_lane_i16(__a, __b); })
#define vget_lane_s32(a, __b) __extension__ ({ \
int32x2_t __a = (a); \
(int32_t)__builtin_neon_vget_lane_i32(__a, __b); })
#define vget_lane_p8(a, __b) __extension__ ({ \
poly8x8_t __a = (a); \
(poly8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
#define vget_lane_p16(a, __b) __extension__ ({ \
poly16x4_t __a = (a); \
(poly16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
#define vget_lane_f32(a, __b) __extension__ ({ \
float32x2_t __a = (a); \
(float32_t)__builtin_neon_vget_lane_f32(__a, __b); })
#define vgetq_lane_u8(a, __b) __extension__ ({ \
uint8x16_t __a = (a); \
(uint8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
#define vgetq_lane_u16(a, __b) __extension__ ({ \
uint16x8_t __a = (a); \
(uint16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
#define vgetq_lane_u32(a, __b) __extension__ ({ \
uint32x4_t __a = (a); \
(uint32_t)__builtin_neon_vgetq_lane_i32((int32x4_t)__a, __b); })
#define vgetq_lane_s8(a, __b) __extension__ ({ \
int8x16_t __a = (a); \
(int8_t)__builtin_neon_vgetq_lane_i8(__a, __b); })
#define vgetq_lane_s16(a, __b) __extension__ ({ \
int16x8_t __a = (a); \
(int16_t)__builtin_neon_vgetq_lane_i16(__a, __b); })
#define vgetq_lane_s32(a, __b) __extension__ ({ \
int32x4_t __a = (a); \
(int32_t)__builtin_neon_vgetq_lane_i32(__a, __b); })
#define vgetq_lane_p8(a, __b) __extension__ ({ \
poly8x16_t __a = (a); \
(poly8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
#define vgetq_lane_p16(a, __b) __extension__ ({ \
poly16x8_t __a = (a); \
(poly16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
#define vgetq_lane_f32(a, __b) __extension__ ({ \
float32x4_t __a = (a); \
(float32_t)__builtin_neon_vgetq_lane_f32(__a, __b); })
#define vget_lane_s64(a, __b) __extension__ ({ \
int64x1_t __a = (a); \
(int64_t)__builtin_neon_vget_lane_i64(__a, __b); })
#define vget_lane_u64(a, __b) __extension__ ({ \
uint64x1_t __a = (a); \
(uint64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); })
#define vgetq_lane_s64(a, __b) __extension__ ({ \
int64x2_t __a = (a); \
(int64_t)__builtin_neon_vgetq_lane_i64(__a, __b); })
#define vgetq_lane_u64(a, __b) __extension__ ({ \
uint64x2_t __a = (a); \
(uint64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); })
__ai int8x8_t vget_low_s8(int8x16_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
__ai int16x4_t vget_low_s16(int16x8_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
__ai int32x2_t vget_low_s32(int32x4_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1); }
__ai int64x1_t vget_low_s64(int64x2_t __a) {
return __builtin_shufflevector(__a, __a, 0); }
__ai float16x4_t vget_low_f16(float16x8_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
__ai float32x2_t vget_low_f32(float32x4_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1); }
__ai uint8x8_t vget_low_u8(uint8x16_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
__ai uint16x4_t vget_low_u16(uint16x8_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
__ai uint32x2_t vget_low_u32(uint32x4_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1); }
__ai uint64x1_t vget_low_u64(uint64x2_t __a) {
return __builtin_shufflevector(__a, __a, 0); }
__ai poly8x8_t vget_low_p8(poly8x16_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
__ai poly16x4_t vget_low_p16(poly16x8_t __a) {
return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
__ai int8x8_t vhadd_s8(int8x8_t __a, int8x8_t __b) {
return (int8x8_t)__builtin_neon_vhadd_v(__a, __b, 0); }
__ai int16x4_t vhadd_s16(int16x4_t __a, int16x4_t __b) {
return (int16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
__ai int32x2_t vhadd_s32(int32x2_t __a, int32x2_t __b) {
return (int32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
__ai uint8x8_t vhadd_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
__ai uint16x4_t vhadd_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
__ai uint32x2_t vhadd_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai int8x16_t vhaddq_s8(int8x16_t __a, int8x16_t __b) {
return (int8x16_t)__builtin_neon_vhaddq_v(__a, __b, 32); }
__ai int16x8_t vhaddq_s16(int16x8_t __a, int16x8_t __b) {
return (int16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
__ai int32x4_t vhaddq_s32(int32x4_t __a, int32x4_t __b) {
return (int32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
__ai uint8x16_t vhaddq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
__ai uint16x8_t vhaddq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
__ai uint32x4_t vhaddq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
__ai int8x8_t vhsub_s8(int8x8_t __a, int8x8_t __b) {
return (int8x8_t)__builtin_neon_vhsub_v(__a, __b, 0); }
__ai int16x4_t vhsub_s16(int16x4_t __a, int16x4_t __b) {
return (int16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 1); }
__ai int32x2_t vhsub_s32(int32x2_t __a, int32x2_t __b) {
return (int32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 2); }
__ai uint8x8_t vhsub_u8(uint8x8_t __a, uint8x8_t __b) {
return (uint8x8_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 16); }
__ai uint16x4_t vhsub_u16(uint16x4_t __a, uint16x4_t __b) {
return (uint16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 17); }
__ai uint32x2_t vhsub_u32(uint32x2_t __a, uint32x2_t __b) {
return (uint32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 18); }
__ai int8x16_t vhsubq_s8(int8x16_t __a, int8x16_t __b) {
return (int8x16_t)__builtin_neon_vhsubq_v(__a, __b, 32); }
__ai int16x8_t vhsubq_s16(int16x8_t __a, int16x8_t __b) {
return (int16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
__ai int32x4_t vhsubq_s32(int32x4_t __a, int32x4_t __b) {
return (int32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
__ai uint8x16_t vhsubq_u8(uint8x16_t __a, uint8x16_t __b) {
return (uint8x16_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
__ai uint16x8_t vhsubq_u16(uint16x8_t __a, uint16x8_t __b) {
return (uint16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
__ai uint32x4_t vhsubq_u32(uint32x4_t __a, uint32x4_t __b) {
return (uint32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
#define vld1q_u8(__a) __extension__ ({ \
(uint8x16_t)__builtin_neon_vld1q_v(__a, 48); })
#define vld1q_u16(__a) __extension__ ({ \
(uint16x8_t)__builtin_neon_vld1q_v(__a, 49); })
#define vld1q_u32(__a) __extension__ ({ \
(uint32x4_t)__builtin_neon_vld1q_v(__a, 50); })
#define vld1q_u64(__a) __extension__ ({ \
(uint64x2_t)__builtin_neon_vld1q_v(__a, 51); })
#define vld1q_s8(__a) __extension__ ({ \
(int8x16_t)__builtin_neon_vld1q_v(__a, 32); })
#define vld1q_s16(__a) __extension__ ({ \
(int16x8_t)__builtin_neon_vld1q_v(__a, 33); })
#define vld1q_s32(__a) __extension__ ({ \
(int32x4_t)__builtin_neon_vld1q_v(__a, 34); })
#define vld1q_s64(__a) __extension__ ({ \
(int64x2_t)__builtin_neon_vld1q_v(__a, 35); })
#define vld1q_f16(__a) __extension__ ({ \
(float16x8_t)__builtin_neon_vld1q_v(__a, 39); })
#define vld1q_f32(__a) __extension__ ({ \
(float32x4_t)__builtin_neon_vld1q_v(__a, 40); })
#define vld1q_p8(__a) __extension__ ({ \
(poly8x16_t)__builtin_neon_vld1q_v(__a, 36); })
#define vld1q_p16(__a) __extension__ ({ \
(poly16x8_t)__builtin_neon_vld1q_v(__a, 37); })
#define vld1_u8(__a) __extension__ ({ \
(uint8x8_t)__builtin_neon_vld1_v(__a, 16); })
#define vld1_u16(__a) __extension__ ({ \
(uint16x4_t)__builtin_neon_vld1_v(__a, 17); })
#define vld1_u32(__a) __extension__ ({ \
(uint32x2_t)__builtin_neon_vld1_v(__a, 18); })
#define vld1_u64(__a) __extension__ ({ \
(uint64x1_t)__builtin_neon_vld1_v(__a, 19); })
#define vld1_s8(__a) __extension__ ({ \
(int8x8_t)__builtin_neon_vld1_v(__a, 0); })
#define vld1_s16(__a) __extension__ ({ \
(int16x4_t)__builtin_neon_vld1_v(__a, 1); })
#define vld1_s32(__a) __extension__ ({ \
(int32x2_t)__builtin_neon_vld1_v(__a, 2); })
#define vld1_s64(__a) __extension__ ({ \
(int64x1_t)__builtin_neon_vld1_v(__a, 3); })
#define vld1_f16(__a) __extension__ ({ \
(float16x4_t)__builtin_neon_vld1_v(__a, 7); })
#define vld1_f32(__a) __extension__ ({ \
(float32x2_t)__builtin_neon_vld1_v(__a, 8); })
#define vld1_p8(__a) __extension__ ({ \
(poly8x8_t)__builtin_neon_vld1_v(__a, 4); })
#define vld1_p16(__a) __extension__ ({ \
(poly16x4_t)__builtin_neon_vld1_v(__a, 5); })
#define vld1q_dup_u8(__a) __extension__ ({ \
(uint8x16_t)__builtin_neon_vld1q_dup_v(__a, 48); })
#define vld1q_dup_u16(__a) __extension__ ({ \
(uint16x8_t)__builtin_neon_vld1q_dup_v(__a, 49); })
#define vld1q_dup_u32(__a) __extension__ ({ \
(uint32x4_t)__builtin_neon_vld1q_dup_v(__a, 50); })
#define vld1q_dup_u64(__a) __extension__ ({ \
(uint64x2_t)__builtin_neon_vld1q_dup_v(__a, 51); })
#define vld1q_dup_s8(__a) __extension__ ({ \
(int8x16_t)__builtin_neon_vld1q_dup_v(__a, 32); })
#define vld1q_dup_s16(__a) __extension__ ({ \
(int16x8_t)__builtin_neon_vld1q_dup_v(__a, 33); })
#define vld1q_dup_s32(__a) __extension__ ({ \
(int32x4_t)__builtin_neon_vld1q_dup_v(__a, 34); })
#define vld1q_dup_s64(__a) __extension__ ({ \
(int64x2_t)__builtin_neon_vld1q_dup_v(__a, 35); })
#define vld1q_dup_f16(__a) __extension__ ({ \
(float16x8_t)__builtin_neon_vld1q_dup_v(__a, 39); })
#define vld1q_dup_f32(__a) __extension__ ({ \
(float32x4_t)__builtin_neon_vld1q_dup_v(__a, 40); })
#define vld1q_dup_p8(__a) __extension__ ({ \
(poly8x16_t)__builtin_neon_vld1q_dup_v(__a, 36); })
#define vld1q_dup_p16(__a) __extension__ ({ \
(poly16x8_t)__builtin_neon_vld1q_dup_v(__a, 37); })
#define vld1_dup_u8(__a) __extension__ ({ \
(uint8x8_t)__builtin_neon_vld1_dup_v(__a, 16); })
#define vld1_dup_u16(__a) __extension__ ({ \
(uint16x4_t)__builtin_neon_vld1_dup_v(__a, 17); })
#define vld1_dup_u32(__a) __extension__ ({ \
(uint32x2_t)__builtin_neon_vld1_dup_v(__a, 18); })
#define vld1_dup_u64(__a) __extension__ ({ \
(uint64x1_t)__builtin_neon_vld1_dup_v(__a, 19); })
#define vld1_dup_s8(__a) __extension__ ({ \
(int8x8_t)__builtin_neon_vld1_dup_v(__a, 0); })
#define vld1_dup_s16(__a) __extension__ ({ \
(int16x4_t)__builtin_neon_vld1_dup_v(__a, 1); })
#define vld1_dup_s32(__a) __extension__ ({ \
(int32x2_t)__builtin_neon_vld1_dup_v(__a, 2); })
#define vld1_dup_s64(__a) __extension__ ({ \
(int64x1_t)__builtin_neon_vld1_dup_v(__a, 3); })
#define vld1_dup_f16(__a) __extension__ ({ \
(float16x4_t)__builtin_neon_vld1_dup_v(__a, 7); })
#define vld1_dup_f32(__a) __extension__ ({ \
(float32x2_t)__builtin_neon_vld1_dup_v(__a, 8); })
#define vld1_dup_p8(__a) __extension__ ({ \
(poly8x8_t)__builtin_neon_vld1_dup_v(__a, 4); })
#define vld1_dup_p16(__a) __extension__ ({ \
(poly16x4_t)__builtin_neon_vld1_dup_v(__a, 5); })
#define vld1q_lane_u8(__a, b, __c) __extension__ ({ \
uint8x16_t __b = (b); \
(uint8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 48); })
#define vld1q_lane_u16(__a, b, __c) __extension__ ({ \
uint16x8_t __b = (b); \
(uint16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 49); })
#define vld1q_lane_u32(__a, b, __c) __extension__ ({ \
uint32x4_t __b = (b); \
(uint32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 50); })
#define vld1q_lane_u64(__a, b, __c) __extension__ ({ \
uint64x2_t __b = (b); \
(uint64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 51); })
#define vld1q_lane_s8(__a, b, __c) __extension__ ({ \
int8x16_t __b = (b); \
(int8x16_t)__builtin_neon_vld1q_lane_v(__a, __b, __c, 32); })
#define vld1q_lane_s16(__a, b, __c) __extension__ ({ \
int16x8_t __b = (b); \
(int16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 33); })
#define vld1q_lane_s32(__a, b, __c) __extension__ ({ \
int32x4_t __b = (b); \
(int32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 34); })
#define vld1q_lane_s64(__a, b, __c) __extension__ ({ \
int64x2_t __b = (b); \
(int64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 35); })
#define vld1q_lane_f16(__a, b, __c) __extension__ ({ \
float16x8_t __b = (b); \
(float16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 39); })
#define vld1q_lane_f32(__a, b, __c) __extension__ ({ \
float32x4_t __b = (b); \
(float32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 40); })
#define vld1q_lane_p8(__a, b, __c) __extension__ ({ \
poly8x16_t __b = (b); \
(poly8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 36); })
#define vld1q_lane_p16(__a, b, __c) __extension__ ({ \
poly16x8_t __b = (b); \
(poly16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 37); })
#define vld1_lane_u8(__a, b, __c) __extension__ ({ \
uint8x8_t __b = (b); \
(uint8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 16); })
#define vld1_lane_u16(__a, b, __c) __extension__ ({ \
uint16x4_t __b = (b); \
(uint16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 17); })
#define vld1_lane_u32(__a, b, __c) __extension__ ({ \
uint32x2_t __b = (b); \
(uint32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 18); })
#define vld1_lane_u64(__a, b, __c) __extension__ ({ \
uint64x1_t __b = (b); \
(uint64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 19); })
#define vld1_lane_s8(__a, b, __c) __extension__ ({ \
int8x8_t __b = (b); \
(int8x8_t)__builtin_neon_vld1_lane_v(__a, __b, __c, 0); })
#define vld1_lane_s16(__a, b, __c) __extension__ ({ \
int16x4_t __b = (b); \
(int16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 1); })
#define vld1_lane_s32(__a, b, __c) __extension__ ({ \
int32x2_t __b = (b); \
(int32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 2); })
#define vld1_lane_s64(__a, b, __c) __extension__ ({ \
int64x1_t __b = (b); \
(int64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 3); })
#define vld1_lane_f16(__a, b, __c) __extension__ ({ \
float16x4_t __b = (b); \
(float16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 7); })
#define vld1_lane_f32(__a, b, __c) __extension__ ({ \
float32x2_t __b = (b); \
(float32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 8); })
#define vld1_lane_p8(__a, b, __c) __extension__ ({ \
poly8x8_t __b = (b); \
(poly8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 4); })
#define vld1_lane_p16(__a, b, __c) __extension__ ({ \
poly16x4_t __b = (b); \
(poly16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 5); })
#define vld2q_u8(__a) __extension__ ({ \
uint8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 48); r; })
#define vld2q_u16(__a) __extension__ ({ \
uint16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 49); r; })
#define vld2q_u32(__a) __extension__ ({ \
uint32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 50); r; })
#define vld2q_s8(__a) __extension__ ({ \
int8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 32); r; })
#define vld2q_s16(__a) __extension__ ({ \
int16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 33); r; })
#define vld2q_s32(__a) __extension__ ({ \
int32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 34); r; })
#define vld2q_f16(__a) __extension__ ({ \
float16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 39); r; })
#define vld2q_f32(__a) __extension__ ({ \
float32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 40); r; })
#define vld2q_p8(__a) __extension__ ({ \
poly8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 36); r; })
#define vld2q_p16(__a) __extension__ ({ \
poly16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 37); r; })
#define vld2_u8(__a) __extension__ ({ \
uint8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 16); r; })
#define vld2_u16(__a) __extension__ ({ \
uint16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 17); r; })
#define vld2_u32(__a) __extension__ ({ \
uint32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 18); r; })
#define vld2_u64(__a) __extension__ ({ \
uint64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 19); r; })
#define vld2_s8(__a) __extension__ ({ \
int8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 0); r; })
#define vld2_s16(__a) __extension__ ({ \
int16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 1); r; })
#define vld2_s32(__a) __extension__ ({ \
int32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 2); r; })
#define vld2_s64(__a) __extension__ ({ \
int64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 3); r; })
#define vld2_f16(__a) __extension__ ({ \
float16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 7); r; })
#define vld2_f32(__a) __extension__ ({ \
float32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 8); r; })
#define vld2_p8(__a) __extension__ ({ \
poly8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 4); r; })
#define vld2_p16(__a) __extension__ ({ \
poly16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 5); r; })
#define vld2_dup_u8(__a) __extension__ ({ \
uint8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 16); r; })
#define vld2_dup_u16(__a) __extension__ ({ \
uint16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 17); r; })
#define vld2_dup_u32(__a) __extension__ ({ \
uint32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 18); r; })
#define vld2_dup_u64(__a) __extension__ ({ \
uint64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 19); r; })
#define vld2_dup_s8(__a) __extension__ ({ \
int8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 0); r; })
#define vld2_dup_s16(__a) __extension__ ({ \
int16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 1); r; })
#define vld2_dup_s32(__a) __extension__ ({ \
int32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 2); r; })
#define vld2_dup_s64(__a) __extension__ ({ \
int64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 3); r; })
#define vld2_dup_f16(__a) __extension__ ({ \
float16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 7); r; })
#define vld2_dup_f32(__a) __extension__ ({ \
float32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 8); r; })
#define vld2_dup_p8(__a) __extension__ ({ \
poly8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 4); r; })
#define vld2_dup_p16(__a) __extension__ ({ \
poly16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 5); r; })
#define vld2q_lane_u16(__a, b, __c) __extension__ ({ \
uint16x8x2_t __b = (b); \
uint16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 49); r; })
#define vld2q_lane_u32(__a, b, __c) __extension__ ({ \
uint32x4x2_t __b = (b); \
uint32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 50); r; })
#define vld2q_lane_s16(__a, b, __c) __extension__ ({ \
int16x8x2_t __b = (b); \
int16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 33); r; })
#define vld2q_lane_s32(__a, b, __c) __extension__ ({ \
int32x4x2_t __b = (b); \
int32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 34); r; })
#define vld2q_lane_f16(__a, b, __c) __extension__ ({ \
float16x8x2_t __b = (b); \
float16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 39); r; })
#define vld2q_lane_f32(__a, b, __c) __extension__ ({ \
float32x4x2_t __b = (b); \
float32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 40); r; })
#define vld2q_lane_p16(__a, b, __c) __extension__ ({ \
poly16x8x2_t __b = (b); \
poly16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 37); r; })
#define vld2_lane_u8(__a, b, __c) __extension__ ({ \
uint8x8x2_t __b = (b); \
uint8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 16); r; })
#define vld2_lane_u16(__a, b, __c) __extension__ ({ \
uint16x4x2_t __b = (b); \
uint16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 17); r; })
#define vld2_lane_u32(__a, b, __c) __extension__ ({ \
uint32x2x2_t __b = (b); \
uint32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 18); r; })
#define vld2_lane_s8(__a, b, __c) __extension__ ({ \
int8x8x2_t __b = (b); \
int8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, __b.val[0], __b.val[1], __c, 0); r; })
#define vld2_lane_s16(__a, b, __c) __extension__ ({ \
int16x4x2_t __b = (b); \
int16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 1); r; })
#define vld2_lane_s32(__a, b, __c) __extension__ ({ \
int32x2x2_t __b = (b); \
int32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 2); r; })
#define vld2_lane_f16(__a, b, __c) __extension__ ({ \
float16x4x2_t __b = (b); \
float16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 7); r; })
#define vld2_lane_f32(__a, b, __c) __extension__ ({ \
float32x2x2_t __b = (b); \
float32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 8); r; })
#define vld2_lane_p8(__a, b, __c) __extension__ ({ \
poly8x8x2_t __b = (b); \
poly8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 4); r; })
#define vld2_lane_p16(__a, b, __c) __extension__ ({ \
poly16x4x2_t __b = (b); \
poly16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __c, 5); r; })
#define vld3q_u8(__a) __extension__ ({ \
uint8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 48); r; })
#define vld3q_u16(__a) __extension__ ({ \
uint16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 49); r; })
#define vld3q_u32(__a) __extension__ ({ \
uint32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 50); r; })
#define vld3q_s8(__a) __extension__ ({ \
int8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 32); r; })
#define vld3q_s16(__a) __extension__ ({ \
int16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 33); r; })
#define vld3q_s32(__a) __extension__ ({ \
int32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 34); r; })
#define vld3q_f16(__a) __extension__ ({ \
float16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 39); r; })
#define vld3q_f32(__a) __extension__ ({ \
float32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 40); r; })
#define vld3q_p8(__a) __extension__ ({ \
poly8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 36); r; })
#define vld3q_p16(__a) __extension__ ({ \
poly16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 37); r; })
#define vld3_u8(__a) __extension__ ({ \
uint8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 16); r; })
#define vld3_u16(__a) __extension__ ({ \
uint16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 17); r; })
#define vld3_u32(__a) __extension__ ({ \
uint32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 18); r; })
#define vld3_u64(__a) __extension__ ({ \
uint64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 19); r; })
#define vld3_s8(__a) __extension__ ({ \
int8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 0); r; })
#define vld3_s16(__a) __extension__ ({ \
int16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 1); r; })
#define vld3_s32(__a) __extension__ ({ \
int32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 2); r; })
#define vld3_s64(__a) __extension__ ({ \
int64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 3); r; })
#define vld3_f16(__a) __extension__ ({ \
float16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 7); r; })
#define vld3_f32(__a) __extension__ ({ \
float32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 8); r; })
#define vld3_p8(__a) __extension__ ({ \
poly8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 4); r; })
#define vld3_p16(__a) __extension__ ({ \
poly16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 5); r; })
#define vld3_dup_u8(__a) __extension__ ({ \
uint8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 16); r; })
#define vld3_dup_u16(__a) __extension__ ({ \
uint16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 17); r; })
#define vld3_dup_u32(__a) __extension__ ({ \
uint32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 18); r; })
#define vld3_dup_u64(__a) __extension__ ({ \
uint64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 19); r; })
#define vld3_dup_s8(__a) __extension__ ({ \
int8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 0); r; })
#define vld3_dup_s16(__a) __extension__ ({ \
int16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 1); r; })
#define vld3_dup_s32(__a) __extension__ ({ \
int32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 2); r; })
#define vld3_dup_s64(__a) __extension__ ({ \
int64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 3); r; })
#define vld3_dup_f16(__a) __extension__ ({ \
float16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 7); r; })
#define vld3_dup_f32(__a) __extension__ ({ \
float32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 8); r; })
#define vld3_dup_p8(__a) __extension__ ({ \
poly8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 4); r; })
#define vld3_dup_p16(__a) __extension__ ({ \
poly16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 5); r; })
#define vld3q_lane_u16(__a, b, __c) __extension__ ({ \
uint16x8x3_t __b = (b); \
uint16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 49); r; })
#define vld3q_lane_u32(__a, b, __c) __extension__ ({ \
uint32x4x3_t __b = (b); \
uint32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 50); r; })
#define vld3q_lane_s16(__a, b, __c) __extension__ ({ \
int16x8x3_t __b = (b); \
int16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 33); r; })
#define vld3q_lane_s32(__a, b, __c) __extension__ ({ \
int32x4x3_t __b = (b); \
int32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 34); r; })
#define vld3q_lane_f16(__a, b, __c) __extension__ ({ \
float16x8x3_t __b = (b); \
float16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 39); r; })
#define vld3q_lane_f32(__a, b, __c) __extension__ ({ \
float32x4x3_t __b = (b); \
float32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 40); r; })
#define vld3q_lane_p16(__a, b, __c) __extension__ ({ \
poly16x8x3_t __b = (b); \
poly16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 37); r; })
#define vld3_lane_u8(__a, b, __c) __extension__ ({ \
uint8x8x3_t __b = (b); \
uint8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 16); r; })
#define vld3_lane_u16(__a, b, __c) __extension__ ({ \
uint16x4x3_t __b = (b); \
uint16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 17); r; })
#define vld3_lane_u32(__a, b, __c) __extension__ ({ \
uint32x2x3_t __b = (b); \
uint32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 18); r; })
#define vld3_lane_s8(__a, b, __c) __extension__ ({ \
int8x8x3_t __b = (b); \
int8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, __b.val[0], __b.val[1], __b.val[2], __c, 0); r; })
#define vld3_lane_s16(__a, b, __c) __extension__ ({ \
int16x4x3_t __b = (b); \
int16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 1); r; })
#define vld3_lane_s32(__a, b, __c) __extension__ ({ \
int32x2x3_t __b = (b); \
int32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 2); r; })
#define vld3_lane_f16(__a, b, __c) __extension__ ({ \
float16x4x3_t __b = (b); \
float16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 7); r; })
#define vld3_lane_f32(__a, b, __c) __extension__ ({ \
float32x2x3_t __b = (b); \
float32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 8); r; })
#define vld3_lane_p8(__a, b, __c) __extension__ ({ \
poly8x8x3_t __b = (b); \
poly8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 4); r; })
#define vld3_lane_p16(__a, b, __c) __extension__ ({ \
poly16x4x3_t __b = (b); \
poly16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 5); r; })
#define vld4q_u8(__a) __extension__ ({ \
uint8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 48); r; })
#define vld4q_u16(__a) __extension__ ({ \
uint16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 49); r; })
#define vld4q_u32(__a) __extension__ ({ \
uint32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 50); r; })
#define vld4q_s8(__a) __extension__ ({ \
int8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 32); r; })
#define vld4q_s16(__a