# 1 "jsimd_arm.c" # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/libjpeg-turbo/simd//" # 1 "" # 1 "" # 1 "jsimd_arm.c" # 18 "jsimd_arm.c" # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/arm_neon.h" 1 3 4 # 39 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/arm_neon.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stdint.h" 1 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 1 3 4 # 26 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 1 3 4 # 323 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/predefs.h" 1 3 4 # 324 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 2 3 4 # 356 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/cdefs.h" 1 3 4 # 353 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/cdefs.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/wordsize.h" 1 3 4 # 354 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/cdefs.h" 2 3 4 # 357 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 2 3 4 # 388 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/gnu/stubs.h" 1 3 4 # 389 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/features.h" 2 3 4 # 27 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/wchar.h" 1 3 4 # 28 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/wordsize.h" 1 3 4 # 29 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 2 3 4 # 37 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 3 4 typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; __extension__ typedef long long int int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 126 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; # 138 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdint.h" 3 4 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 4 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stdint.h" 2 3 4 # 40 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/arm_neon.h" 2 3 4 typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_hi int16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_di int64x1_t; typedef __builtin_neon_sf float32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_poly8 poly8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_poly16 poly16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_usi uint32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_udi uint64x1_t; typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_di int64x2_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_poly16 poly16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_uqi uint8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_uhi uint16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_usi uint32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_udi uint64x2_t __attribute__ ((__vector_size__ (16))); typedef float float32_t; typedef __builtin_neon_poly8 poly8_t; typedef __builtin_neon_poly16 poly16_t; 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 float32x2x2_t { float32x2_t val[2]; } float32x2x2_t; typedef struct float32x4x2_t { float32x4_t val[2]; } float32x4x2_t; 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; 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 float32x2x3_t { float32x2_t val[3]; } float32x2x3_t; typedef struct float32x4x3_t { float32x4_t val[3]; } float32x4x3_t; 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; 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 float32x2x4_t { float32x2_t val[4]; } float32x2x4_t; typedef struct float32x4x4_t { float32x4_t val[4]; } float32x4x4_t; 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; __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vadd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vadd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vadd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vadd_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vadd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vadd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vadd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vadd_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vadd_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vaddq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vaddq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vaddq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vaddq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vaddq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vaddq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vaddq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vaddq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vaddq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vaddl_s8 (int8x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vaddl_s16 (int16x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vaddl_s32 (int32x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vaddl_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vaddl_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vaddl_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vaddw_s8 (int16x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vaddw_s16 (int32x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vaddw_s32 (int64x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vaddw_u8 (uint16x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vaddw_u16 (uint32x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vaddw_u32 (uint64x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vhadd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vhadd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vhadd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vhadd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vhadd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vhadd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vhaddq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vhaddq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vhaddq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vhaddq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vhaddq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vhaddq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrhadd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrhadd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrhadd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrhadd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrhadd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrhadd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrhaddq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrhaddq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vrhaddq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqadd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqadd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqadd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vqadd_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqadd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqadd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqadd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqadd_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqaddq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqaddq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqaddq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqaddq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqaddq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqaddq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqaddq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqaddq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vaddhn_s16 (int16x8_t __a, int16x8_t __b) { return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vaddhn_s32 (int32x4_t __a, int32x4_t __b) { return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vaddhn_s64 (int64x2_t __a, int64x2_t __b) { return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vaddhn_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vaddhn_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vaddhn_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vraddhn_s16 (int16x8_t __a, int16x8_t __b) { return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vraddhn_s32 (int32x4_t __a, int32x4_t __b) { return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vraddhn_s64 (int64x2_t __a, int64x2_t __b) { return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vraddhn_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vraddhn_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vraddhn_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmul_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmul_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmul_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmul_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmul_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmul_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmul_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vmul_p8 (poly8x8_t __a, poly8x8_t __b) { return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmulq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmulq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmulq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmulq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmulq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmulq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmulq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vmulq_p8 (poly8x16_t __a, poly8x16_t __b) { return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqdmulh_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqdmulh_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqdmulhq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmulhq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqrdmulh_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqrdmulh_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmull_s8 (int8x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmull_s16 (int16x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmull_s32 (int32x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmull_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmull_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmull_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vmull_p8 (poly8x8_t __a, poly8x8_t __b) { return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmull_s16 (int16x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmull_s32 (int32x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) { return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) { return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) { return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) { return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) { return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) { return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) { return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) { return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) { return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) { return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) { return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) { return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) { return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) { return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) { return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) { return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) { return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) { return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) { return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) { return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) { return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) { return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) { return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) { return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) { return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) { return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vsub_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vsub_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vsub_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vsub_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vsub_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vsub_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vsub_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vsub_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vsub_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vsubq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsubq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsubq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsubq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vsubq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vsubq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsubq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsubq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsubq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsubl_s8 (int8x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsubl_s16 (int16x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsubl_s32 (int32x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsubl_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsubl_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsubl_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsubw_s8 (int16x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsubw_s16 (int32x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsubw_s32 (int64x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsubw_u8 (uint16x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsubw_u16 (uint32x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsubw_u32 (uint64x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vhsub_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vhsub_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vhsub_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vhsub_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vhsub_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vhsub_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vhsubq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vhsubq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vhsubq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vhsubq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vhsubq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vhsubq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqsub_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqsub_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqsub_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vqsub_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqsub_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqsub_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqsub_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqsub_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqsubq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqsubq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqsubq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqsubq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqsubq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqsubq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqsubq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqsubq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vsubhn_s16 (int16x8_t __a, int16x8_t __b) { return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vsubhn_s32 (int32x4_t __a, int32x4_t __b) { return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vsubhn_s64 (int64x2_t __a, int64x2_t __b) { return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vsubhn_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vsubhn_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vsubhn_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrsubhn_s16 (int16x8_t __a, int16x8_t __b) { return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrsubhn_s32 (int32x4_t __a, int32x4_t __b) { return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrsubhn_s64 (int64x2_t __a, int64x2_t __b) { return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vceq_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vceq_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vceq_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vceq_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vceq_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vceq_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vceq_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vceq_p8 (poly8x8_t __a, poly8x8_t __b) { return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vceqq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vceqq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vceqq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vceqq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vceqq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vceqq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vceqq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vceqq_p8 (poly8x16_t __a, poly8x16_t __b) { return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcge_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcge_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcge_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcge_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcge_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgev8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcge_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgev4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcge_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcgeq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcgeq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgeq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgeq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcgeq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgev16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcgeq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgev8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgeq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcle_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcle_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcle_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcle_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcle_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgev8qi ((int8x8_t) __b, (int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcle_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgev4hi ((int16x4_t) __b, (int16x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcle_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgev2si ((int32x2_t) __b, (int32x2_t) __a, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcleq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcleq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcleq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcleq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcleq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgev16qi ((int8x16_t) __b, (int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcleq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgev8hi ((int16x8_t) __b, (int16x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcleq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgev4si ((int32x4_t) __b, (int32x4_t) __a, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcgt_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcgt_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcgt_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcgt_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcgt_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgtv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcgt_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgtv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcgt_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcgtq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcgtq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgtq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgtq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcgtq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgtv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcgtq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgtv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcgtq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vclt_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vclt_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vclt_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vclt_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vclt_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vcgtv8qi ((int8x8_t) __b, (int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vclt_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vcgtv4hi ((int16x4_t) __b, (int16x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vclt_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vcgtv2si ((int32x2_t) __b, (int32x2_t) __a, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcltq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcltq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcltq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcltq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcltq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vcgtv16qi ((int8x16_t) __b, (int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcltq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vcgtv8hi ((int16x8_t) __b, (int16x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcltq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vcgtv4si ((int32x4_t) __b, (int32x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcage_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcageq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcale_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcaleq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcagt_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcagtq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcalt_f32 (float32x2_t __a, float32x2_t __b) { return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcaltq_f32 (float32x4_t __a, float32x4_t __b) { return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtst_s8 (int8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vtst_s16 (int16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vtst_s32 (int32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtst_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vtst_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vtst_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtst_p8 (poly8x8_t __a, poly8x8_t __b) { return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vtstq_s8 (int8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vtstq_s16 (int16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vtstq_s32 (int32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vtstq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vtstq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vtstq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vtstq_p8 (poly8x16_t __a, poly8x16_t __b) { return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vabd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vabd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vabd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vabd_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vabd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vabd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vabd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vabdq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vabdq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vabdq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vabdq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vabdq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vabdq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vabdq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vabdl_s8 (int8x8_t __a, int8x8_t __b) { return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vabdl_s16 (int16x4_t __a, int16x4_t __b) { return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vabdl_s32 (int32x2_t __a, int32x2_t __b) { return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vabdl_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vabdl_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vabdl_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) { return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) { return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) { return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) { return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) { return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) { return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) { return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) { return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) { return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmax_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmax_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmax_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmax_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmax_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmax_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmax_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmaxq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmaxq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmaxq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmaxq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmaxq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmaxq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmaxq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmin_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmin_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmin_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmin_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmin_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmin_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmin_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vminq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vminq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vminq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vminq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vminq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vminq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vminq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vpadd_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vpadd_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vpadd_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vpadd_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vpadd_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vpadd_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vpadd_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vpaddl_s8 (int8x8_t __a) { return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vpaddl_s16 (int16x4_t __a) { return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vpaddl_s32 (int32x2_t __a) { return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vpaddl_u8 (uint8x8_t __a) { return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vpaddl_u16 (uint16x4_t __a) { return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vpaddl_u32 (uint32x2_t __a) { return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vpaddlq_s8 (int8x16_t __a) { return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vpaddlq_s16 (int16x8_t __a) { return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vpaddlq_s32 (int32x4_t __a) { return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vpaddlq_u8 (uint8x16_t __a) { return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vpaddlq_u16 (uint16x8_t __a) { return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vpaddlq_u32 (uint32x4_t __a) { return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vpadal_s8 (int16x4_t __a, int8x8_t __b) { return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vpadal_s16 (int32x2_t __a, int16x4_t __b) { return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vpadal_s32 (int64x1_t __a, int32x2_t __b) { return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vpadal_u8 (uint16x4_t __a, uint8x8_t __b) { return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vpadal_u16 (uint32x2_t __a, uint16x4_t __b) { return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vpadal_u32 (uint64x1_t __a, uint32x2_t __b) { return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vpadalq_s8 (int16x8_t __a, int8x16_t __b) { return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vpadalq_s16 (int32x4_t __a, int16x8_t __b) { return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vpadalq_s32 (int64x2_t __a, int32x4_t __b) { return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vpadalq_u8 (uint16x8_t __a, uint8x16_t __b) { return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vpadalq_u16 (uint32x4_t __a, uint16x8_t __b) { return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vpadalq_u32 (uint64x2_t __a, uint32x4_t __b) { return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vpmax_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vpmax_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vpmax_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vpmax_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vpmax_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vpmax_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vpmax_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vpmin_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vpmin_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vpmin_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vpmin_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vpmin_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vpmin_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vpmin_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vrecps_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vrecpsq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vrsqrts_f32 (float32x2_t __a, float32x2_t __b) { return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b) { return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vshl_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vshl_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vshl_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vshl_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vshl_u8 (uint8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vshl_u16 (uint16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vshl_u32 (uint32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vshl_u64 (uint64x1_t __a, int64x1_t __b) { return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vshlq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vshlq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vshlq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vshlq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vshlq_u8 (uint8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vshlq_u16 (uint16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vshlq_u32 (uint32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vshlq_u64 (uint64x2_t __a, int64x2_t __b) { return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrshl_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrshl_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrshl_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vrshl_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrshl_u8 (uint8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrshl_u16 (uint16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrshl_u32 (uint32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vrshl_u64 (uint64x1_t __a, int64x1_t __b) { return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrshlq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrshlq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vrshlq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vrshlq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrshlq_u8 (uint8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrshlq_u16 (uint16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrshlq_u32 (uint32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vrshlq_u64 (uint64x2_t __a, int64x2_t __b) { return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqshl_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqshl_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqshl_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vqshl_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqshl_u8 (uint8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqshl_u16 (uint16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqshl_u32 (uint32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqshl_u64 (uint64x1_t __a, int64x1_t __b) { return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqshlq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqshlq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqshlq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqshlq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqshlq_u8 (uint8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqshlq_u16 (uint16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqshlq_u32 (uint32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqshlq_u64 (uint64x2_t __a, int64x2_t __b) { return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqrshl_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqrshl_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqrshl_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vqrshl_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqrshl_u8 (uint8x8_t __a, int8x8_t __b) { return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqrshl_u16 (uint16x4_t __a, int16x4_t __b) { return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqrshl_u32 (uint32x2_t __a, int32x2_t __b) { return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqrshl_u64 (uint64x1_t __a, int64x1_t __b) { return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqrshlq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqrshlq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqrshlq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqrshlq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqrshlq_u8 (uint8x16_t __a, int8x16_t __b) { return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqrshlq_u16 (uint16x8_t __a, int16x8_t __b) { return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqrshlq_u32 (uint32x4_t __a, int32x4_t __b) { return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqrshlq_u64 (uint64x2_t __a, int64x2_t __b) { return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vshr_n_s8 (int8x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vshr_n_s16 (int16x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vshr_n_s32 (int32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vshr_n_s64 (int64x1_t __a, const int __b) { return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vshr_n_u8 (uint8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vshr_n_u16 (uint16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vshr_n_u32 (uint32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vshr_n_u64 (uint64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vshrq_n_s8 (int8x16_t __a, const int __b) { return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vshrq_n_s16 (int16x8_t __a, const int __b) { return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vshrq_n_s32 (int32x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vshrq_n_s64 (int64x2_t __a, const int __b) { return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vshrq_n_u8 (uint8x16_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vshrq_n_u16 (uint16x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vshrq_n_u32 (uint32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vshrq_n_u64 (uint64x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrshr_n_s8 (int8x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrshr_n_s16 (int16x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrshr_n_s32 (int32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vrshr_n_s64 (int64x1_t __a, const int __b) { return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrshr_n_u8 (uint8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrshr_n_u16 (uint16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrshr_n_u32 (uint32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vrshr_n_u64 (uint64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrshrq_n_s8 (int8x16_t __a, const int __b) { return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrshrq_n_s16 (int16x8_t __a, const int __b) { return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vrshrq_n_s32 (int32x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vrshrq_n_s64 (int64x2_t __a, const int __b) { return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrshrq_n_u8 (uint8x16_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrshrq_n_u16 (uint16x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrshrq_n_u32 (uint32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vrshrq_n_u64 (uint64x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vshrn_n_s16 (int16x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vshrn_n_s32 (int32x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vshrn_n_s64 (int64x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vshrn_n_u16 (uint16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vshrn_n_u32 (uint32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vshrn_n_u64 (uint64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrshrn_n_s16 (int16x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrshrn_n_s32 (int32x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrshrn_n_s64 (int64x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrshrn_n_u16 (uint16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrshrn_n_u32 (uint32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrshrn_n_u64 (uint64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqshrn_n_s16 (int16x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqshrn_n_s32 (int32x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqshrn_n_s64 (int64x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqshrn_n_u16 (uint16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqshrn_n_u32 (uint32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqshrn_n_u64 (uint64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqrshrn_n_s16 (int16x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqrshrn_n_s32 (int32x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqrshrn_n_s64 (int64x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqrshrn_n_u16 (uint16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqrshrn_n_u32 (uint32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqrshrn_n_u64 (uint64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqshrun_n_s16 (int16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqshrun_n_s32 (int32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqshrun_n_s64 (int64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqrshrun_n_s16 (int16x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqrshrun_n_s32 (int32x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqrshrun_n_s64 (int64x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vshl_n_s8 (int8x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vshl_n_s16 (int16x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vshl_n_s32 (int32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vshl_n_s64 (int64x1_t __a, const int __b) { return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vshl_n_u8 (uint8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vshl_n_u16 (uint16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vshl_n_u32 (uint32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vshl_n_u64 (uint64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vshlq_n_s8 (int8x16_t __a, const int __b) { return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vshlq_n_s16 (int16x8_t __a, const int __b) { return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vshlq_n_s32 (int32x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vshlq_n_s64 (int64x2_t __a, const int __b) { return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vshlq_n_u8 (uint8x16_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vshlq_n_u16 (uint16x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vshlq_n_u32 (uint32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vshlq_n_u64 (uint64x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqshl_n_s8 (int8x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqshl_n_s16 (int16x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqshl_n_s32 (int32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vqshl_n_s64 (int64x1_t __a, const int __b) { return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqshl_n_u8 (uint8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqshl_n_u16 (uint16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqshl_n_u32 (uint32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqshl_n_u64 (uint64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqshlq_n_s8 (int8x16_t __a, const int __b) { return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqshlq_n_s16 (int16x8_t __a, const int __b) { return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqshlq_n_s32 (int32x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqshlq_n_s64 (int64x2_t __a, const int __b) { return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqshlq_n_u8 (uint8x16_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqshlq_n_u16 (uint16x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqshlq_n_u32 (uint32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqshlq_n_u64 (uint64x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqshlu_n_s8 (int8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqshlu_n_s16 (int16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqshlu_n_s32 (int32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vqshlu_n_s64 (int64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vqshluq_n_s8 (int8x16_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vqshluq_n_s16 (int16x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vqshluq_n_s32 (int32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vqshluq_n_s64 (int64x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vshll_n_s8 (int8x8_t __a, const int __b) { return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vshll_n_s16 (int16x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vshll_n_s32 (int32x2_t __a, const int __b) { return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vshll_n_u8 (uint8x8_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vshll_n_u16 (uint16x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vshll_n_u32 (uint32x2_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) { return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) { return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) { return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) { return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) { return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) { return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) { return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) { return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vabs_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vabs_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vabs_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vabsv2si (__a, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vabs_f32 (float32x2_t __a) { return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vabsq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vabsq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vabsq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vabsv4si (__a, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vabsq_f32 (float32x4_t __a) { return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqabs_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqabs_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqabs_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqabsq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqabsq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqabsq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vneg_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vneg_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vneg_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vnegv2si (__a, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vneg_f32 (float32x2_t __a) { return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vnegq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vnegq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vnegq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vnegv4si (__a, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vnegq_f32 (float32x4_t __a) { return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqneg_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqneg_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqneg_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vqnegq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqnegq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqnegq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmvn_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmvn_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmvn_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmvn_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmvn_u16 (uint16x4_t __a) { return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmvn_u32 (uint32x2_t __a) { return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vmvn_p8 (poly8x8_t __a) { return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmvnq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmvnq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmvnq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmvnq_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmvnq_u16 (uint16x8_t __a) { return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmvnq_u32 (uint32x4_t __a) { return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vmvnq_p8 (poly8x16_t __a) { return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vcls_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vcls_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vcls_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vclsv2si (__a, 1); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vclsq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vclsq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vclsq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vclsv4si (__a, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vclz_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vclz_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vclz_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vclzv2si (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vclz_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vclz_u16 (uint16x4_t __a) { return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vclz_u32 (uint32x2_t __a) { return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vclzq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vclzq_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vclzq_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vclzv4si (__a, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vclzq_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vclzq_u16 (uint16x8_t __a) { return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vclzq_u32 (uint32x4_t __a) { return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vcnt_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcnt_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vcnt_p8 (poly8x8_t __a) { return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vcntq_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcntq_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vcntq_p8 (poly8x16_t __a) { return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vrecpe_f32 (float32x2_t __a) { return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrecpe_u32 (uint32x2_t __a) { return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vrecpeq_f32 (float32x4_t __a) { return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrecpeq_u32 (uint32x4_t __a) { return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vrsqrte_f32 (float32x2_t __a) { return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrsqrte_u32 (uint32x2_t __a) { return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vrsqrteq_f32 (float32x4_t __a) { return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrsqrteq_u32 (uint32x4_t __a) { return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0); } __extension__ static __inline int8_t __attribute__ ((__always_inline__)) vget_lane_s8 (int8x8_t __a, const int __b) { return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1); } __extension__ static __inline int16_t __attribute__ ((__always_inline__)) vget_lane_s16 (int16x4_t __a, const int __b) { return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1); } __extension__ static __inline int32_t __attribute__ ((__always_inline__)) vget_lane_s32 (int32x2_t __a, const int __b) { return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1); } __extension__ static __inline float32_t __attribute__ ((__always_inline__)) vget_lane_f32 (float32x2_t __a, const int __b) { return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3); } __extension__ static __inline uint8_t __attribute__ ((__always_inline__)) vget_lane_u8 (uint8x8_t __a, const int __b) { return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0); } __extension__ static __inline uint16_t __attribute__ ((__always_inline__)) vget_lane_u16 (uint16x4_t __a, const int __b) { return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0); } __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) vget_lane_u32 (uint32x2_t __a, const int __b) { return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline poly8_t __attribute__ ((__always_inline__)) vget_lane_p8 (poly8x8_t __a, const int __b) { return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2); } __extension__ static __inline poly16_t __attribute__ ((__always_inline__)) vget_lane_p16 (poly16x4_t __a, const int __b) { return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2); } __extension__ static __inline int64_t __attribute__ ((__always_inline__)) vget_lane_s64 (int64x1_t __a, const int __b) { return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1); } __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) vget_lane_u64 (uint64x1_t __a, const int __b) { return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0); } __extension__ static __inline int8_t __attribute__ ((__always_inline__)) vgetq_lane_s8 (int8x16_t __a, const int __b) { return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1); } __extension__ static __inline int16_t __attribute__ ((__always_inline__)) vgetq_lane_s16 (int16x8_t __a, const int __b) { return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1); } __extension__ static __inline int32_t __attribute__ ((__always_inline__)) vgetq_lane_s32 (int32x4_t __a, const int __b) { return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1); } __extension__ static __inline float32_t __attribute__ ((__always_inline__)) vgetq_lane_f32 (float32x4_t __a, const int __b) { return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3); } __extension__ static __inline uint8_t __attribute__ ((__always_inline__)) vgetq_lane_u8 (uint8x16_t __a, const int __b) { return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0); } __extension__ static __inline uint16_t __attribute__ ((__always_inline__)) vgetq_lane_u16 (uint16x8_t __a, const int __b) { return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0); } __extension__ static __inline uint32_t __attribute__ ((__always_inline__)) vgetq_lane_u32 (uint32x4_t __a, const int __b) { return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline poly8_t __attribute__ ((__always_inline__)) vgetq_lane_p8 (poly8x16_t __a, const int __b) { return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2); } __extension__ static __inline poly16_t __attribute__ ((__always_inline__)) vgetq_lane_p16 (poly16x8_t __a, const int __b) { return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2); } __extension__ static __inline int64_t __attribute__ ((__always_inline__)) vgetq_lane_s64 (int64x2_t __a, const int __b) { return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1); } __extension__ static __inline uint64_t __attribute__ ((__always_inline__)) vgetq_lane_u64 (uint64x2_t __a, const int __b) { return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c) { return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c) { return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c) { return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c) { return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c) { return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c) { return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vcreate_s8 (uint64_t __a) { return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vcreate_s16 (uint64_t __a) { return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vcreate_s32 (uint64_t __a) { return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vcreate_s64 (uint64_t __a) { return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vcreate_f32 (uint64_t __a) { return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vcreate_u8 (uint64_t __a) { return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vcreate_u16 (uint64_t __a) { return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcreate_u32 (uint64_t __a) { return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vcreate_u64 (uint64_t __a) { return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vcreate_p8 (uint64_t __a) { return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vcreate_p16 (uint64_t __a) { return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vdup_n_s8 (int8_t __a) { return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vdup_n_s16 (int16_t __a) { return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vdup_n_s32 (int32_t __a) { return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vdup_n_f32 (float32_t __a) { return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vdup_n_u8 (uint8_t __a) { return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vdup_n_u16 (uint16_t __a) { return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vdup_n_u32 (uint32_t __a) { return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vdup_n_p8 (poly8_t __a) { return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vdup_n_p16 (poly16_t __a) { return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vdup_n_s64 (int64_t __a) { return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vdup_n_u64 (uint64_t __a) { return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vdupq_n_s8 (int8_t __a) { return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vdupq_n_s16 (int16_t __a) { return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vdupq_n_s32 (int32_t __a) { return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vdupq_n_f32 (float32_t __a) { return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vdupq_n_u8 (uint8_t __a) { return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vdupq_n_u16 (uint16_t __a) { return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vdupq_n_u32 (uint32_t __a) { return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vdupq_n_p8 (poly8_t __a) { return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vdupq_n_p16 (poly16_t __a) { return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vdupq_n_s64 (int64_t __a) { return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vdupq_n_u64 (uint64_t __a) { return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmov_n_s8 (int8_t __a) { return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmov_n_s16 (int16_t __a) { return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmov_n_s32 (int32_t __a) { return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmov_n_f32 (float32_t __a) { return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmov_n_u8 (uint8_t __a) { return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmov_n_u16 (uint16_t __a) { return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmov_n_u32 (uint32_t __a) { return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vmov_n_p8 (poly8_t __a) { return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vmov_n_p16 (poly16_t __a) { return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vmov_n_s64 (int64_t __a) { return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vmov_n_u64 (uint64_t __a) { return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vmovq_n_s8 (int8_t __a) { return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmovq_n_s16 (int16_t __a) { return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmovq_n_s32 (int32_t __a) { return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmovq_n_f32 (float32_t __a) { return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vmovq_n_u8 (uint8_t __a) { return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmovq_n_u16 (uint16_t __a) { return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmovq_n_u32 (uint32_t __a) { return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vmovq_n_p8 (poly8_t __a) { return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vmovq_n_p16 (poly16_t __a) { return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmovq_n_s64 (int64_t __a) { return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmovq_n_u64 (uint64_t __a) { return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vdup_lane_s8 (int8x8_t __a, const int __b) { return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vdup_lane_s16 (int16x4_t __a, const int __b) { return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vdup_lane_s32 (int32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vdup_lane_f32 (float32x2_t __a, const int __b) { return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vdup_lane_u8 (uint8x8_t __a, const int __b) { return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vdup_lane_u16 (uint16x4_t __a, const int __b) { return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vdup_lane_u32 (uint32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vdup_lane_p8 (poly8x8_t __a, const int __b) { return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vdup_lane_p16 (poly16x4_t __a, const int __b) { return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vdup_lane_s64 (int64x1_t __a, const int __b) { return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vdup_lane_u64 (uint64x1_t __a, const int __b) { return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vdupq_lane_s8 (int8x8_t __a, const int __b) { return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vdupq_lane_s16 (int16x4_t __a, const int __b) { return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vdupq_lane_s32 (int32x2_t __a, const int __b) { return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vdupq_lane_f32 (float32x2_t __a, const int __b) { return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vdupq_lane_u8 (uint8x8_t __a, const int __b) { return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vdupq_lane_u16 (uint16x4_t __a, const int __b) { return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vdupq_lane_u32 (uint32x2_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vdupq_lane_p8 (poly8x8_t __a, const int __b) { return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vdupq_lane_p16 (poly16x4_t __a, const int __b) { return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vdupq_lane_s64 (int64x1_t __a, const int __b) { return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vdupq_lane_u64 (uint64x1_t __a, const int __b) { return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vcombine_s8 (int8x8_t __a, int8x8_t __b) { return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vcombine_s16 (int16x4_t __a, int16x4_t __b) { return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vcombine_s32 (int32x2_t __a, int32x2_t __b) { return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vcombine_s64 (int64x1_t __a, int64x1_t __b) { return (int64x2_t)__builtin_neon_vcombinedi (__a, __b); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vcombine_f32 (float32x2_t __a, float32x2_t __b) { return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vcombine_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vcombine_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcombine_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vcombine_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vcombine_p8 (poly8x8_t __a, poly8x8_t __b) { return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vcombine_p16 (poly16x4_t __a, poly16x4_t __b) { return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vget_high_s8 (int8x16_t __a) { return (int8x8_t)__builtin_neon_vget_highv16qi (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vget_high_s16 (int16x8_t __a) { return (int16x4_t)__builtin_neon_vget_highv8hi (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vget_high_s32 (int32x4_t __a) { return (int32x2_t)__builtin_neon_vget_highv4si (__a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vget_high_s64 (int64x2_t __a) { return (int64x1_t)__builtin_neon_vget_highv2di (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vget_high_f32 (float32x4_t __a) { return (float32x2_t)__builtin_neon_vget_highv4sf (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vget_high_u8 (uint8x16_t __a) { return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vget_high_u16 (uint16x8_t __a) { return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vget_high_u32 (uint32x4_t __a) { return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vget_high_u64 (uint64x2_t __a) { return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vget_high_p8 (poly8x16_t __a) { return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vget_high_p16 (poly16x8_t __a) { return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vget_low_s8 (int8x16_t __a) { return (int8x8_t)__builtin_neon_vget_lowv16qi (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vget_low_s16 (int16x8_t __a) { return (int16x4_t)__builtin_neon_vget_lowv8hi (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vget_low_s32 (int32x4_t __a) { return (int32x2_t)__builtin_neon_vget_lowv4si (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vget_low_f32 (float32x4_t __a) { return (float32x2_t)__builtin_neon_vget_lowv4sf (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vget_low_u8 (uint8x16_t __a) { return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vget_low_u16 (uint16x8_t __a) { return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vget_low_u32 (uint32x4_t __a) { return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vget_low_p8 (poly8x16_t __a) { return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vget_low_p16 (poly16x8_t __a) { return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vget_low_s64 (int64x2_t __a) { return (int64x1_t)__builtin_neon_vget_lowv2di (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vget_low_u64 (uint64x2_t __a) { return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vcvt_s32_f32 (float32x2_t __a) { return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vcvt_f32_s32 (int32x2_t __a) { return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vcvt_f32_u32 (uint32x2_t __a) { return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcvt_u32_f32 (float32x2_t __a) { return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vcvtq_s32_f32 (float32x4_t __a) { return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vcvtq_f32_s32 (int32x4_t __a) { return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vcvtq_f32_u32 (uint32x4_t __a) { return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcvtq_u32_f32 (float32x4_t __a) { return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vcvt_n_s32_f32 (float32x2_t __a, const int __b) { return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vcvt_n_f32_s32 (int32x2_t __a, const int __b) { return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vcvt_n_f32_u32 (uint32x2_t __a, const int __b) { return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vcvt_n_u32_f32 (float32x2_t __a, const int __b) { return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vcvtq_n_s32_f32 (float32x4_t __a, const int __b) { return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vcvtq_n_f32_s32 (int32x4_t __a, const int __b) { return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vcvtq_n_f32_u32 (uint32x4_t __a, const int __b) { return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vcvtq_n_u32_f32 (float32x4_t __a, const int __b) { return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vmovn_s16 (int16x8_t __a) { return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmovn_s32 (int32x4_t __a) { return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmovn_s64 (int64x2_t __a) { return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vmovn_u16 (uint16x8_t __a) { return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmovn_u32 (uint32x4_t __a) { return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmovn_u64 (uint64x2_t __a) { return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vqmovn_s16 (int16x8_t __a) { return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqmovn_s32 (int32x4_t __a) { return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqmovn_s64 (int64x2_t __a) { return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqmovn_u16 (uint16x8_t __a) { return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqmovn_u32 (uint32x4_t __a) { return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqmovn_u64 (uint64x2_t __a) { return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vqmovun_s16 (int16x8_t __a) { return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vqmovun_s32 (int32x4_t __a) { return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vqmovun_s64 (int64x2_t __a) { return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmovl_s8 (int8x8_t __a) { return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmovl_s16 (int16x4_t __a) { return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmovl_s32 (int32x2_t __a) { return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmovl_u8 (uint8x8_t __a) { return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmovl_u16 (uint16x4_t __a) { return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmovl_u32 (uint32x2_t __a) { return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbl1_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbl1_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbl1_p8 (poly8x8_t __a, uint8x8_t __b) { return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbl2_s8 (int8x8x2_t __a, int8x8_t __b) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbl3_s8 (int8x8x3_t __a, int8x8_t __b) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbl4_s8 (int8x8x4_t __a, int8x8_t __b) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) { return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) { return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c) { return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) { return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) { return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c) { return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d) { return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) { return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) { return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d) { return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d) { return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d) { return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d) { return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d) { return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) { return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) { return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d) { return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) { return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) { return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d) { return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d) { return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d) { return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d) { return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d) { return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) { return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) { return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) { return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) { return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) { return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) { return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) { return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) { return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmul_n_s16 (int16x4_t __a, int16_t __b) { return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmul_n_s32 (int32x2_t __a, int32_t __b) { return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmul_n_f32 (float32x2_t __a, float32_t __b) { return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmul_n_u16 (uint16x4_t __a, uint16_t __b) { return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmul_n_u32 (uint32x2_t __a, uint32_t __b) { return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmulq_n_s16 (int16x8_t __a, int16_t __b) { return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmulq_n_s32 (int32x4_t __a, int32_t __b) { return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmulq_n_f32 (float32x4_t __a, float32_t __b) { return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmulq_n_u16 (uint16x8_t __a, uint16_t __b) { return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmulq_n_u32 (uint32x4_t __a, uint32_t __b) { return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmull_n_s16 (int16x4_t __a, int16_t __b) { return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmull_n_s32 (int32x2_t __a, int32_t __b) { return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmull_n_u16 (uint16x4_t __a, uint16_t __b) { return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmull_n_u32 (uint32x2_t __a, uint32_t __b) { return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmull_n_s16 (int16x4_t __a, int16_t __b) { return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmull_n_s32 (int32x2_t __a, int32_t __b) { return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqdmulhq_n_s16 (int16x8_t __a, int16_t __b) { return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmulhq_n_s32 (int32x4_t __a, int32_t __b) { return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqdmulh_n_s16 (int16x4_t __a, int16_t __b) { return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqdmulh_n_s32 (int32x2_t __a, int32_t __b) { return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b) { return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b) { return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vqrdmulh_n_s16 (int16x4_t __a, int16_t __b) { return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vqrdmulh_n_s32 (int32x2_t __a, int32_t __b) { return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c) { return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c) { return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) { return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c) { return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c) { return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c) { return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c) { return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) { return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c) { return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c) { return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) { return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) { return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c) { return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c) { return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) { return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) { return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c) { return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c) { return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) { return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c) { return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c) { return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c) { return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c) { return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) { return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c) { return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c) { return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) { return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) { return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c) { return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c) { return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) { return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) { return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vext_s8 (int8x8_t __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vext_s16 (int16x4_t __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vext_s32 (int32x2_t __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vext_s64 (int64x1_t __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vext_f32 (float32x2_t __a, float32x2_t __b, const int __c) { return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) { return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) { return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c) { return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) { return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) { return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrev64_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vrev64v8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrev64_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vrev64v4hi (__a, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vrev64_s32 (int32x2_t __a) { return (int32x2_t)__builtin_neon_vrev64v2si (__a, 1); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vrev64_f32 (float32x2_t __a) { return (float32x2_t)__builtin_neon_vrev64v2sf (__a, 3); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrev64_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vrev64v8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrev64_u16 (uint16x4_t __a) { return (uint16x4_t)__builtin_neon_vrev64v4hi ((int16x4_t) __a, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vrev64_u32 (uint32x2_t __a) { return (uint32x2_t)__builtin_neon_vrev64v2si ((int32x2_t) __a, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vrev64_p8 (poly8x8_t __a) { return (poly8x8_t)__builtin_neon_vrev64v8qi ((int8x8_t) __a, 2); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vrev64_p16 (poly16x4_t __a) { return (poly16x4_t)__builtin_neon_vrev64v4hi ((int16x4_t) __a, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrev64q_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vrev64v16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrev64q_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vrev64v8hi (__a, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vrev64q_s32 (int32x4_t __a) { return (int32x4_t)__builtin_neon_vrev64v4si (__a, 1); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vrev64q_f32 (float32x4_t __a) { return (float32x4_t)__builtin_neon_vrev64v4sf (__a, 3); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrev64q_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vrev64v16qi ((int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrev64q_u16 (uint16x8_t __a) { return (uint16x8_t)__builtin_neon_vrev64v8hi ((int16x8_t) __a, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vrev64q_u32 (uint32x4_t __a) { return (uint32x4_t)__builtin_neon_vrev64v4si ((int32x4_t) __a, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vrev64q_p8 (poly8x16_t __a) { return (poly8x16_t)__builtin_neon_vrev64v16qi ((int8x16_t) __a, 2); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vrev64q_p16 (poly16x8_t __a) { return (poly16x8_t)__builtin_neon_vrev64v8hi ((int16x8_t) __a, 2); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrev32_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vrev32v8qi (__a, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vrev32_s16 (int16x4_t __a) { return (int16x4_t)__builtin_neon_vrev32v4hi (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrev32_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vrev32v8qi ((int8x8_t) __a, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vrev32_u16 (uint16x4_t __a) { return (uint16x4_t)__builtin_neon_vrev32v4hi ((int16x4_t) __a, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vrev32_p8 (poly8x8_t __a) { return (poly8x8_t)__builtin_neon_vrev32v8qi ((int8x8_t) __a, 2); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vrev32_p16 (poly16x4_t __a) { return (poly16x4_t)__builtin_neon_vrev32v4hi ((int16x4_t) __a, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrev32q_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vrev32v16qi (__a, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vrev32q_s16 (int16x8_t __a) { return (int16x8_t)__builtin_neon_vrev32v8hi (__a, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrev32q_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vrev32v16qi ((int8x16_t) __a, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vrev32q_u16 (uint16x8_t __a) { return (uint16x8_t)__builtin_neon_vrev32v8hi ((int16x8_t) __a, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vrev32q_p8 (poly8x16_t __a) { return (poly8x16_t)__builtin_neon_vrev32v16qi ((int8x16_t) __a, 2); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vrev32q_p16 (poly16x8_t __a) { return (poly16x8_t)__builtin_neon_vrev32v8hi ((int16x8_t) __a, 2); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vrev16_s8 (int8x8_t __a) { return (int8x8_t)__builtin_neon_vrev16v8qi (__a, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vrev16_u8 (uint8x8_t __a) { return (uint8x8_t)__builtin_neon_vrev16v8qi ((int8x8_t) __a, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vrev16_p8 (poly8x8_t __a) { return (poly8x8_t)__builtin_neon_vrev16v8qi ((int8x8_t) __a, 2); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vrev16q_s8 (int8x16_t __a) { return (int8x16_t)__builtin_neon_vrev16v16qi (__a, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vrev16q_u8 (uint8x16_t __a) { return (uint8x16_t)__builtin_neon_vrev16v16qi ((int8x16_t) __a, 0); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vrev16q_p8 (poly8x16_t __a) { return (poly8x16_t)__builtin_neon_vrev16v16qi ((int8x16_t) __a, 2); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c) { return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c) { return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c) { return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c) { return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c) { return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) { return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) { return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) { return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c) { return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c) { return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c) { return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c) { return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c) { return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) { return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) { return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) { return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c); } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vtrn_s8 (int8x8_t __a, int8x8_t __b) { int8x8x2_t __rv; __builtin_neon_vtrnv8qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vtrn_s16 (int16x4_t __a, int16x4_t __b) { int16x4x2_t __rv; __builtin_neon_vtrnv4hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vtrn_s32 (int32x2_t __a, int32x2_t __b) { int32x2x2_t __rv; __builtin_neon_vtrnv2si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vtrn_f32 (float32x2_t __a, float32x2_t __b) { float32x2x2_t __rv; __builtin_neon_vtrnv2sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vtrn_u8 (uint8x8_t __a, uint8x8_t __b) { uint8x8x2_t __rv; __builtin_neon_vtrnv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vtrn_u16 (uint16x4_t __a, uint16x4_t __b) { uint16x4x2_t __rv; __builtin_neon_vtrnv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vtrn_u32 (uint32x2_t __a, uint32x2_t __b) { uint32x2x2_t __rv; __builtin_neon_vtrnv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b); return __rv; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vtrn_p8 (poly8x8_t __a, poly8x8_t __b) { poly8x8x2_t __rv; __builtin_neon_vtrnv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vtrn_p16 (poly16x4_t __a, poly16x4_t __b) { poly16x4x2_t __rv; __builtin_neon_vtrnv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) vtrnq_s8 (int8x16_t __a, int8x16_t __b) { int8x16x2_t __rv; __builtin_neon_vtrnv16qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) vtrnq_s16 (int16x8_t __a, int16x8_t __b) { int16x8x2_t __rv; __builtin_neon_vtrnv8hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) vtrnq_s32 (int32x4_t __a, int32x4_t __b) { int32x4x2_t __rv; __builtin_neon_vtrnv4si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) vtrnq_f32 (float32x4_t __a, float32x4_t __b) { float32x4x2_t __rv; __builtin_neon_vtrnv4sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) vtrnq_u8 (uint8x16_t __a, uint8x16_t __b) { uint8x16x2_t __rv; __builtin_neon_vtrnv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) vtrnq_u16 (uint16x8_t __a, uint16x8_t __b) { uint16x8x2_t __rv; __builtin_neon_vtrnv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) vtrnq_u32 (uint32x4_t __a, uint32x4_t __b) { uint32x4x2_t __rv; __builtin_neon_vtrnv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b); return __rv; } __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) vtrnq_p8 (poly8x16_t __a, poly8x16_t __b) { poly8x16x2_t __rv; __builtin_neon_vtrnv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) vtrnq_p16 (poly16x8_t __a, poly16x8_t __b) { poly16x8x2_t __rv; __builtin_neon_vtrnv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vzip_s8 (int8x8_t __a, int8x8_t __b) { int8x8x2_t __rv; __builtin_neon_vzipv8qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vzip_s16 (int16x4_t __a, int16x4_t __b) { int16x4x2_t __rv; __builtin_neon_vzipv4hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vzip_s32 (int32x2_t __a, int32x2_t __b) { int32x2x2_t __rv; __builtin_neon_vzipv2si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vzip_f32 (float32x2_t __a, float32x2_t __b) { float32x2x2_t __rv; __builtin_neon_vzipv2sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vzip_u8 (uint8x8_t __a, uint8x8_t __b) { uint8x8x2_t __rv; __builtin_neon_vzipv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vzip_u16 (uint16x4_t __a, uint16x4_t __b) { uint16x4x2_t __rv; __builtin_neon_vzipv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vzip_u32 (uint32x2_t __a, uint32x2_t __b) { uint32x2x2_t __rv; __builtin_neon_vzipv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b); return __rv; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vzip_p8 (poly8x8_t __a, poly8x8_t __b) { poly8x8x2_t __rv; __builtin_neon_vzipv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vzip_p16 (poly16x4_t __a, poly16x4_t __b) { poly16x4x2_t __rv; __builtin_neon_vzipv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) vzipq_s8 (int8x16_t __a, int8x16_t __b) { int8x16x2_t __rv; __builtin_neon_vzipv16qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) vzipq_s16 (int16x8_t __a, int16x8_t __b) { int16x8x2_t __rv; __builtin_neon_vzipv8hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) vzipq_s32 (int32x4_t __a, int32x4_t __b) { int32x4x2_t __rv; __builtin_neon_vzipv4si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) vzipq_f32 (float32x4_t __a, float32x4_t __b) { float32x4x2_t __rv; __builtin_neon_vzipv4sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) vzipq_u8 (uint8x16_t __a, uint8x16_t __b) { uint8x16x2_t __rv; __builtin_neon_vzipv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) vzipq_u16 (uint16x8_t __a, uint16x8_t __b) { uint16x8x2_t __rv; __builtin_neon_vzipv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) vzipq_u32 (uint32x4_t __a, uint32x4_t __b) { uint32x4x2_t __rv; __builtin_neon_vzipv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b); return __rv; } __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) vzipq_p8 (poly8x16_t __a, poly8x16_t __b) { poly8x16x2_t __rv; __builtin_neon_vzipv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) vzipq_p16 (poly16x8_t __a, poly16x8_t __b) { poly16x8x2_t __rv; __builtin_neon_vzipv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vuzp_s8 (int8x8_t __a, int8x8_t __b) { int8x8x2_t __rv; __builtin_neon_vuzpv8qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vuzp_s16 (int16x4_t __a, int16x4_t __b) { int16x4x2_t __rv; __builtin_neon_vuzpv4hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vuzp_s32 (int32x2_t __a, int32x2_t __b) { int32x2x2_t __rv; __builtin_neon_vuzpv2si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vuzp_f32 (float32x2_t __a, float32x2_t __b) { float32x2x2_t __rv; __builtin_neon_vuzpv2sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vuzp_u8 (uint8x8_t __a, uint8x8_t __b) { uint8x8x2_t __rv; __builtin_neon_vuzpv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vuzp_u16 (uint16x4_t __a, uint16x4_t __b) { uint16x4x2_t __rv; __builtin_neon_vuzpv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vuzp_u32 (uint32x2_t __a, uint32x2_t __b) { uint32x2x2_t __rv; __builtin_neon_vuzpv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b); return __rv; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vuzp_p8 (poly8x8_t __a, poly8x8_t __b) { poly8x8x2_t __rv; __builtin_neon_vuzpv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b); return __rv; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vuzp_p16 (poly16x4_t __a, poly16x4_t __b) { poly16x4x2_t __rv; __builtin_neon_vuzpv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b); return __rv; } __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) vuzpq_s8 (int8x16_t __a, int8x16_t __b) { int8x16x2_t __rv; __builtin_neon_vuzpv16qi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) vuzpq_s16 (int16x8_t __a, int16x8_t __b) { int16x8x2_t __rv; __builtin_neon_vuzpv8hi (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) vuzpq_s32 (int32x4_t __a, int32x4_t __b) { int32x4x2_t __rv; __builtin_neon_vuzpv4si (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) vuzpq_f32 (float32x4_t __a, float32x4_t __b) { float32x4x2_t __rv; __builtin_neon_vuzpv4sf (&__rv.val[0], __a, __b); return __rv; } __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) vuzpq_u8 (uint8x16_t __a, uint8x16_t __b) { uint8x16x2_t __rv; __builtin_neon_vuzpv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) vuzpq_u16 (uint16x8_t __a, uint16x8_t __b) { uint16x8x2_t __rv; __builtin_neon_vuzpv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) vuzpq_u32 (uint32x4_t __a, uint32x4_t __b) { uint32x4x2_t __rv; __builtin_neon_vuzpv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b); return __rv; } __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) vuzpq_p8 (poly8x16_t __a, poly8x16_t __b) { poly8x16x2_t __rv; __builtin_neon_vuzpv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b); return __rv; } __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) vuzpq_p16 (poly16x8_t __a, poly16x8_t __b) { poly16x8x2_t __rv; __builtin_neon_vuzpv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b); return __rv; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vld1_s8 (const int8_t * __a) { return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vld1_s16 (const int16_t * __a) { return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vld1_s32 (const int32_t * __a) { return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vld1_s64 (const int64_t * __a) { return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vld1_f32 (const float32_t * __a) { return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vld1_u8 (const uint8_t * __a) { return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vld1_u16 (const uint16_t * __a) { return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vld1_u32 (const uint32_t * __a) { return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vld1_u64 (const uint64_t * __a) { return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vld1_p8 (const poly8_t * __a) { return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vld1_p16 (const poly16_t * __a) { return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vld1q_s8 (const int8_t * __a) { return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vld1q_s16 (const int16_t * __a) { return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vld1q_s32 (const int32_t * __a) { return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vld1q_s64 (const int64_t * __a) { return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vld1q_f32 (const float32_t * __a) { return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vld1q_u8 (const uint8_t * __a) { return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vld1q_u16 (const uint16_t * __a) { return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vld1q_u32 (const uint32_t * __a) { return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vld1q_u64 (const uint64_t * __a) { return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vld1q_p8 (const poly8_t * __a) { return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vld1q_p16 (const poly16_t * __a) { return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c) { return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c) { return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c) { return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c) { return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c) { return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c) { return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c) { return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c) { return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c) { return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c) { return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c) { return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c) { return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c) { return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c) { return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c) { return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c) { return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c) { return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c) { return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c) { return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c) { return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c) { return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c) { return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vld1_dup_s8 (const int8_t * __a) { return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vld1_dup_s16 (const int16_t * __a) { return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vld1_dup_s32 (const int32_t * __a) { return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vld1_dup_f32 (const float32_t * __a) { return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vld1_dup_u8 (const uint8_t * __a) { return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vld1_dup_u16 (const uint16_t * __a) { return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vld1_dup_u32 (const uint32_t * __a) { return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vld1_dup_p8 (const poly8_t * __a) { return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vld1_dup_p16 (const poly16_t * __a) { return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vld1_dup_s64 (const int64_t * __a) { return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vld1_dup_u64 (const uint64_t * __a) { return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vld1q_dup_s8 (const int8_t * __a) { return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vld1q_dup_s16 (const int16_t * __a) { return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vld1q_dup_s32 (const int32_t * __a) { return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vld1q_dup_f32 (const float32_t * __a) { return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vld1q_dup_u8 (const uint8_t * __a) { return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vld1q_dup_u16 (const uint16_t * __a) { return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vld1q_dup_u32 (const uint32_t * __a) { return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vld1q_dup_p8 (const poly8_t * __a) { return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vld1q_dup_p16 (const poly16_t * __a) { return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vld1q_dup_s64 (const int64_t * __a) { return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vld1q_dup_u64 (const uint64_t * __a) { return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_s8 (int8_t * __a, int8x8_t __b) { __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_s16 (int16_t * __a, int16x4_t __b) { __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_s32 (int32_t * __a, int32x2_t __b) { __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_s64 (int64_t * __a, int64x1_t __b) { __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_f32 (float32_t * __a, float32x2_t __b) { __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_u8 (uint8_t * __a, uint8x8_t __b) { __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_u16 (uint16_t * __a, uint16x4_t __b) { __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_u32 (uint32_t * __a, uint32x2_t __b) { __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_u64 (uint64_t * __a, uint64x1_t __b) { __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_p8 (poly8_t * __a, poly8x8_t __b) { __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_p16 (poly16_t * __a, poly16x4_t __b) { __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_s8 (int8_t * __a, int8x16_t __b) { __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_s16 (int16_t * __a, int16x8_t __b) { __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_s32 (int32_t * __a, int32x4_t __b) { __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_s64 (int64_t * __a, int64x2_t __b) { __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_f32 (float32_t * __a, float32x4_t __b) { __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_u8 (uint8_t * __a, uint8x16_t __b) { __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_u16 (uint16_t * __a, uint16x8_t __b) { __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_u32 (uint32_t * __a, uint32x4_t __b) { __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_u64 (uint64_t * __a, uint64x2_t __b) { __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_p8 (poly8_t * __a, poly8x16_t __b) { __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_p16 (poly16_t * __a, poly16x8_t __b) { __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c) { __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c) { __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c) { __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c) { __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c) { __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c) { __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c) { __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c) { __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c) { __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c) { __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c) { __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c) { __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c) { __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c) { __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c) { __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c) { __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c) { __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c) { __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c) { __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c) { __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c) { __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c) { __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c); } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vld2_s8 (const int8_t * __a) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vld2_s16 (const int16_t * __a) { union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vld2_s32 (const int32_t * __a) { union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vld2_f32 (const float32_t * __a) { union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vld2_u8 (const uint8_t * __a) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vld2_u16 (const uint16_t * __a) { union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vld2_u32 (const uint32_t * __a) { union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vld2_p8 (const poly8_t * __a) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vld2_p16 (const poly16_t * __a) { union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__)) vld2_s64 (const int64_t * __a) { union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__)) vld2_u64 (const uint64_t * __a) { union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) vld2q_s8 (const int8_t * __a) { union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) vld2q_s16 (const int16_t * __a) { union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) vld2q_s32 (const int32_t * __a) { union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) vld2q_f32 (const float32_t * __a) { union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) vld2q_u8 (const uint8_t * __a) { union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) vld2q_u16 (const uint16_t * __a) { union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) vld2q_u32 (const uint32_t * __a) { union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) vld2q_p8 (const poly8_t * __a) { union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) vld2q_p16 (const poly16_t * __a) { union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c) { union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c) { union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c) { union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c) { union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c) { union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c) { union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c) { union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c) { union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c) { union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c) { union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c) { union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c) { union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) vld2_dup_s8 (const int8_t * __a) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) vld2_dup_s16 (const int16_t * __a) { union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) vld2_dup_s32 (const int32_t * __a) { union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) vld2_dup_f32 (const float32_t * __a) { union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) vld2_dup_u8 (const uint8_t * __a) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) vld2_dup_u16 (const uint16_t * __a) { union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) vld2_dup_u32 (const uint32_t * __a) { union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) vld2_dup_p8 (const poly8_t * __a) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) vld2_dup_p16 (const poly16_t * __a) { union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__)) vld2_dup_s64 (const int64_t * __a) { union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__)) vld2_dup_u64 (const uint64_t * __a) { union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv; __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_s8 (int8_t * __a, int8x8x2_t __b) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_s16 (int16_t * __a, int16x4x2_t __b) { union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_s32 (int32_t * __a, int32x2x2_t __b) { union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_f32 (float32_t * __a, float32x2x2_t __b) { union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_u8 (uint8_t * __a, uint8x8x2_t __b) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_u16 (uint16_t * __a, uint16x4x2_t __b) { union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_u32 (uint32_t * __a, uint32x2x2_t __b) { union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_p8 (poly8_t * __a, poly8x8x2_t __b) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_p16 (poly16_t * __a, poly16x4x2_t __b) { union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_s64 (int64_t * __a, int64x1x2_t __b) { union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_u64 (uint64_t * __a, uint64x1x2_t __b) { union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_s8 (int8_t * __a, int8x16x2_t __b) { union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_s16 (int16_t * __a, int16x8x2_t __b) { union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_s32 (int32_t * __a, int32x4x2_t __b) { union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_f32 (float32_t * __a, float32x4x2_t __b) { union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_u8 (uint8_t * __a, uint8x16x2_t __b) { union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_u16 (uint16_t * __a, uint16x8x2_t __b) { union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_u32 (uint32_t * __a, uint32x4x2_t __b) { union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_p8 (poly8_t * __a, poly8x16x2_t __b) { union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_p16 (poly16_t * __a, poly16x8x2_t __b) { union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c) { union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c) { union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c) { union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c) { union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c) { union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c) { union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c) { union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c) { union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c) { union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c) { union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c) { union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c) { union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c) { union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c) { union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c) { union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) vld3_s8 (const int8_t * __a) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) vld3_s16 (const int16_t * __a) { union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) vld3_s32 (const int32_t * __a) { union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) vld3_f32 (const float32_t * __a) { union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) vld3_u8 (const uint8_t * __a) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) vld3_u16 (const uint16_t * __a) { union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) vld3_u32 (const uint32_t * __a) { union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) vld3_p8 (const poly8_t * __a) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) vld3_p16 (const poly16_t * __a) { union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__)) vld3_s64 (const int64_t * __a) { union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__)) vld3_u64 (const uint64_t * __a) { union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__)) vld3q_s8 (const int8_t * __a) { union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__)) vld3q_s16 (const int16_t * __a) { union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__)) vld3q_s32 (const int32_t * __a) { union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__)) vld3q_f32 (const float32_t * __a) { union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__)) vld3q_u8 (const uint8_t * __a) { union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__)) vld3q_u16 (const uint16_t * __a) { union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__)) vld3q_u32 (const uint32_t * __a) { union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__)) vld3q_p8 (const poly8_t * __a) { union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__)) vld3q_p16 (const poly16_t * __a) { union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c) { union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c) { union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c) { union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c) { union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c) { union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c) { union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__)) vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c) { union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__)) vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c) { union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__)) vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c) { union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__)) vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c) { union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__)) vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c) { union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__)) vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c) { union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv; __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) vld3_dup_s8 (const int8_t * __a) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) vld3_dup_s16 (const int16_t * __a) { union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) vld3_dup_s32 (const int32_t * __a) { union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) vld3_dup_f32 (const float32_t * __a) { union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) vld3_dup_u8 (const uint8_t * __a) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) vld3_dup_u16 (const uint16_t * __a) { union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) vld3_dup_u32 (const uint32_t * __a) { union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) vld3_dup_p8 (const poly8_t * __a) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) vld3_dup_p16 (const poly16_t * __a) { union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__)) vld3_dup_s64 (const int64_t * __a) { union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__)) vld3_dup_u64 (const uint64_t * __a) { union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv; __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_s8 (int8_t * __a, int8x8x3_t __b) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_s16 (int16_t * __a, int16x4x3_t __b) { union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_s32 (int32_t * __a, int32x2x3_t __b) { union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_f32 (float32_t * __a, float32x2x3_t __b) { union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_u8 (uint8_t * __a, uint8x8x3_t __b) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_u16 (uint16_t * __a, uint16x4x3_t __b) { union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_u32 (uint32_t * __a, uint32x2x3_t __b) { union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_p8 (poly8_t * __a, poly8x8x3_t __b) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_p16 (poly16_t * __a, poly16x4x3_t __b) { union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_s64 (int64_t * __a, int64x1x3_t __b) { union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_u64 (uint64_t * __a, uint64x1x3_t __b) { union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_s8 (int8_t * __a, int8x16x3_t __b) { union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_s16 (int16_t * __a, int16x8x3_t __b) { union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_s32 (int32_t * __a, int32x4x3_t __b) { union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_f32 (float32_t * __a, float32x4x3_t __b) { union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_u8 (uint8_t * __a, uint8x16x3_t __b) { union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_u16 (uint16_t * __a, uint16x8x3_t __b) { union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_u32 (uint32_t * __a, uint32x4x3_t __b) { union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_p8 (poly8_t * __a, poly8x16x3_t __b) { union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_p16 (poly16_t * __a, poly16x8x3_t __b) { union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c) { union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c) { union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c) { union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c) { union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c) { union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c) { union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c) { union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c) { union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c) { union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c) { union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c) { union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c) { union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c) { union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c) { union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c) { union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) vld4_s8 (const int8_t * __a) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) vld4_s16 (const int16_t * __a) { union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) vld4_s32 (const int32_t * __a) { union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) vld4_f32 (const float32_t * __a) { union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) vld4_u8 (const uint8_t * __a) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) vld4_u16 (const uint16_t * __a) { union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) vld4_u32 (const uint32_t * __a) { union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) vld4_p8 (const poly8_t * __a) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) vld4_p16 (const poly16_t * __a) { union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__)) vld4_s64 (const int64_t * __a) { union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__)) vld4_u64 (const uint64_t * __a) { union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__)) vld4q_s8 (const int8_t * __a) { union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__)) vld4q_s16 (const int16_t * __a) { union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__)) vld4q_s32 (const int32_t * __a) { union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__)) vld4q_f32 (const float32_t * __a) { union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__)) vld4q_u8 (const uint8_t * __a) { union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__)) vld4q_u16 (const uint16_t * __a) { union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__)) vld4q_u32 (const uint32_t * __a) { union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__)) vld4q_p8 (const poly8_t * __a) { union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__)) vld4q_p16 (const poly16_t * __a) { union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c) { union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c) { union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c) { union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c) { union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c) { union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c) { union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__)) vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c) { union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__)) vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c) { union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__)) vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c) { union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__)) vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c) { union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__)) vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c) { union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__)) vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c) { union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv; __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); return __rv.__i; } __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) vld4_dup_s8 (const int8_t * __a) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) vld4_dup_s16 (const int16_t * __a) { union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) vld4_dup_s32 (const int32_t * __a) { union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) vld4_dup_f32 (const float32_t * __a) { union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a); return __rv.__i; } __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) vld4_dup_u8 (const uint8_t * __a) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) vld4_dup_u16 (const uint16_t * __a) { union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) vld4_dup_u32 (const uint32_t * __a) { union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a); return __rv.__i; } __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) vld4_dup_p8 (const poly8_t * __a) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); return __rv.__i; } __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) vld4_dup_p16 (const poly16_t * __a) { union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); return __rv.__i; } __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__)) vld4_dup_s64 (const int64_t * __a) { union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__)) vld4_dup_u64 (const uint64_t * __a) { union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv; __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a); return __rv.__i; } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_s8 (int8_t * __a, int8x8x4_t __b) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_s16 (int16_t * __a, int16x4x4_t __b) { union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_s32 (int32_t * __a, int32x2x4_t __b) { union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_f32 (float32_t * __a, float32x2x4_t __b) { union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_u8 (uint8_t * __a, uint8x8x4_t __b) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_u16 (uint16_t * __a, uint16x4x4_t __b) { union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_u32 (uint32_t * __a, uint32x2x4_t __b) { union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_p8 (poly8_t * __a, poly8x8x4_t __b) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_p16 (poly16_t * __a, poly16x4x4_t __b) { union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_s64 (int64_t * __a, int64x1x4_t __b) { union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_u64 (uint64_t * __a, uint64x1x4_t __b) { union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_s8 (int8_t * __a, int8x16x4_t __b) { union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_s16 (int16_t * __a, int16x8x4_t __b) { union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_s32 (int32_t * __a, int32x4x4_t __b) { union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_f32 (float32_t * __a, float32x4x4_t __b) { union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_u8 (uint8_t * __a, uint8x16x4_t __b) { union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_u16 (uint16_t * __a, uint16x8x4_t __b) { union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_u32 (uint32_t * __a, uint32x4x4_t __b) { union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_p8 (poly8_t * __a, poly8x16x4_t __b) { union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_p16 (poly16_t * __a, poly16x8x4_t __b) { union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c) { union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c) { union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c) { union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c) { union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c) { union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c) { union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c) { union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c) { union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c) { union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c) { union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c) { union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c) { union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c) { union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c) { union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); } __extension__ static __inline void __attribute__ ((__always_inline__)) vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c) { union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vand_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vand_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vand_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vand_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vand_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vand_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vand_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vand_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vandq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vandq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vandq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vandq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vandq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vandq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vandq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vandq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vorr_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vorr_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vorr_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vorr_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vorr_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vorr_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vorr_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vorr_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vorrq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vorrq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vorrq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vorrq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vorrq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vorrq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vorrq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vorrq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) veor_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) veor_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) veor_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) veor_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) veor_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) veor_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) veor_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_veordi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) veor_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) veorq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) veorq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) veorq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) veorq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) veorq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) veorq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) veorq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) veorq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vbic_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vbic_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vbic_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vbic_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vbic_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vbic_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vbic_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vbic_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vbicq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vbicq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vbicq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vbicq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vbicq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vbicq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vbicq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vbicq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vorn_s8 (int8x8_t __a, int8x8_t __b) { return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vorn_s16 (int16x4_t __a, int16x4_t __b) { return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vorn_s32 (int32x2_t __a, int32x2_t __b) { return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vorn_u8 (uint8x8_t __a, uint8x8_t __b) { return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vorn_u16 (uint16x4_t __a, uint16x4_t __b) { return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vorn_u32 (uint32x2_t __a, uint32x2_t __b) { return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vorn_s64 (int64x1_t __a, int64x1_t __b) { return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vorn_u64 (uint64x1_t __a, uint64x1_t __b) { return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vornq_s8 (int8x16_t __a, int8x16_t __b) { return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vornq_s16 (int16x8_t __a, int16x8_t __b) { return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vornq_s32 (int32x4_t __a, int32x4_t __b) { return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vornq_s64 (int64x2_t __a, int64x2_t __b) { return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vornq_u8 (uint8x16_t __a, uint8x16_t __b) { return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vornq_u16 (uint16x8_t __a, uint16x8_t __b) { return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vornq_u32 (uint32x4_t __a, uint32x4_t __b) { return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vornq_u64 (uint64x2_t __a, uint64x2_t __b) { return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s8 (int8x8_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s16 (int16x4_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s32 (int32x2_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s64 (int64x1_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_f32 (float32x2_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u8 (uint8x8_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u16 (uint16x4_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u32 (uint32x2_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u64 (uint64x1_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_p16 (poly16x4_t __a) { return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s8 (int8x16_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s16 (int16x8_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s32 (int32x4_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s64 (int64x2_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_f32 (float32x4_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u8 (uint8x16_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u16 (uint16x8_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u32 (uint32x4_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u64 (uint64x2_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_p16 (poly16x8_t __a) { return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s8 (int8x8_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s16 (int16x4_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s32 (int32x2_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s64 (int64x1_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_f32 (float32x2_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u8 (uint8x8_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u16 (uint16x4_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u32 (uint32x2_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u64 (uint64x1_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_p8 (poly8x8_t __a) { return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s8 (int8x16_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s16 (int16x8_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s32 (int32x4_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s64 (int64x2_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_f32 (float32x4_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u8 (uint8x16_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u16 (uint16x8_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u32 (uint32x4_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u64 (uint64x2_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_p8 (poly8x16_t __a) { return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s8 (int8x8_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s16 (int16x4_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s32 (int32x2_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s64 (int64x1_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u8 (uint8x8_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u16 (uint16x4_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u32 (uint32x2_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u64 (uint64x1_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_p8 (poly8x8_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_p16 (poly16x4_t __a) { return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s8 (int8x16_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s16 (int16x8_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s32 (int32x4_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s64 (int64x2_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u8 (uint8x16_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u16 (uint16x8_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u32 (uint32x4_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u64 (uint64x2_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_p8 (poly8x16_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a); } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_p16 (poly16x8_t __a) { return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s8 (int8x8_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s16 (int16x4_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s32 (int32x2_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_f32 (float32x2_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u8 (uint8x8_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u16 (uint16x4_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u32 (uint32x2_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u64 (uint64x1_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_p8 (poly8x8_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_p16 (poly16x4_t __a) { return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s8 (int8x16_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s16 (int16x8_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s32 (int32x4_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_f32 (float32x4_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u8 (uint8x16_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u16 (uint16x8_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u32 (uint32x4_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u64 (uint64x2_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_p8 (poly8x16_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_p16 (poly16x8_t __a) { return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s8 (int8x8_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s16 (int16x4_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s32 (int32x2_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s64 (int64x1_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_f32 (float32x2_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_u8 (uint8x8_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_u16 (uint16x4_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_u32 (uint32x2_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_p8 (poly8x8_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_p16 (poly16x4_t __a) { return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s8 (int8x16_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s16 (int16x8_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s32 (int32x4_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s64 (int64x2_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_f32 (float32x4_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_u8 (uint8x16_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_u16 (uint16x8_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_u32 (uint32x4_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_p8 (poly8x16_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_p16 (poly16x8_t __a) { return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s16 (int16x4_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s32 (int32x2_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s64 (int64x1_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_f32 (float32x2_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u8 (uint8x8_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u16 (uint16x4_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u32 (uint32x2_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u64 (uint64x1_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_p8 (poly8x8_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_p16 (poly16x4_t __a) { return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s16 (int16x8_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s32 (int32x4_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s64 (int64x2_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_f32 (float32x4_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u8 (uint8x16_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u16 (uint16x8_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u32 (uint32x4_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u64 (uint64x2_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_p8 (poly8x16_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_p16 (poly16x8_t __a) { return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s8 (int8x8_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s32 (int32x2_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s64 (int64x1_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_f32 (float32x2_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u8 (uint8x8_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u16 (uint16x4_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u32 (uint32x2_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u64 (uint64x1_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_p8 (poly8x8_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_p16 (poly16x4_t __a) { return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s8 (int8x16_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s32 (int32x4_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s64 (int64x2_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_f32 (float32x4_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u8 (uint8x16_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u16 (uint16x8_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u32 (uint32x4_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u64 (uint64x2_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_p8 (poly8x16_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_p16 (poly16x8_t __a) { return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s8 (int8x8_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s16 (int16x4_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s64 (int64x1_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_f32 (float32x2_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u8 (uint8x8_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u16 (uint16x4_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u32 (uint32x2_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u64 (uint64x1_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_p8 (poly8x8_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_p16 (poly16x4_t __a) { return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s8 (int8x16_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s16 (int16x8_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s64 (int64x2_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_f32 (float32x4_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u8 (uint8x16_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u16 (uint16x8_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u32 (uint32x4_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u64 (uint64x2_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_p8 (poly8x16_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_p16 (poly16x8_t __a) { return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s8 (int8x8_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s16 (int16x4_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s32 (int32x2_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s64 (int64x1_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_f32 (float32x2_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_u16 (uint16x4_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_u32 (uint32x2_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_u64 (uint64x1_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_p8 (poly8x8_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_p16 (poly16x4_t __a) { return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s8 (int8x16_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s16 (int16x8_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s32 (int32x4_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s64 (int64x2_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_f32 (float32x4_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_u16 (uint16x8_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_u32 (uint32x4_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_u64 (uint64x2_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_p8 (poly8x16_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_p16 (poly16x8_t __a) { return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s8 (int8x8_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s16 (int16x4_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s32 (int32x2_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s64 (int64x1_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_f32 (float32x2_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_u8 (uint8x8_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_u32 (uint32x2_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_u64 (uint64x1_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_p8 (poly8x8_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_p16 (poly16x4_t __a) { return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s8 (int8x16_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s16 (int16x8_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s32 (int32x4_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s64 (int64x2_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_f32 (float32x4_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_u8 (uint8x16_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_u32 (uint32x4_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_u64 (uint64x2_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_p8 (poly8x16_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_p16 (poly16x8_t __a) { return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s8 (int8x8_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s16 (int16x4_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s32 (int32x2_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s64 (int64x1_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_f32 (float32x2_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_u8 (uint8x8_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_u16 (uint16x4_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_u64 (uint64x1_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_p8 (poly8x8_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_p16 (poly16x4_t __a) { return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s8 (int8x16_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s16 (int16x8_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s32 (int32x4_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s64 (int64x2_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_f32 (float32x4_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_u8 (uint8x16_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_u16 (uint16x8_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_u64 (uint64x2_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_p8 (poly8x16_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_p16 (poly16x8_t __a) { return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); } # 19 "jsimd_arm.c" 2 # 1 "../jinclude.h" 1 # 20 "../jinclude.h" # 1 "../jconfig.h" 1 # 21 "../jinclude.h" 2 # 35 "../jinclude.h" # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 150 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 3 4 typedef int ptrdiff_t; # 212 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 3 4 typedef unsigned int size_t; # 324 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 3 4 typedef unsigned int wchar_t; # 36 "../jinclude.h" 2 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 1 3 4 # 33 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 34 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/waitflags.h" 1 3 4 # 43 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/waitstatus.h" 1 3 4 # 65 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/waitstatus.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/endian.h" 1 3 4 # 37 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/endian.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/endian.h" 1 3 4 # 38 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/endian.h" 2 3 4 # 61 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/endian.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/byteswap.h" 1 3 4 # 62 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/endian.h" 2 3 4 # 66 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/waitstatus.h" 2 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 2 3 4 # 68 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 96 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 140 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ; extern double atof (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 277 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern __inline double __attribute__ ((__nothrow__)) atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int __attribute__ ((__nothrow__)) atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int __attribute__ ((__nothrow__)) atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline long long int __attribute__ ((__nothrow__)) atoll (__const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 311 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ; extern long int a64l (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 1 3 4 # 28 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/types.h" 1 3 4 # 28 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/wordsize.h" 1 3 4 # 29 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 131 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/typesizes.h" 1 3 4 # 132 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/types.h" 2 3 4 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef __u_quad_t __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 31 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; # 61 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; # 99 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 1 3 4 # 58 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 # 147 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 148 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 201 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 220 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 1 3 4 # 31 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/select.h" 1 3 4 # 32 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/sigset.h" 1 3 4 # 24 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 1 3 4 # 120 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/time.h" 1 3 4 # 75 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 2 3 4 typedef __suseconds_t suseconds_t; typedef long int __fd_mask; # 67 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 3 4 # 109 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 221 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/sysmacros.h" 1 3 4 # 30 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/sysmacros.h" 3 4 __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__)); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__)); __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 224 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 271 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/pthreadtypes.h" 1 3 4 # 38 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; typedef union { char __size[36]; long int __align; } pthread_attr_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; unsigned int __nusers; __extension__ union { int __spins; __pthread_slist_t __list; }; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; long int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; long int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; # 141 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/pthreadtypes.h" 3 4 unsigned char __flags; unsigned char __shared; unsigned char __pad1; unsigned char __pad2; int __writer; } __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 272 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/sys/types.h" 2 3 4 # 321 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 2 3 4 extern long int random (void) __attribute__ ((__nothrow__)); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__)); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int rand (void) __attribute__ ((__nothrow__)); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__)); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__)); extern double drand48 (void) __attribute__ ((__nothrow__)); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int lrand48 (void) __attribute__ ((__nothrow__)); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern long int mrand48 (void) __attribute__ ((__nothrow__)); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void srand48 (long int __seedval) __attribute__ ((__nothrow__)); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__)); extern void cfree (void *__ptr) __attribute__ ((__nothrow__)); # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/alloca.h" 1 3 4 # 25 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/alloca.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 26 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) __attribute__ ((__nothrow__)); # 498 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 531 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 554 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern char *__secure_getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int setenv (__const char *__name, __const char *__value, int __replace) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int clearenv (void) __attribute__ ((__nothrow__)); # 606 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 620 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 642 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 663 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 712 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int system (__const char *__command) ; # 734 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__)) ; typedef int (*__compar_fn_t) (__const void *, __const void *); # 752 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 2, 5))) ; extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); # 771 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ; # 808 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5))); extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ; extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)); extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__)); extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ; # 896 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; # 948 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); # 964 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdlib.h" 3 4 # 40 "../jinclude.h" 2 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 1 3 4 # 30 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 35 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 2 3 4 # 45 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 65 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 75 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 1 3 4 # 32 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/_G_config.h" 1 3 4 # 15 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/_G_config.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 16 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/_G_config.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/wchar.h" 1 3 4 # 83 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/wchar.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 21 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 53 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/_G_config.h" 3 4 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 2 3 4 # 53 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stdarg.h" 1 3 4 # 40 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 2 3 4 # 170 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 180 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 203 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 271 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 319 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 __off64_t _offset; # 328 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 void *__pad1; void *__pad2; void *__pad3; void *__pad4; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 364 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 416 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); # 460 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__)); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__)); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__)); # 490 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__)); # 76 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 109 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; # 161 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/stdio_lim.h" 1 3 4 # 162 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) __attribute__ ((__nothrow__)); extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__)); extern int renameat (int __oldfd, __const char *__old, int __newfd, __const char *__new) __attribute__ ((__nothrow__)); extern FILE *tmpfile (void) ; # 206 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__)) ; extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__)) ; # 224 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ; extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 249 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 263 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) ; extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) ; # 292 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 303 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__)) ; # 316 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) __attribute__ ((__nothrow__)) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__)) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__)); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__)); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__)); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__)); extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); # 414 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) ; extern int scanf (__const char *__restrict __format, ...) ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __attribute__ ((__nothrow__)); # 445 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") ; extern int scanf (__const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") ; extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__)) ; # 465 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 496 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__scanf__, 2, 0))); # 524 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 552 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 563 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 596 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; extern char *gets (char *__s) ; # 658 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) ; # 730 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 766 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 785 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 808 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 817 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__)); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void perror (__const char *__s); # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; # 847 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__)) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__)) ; # 866 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__)); # 906 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__)); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__)) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__)); # 927 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/stdio.h" 1 3 4 # 36 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/stdio.h" 3 4 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } extern __inline int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } # 125 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/stdio.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline int __attribute__ ((__nothrow__)) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 928 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 2 3 4 # 936 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/stdio.h" 3 4 # 47 "../jinclude.h" 2 # 66 "../jinclude.h" # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 1 3 4 # 29 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 # 1 "/opt/x-tools/arm-cortex_a9-linux-gnueabi/lib/gcc/arm-cortex_a9-linux-gnueabi/4.6.1/include/stddef.h" 1 3 4 # 35 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memmove (void *__dest, __const void *__src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 95 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 126 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strcat (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/xlocale.h" 1 3 4 # 28 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; typedef __locale_t locale_t; # 163 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 2 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3))); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))); extern char *strdup (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1))); # 210 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 # 235 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 262 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strrchr (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 281 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 314 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 342 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))); # 397 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern char *strerror (int __errnum) __attribute__ ((__nothrow__)); # 427 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern int strerror_r (int __errnum, char *__buf, size_t __buflen) __asm__ ("" "__xpg_strerror_r") __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))); # 445 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__)); extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern void bcopy (__const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))); extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 489 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *index (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); # 517 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *rindex (__const char *__s, int __c) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); # 536 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); # 559 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) __attribute__ ((__nothrow__)); extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))); # 634 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string.h" 1 3 4 # 635 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 2 3 4 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 1 3 4 # 80 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 typedef struct { unsigned char __arr[2]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR2; typedef struct { unsigned char __arr[3]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR3; typedef struct { unsigned char __arr[4]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR4; typedef struct { unsigned char __arr[5]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR5; typedef struct { unsigned char __arr[6]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR6; typedef struct { unsigned char __arr[7]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR7; typedef struct { unsigned char __arr[8]; } __attribute__ ((__packed__)) __STRING2_COPY_ARR8; # 394 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 969 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1045 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1121 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1172 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } } *__nextp = __s; return __result; } # 1204 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1222 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1303 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 1322 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/bits/string2.h" 3 4 extern char *__strndup (__const char *__string, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)); # 638 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 2 3 4 # 646 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/string.h" 3 4 # 67 "../jinclude.h" 2 # 22 "jsimd_arm.c" 2 # 1 "../jpeglib.h" 1 # 28 "../jpeglib.h" # 1 "../jmorecfg.h" 1 # 60 "../jmorecfg.h" typedef unsigned char JSAMPLE; # 100 "../jmorecfg.h" typedef short JCOEF; # 111 "../jmorecfg.h" typedef unsigned char JOCTET; # 136 "../jmorecfg.h" typedef unsigned char UINT8; # 148 "../jmorecfg.h" typedef unsigned short UINT16; typedef short INT16; typedef long INT32; # 172 "../jmorecfg.h" typedef unsigned int JDIMENSION; # 228 "../jmorecfg.h" typedef int boolean; # 318 "../jmorecfg.h" static const int rgb_red[12] = { -1, -1, 0, -1, -1, -1, 0, 0, 2, 2, 3, 1 }; static const int rgb_green[12] = { -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 2, 2 }; static const int rgb_blue[12] = { -1, -1, 2, -1, -1, -1, 2, 2, 0, 0, 1, 3 }; static const int rgb_pixelsize[12] = { -1, -1, 3, -1, -1, -1, 3, 4, 3, 4, 4, 4 }; # 29 "../jpeglib.h" 2 # 68 "../jpeglib.h" typedef JSAMPLE *JSAMPROW; typedef JSAMPROW *JSAMPARRAY; typedef JSAMPARRAY *JSAMPIMAGE; typedef JCOEF JBLOCK[64]; typedef JBLOCK *JBLOCKROW; typedef JBLOCKROW *JBLOCKARRAY; typedef JBLOCKARRAY *JBLOCKIMAGE; typedef JCOEF *JCOEFPTR; typedef struct { UINT16 quantval[64]; boolean sent_table; } JQUANT_TBL; typedef struct { UINT8 bits[17]; UINT8 huffval[256]; boolean sent_table; } JHUFF_TBL; typedef struct { int component_id; int component_index; int h_samp_factor; int v_samp_factor; int quant_tbl_no; int dc_tbl_no; int ac_tbl_no; # 141 "../jpeglib.h" JDIMENSION width_in_blocks; JDIMENSION height_in_blocks; # 153 "../jpeglib.h" int DCT_scaled_size; JDIMENSION downsampled_width; JDIMENSION downsampled_height; boolean component_needed; int MCU_width; int MCU_height; int MCU_blocks; int MCU_sample_width; int last_col_width; int last_row_height; JQUANT_TBL * quant_table; void * dct_table; } jpeg_component_info; typedef struct { int comps_in_scan; int component_index[4]; int Ss, Se; int Ah, Al; } jpeg_scan_info; typedef struct jpeg_marker_struct * jpeg_saved_marker_ptr; struct jpeg_marker_struct { jpeg_saved_marker_ptr next; UINT8 marker; unsigned int original_length; unsigned int data_length; JOCTET * data; }; typedef enum { JCS_UNKNOWN, JCS_GRAYSCALE, JCS_RGB, JCS_YCbCr, JCS_CMYK, JCS_YCCK, JCS_EXT_RGB, JCS_EXT_RGBX, JCS_EXT_BGR, JCS_EXT_BGRX, JCS_EXT_XBGR, JCS_EXT_XRGB } J_COLOR_SPACE; typedef enum { JDCT_ISLOW, JDCT_IFAST, JDCT_FLOAT, JDCT_IFAST2 } J_DCT_METHOD; # 249 "../jpeglib.h" typedef enum { JDITHER_NONE, JDITHER_ORDERED, JDITHER_FS } J_DITHER_MODE; # 270 "../jpeglib.h" struct jpeg_common_struct { struct jpeg_error_mgr * err; struct jpeg_memory_mgr * mem; struct jpeg_progress_mgr * progress; void * client_data; boolean is_decompressor; int global_state; }; typedef struct jpeg_common_struct * j_common_ptr; typedef struct jpeg_compress_struct * j_compress_ptr; typedef struct jpeg_decompress_struct * j_decompress_ptr; struct jpeg_compress_struct { struct jpeg_error_mgr * err; struct jpeg_memory_mgr * mem; struct jpeg_progress_mgr * progress; void * client_data; boolean is_decompressor; int global_state; struct jpeg_destination_mgr * dest; JDIMENSION image_width; JDIMENSION image_height; int input_components; J_COLOR_SPACE in_color_space; double input_gamma; # 324 "../jpeglib.h" int data_precision; int num_components; J_COLOR_SPACE jpeg_color_space; jpeg_component_info * comp_info; JQUANT_TBL * quant_tbl_ptrs[4]; JHUFF_TBL * dc_huff_tbl_ptrs[4]; JHUFF_TBL * ac_huff_tbl_ptrs[4]; UINT8 arith_dc_L[16]; UINT8 arith_dc_U[16]; UINT8 arith_ac_K[16]; int num_scans; const jpeg_scan_info * scan_info; boolean raw_data_in; boolean arith_code; boolean optimize_coding; boolean CCIR601_sampling; int smoothing_factor; J_DCT_METHOD dct_method; unsigned int restart_interval; int restart_in_rows; boolean write_JFIF_header; UINT8 JFIF_major_version; UINT8 JFIF_minor_version; UINT8 density_unit; UINT16 X_density; UINT16 Y_density; boolean write_Adobe_marker; JDIMENSION next_scanline; # 401 "../jpeglib.h" boolean progressive_mode; int max_h_samp_factor; int max_v_samp_factor; JDIMENSION total_iMCU_rows; # 421 "../jpeglib.h" int comps_in_scan; jpeg_component_info * cur_comp_info[4]; JDIMENSION MCUs_per_row; JDIMENSION MCU_rows_in_scan; int blocks_in_MCU; int MCU_membership[10]; int Ss, Se, Ah, Al; # 444 "../jpeglib.h" struct jpeg_comp_master * master; struct jpeg_c_main_controller * main; struct jpeg_c_prep_controller * prep; struct jpeg_c_coef_controller * coef; struct jpeg_marker_writer * marker; struct jpeg_color_converter * cconvert; struct jpeg_downsampler * downsample; struct jpeg_forward_dct * fdct; struct jpeg_entropy_encoder * entropy; jpeg_scan_info * script_space; int script_space_size; }; struct jpeg_decompress_struct { struct jpeg_error_mgr * err; struct jpeg_memory_mgr * mem; struct jpeg_progress_mgr * progress; void * client_data; boolean is_decompressor; int global_state; struct jpeg_source_mgr * src; JDIMENSION image_width; JDIMENSION image_height; int num_components; J_COLOR_SPACE jpeg_color_space; J_COLOR_SPACE out_color_space; unsigned int scale_num, scale_denom; double output_gamma; boolean buffered_image; boolean raw_data_out; J_DCT_METHOD dct_method; boolean do_fancy_upsampling; boolean do_block_smoothing; boolean quantize_colors; J_DITHER_MODE dither_mode; boolean two_pass_quantize; int desired_number_of_colors; boolean enable_1pass_quant; boolean enable_external_quant; boolean enable_2pass_quant; JDIMENSION output_width; JDIMENSION output_height; int out_color_components; int output_components; int rec_outbuf_height; # 527 "../jpeglib.h" int actual_number_of_colors; JSAMPARRAY colormap; # 538 "../jpeglib.h" JDIMENSION output_scanline; int input_scan_number; JDIMENSION input_iMCU_row; int output_scan_number; JDIMENSION output_iMCU_row; # 560 "../jpeglib.h" int (*coef_bits)[64]; # 571 "../jpeglib.h" JQUANT_TBL * quant_tbl_ptrs[4]; JHUFF_TBL * dc_huff_tbl_ptrs[4]; JHUFF_TBL * ac_huff_tbl_ptrs[4]; int data_precision; jpeg_component_info * comp_info; boolean progressive_mode; boolean arith_code; UINT8 arith_dc_L[16]; UINT8 arith_dc_U[16]; UINT8 arith_ac_K[16]; unsigned int restart_interval; boolean saw_JFIF_marker; UINT8 JFIF_major_version; UINT8 JFIF_minor_version; UINT8 density_unit; UINT16 X_density; UINT16 Y_density; boolean saw_Adobe_marker; UINT8 Adobe_transform; boolean CCIR601_sampling; jpeg_saved_marker_ptr marker_list; # 627 "../jpeglib.h" int max_h_samp_factor; int max_v_samp_factor; int min_DCT_scaled_size; JDIMENSION total_iMCU_rows; # 646 "../jpeglib.h" JSAMPLE * sample_range_limit; int comps_in_scan; jpeg_component_info * cur_comp_info[4]; JDIMENSION MCUs_per_row; JDIMENSION MCU_rows_in_scan; int blocks_in_MCU; int MCU_membership[10]; int Ss, Se, Ah, Al; # 679 "../jpeglib.h" int unread_marker; struct jpeg_decomp_master * master; struct jpeg_d_main_controller * main; struct jpeg_d_coef_controller * coef; struct jpeg_d_post_controller * post; struct jpeg_input_controller * inputctl; struct jpeg_marker_reader * marker; struct jpeg_entropy_decoder * entropy; struct jpeg_inverse_dct * idct; struct jpeg_upsampler * upsample; struct jpeg_color_deconverter * cconvert; struct jpeg_color_quantizer * cquantize; }; # 708 "../jpeglib.h" struct jpeg_error_mgr { void (*error_exit) (j_common_ptr cinfo); void (*emit_message) (j_common_ptr cinfo, int msg_level); void (*output_message) (j_common_ptr cinfo); void (*format_message) (j_common_ptr cinfo, char * buffer); void (*reset_error_mgr) (j_common_ptr cinfo); int msg_code; union { int i[8]; char s[80]; } msg_parm; int trace_level; long num_warnings; # 753 "../jpeglib.h" const char * const * jpeg_message_table; int last_jpeg_message; const char * const * addon_message_table; int first_addon_message; int last_addon_message; }; struct jpeg_progress_mgr { void (*progress_monitor) (j_common_ptr cinfo); long pass_counter; long pass_limit; int completed_passes; int total_passes; }; struct jpeg_destination_mgr { JOCTET * next_output_byte; size_t free_in_buffer; void (*init_destination) (j_compress_ptr cinfo); boolean (*empty_output_buffer) (j_compress_ptr cinfo); void (*term_destination) (j_compress_ptr cinfo); }; struct jpeg_source_mgr { const JOCTET * next_input_byte; size_t bytes_in_buffer; void (*init_source) (j_decompress_ptr cinfo); boolean (*fill_input_buffer) (j_decompress_ptr cinfo); void (*skip_input_data) (j_decompress_ptr cinfo, long num_bytes); boolean (*resync_to_restart) (j_decompress_ptr cinfo, int desired); void (*term_source) (j_decompress_ptr cinfo); }; # 817 "../jpeglib.h" typedef struct jvirt_sarray_control * jvirt_sarray_ptr; typedef struct jvirt_barray_control * jvirt_barray_ptr; struct jpeg_memory_mgr { void * (*alloc_small) (j_common_ptr cinfo, int pool_id, size_t sizeofobject) ; void * (*alloc_large) (j_common_ptr cinfo, int pool_id, size_t sizeofobject) ; JSAMPARRAY (*alloc_sarray) (j_common_ptr cinfo, int pool_id, JDIMENSION samplesperrow, JDIMENSION numrows) ; JBLOCKARRAY (*alloc_barray) (j_common_ptr cinfo, int pool_id, JDIMENSION blocksperrow, JDIMENSION numrows) ; jvirt_sarray_ptr (*request_virt_sarray) (j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION samplesperrow, JDIMENSION numrows, JDIMENSION maxaccess) ; jvirt_barray_ptr (*request_virt_barray) (j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION blocksperrow, JDIMENSION numrows, JDIMENSION maxaccess) ; void (*realize_virt_arrays) (j_common_ptr cinfo); JSAMPARRAY (*access_virt_sarray) (j_common_ptr cinfo, jvirt_sarray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable) ; JBLOCKARRAY (*access_virt_barray) (j_common_ptr cinfo, jvirt_barray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable) ; void (*free_pool) (j_common_ptr cinfo, int pool_id); void (*self_destruct) (j_common_ptr cinfo); long max_memory_to_use; long max_alloc_chunk; }; typedef boolean (*jpeg_marker_parser_method) (j_decompress_ptr cinfo); # 962 "../jpeglib.h" extern struct jpeg_error_mgr * jpeg_std_error (struct jpeg_error_mgr * err); # 978 "../jpeglib.h" extern void jpeg_CreateCompress (j_compress_ptr cinfo, int version, size_t structsize) ; extern void jpeg_CreateDecompress (j_decompress_ptr cinfo, int version, size_t structsize) ; extern void jpeg_destroy_compress (j_compress_ptr cinfo); extern void jpeg_destroy_decompress (j_decompress_ptr cinfo); extern void jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile); extern void jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile); # 1002 "../jpeglib.h" extern void jpeg_set_defaults (j_compress_ptr cinfo); extern void jpeg_set_colorspace (j_compress_ptr cinfo, J_COLOR_SPACE colorspace) ; extern void jpeg_default_colorspace (j_compress_ptr cinfo); extern void jpeg_set_quality (j_compress_ptr cinfo, int quality, boolean force_baseline) ; extern void jpeg_set_linear_quality (j_compress_ptr cinfo, int scale_factor, boolean force_baseline) ; extern void jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl, const unsigned int *basic_table, int scale_factor, boolean force_baseline) ; extern int jpeg_quality_scaling (int quality); extern void jpeg_simple_progression (j_compress_ptr cinfo); extern void jpeg_suppress_tables (j_compress_ptr cinfo, boolean suppress) ; extern JQUANT_TBL * jpeg_alloc_quant_table (j_common_ptr cinfo); extern JHUFF_TBL * jpeg_alloc_huff_table (j_common_ptr cinfo); extern void jpeg_start_compress (j_compress_ptr cinfo, boolean write_all_tables) ; extern JDIMENSION jpeg_write_scanlines (j_compress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION num_lines) ; extern void jpeg_finish_compress (j_compress_ptr cinfo); extern JDIMENSION jpeg_write_raw_data (j_compress_ptr cinfo, JSAMPIMAGE data, JDIMENSION num_lines) ; extern void jpeg_write_marker (j_compress_ptr cinfo, int marker, const JOCTET * dataptr, unsigned int datalen) ; extern void jpeg_write_m_header (j_compress_ptr cinfo, int marker, unsigned int datalen); extern void jpeg_write_m_byte (j_compress_ptr cinfo, int val); extern void jpeg_write_tables (j_compress_ptr cinfo); extern int jpeg_read_header (j_decompress_ptr cinfo, boolean require_image) ; # 1072 "../jpeglib.h" extern boolean jpeg_start_decompress (j_decompress_ptr cinfo); extern JDIMENSION jpeg_read_scanlines (j_decompress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION max_lines) ; extern boolean jpeg_finish_decompress (j_decompress_ptr cinfo); extern JDIMENSION jpeg_read_raw_data (j_decompress_ptr cinfo, JSAMPIMAGE data, JDIMENSION max_lines) ; extern boolean jpeg_has_multiple_scans (j_decompress_ptr cinfo); extern boolean jpeg_start_output (j_decompress_ptr cinfo, int scan_number) ; extern boolean jpeg_finish_output (j_decompress_ptr cinfo); extern boolean jpeg_input_complete (j_decompress_ptr cinfo); extern void jpeg_new_colormap (j_decompress_ptr cinfo); extern int jpeg_consume_input (j_decompress_ptr cinfo); # 1102 "../jpeglib.h" extern void jpeg_calc_output_dimensions (j_decompress_ptr cinfo); extern void jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, unsigned int length_limit) ; extern void jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine) ; extern jvirt_barray_ptr * jpeg_read_coefficients (j_decompress_ptr cinfo); extern void jpeg_write_coefficients (j_compress_ptr cinfo, jvirt_barray_ptr * coef_arrays) ; extern void jpeg_copy_critical_parameters (j_decompress_ptr srcinfo, j_compress_ptr dstinfo) ; extern void jpeg_abort_compress (j_compress_ptr cinfo); extern void jpeg_abort_decompress (j_decompress_ptr cinfo); extern void jpeg_abort (j_common_ptr cinfo); extern void jpeg_destroy (j_common_ptr cinfo); extern boolean jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) ; # 1192 "../jpeglib.h" # 1 "../jpegint.h" 1 # 17 "../jpegint.h" typedef enum { JBUF_PASS_THRU, JBUF_SAVE_SOURCE, JBUF_CRANK_DEST, JBUF_SAVE_AND_PASS } J_BUF_MODE; # 46 "../jpegint.h" struct jpeg_comp_master { void (*prepare_for_pass) (j_compress_ptr cinfo); void (*pass_startup) (j_compress_ptr cinfo); void (*finish_pass) (j_compress_ptr cinfo); boolean call_pass_startup; boolean is_last_pass; }; struct jpeg_c_main_controller { void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode); void (*process_data) (j_compress_ptr cinfo, JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail) ; }; struct jpeg_c_prep_controller { void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode); void (*pre_process_data) (j_compress_ptr cinfo, JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail, JSAMPIMAGE output_buf, JDIMENSION *out_row_group_ctr, JDIMENSION out_row_groups_avail) ; }; struct jpeg_c_coef_controller { void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode); boolean (*compress_data) (j_compress_ptr cinfo, JSAMPIMAGE input_buf) ; }; struct jpeg_color_converter { void (*start_pass) (j_compress_ptr cinfo); void (*color_convert) (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; }; struct jpeg_downsampler { void (*start_pass) (j_compress_ptr cinfo); void (*downsample) (j_compress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION in_row_index, JSAMPIMAGE output_buf, JDIMENSION out_row_group_index) ; boolean need_context_rows; }; struct jpeg_forward_dct { void (*start_pass) (j_compress_ptr cinfo); void (*forward_DCT) (j_compress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY sample_data, JBLOCKROW coef_blocks, JDIMENSION start_row, JDIMENSION start_col, JDIMENSION num_blocks) ; }; struct jpeg_entropy_encoder { void (*start_pass) (j_compress_ptr cinfo, boolean gather_statistics); boolean (*encode_mcu) (j_compress_ptr cinfo, JBLOCKROW *MCU_data); void (*finish_pass) (j_compress_ptr cinfo); }; struct jpeg_marker_writer { void (*write_file_header) (j_compress_ptr cinfo); void (*write_frame_header) (j_compress_ptr cinfo); void (*write_scan_header) (j_compress_ptr cinfo); void (*write_file_trailer) (j_compress_ptr cinfo); void (*write_tables_only) (j_compress_ptr cinfo); void (*write_marker_header) (j_compress_ptr cinfo, int marker, unsigned int datalen) ; void (*write_marker_byte) (j_compress_ptr cinfo, int val); }; struct jpeg_decomp_master { void (*prepare_for_output_pass) (j_decompress_ptr cinfo); void (*finish_output_pass) (j_decompress_ptr cinfo); boolean is_dummy_pass; }; struct jpeg_input_controller { int (*consume_input) (j_decompress_ptr cinfo); void (*reset_input_controller) (j_decompress_ptr cinfo); void (*start_input_pass) (j_decompress_ptr cinfo); void (*finish_input_pass) (j_decompress_ptr cinfo); boolean has_multiple_scans; boolean eoi_reached; }; struct jpeg_d_main_controller { void (*start_pass) (j_decompress_ptr cinfo, J_BUF_MODE pass_mode); void (*process_data) (j_decompress_ptr cinfo, JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail) ; }; struct jpeg_d_coef_controller { void (*start_input_pass) (j_decompress_ptr cinfo); int (*consume_data) (j_decompress_ptr cinfo); void (*start_output_pass) (j_decompress_ptr cinfo); int (*decompress_data) (j_decompress_ptr cinfo, JSAMPIMAGE output_buf) ; jvirt_barray_ptr *coef_arrays; }; struct jpeg_d_post_controller { void (*start_pass) (j_decompress_ptr cinfo, J_BUF_MODE pass_mode); void (*post_process_data) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, JDIMENSION in_row_groups_avail, JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail) ; }; struct jpeg_marker_reader { void (*reset_marker_reader) (j_decompress_ptr cinfo); int (*read_markers) (j_decompress_ptr cinfo); jpeg_marker_parser_method read_restart_marker; boolean saw_SOI; boolean saw_SOF; int next_restart_num; unsigned int discarded_bytes; }; struct jpeg_entropy_decoder { void (*start_pass) (j_decompress_ptr cinfo); boolean (*decode_mcu) (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) ; boolean insufficient_data; }; typedef void (*inverse_DCT_method_ptr) (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; struct jpeg_inverse_dct { void (*start_pass) (j_decompress_ptr cinfo); inverse_DCT_method_ptr inverse_DCT[10]; }; struct jpeg_upsampler { void (*start_pass) (j_decompress_ptr cinfo); void (*upsample) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, JDIMENSION in_row_groups_avail, JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail) ; boolean need_context_rows; }; struct jpeg_color_deconverter { void (*start_pass) (j_decompress_ptr cinfo); void (*color_convert) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; }; struct jpeg_color_quantizer { void (*start_pass) (j_decompress_ptr cinfo, boolean is_pre_scan); void (*color_quantize) (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows) ; void (*finish_pass) (j_decompress_ptr cinfo); void (*new_color_map) (j_decompress_ptr cinfo); }; # 338 "../jpegint.h" extern void jinit_compress_master (j_compress_ptr cinfo); extern void jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only) ; extern void jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_c_prep_controller (j_compress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_c_coef_controller (j_compress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_color_converter (j_compress_ptr cinfo); extern void jinit_downsampler (j_compress_ptr cinfo); extern void jinit_forward_dct (j_compress_ptr cinfo); extern void jinit_huff_encoder (j_compress_ptr cinfo); extern void jinit_phuff_encoder (j_compress_ptr cinfo); extern void jinit_arith_encoder (j_compress_ptr cinfo); extern void jinit_marker_writer (j_compress_ptr cinfo); extern void jinit_master_decompress (j_decompress_ptr cinfo); extern void jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_d_post_controller (j_decompress_ptr cinfo, boolean need_full_buffer) ; extern void jinit_input_controller (j_decompress_ptr cinfo); extern void jinit_marker_reader (j_decompress_ptr cinfo); extern void jinit_huff_decoder (j_decompress_ptr cinfo); extern void jinit_phuff_decoder (j_decompress_ptr cinfo); extern void jinit_arith_decoder (j_decompress_ptr cinfo); extern void jinit_inverse_dct (j_decompress_ptr cinfo); extern void jinit_upsampler (j_decompress_ptr cinfo); extern void jinit_color_deconverter (j_decompress_ptr cinfo); extern void jinit_1pass_quantizer (j_decompress_ptr cinfo); extern void jinit_2pass_quantizer (j_decompress_ptr cinfo); extern void jinit_merged_upsampler (j_decompress_ptr cinfo); extern void jinit_memory_mgr (j_common_ptr cinfo); extern long jdiv_round_up (long a, long b); extern long jround_up (long a, long b); extern void jcopy_sample_rows (JSAMPARRAY input_array, int source_row, JSAMPARRAY output_array, int dest_row, int num_rows, JDIMENSION num_cols) ; extern void jcopy_block_row (JBLOCKROW input_row, JBLOCKROW output_row, JDIMENSION num_blocks) ; extern void jzero_far (void * target, size_t bytestozero); extern const int jpeg_natural_order[]; extern const INT32 jpeg_aritab[]; # 1193 "../jpeglib.h" 2 # 1 "../jerror.h" 1 # 34 "../jerror.h" typedef enum { JMSG_NOMESSAGE , JERR_ARITH_NOTIMPL , JERR_BAD_ALIGN_TYPE , JERR_BAD_ALLOC_CHUNK , JERR_BAD_BUFFER_MODE , JERR_BAD_COMPONENT_ID , JERR_BAD_DCT_COEF , JERR_BAD_DCTSIZE , JERR_BAD_HUFF_TABLE , JERR_BAD_IN_COLORSPACE , JERR_BAD_J_COLORSPACE , JERR_BAD_LENGTH , JERR_BAD_LIB_VERSION , JERR_BAD_MCU_SIZE , JERR_BAD_POOL_ID , JERR_BAD_PRECISION , JERR_BAD_PROGRESSION , JERR_BAD_PROG_SCRIPT , JERR_BAD_SAMPLING , JERR_BAD_SCAN_SCRIPT , JERR_BAD_STATE , JERR_BAD_STRUCT_SIZE , JERR_BAD_VIRTUAL_ACCESS , JERR_BUFFER_SIZE , JERR_CANT_SUSPEND , JERR_CCIR601_NOTIMPL , JERR_COMPONENT_COUNT , JERR_CONVERSION_NOTIMPL , JERR_DAC_INDEX , JERR_DAC_VALUE , JERR_DHT_INDEX , JERR_DQT_INDEX , JERR_EMPTY_IMAGE , JERR_EMS_READ , JERR_EMS_WRITE , JERR_EOI_EXPECTED , JERR_FILE_READ , JERR_FILE_WRITE , JERR_FRACT_SAMPLE_NOTIMPL , JERR_HUFF_CLEN_OVERFLOW , JERR_HUFF_MISSING_CODE , JERR_IMAGE_TOO_BIG , JERR_INPUT_EMPTY , JERR_INPUT_EOF , JERR_MISMATCHED_QUANT_TABLE , JERR_MISSING_DATA , JERR_MODE_CHANGE , JERR_NOTIMPL , JERR_NOT_COMPILED , JERR_NO_BACKING_STORE , JERR_NO_HUFF_TABLE , JERR_NO_IMAGE , JERR_NO_QUANT_TABLE , JERR_NO_SOI , JERR_OUT_OF_MEMORY , JERR_QUANT_COMPONENTS , JERR_QUANT_FEW_COLORS , JERR_QUANT_MANY_COLORS , JERR_SOF_DUPLICATE , JERR_SOF_NO_SOS , JERR_SOF_UNSUPPORTED , JERR_SOI_DUPLICATE , JERR_SOS_NO_SOF , JERR_TFILE_CREATE , JERR_TFILE_READ , JERR_TFILE_SEEK , JERR_TFILE_WRITE , JERR_TOO_LITTLE_DATA , JERR_UNKNOWN_MARKER , JERR_VIRTUAL_BUG , JERR_WIDTH_OVERFLOW , JERR_XMS_READ , JERR_XMS_WRITE , JMSG_COPYRIGHT , JMSG_VERSION , JTRC_16BIT_TABLES , JTRC_ADOBE , JTRC_APP0 , JTRC_APP14 , JTRC_DAC , JTRC_DHT , JTRC_DQT , JTRC_DRI , JTRC_EMS_CLOSE , JTRC_EMS_OPEN , JTRC_EOI , JTRC_HUFFBITS , JTRC_JFIF , JTRC_JFIF_BADTHUMBNAILSIZE , JTRC_JFIF_EXTENSION , JTRC_JFIF_THUMBNAIL , JTRC_MISC_MARKER , JTRC_PARMLESS_MARKER , JTRC_QUANTVALS , JTRC_QUANT_3_NCOLORS , JTRC_QUANT_NCOLORS , JTRC_QUANT_SELECTED , JTRC_RECOVERY_ACTION , JTRC_RST , JTRC_SMOOTH_NOTIMPL , JTRC_SOF , JTRC_SOF_COMPONENT , JTRC_SOI , JTRC_SOS , JTRC_SOS_COMPONENT , JTRC_SOS_PARAMS , JTRC_TFILE_CLOSE , JTRC_TFILE_OPEN , JTRC_THUMB_JPEG , JTRC_THUMB_PALETTE , JTRC_THUMB_RGB , JTRC_UNKNOWN_IDS , JTRC_XMS_CLOSE , JTRC_XMS_OPEN , JWRN_ADOBE_XFORM , JWRN_BOGUS_PROGRESSION , JWRN_EXTRANEOUS_DATA , JWRN_HIT_MARKER , JWRN_HUFF_BAD_CODE , JWRN_JFIF_MAJOR , JWRN_JPEG_EOF , JWRN_MUST_RESYNC , JWRN_NOT_SEQUENTIAL , JWRN_TOO_MUCH_DATA , JERR_BAD_CROP_SPEC , JERR_NO_ARITH_TABLE , JWRN_ARITH_BAD_CODE , JMSG_LASTMSGCODE } J_MESSAGE_CODE; # 1194 "../jpeglib.h" 2 # 23 "jsimd_arm.c" 2 # 1 "../jsimd.h" 1 # 40 "../jsimd.h" extern int jsimd_can_rgb_ycc (void); extern int jsimd_can_rgb_gray (void); extern int jsimd_can_ycc_rgb (void); extern void jsimd_rgb_ycc_convert (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_rgb_gray_convert (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern int jsimd_can_h2v2_downsample (void); extern int jsimd_can_h2v1_downsample (void); extern void jsimd_h2v2_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern void jsimd_h2v1_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern int jsimd_can_h2v2_upsample (void); extern int jsimd_can_h2v1_upsample (void); extern void jsimd_h2v2_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern int jsimd_can_h2v2_fancy_upsample (void); extern int jsimd_can_h2v1_fancy_upsample (void); extern void jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern int jsimd_can_h2v2_merged_upsample (void); extern int jsimd_can_h2v1_merged_upsample (void); extern void jsimd_h2v2_merged_upsample (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; # 24 "jsimd_arm.c" 2 # 1 "../jdct.h" 1 # 37 "../jdct.h" typedef short DCTELEM; typedef unsigned short UDCTELEM; typedef unsigned int UDCTELEM2; # 65 "../jdct.h" typedef short ISLOW_MULT_TYPE; typedef short IFAST_MULT_TYPE; typedef float FLOAT_MULT_TYPE; # 108 "../jdct.h" extern void jpeg_fdct_islow (DCTELEM * data); extern void jpeg_fdct_ifast (DCTELEM * data); extern void jpeg_fdct_float (float * data); extern void jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jpeg_idct_ifast (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jpeg_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jpeg_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jpeg_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jpeg_idct_1x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; # 25 "jsimd_arm.c" 2 # 1 "../jsimddct.h" 1 # 41 "../jsimddct.h" extern int jsimd_can_convsamp (void); extern int jsimd_can_convsamp_float (void); extern void jsimd_convsamp (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM * workspace) ; extern void jsimd_convsamp_float (JSAMPARRAY sample_data, JDIMENSION start_col, float * workspace) ; extern int jsimd_can_fdct_islow (void); extern int jsimd_can_fdct_ifast (void); extern int jsimd_can_fdct_float (void); extern void jsimd_fdct_islow (DCTELEM * data); extern void jsimd_fdct_ifast (DCTELEM * data); extern void jsimd_fdct_float (float * data); extern int jsimd_can_quantize (void); extern int jsimd_can_quantize_float (void); extern void jsimd_quantize (JCOEFPTR coef_block, DCTELEM * divisors, DCTELEM * workspace) ; extern void jsimd_quantize_float (JCOEFPTR coef_block, float * divisors, float * workspace) ; extern int jsimd_can_idct_2x2 (void); extern int jsimd_can_idct_4x4 (void); extern void jsimd_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern int jsimd_can_idct_islow (void); extern int jsimd_can_idct_ifast (void); extern int jsimd_can_idct_float (void); extern void jsimd_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_ifast (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; # 26 "jsimd_arm.c" 2 # 1 "jsimd.h" 1 # 152 "jsimd.h" extern unsigned int jpeg_simd_cpu_support (void); extern void jsimd_rgb_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgb_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgbx_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgr_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgrx_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxbgr_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxrgb_ycc_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_rgb_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgb_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgbx_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgr_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgrx_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxbgr_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxrgb_gray_convert_mmx (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_ycc_rgb_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgb_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgbx_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgr_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgrx_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxbgr_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxrgb_convert_mmx (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern const int jconst_rgb_ycc_convert_sse2[]; extern void jsimd_rgb_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgb_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgbx_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgr_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgrx_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxbgr_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxrgb_ycc_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern const int jconst_rgb_gray_convert_sse2[]; extern void jsimd_rgb_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgb_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extrgbx_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgr_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extbgrx_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxbgr_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern void jsimd_extxrgb_gray_convert_sse2 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) ; extern const int jconst_ycc_rgb_convert_sse2[]; extern void jsimd_ycc_rgb_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgb_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgbx_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgr_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgrx_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxbgr_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxrgb_convert_sse2 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_rgb_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgb_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extrgbx_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgr_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extbgrx_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxbgr_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_ycc_extxrgb_convert_neon (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) ; extern void jsimd_h2v2_downsample_mmx (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, JDIMENSION width_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern void jsimd_h2v1_downsample_mmx (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, JDIMENSION width_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern void jsimd_h2v2_downsample_sse2 (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, JDIMENSION width_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern void jsimd_h2v1_downsample_sse2 (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, JDIMENSION width_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data) ; extern void jsimd_h2v2_upsample_mmx (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_upsample_mmx (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v2_fancy_upsample_mmx (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_fancy_upsample_mmx (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v2_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extrgb_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extrgbx_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extbgr_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extbgrx_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extxbgr_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extxrgb_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extrgb_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extrgbx_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extbgr_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extbgrx_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extxbgr_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extxrgb_merged_upsample_mmx (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_upsample_sse2 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_upsample_sse2 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern const int jconst_fancy_upsample_sse2[]; extern void jsimd_h2v2_fancy_upsample_sse2 (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern void jsimd_h2v1_fancy_upsample_sse2 (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) ; extern const int jconst_merged_upsample_sse2[]; extern void jsimd_h2v2_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extrgb_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extrgbx_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extbgr_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extbgrx_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extxbgr_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v2_extxrgb_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extrgb_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extrgbx_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extbgr_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extbgrx_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extxbgr_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_h2v1_extxrgb_merged_upsample_sse2 (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) ; extern void jsimd_convsamp_mmx (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM * workspace) ; extern void jsimd_convsamp_sse2 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM * workspace) ; extern void jsimd_convsamp_float_3dnow (JSAMPARRAY sample_data, JDIMENSION start_col, float * workspace) ; extern void jsimd_convsamp_float_sse (JSAMPARRAY sample_data, JDIMENSION start_col, float * workspace) ; extern void jsimd_convsamp_float_sse2 (JSAMPARRAY sample_data, JDIMENSION start_col, float * workspace) ; extern void jsimd_fdct_islow_mmx (DCTELEM * data); extern void jsimd_fdct_ifast_mmx (DCTELEM * data); extern const int jconst_fdct_ifast_sse2[]; extern void jsimd_fdct_islow_sse2 (DCTELEM * data); extern const int jconst_fdct_islow_sse2[]; extern void jsimd_fdct_ifast_sse2 (DCTELEM * data); extern void jsimd_fdct_float_3dnow (float * data); extern const int jconst_fdct_float_sse[]; extern void jsimd_fdct_float_sse (float * data); extern void jsimd_quantize_mmx (JCOEFPTR coef_block, DCTELEM * divisors, DCTELEM * workspace) ; extern void jsimd_quantize_sse2 (JCOEFPTR coef_block, DCTELEM * divisors, DCTELEM * workspace) ; extern void jsimd_quantize_float_3dnow (JCOEFPTR coef_block, float * divisors, float * workspace) ; extern void jsimd_quantize_float_sse (JCOEFPTR coef_block, float * divisors, float * workspace) ; extern void jsimd_quantize_float_sse2 (JCOEFPTR coef_block, float * divisors, float * workspace) ; extern void jsimd_idct_2x2_mmx (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_4x4_mmx (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern const int jconst_idct_red_sse2[]; extern void jsimd_idct_2x2_sse2 (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_4x4_sse2 (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_2x2_neon (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_4x4_neon (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_islow_mmx (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_ifast_mmx (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern const int jconst_idct_islow_sse2[]; extern void jsimd_idct_islow_sse2 (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern const int jconst_idct_ifast_sse2[]; extern void jsimd_idct_ifast_sse2 (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_ifast_neon (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern void jsimd_idct_float_3dnow (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern const int jconst_idct_float_sse[]; extern void jsimd_idct_float_sse (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; extern const int jconst_idct_float_sse2[]; extern void jsimd_idct_float_sse2 (void * dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) ; # 27 "jsimd_arm.c" 2 # 1 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 1 3 4 # 30 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 # 48 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__nothrow__)) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__nothrow__)) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__nothrow__)) __attribute__ ((__const)); # 96 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 extern int isalnum (int) __attribute__ ((__nothrow__)); extern int isalpha (int) __attribute__ ((__nothrow__)); extern int iscntrl (int) __attribute__ ((__nothrow__)); extern int isdigit (int) __attribute__ ((__nothrow__)); extern int islower (int) __attribute__ ((__nothrow__)); extern int isgraph (int) __attribute__ ((__nothrow__)); extern int isprint (int) __attribute__ ((__nothrow__)); extern int ispunct (int) __attribute__ ((__nothrow__)); extern int isspace (int) __attribute__ ((__nothrow__)); extern int isupper (int) __attribute__ ((__nothrow__)); extern int isxdigit (int) __attribute__ ((__nothrow__)); extern int tolower (int __c) __attribute__ ((__nothrow__)); extern int toupper (int __c) __attribute__ ((__nothrow__)); extern int isblank (int) __attribute__ ((__nothrow__)); # 142 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 extern int isascii (int __c) __attribute__ ((__nothrow__)); extern int toascii (int __c) __attribute__ ((__nothrow__)); extern int _toupper (int) __attribute__ ((__nothrow__)); extern int _tolower (int) __attribute__ ((__nothrow__)); # 190 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 extern __inline int __attribute__ ((__nothrow__)) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int __attribute__ ((__nothrow__)) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 247 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__)); extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__)); # 323 "/home/build/CTBU/MonoLake-foreign/opensource-core/build-trees/root/usr/include/ctype.h" 3 4 # 31 "jsimd_arm.c" 2 # 44 "jsimd_arm.c" typedef struct { int16x8x4_t half[2]; } int16_8x8_t; inline static int16_8x8_t load_transpose_8x8(const int16x8x4_t* cp) __attribute__ ((__always_inline__)); inline static int16_8x8_t load_transpose_8x8(const int16x8x4_t* cp) { int16_8x8_t coef; { int16x8x2_t unzipped; const int16x8x4_t* coefp = cp; coef.half[0] = vld4q_s16((const int16_t*) (coefp++)); coef.half[1] = vld4q_s16((const int16_t*) (coefp++)); unzipped = vuzpq_s16(coef.half[0].val[0], coef.half[1].val[0]); coef.half[0].val[0] = unzipped.val[0]; coef.half[1].val[0] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[1], coef.half[1].val[1]); coef.half[0].val[1] = unzipped.val[0]; coef.half[1].val[1] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[2], coef.half[1].val[2]); coef.half[0].val[2] = unzipped.val[0]; coef.half[1].val[2] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[3], coef.half[1].val[3]); coef.half[0].val[3] = unzipped.val[0]; coef.half[1].val[3] = unzipped.val[1]; # 108 "jsimd_arm.c" } return coef; } inline static int16_8x8_t dq_transpose_8x8(const int16x8x4_t* cp, const int16x8x4_t* dp) __attribute__ ((__always_inline__)); inline static int16_8x8_t dq_transpose_8x8(const int16x8x4_t* cp, const int16x8x4_t* dp) { int16_8x8_t coef; { int16_8x8_t dct; int16x8x2_t unzipped; const int16x8x4_t* coefp = cp; const int16x8x4_t* dctp = dp; coef.half[0] = vld4q_s16((const int16_t*) (coefp++)); dct.half[0] = vld4q_s16((const int16_t*) (dctp++)); coef.half[1] = vld4q_s16((const int16_t*) (coefp++)); dct.half[1] = vld4q_s16((const int16_t*) (dctp++)); coef.half[0].val[0] = vmulq_s16(coef.half[0].val[0], dct.half[0].val[0]); coef.half[0].val[1] = vmulq_s16(coef.half[0].val[1], dct.half[0].val[1]); coef.half[0].val[2] = vmulq_s16(coef.half[0].val[2], dct.half[0].val[2]); coef.half[0].val[3] = vmulq_s16(coef.half[0].val[3], dct.half[0].val[3]); coef.half[1].val[0] = vmulq_s16(coef.half[1].val[0], dct.half[1].val[0]); coef.half[1].val[1] = vmulq_s16(coef.half[1].val[1], dct.half[1].val[1]); coef.half[1].val[2] = vmulq_s16(coef.half[1].val[2], dct.half[1].val[2]); coef.half[1].val[3] = vmulq_s16(coef.half[1].val[3], dct.half[1].val[3]); unzipped = vuzpq_s16(coef.half[0].val[0], coef.half[1].val[0]); coef.half[0].val[0] = unzipped.val[0]; coef.half[1].val[0] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[1], coef.half[1].val[1]); coef.half[0].val[1] = unzipped.val[0]; coef.half[1].val[1] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[2], coef.half[1].val[2]); coef.half[0].val[2] = unzipped.val[0]; coef.half[1].val[2] = unzipped.val[1]; unzipped = vuzpq_s16(coef.half[0].val[3], coef.half[1].val[3]); coef.half[0].val[3] = unzipped.val[0]; coef.half[1].val[3] = unzipped.val[1]; # 203 "jsimd_arm.c" } return coef; } inline static int16_8x8_t fdct_helper_8x8(int16x4_t fdct_constants, int16_8x8_t a) __attribute__ ((__always_inline__)); inline static int16_8x8_t fdct_helper_8x8(int16x4_t fdct_constants, int16_8x8_t a) { int16x8x4_t even_part, odd_part; int16_8x8_t b; # 235 "jsimd_arm.c" even_part.val[0] = vaddq_s16(a.half[0].val[0], a.half[1].val[3]); even_part.val[1] = vaddq_s16(a.half[0].val[1], a.half[1].val[2]); even_part.val[2] = vaddq_s16(a.half[0].val[2], a.half[1].val[1]); even_part.val[3] = vaddq_s16(a.half[0].val[3], a.half[1].val[0]); odd_part.val[0] = vsubq_s16(a.half[0].val[0], a.half[1].val[3]); odd_part.val[1] = vsubq_s16(a.half[0].val[1], a.half[1].val[2]); odd_part.val[2] = vsubq_s16(a.half[0].val[2], a.half[1].val[1]); odd_part.val[3] = vsubq_s16(a.half[0].val[3], a.half[1].val[0]); { int16x8_t diff0 = vsubq_s16(even_part.val[0], even_part.val[3]); int16x8_t diff1 = vsubq_s16(even_part.val[1], even_part.val[2]); int16x8_t sum0 = vaddq_s16(even_part.val[0], even_part.val[3]); int16x8_t sum1 = vaddq_s16(even_part.val[1], even_part.val[2]); int16x8_t even_a = vaddq_s16(diff0, diff1); int16x8_t even_b = vqrdmulhq_lane_s16(even_a, fdct_constants, 0); even_b = vaddq_s16(even_a, even_b); even_a = vshlq_n_s16(diff0, 1); b.half[0].val[0] = vshlq_n_s16(vaddq_s16(sum0, sum1), 1); b.half[1].val[0] = vshlq_n_s16(vsubq_s16(sum0, sum1), 1); b.half[0].val[2] = vaddq_s16(even_a, even_b); b.half[1].val[2] = vsubq_s16(even_a, even_b); } { int16x8_t sum12 = vaddq_s16(odd_part.val[1], odd_part.val[2]); int16x8_t odd_d = vqrdmulhq_lane_s16(sum12, fdct_constants, 0); odd_d = vaddq_s16(odd_d, sum12); int16x8_t t1 = vshlq_n_s16(odd_part.val[0], 1); int16x8_t odd_x = vaddq_s16(t1, odd_d); int16x8_t odd_y = vsubq_s16(t1, odd_d); int16x8_t sum01 = vaddq_s16(odd_part.val[0], odd_part.val[1]); int16x8_t sum23 = vaddq_s16(odd_part.val[2], odd_part.val[3]); t1 = vsubq_s16(sum23, sum01); int16x8_t odd_b = vqrdmulhq_lane_s16(t1, fdct_constants, 1); int16x8_t odd_a = vqrdmulhq_lane_s16(sum01, fdct_constants, 3); odd_a = vaddq_s16(odd_a, sum01); odd_a = vaddq_s16(odd_a, sum01); odd_a = vaddq_s16(odd_a, odd_b); int16x8_t odd_c = vqrdmulhq_lane_s16(sum23, fdct_constants, 2); odd_c = vaddq_s16(odd_c, sum23); odd_c = vaddq_s16(odd_c, odd_b); b.half[0].val[1] = vaddq_s16(odd_x, odd_a); b.half[1].val[3] = vsubq_s16(odd_x, odd_a); b.half[1].val[1] = vaddq_s16(odd_y, odd_c); b.half[0].val[3] = vsubq_s16(odd_y, odd_c); } # 307 "jsimd_arm.c" return b; } inline static int16_8x8_t idct_helper_8x8(int16x4_t idct_constants, int16_8x8_t a) __attribute__ ((__always_inline__)); inline static int16_8x8_t idct_helper_8x8(int16x4_t idct_constants, int16_8x8_t a) { int16x8x4_t even_part, odd_part; # 336 "jsimd_arm.c" { int16x8_t sum0 = vaddq_s16(a.half[0].val[0], a.half[1].val[0]); int16x8_t sum2 = vaddq_s16(a.half[0].val[2], a.half[1].val[2]); int16x8_t diff0 = vsubq_s16(a.half[0].val[0], a.half[1].val[0]); int16x8_t diff2 = vsubq_s16(a.half[0].val[2], a.half[1].val[2]); int16x8_t even_a = vqrdmulhq_lane_s16(diff2, idct_constants, 0); even_a = vaddq_s16(even_a, diff2); even_a = vsubq_s16(even_a, sum2); even_part.val[0] = vaddq_s16(sum0, sum2); even_part.val[1] = vaddq_s16(diff0, even_a); even_part.val[2] = vsubq_s16(diff0, even_a); even_part.val[3] = vsubq_s16(sum0, sum2); } { int16x8_t sum1 = vaddq_s16(a.half[0].val[1], a.half[1].val[3]); int16x8_t sum3 = vaddq_s16(a.half[1].val[1], a.half[0].val[3]); int16x8_t diff1 = vsubq_s16(a.half[0].val[1], a.half[1].val[3]); int16x8_t diff3 = vsubq_s16(a.half[1].val[1], a.half[0].val[3]); int16x8_t t1 = vsubq_s16(sum1, sum3); int16x8_t odd_b = vqrdmulhq_lane_s16(t1, idct_constants, 0); odd_b = vaddq_s16(odd_b, t1); t1 = vaddq_s16(diff1, diff3); int16x8_t odd_d = vqrdmulhq_lane_s16(t1, idct_constants, 1); odd_d = vaddq_s16(odd_d, t1); int16x8_t odd_a = vqrdmulhq_lane_s16(diff3, idct_constants, 3); odd_a = vaddq_s16(odd_a, diff3); odd_a = vaddq_s16(odd_a, diff3); odd_a = vsubq_s16(odd_d, odd_a); int16x8_t odd_c = vqrdmulhq_lane_s16(diff1, idct_constants, 2); odd_c = vaddq_s16(odd_c, diff1); odd_c = vsubq_s16(odd_d, odd_c); odd_part.val[0] = vaddq_s16(sum1, sum3); odd_part.val[1] = vsubq_s16(odd_a, odd_part.val[0]); odd_part.val[2] = vsubq_s16(odd_b, odd_part.val[1]); odd_part.val[3] = vsubq_s16(odd_c, odd_part.val[2]); } int16_8x8_t b; b.half[0].val[0] = vaddq_s16(even_part.val[0], odd_part.val[0]); b.half[1].val[3] = vsubq_s16(even_part.val[0], odd_part.val[0]); b.half[0].val[1] = vaddq_s16(even_part.val[1], odd_part.val[1]); b.half[1].val[2] = vsubq_s16(even_part.val[1], odd_part.val[1]); b.half[0].val[2] = vaddq_s16(even_part.val[2], odd_part.val[2]); b.half[1].val[1] = vsubq_s16(even_part.val[2], odd_part.val[2]); b.half[0].val[3] = vaddq_s16(even_part.val[3], odd_part.val[3]); b.half[1].val[0] = vsubq_s16(even_part.val[3], odd_part.val[3]); # 408 "jsimd_arm.c" return b; } inline static int16x8x2_t vswpq_cheat(uint32x4_t a, uint32x4_t b) __attribute__ ((__always_inline__)); inline static int16x8x2_t vswpq_cheat(uint32x4_t a, uint32x4_t b) { int16x8x2_t r; asm ( "vswp %f0, %e1 \n\t" : "+w" (a), "+w" (b) : ); r.val[0] = vreinterpretq_s16_u32(a); r.val[1] = vreinterpretq_s16_u32(b); return r; } inline static int16_8x8_t transpose_8x8(int16_8x8_t a) __attribute__ ((__always_inline__)); inline static int16_8x8_t transpose_8x8(int16_8x8_t a) { # 446 "jsimd_arm.c" int16x8x2_t t0 = vtrnq_s16(a.half[0].val[0], a.half[0].val[1]); int16x8x2_t t1 = vtrnq_s16(a.half[0].val[2], a.half[0].val[3]); int16x8x2_t t2 = vtrnq_s16(a.half[1].val[0], a.half[1].val[1]); int16x8x2_t t3 = vtrnq_s16(a.half[1].val[2], a.half[1].val[3]); uint32x4x2_t u0 = vtrnq_u32(vreinterpretq_u32_s16(t0.val[0]), vreinterpretq_u32_s16(t1.val[0])); uint32x4x2_t u1 = vtrnq_u32(vreinterpretq_u32_s16(t0.val[1]), vreinterpretq_u32_s16(t1.val[1])); uint32x4x2_t u2 = vtrnq_u32(vreinterpretq_u32_s16(t2.val[0]), vreinterpretq_u32_s16(t3.val[0])); uint32x4x2_t u3 = vtrnq_u32(vreinterpretq_u32_s16(t2.val[1]), vreinterpretq_u32_s16(t3.val[1])); int16_8x8_t b; int16x8x2_t r; r = vswpq_cheat(u0.val[0], u2.val[0]); b.half[0].val[0] = r.val[0]; b.half[1].val[0] = r.val[1]; r = vswpq_cheat(u1.val[0], u3.val[0]); b.half[0].val[1] = r.val[0]; b.half[1].val[1] = r.val[1]; r = vswpq_cheat(u0.val[1], u2.val[1]); b.half[0].val[2] = r.val[0]; b.half[1].val[2] = r.val[1]; r = vswpq_cheat(u1.val[1], u3.val[1]); b.half[0].val[3] = r.val[0]; b.half[1].val[3] = r.val[1]; # 488 "jsimd_arm.c" return b; } static unsigned int simd_support = ~0; static int check_feature (char *buffer, char *feature) { char *p; if (*feature == 0) return 0; if ((__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p (buffer) && strlen (buffer) < ((size_t) (8))) || (__builtin_constant_p ("Features") && strlen ("Features") < ((size_t) (8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (buffer) && __builtin_constant_p ("Features") && (__s1_len = __builtin_strlen (buffer), __s2_len = __builtin_strlen ("Features"), (!((size_t)(const void *)((buffer) + 1) - (size_t)(const void *)(buffer) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("Features") + 1) - (size_t)(const void *)("Features") == 1) || __s2_len >= 4)) ? __builtin_strcmp (buffer, "Features") : (__builtin_constant_p (buffer) && ((size_t)(const void *)((buffer) + 1) - (size_t)(const void *)(buffer) == 1) && (__s1_len = __builtin_strlen (buffer), __s1_len < 4) ? (__builtin_constant_p ("Features") && ((size_t)(const void *)(("Features") + 1) - (size_t)(const void *)("Features") == 1) ? __builtin_strcmp (buffer, "Features") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("Features"); register int __result = (((__const unsigned char *) (__const char *) (buffer))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (buffer))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (buffer))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (buffer))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("Features") && ((size_t)(const void *)(("Features") + 1) - (size_t)(const void *)("Features") == 1) && (__s2_len = __builtin_strlen ("Features"), __s2_len < 4) ? (__builtin_constant_p (buffer) && ((size_t)(const void *)((buffer) + 1) - (size_t)(const void *)(buffer) == 1) ? __builtin_strcmp (buffer, "Features") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (buffer); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("Features"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("Features"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("Features"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("Features"))[3]); } } __result; }))) : __builtin_strcmp (buffer, "Features")))); }) : strncmp (buffer, "Features", 8))) != 0) return 0; buffer += 8; while (((*__ctype_b_loc ())[(int) ((*buffer))] & (unsigned short int) _ISspace)) buffer++; while ((p = strstr(buffer, feature))) { if (p > buffer && !((*__ctype_b_loc ())[(int) ((*(p - 1)))] & (unsigned short int) _ISspace)) { buffer++; continue; } p += strlen(feature); if (*p != 0 && !((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISspace)) { buffer++; continue; } return 1; } return 0; } static int parse_proc_cpuinfo (int bufsize) { char *buffer = (char *)malloc(bufsize); FILE *fd; simd_support = 0; if (!buffer) return 0; fd = fopen("/proc/cpuinfo", "r"); if (fd) { while (fgets(buffer, bufsize, fd)) { if (!(__extension__ (__builtin_constant_p ('\n') && !__builtin_constant_p (buffer) && ('\n') == '\0' ? (char *) __rawmemchr (buffer, '\n') : __builtin_strchr (buffer, '\n'))) && !feof(fd)) { fclose(fd); free(buffer); return 0; } if (check_feature(buffer, "neon")) simd_support |= 0x10; } fclose(fd); } free(buffer); return 1; } # 560 "jsimd_arm.c" static void init_simd (void) { char *env = ((void *)0); if (simd_support != ~0) return; simd_support = 0; simd_support |= 0x10; # 587 "jsimd_arm.c" env = getenv("JSIMD_FORCE_ARM_NEON"); if ((env != ((void *)0)) && (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (env) && __builtin_constant_p ("1") && (__s1_len = __builtin_strlen (env), __s2_len = __builtin_strlen ("1"), (!((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) || __s2_len >= 4)) ? __builtin_strcmp (env, "1") : (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) && (__s1_len = __builtin_strlen (env), __s1_len < 4) ? (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("1"); register int __result = (((__const unsigned char *) (__const char *) (env))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (env))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) && (__s2_len = __builtin_strlen ("1"), __s2_len < 4) ? (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (env); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("1"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("1"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("1"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("1"))[3]); } } __result; }))) : __builtin_strcmp (env, "1")))); }) == 0)) simd_support |= 0x10; env = getenv("JSIMD_FORCE_ARM_NEON_ASM"); if ((env != ((void *)0)) && (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (env) && __builtin_constant_p ("1") && (__s1_len = __builtin_strlen (env), __s2_len = __builtin_strlen ("1"), (!((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) || __s2_len >= 4)) ? __builtin_strcmp (env, "1") : (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) && (__s1_len = __builtin_strlen (env), __s1_len < 4) ? (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("1"); register int __result = (((__const unsigned char *) (__const char *) (env))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (env))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) && (__s2_len = __builtin_strlen ("1"), __s2_len < 4) ? (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (env); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("1"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("1"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("1"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("1"))[3]); } } __result; }))) : __builtin_strcmp (env, "1")))); }) == 0)) simd_support |= 0x20; env = getenv("JSIMD_FORCE_NO_SIMD"); if ((env != ((void *)0)) && (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (env) && __builtin_constant_p ("1") && (__s1_len = __builtin_strlen (env), __s2_len = __builtin_strlen ("1"), (!((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) || __s2_len >= 4)) ? __builtin_strcmp (env, "1") : (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) && (__s1_len = __builtin_strlen (env), __s1_len < 4) ? (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("1"); register int __result = (((__const unsigned char *) (__const char *) (env))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (env))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (env))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("1") && ((size_t)(const void *)(("1") + 1) - (size_t)(const void *)("1") == 1) && (__s2_len = __builtin_strlen ("1"), __s2_len < 4) ? (__builtin_constant_p (env) && ((size_t)(const void *)((env) + 1) - (size_t)(const void *)(env) == 1) ? __builtin_strcmp (env, "1") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (env); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("1"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("1"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("1"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("1"))[3]); } } __result; }))) : __builtin_strcmp (env, "1")))); }) == 0)) simd_support = 0; } int jsimd_can_rgb_ycc (void) { init_simd(); return 0; } int jsimd_can_rgb_gray (void) { init_simd(); return 0; } int jsimd_can_ycc_rgb (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if ((3 != 3) && (3 != 4)) return 0; if (simd_support & 0x10) return 1; return 0; } void jsimd_rgb_ycc_convert (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) { } void jsimd_rgb_gray_convert (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows) { } inline static uint8x8x3_t vswp_rgb(uint8x8x3_t a, int flags) __attribute__ ((__always_inline__)); inline static uint8x8x3_t vswp_rgb(uint8x8x3_t a, int flags) { asm ( "teq %2, #1\n\tit eq \n\tvswpeq %P0, %P1 \n\t" : "+w" (a.val[0]), "+w" (a.val[2]) : "r" (flags) ); return a; } inline static uint8x8x3_t ycbcr2rgb(uint8x8x3_t ycbcr, int16x4_t ycc_constants, uint8x8_t v128) __attribute__ ((__always_inline__)); inline static uint8x8x3_t ycbcr2rgb(uint8x8x3_t ycbcr, int16x4_t ycc_constants, uint8x8_t v128) { uint8x8x3_t rgb; int16x8_t cb16 = vshll_n_s8(vreinterpret_s8_u8(vadd_u8(ycbcr.val[1], v128)), 7); int16x8_t cr16 = vshll_n_s8(vreinterpret_s8_u8(vadd_u8(ycbcr.val[2], v128)), 7); int16x8_t y16 = vshll_n_s8(vreinterpret_s8_u8(vadd_u8(ycbcr.val[0], v128)), 6); int16x8_t cg16 = vaddq_s16(cr16, vqrdmulhq_lane_s16(cb16, ycc_constants, 0)); int16x8_t b16 = vaddq_s16(y16, vqdmulhq_lane_s16(cb16, ycc_constants, 2)); int16x8_t r16 = vaddq_s16(y16, vqdmulhq_lane_s16(cr16, ycc_constants, 3)); int16x8_t g16 = vsubq_s16(y16, vqdmulhq_lane_s16(cg16, ycc_constants, 1)); rgb.val[2] = vadd_u8(vreinterpret_u8_s8(vqrshrn_n_s16(b16, 6)), v128); rgb.val[0] = vadd_u8(vreinterpret_u8_s8(vqrshrn_n_s16(r16, 6)), v128); rgb.val[1] = vadd_u8(vreinterpret_u8_s8(vqrshrn_n_s16(g16, 6)), v128); return rgb; } inline static void store_rgb(uint8_t* outptr, uint8x8x3_t rgb, int flags, uint8x8_t alpha) __attribute__ ((__always_inline__)); inline static void store_rgb(uint8_t* outptr, uint8x8x3_t rgb, int flags, uint8x8_t alpha) { rgb = vswp_rgb(rgb, flags); if (flags & 2) { vst3_u8(outptr, rgb); return; } if (flags & 4) { uint8x8x4_t rgba; rgba.val[0] = alpha; rgba.val[1] = rgb.val[0]; rgba.val[2] = rgb.val[1]; rgba.val[3] = rgb.val[2]; vst4_u8(outptr, rgba); } else { uint8x8x4_t rgba; rgba.val[0] = rgb.val[0]; rgba.val[1] = rgb.val[1]; rgba.val[2] = rgb.val[2]; rgba.val[3] = alpha; vst4_u8(outptr, rgba); } } # 710 "jsimd_arm.c" void jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, JSAMPARRAY output_buf, int num_rows) { if (!(simd_support & 0x10)) return; if (!(simd_support & 0x20)) { static int16_t ycc_constants[4] __attribute__ ((aligned (8))) = { 15791, 11700, 29032, 22970 }; int16x4_t c = vld1_s16(ycc_constants); uint8x8_t v128 = vdup_n_u8(128); uint8x8_t alpha = vdup_n_u8(255); JDIMENSION num_cols = cinfo->output_width; int rgbstride = rgb_pixelsize[cinfo->out_color_space]; int rindex = rgb_red[cinfo->out_color_space]; int bindex = rgb_blue[cinfo->out_color_space]; int flags = 0; if (rgb_red[cinfo->out_color_space] > rgb_blue[cinfo->out_color_space]) flags |= 1; if (rgbstride == 3) flags |= 2; if (rindex && bindex) flags |= 4; int i, j; for (i = 0; i < num_rows; ++i) { JSAMPROW yrow = input_buf[0][input_row + i]; JSAMPROW cbrow = input_buf[1][input_row + i]; JSAMPROW crrow = input_buf[2][input_row + i]; uint8_t* outptr = (uint8_t*) output_buf[i]; int trailing_cols = num_cols % 8; for (j = 0; j < num_cols - trailing_cols; j += 8) { uint8x8x3_t ycbcr; ycbcr.val[0] = vld1_u8((uint8_t*) &yrow[j]); ycbcr.val[1] = vld1_u8((uint8_t*) &cbrow[j]); ycbcr.val[2] = vld1_u8((uint8_t*) &crrow[j]); uint8x8x3_t rgb = ycbcr2rgb(ycbcr, c, v128); store_rgb(outptr, rgb, flags, alpha); outptr += rgbstride * 8; } if (trailing_cols) { uint8x8x3_t ycbcr; ycbcr.val[0] = vdup_n_u8(0); ycbcr.val[1] = vdup_n_u8(0); ycbcr.val[2] = vdup_n_u8(0); if (trailing_cols & 4) { do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 0); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 0); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 0); ++j; } while (0); do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 1); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 1); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 1); ++j; } while (0); do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 2); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 2); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 2); ++j; } while (0); do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 3); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 3); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 3); ++j; } while (0); } if (trailing_cols & 2) { do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 4); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 4); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 4); ++j; } while (0); do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 5); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 5); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 5); ++j; } while (0); } if (trailing_cols & 1) { do { ycbcr.val[0] = vld1_lane_u8((uint8_t*) &yrow[j], ycbcr.val[0], 6); ycbcr.val[1] = vld1_lane_u8((uint8_t*) &cbrow[j], ycbcr.val[1], 6); ycbcr.val[2] = vld1_lane_u8((uint8_t*) &crrow[j], ycbcr.val[2], 6); ++j; } while (0); } uint8x8x3_t rgb = ycbcr2rgb(ycbcr, c, v128); rgb = vswp_rgb(rgb, flags); if (flags & 4) ++outptr; if (trailing_cols & 4) { do { vst3_lane_u8(outptr, rgb, 0); outptr += rgbstride; } while (0); do { vst3_lane_u8(outptr, rgb, 1); outptr += rgbstride; } while (0); do { vst3_lane_u8(outptr, rgb, 2); outptr += rgbstride; } while (0); do { vst3_lane_u8(outptr, rgb, 3); outptr += rgbstride; } while (0); } if (trailing_cols & 2) { do { vst3_lane_u8(outptr, rgb, 4); outptr += rgbstride; } while (0); do { vst3_lane_u8(outptr, rgb, 5); outptr += rgbstride; } while (0); } if (trailing_cols & 1) { do { vst3_lane_u8(outptr, rgb, 6); outptr += rgbstride; } while (0); } } } return; } void (*neonfct)(JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int); switch(cinfo->out_color_space) { case JCS_EXT_RGB: neonfct=jsimd_ycc_extrgb_convert_neon; break; case JCS_EXT_RGBX: neonfct=jsimd_ycc_extrgbx_convert_neon; break; case JCS_EXT_BGR: neonfct=jsimd_ycc_extbgr_convert_neon; break; case JCS_EXT_BGRX: neonfct=jsimd_ycc_extbgrx_convert_neon; break; case JCS_EXT_XBGR: neonfct=jsimd_ycc_extxbgr_convert_neon; break; case JCS_EXT_XRGB: neonfct=jsimd_ycc_extxrgb_convert_neon; break; default: neonfct=jsimd_ycc_extrgb_convert_neon; break; } neonfct(cinfo->output_width, input_buf, input_row, output_buf, num_rows); } int jsimd_can_h2v2_downsample (void) { init_simd(); return 0; } int jsimd_can_h2v1_downsample (void) { init_simd(); return 0; } void jsimd_h2v2_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY output_data) { } void jsimd_h2v1_downsample (j_compress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY output_data) { } int jsimd_can_h2v2_upsample (void) { init_simd(); return 0; } int jsimd_can_h2v1_upsample (void) { init_simd(); return 0; } void jsimd_h2v2_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) { } void jsimd_h2v1_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) { } int jsimd_can_h2v2_fancy_upsample (void) { init_simd(); return 0; } int jsimd_can_h2v1_fancy_upsample (void) { init_simd(); return 0; } void jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) { } void jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr, JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr) { } int jsimd_can_h2v2_merged_upsample (void) { init_simd(); return 0; } int jsimd_can_h2v1_merged_upsample (void) { init_simd(); return 0; } void jsimd_h2v2_merged_upsample (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) { } void jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf) { } int jsimd_can_convsamp (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 0; return 2; } return 0; } int jsimd_can_convsamp_float (void) { init_simd(); return 0; } void jsimd_convsamp (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM * workspace) { if (!(simd_support & 0x10)) return; int8x16_t v128 = vdupq_n_s8(-128); int8x16x2_t samples; uint16x8x2_t samples_as_u16; int16x8x4_t coef; int16x8x4_t* wp = (int16x8x4_t*) workspace; samples.val[0] = vcombine_s8( vld1_s8((const int8_t*)(sample_data[0] + start_col)), vld1_s8((const int8_t*)(sample_data[1] + start_col))); samples.val[1] = vcombine_s8( vld1_s8((const int8_t*)(sample_data[2] + start_col)), vld1_s8((const int8_t*)(sample_data[3] + start_col))); samples.val[0] = vaddq_s8(samples.val[0], v128); samples.val[1] = vaddq_s8(samples.val[1], v128); samples_as_u16 = vuzpq_u16(vreinterpretq_u16_s8(samples.val[0]), vreinterpretq_u16_s8(samples.val[1])); samples = vuzpq_s8(vreinterpretq_s8_u16(samples_as_u16.val[0]), vreinterpretq_s8_u16(samples_as_u16.val[1])); coef.val[0] = vshll_n_s8(vget_low_s8(samples.val[0]), 3); coef.val[1] = vshll_n_s8(vget_low_s8(samples.val[1]), 3); coef.val[2] = vshll_n_s8(vget_high_s8(samples.val[0]), 3); coef.val[3] = vshll_n_s8(vget_high_s8(samples.val[1]), 3); vst4q_s16((int16_t*)(wp++), coef); samples.val[0] = vcombine_s8( vld1_s8((const int8_t*)(sample_data[4] + start_col)), vld1_s8((const int8_t*)(sample_data[5] + start_col))); samples.val[1] = vcombine_s8( vld1_s8((const int8_t*)(sample_data[6] + start_col)), vld1_s8((const int8_t*)(sample_data[7] + start_col))); samples.val[0] = vaddq_s8(samples.val[0], v128); samples.val[1] = vaddq_s8(samples.val[1], v128); samples_as_u16 = vuzpq_u16(vreinterpretq_u16_s8(samples.val[0]), vreinterpretq_u16_s8(samples.val[1])); samples = vuzpq_s8(vreinterpretq_s8_u16(samples_as_u16.val[0]), vreinterpretq_s8_u16(samples_as_u16.val[1])); coef.val[0] = vshll_n_s8(vget_low_s8(samples.val[0]), 3); coef.val[1] = vshll_n_s8(vget_low_s8(samples.val[1]), 3); coef.val[2] = vshll_n_s8(vget_high_s8(samples.val[0]), 3); coef.val[3] = vshll_n_s8(vget_high_s8(samples.val[1]), 3); vst4q_s16((int16_t*)(wp++), coef); # 1067 "jsimd_arm.c" } void jsimd_convsamp_float (JSAMPARRAY sample_data, JDIMENSION start_col, float * workspace) { } int jsimd_can_fdct_islow (void) { init_simd(); return 0; } int jsimd_can_fdct_ifast (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if (sizeof(IFAST_MULT_TYPE) != 2) return 0; if (2 != 2) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 0; return 2; } return 0; } int jsimd_can_fdct_float (void) { init_simd(); return 0; } void jsimd_fdct_islow (DCTELEM * data) { } void jsimd_fdct_ifast (DCTELEM * data) { if (!(simd_support & 0x10)) return; int16_8x8_t coef; { const int16x8x4_t* coefp = (const int16x8x4_t*) data; coef = load_transpose_8x8(coefp); } { static int16_t fdct_constants[4] __attribute__ ((aligned (8))) = { 13573, 25080, 2700, 20091 }; int16x4_t c = vld1_s16(fdct_constants); coef = transpose_8x8(fdct_helper_8x8(c, coef)); coef.half[0].val[0] = vrshrq_n_s16(coef.half[0].val[0], 4); coef.half[0].val[1] = vrshrq_n_s16(coef.half[0].val[1], 4); coef.half[0].val[2] = vrshrq_n_s16(coef.half[0].val[2], 4); coef.half[0].val[3] = vrshrq_n_s16(coef.half[0].val[3], 4); coef.half[1].val[0] = vrshrq_n_s16(coef.half[1].val[0], 4); coef.half[1].val[1] = vrshrq_n_s16(coef.half[1].val[1], 4); coef.half[1].val[2] = vrshrq_n_s16(coef.half[1].val[2], 4); coef.half[1].val[3] = vrshrq_n_s16(coef.half[1].val[3], 4); coef = fdct_helper_8x8(c, coef); } { int16x8_t* coeflp = (int16x8_t*) data; # 1178 "jsimd_arm.c" vst1q_s16((int16_t*)(coeflp++), coef.half[0].val[0]); vst1q_s16((int16_t*)(coeflp++), coef.half[0].val[1]); vst1q_s16((int16_t*)(coeflp++), coef.half[0].val[2]); vst1q_s16((int16_t*)(coeflp++), coef.half[0].val[3]); vst1q_s16((int16_t*)(coeflp++), coef.half[1].val[0]); vst1q_s16((int16_t*)(coeflp++), coef.half[1].val[1]); vst1q_s16((int16_t*)(coeflp++), coef.half[1].val[2]); vst1q_s16((int16_t*)(coeflp++), coef.half[1].val[3]); } } void jsimd_fdct_float (float * data) { } int jsimd_can_quantize (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 0; return 2; } return 0; } int jsimd_can_quantize_float (void) { init_simd(); return 0; } void jsimd_quantize (JCOEFPTR coef_block, DCTELEM * divisors, DCTELEM * workspace) { if (!(simd_support & 0x10)) return; int16x8x4_t* wp = (int16x8x4_t*) workspace; int16x8x4_t* coefp = (int16x8x4_t*) coef_block; int16x8x4_t* recipp = (int16x8x4_t*) &(divisors[64 * 0]); int16x8x4_t* corrp = (int16x8x4_t*) &(divisors[64 * 1]); int16x8x4_t* shiftp = (int16x8x4_t*) &(divisors[64 * 3]); int16x8x4_t coef, recip, corr, shift; coef = vld4q_s16((int16_t*)(wp++)); recip = vld4q_s16((int16_t*)(recipp++)); corr = vld4q_s16((int16_t*)(corrp++)); shift = vld4q_s16((int16_t*)(shiftp++)); coef.val[0] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[0], corr.val[0]), recip.val[0]), shift.val[0]); coef.val[1] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[1], corr.val[1]), recip.val[1]), shift.val[1]); coef.val[2] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[2], corr.val[2]), recip.val[2]), shift.val[2]); coef.val[3] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[3], corr.val[3]), recip.val[3]), shift.val[3]); vst4q_s16((int16_t*)(coefp++), coef); coef = vld4q_s16((int16_t*)(wp++)); recip = vld4q_s16((int16_t*)(recipp++)); corr = vld4q_s16((int16_t*)(corrp++)); shift = vld4q_s16((int16_t*)(shiftp++)); coef.val[0] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[0], corr.val[0]), recip.val[0]), shift.val[0]); coef.val[1] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[1], corr.val[1]), recip.val[1]), shift.val[1]); coef.val[2] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[2], corr.val[2]), recip.val[2]), shift.val[2]); coef.val[3] = vshlq_s16(vqdmulhq_s16(vqaddq_s16(coef.val[3], corr.val[3]), recip.val[3]), shift.val[3]); vst4q_s16((int16_t*)(coefp++), coef); # 1334 "jsimd_arm.c" } void jsimd_quantize_float (JCOEFPTR coef_block, float * divisors, float * workspace) { } int jsimd_can_idct_2x2 (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if (sizeof(ISLOW_MULT_TYPE) != 2) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 1; return 2; } return 0; } int jsimd_can_idct_4x4 (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if (sizeof(ISLOW_MULT_TYPE) != 2) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 1; return 2; } return 0; } void jsimd_idct_2x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) { if (!(simd_support & 0x10)) return; if ((simd_support & 0x20)) { jsimd_idct_2x2_neon(compptr->dct_table, coef_block, output_buf, output_col); return; } int16_8x8_t coef; int16x8_t zero8 = vdupq_n_s16(0); { const int16x8x4_t* coefp = (const int16x8x4_t*) coef_block; const int16x8x4_t* dctp = (const int16x8x4_t*) compptr->dct_table; coef = dq_transpose_8x8(coefp, dctp); } { static int16_t idct_constants[4] __attribute__ ((aligned (8))) = { 13573, 27779, 2700, 20091 }; int16x4_t c = vld1_s16(idct_constants); coef.half[0].val[2] = zero8; coef.half[1].val[0] = zero8; coef.half[1].val[2] = zero8; coef = transpose_8x8(idct_helper_8x8(c, coef)); coef.half[0].val[2] = zero8; coef.half[1].val[0] = zero8; coef.half[1].val[2] = zero8; coef = idct_helper_8x8(c, coef); } { int32x4_t half0 = vaddq_s32( vpaddlq_s16(vqaddq_s16(coef.half[0].val[0], coef.half[0].val[1])), vpaddlq_s16(vqaddq_s16(coef.half[0].val[2], coef.half[0].val[3]))); int32x4_t half1 = vaddq_s32( vpaddlq_s16(vqaddq_s16(coef.half[1].val[0], coef.half[1].val[1])), vpaddlq_s16(vqaddq_s16(coef.half[1].val[2], coef.half[1].val[3]))); int16x4_t all = vqrshrn_n_s32(vcombine_s32( vpadd_s32(vget_low_s32(half0), vget_high_s32(half0)), vpadd_s32(vget_low_s32(half1), vget_high_s32(half1))), 7 + 4); int16x4_t zero4 = vdup_n_s16(0); uint8x8_t result = vreinterpret_u8_s8(vqmovn_s16(vcombine_s16(all, zero4))); uint8x8_t v128 = vdup_n_u8(128); result = vadd_u8(result, v128); # 1457 "jsimd_arm.c" uint8_t buf[16]; uint8_t* bufp = (uint8_t*) (((int) &buf[8]) & ~7); vst1_u8(bufp, result); *((uint16_t*)(output_buf[0] + output_col)) = *((uint16_t*)&bufp[0]); *((uint16_t*)(output_buf[1] + output_col)) = *((uint16_t*)&bufp[2]); } } void jsimd_idct_4x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) { if (!(simd_support & 0x10)) return; if ((simd_support & 0x20)) { jsimd_idct_4x4_neon(compptr->dct_table, coef_block, output_buf, output_col); return; } int16_8x8_t coef; int16x8_t zero8 = vdupq_n_s16(0); { const int16x8x4_t* coefp = (const int16x8x4_t*) coef_block; const int16x8x4_t* dctp = (const int16x8x4_t*) compptr->dct_table; coef = dq_transpose_8x8(coefp, dctp); } { static int16_t idct_constants[4] __attribute__ ((aligned (8))) = { 13573, 27779, 2700, 20091 }; int16x4_t c = vld1_s16(idct_constants); coef.half[1].val[0] = zero8; coef = transpose_8x8(idct_helper_8x8(c, coef)); coef.half[1].val[0] = zero8; coef = idct_helper_8x8(c, coef); } { uint8x16_t result; result = vreinterpretq_u8_s8(vcombine_s8( vqmovn_s16(vcombine_s16( vqrshrn_n_s32(vpaddlq_s16(vqaddq_s16(coef.half[0].val[0], coef.half[0].val[1])), 5 + 4), vqrshrn_n_s32(vpaddlq_s16(vqaddq_s16(coef.half[0].val[2], coef.half[0].val[3])), 5 + 4))), vqmovn_s16(vcombine_s16( vqrshrn_n_s32(vpaddlq_s16(vqaddq_s16(coef.half[1].val[0], coef.half[1].val[1])), 5 + 4), vqrshrn_n_s32(vpaddlq_s16(vqaddq_s16(coef.half[1].val[2], coef.half[1].val[3])), 5 + 4))))); uint8x16_t v128 = vdupq_n_u8(128); result = vaddq_u8(result, v128); # 1534 "jsimd_arm.c" uint8_t buf[32]; uint8_t* bufp = (uint8_t*) (((int) &buf[16]) & ~15); vst1q_u8(bufp, result); *((uint32_t*)(output_buf[0] + output_col)) = *((uint32_t*)&bufp[0]); *((uint32_t*)(output_buf[1] + output_col)) = *((uint32_t*)&bufp[4]); *((uint32_t*)(output_buf[2] + output_col)) = *((uint32_t*)&bufp[8]); *((uint32_t*)(output_buf[3] + output_col)) = *((uint32_t*)&bufp[12]); } } int jsimd_can_idct_islow (void) { init_simd(); return 0; } int jsimd_can_idct_ifast (void) { init_simd(); if (8 != 8) return 0; if (sizeof(JCOEF) != 2) return 0; if (8 != 8) return 0; if (sizeof(JDIMENSION) != 4) return 0; if (sizeof(IFAST_MULT_TYPE) != 2) return 0; if (2 != 2) return 0; if ((simd_support & 0x10)) { if ((simd_support & 0x20)) return 1; return 2; } return 0; } int jsimd_can_idct_float (void) { init_simd(); return 0; } void jsimd_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) { } void jsimd_idct_ifast (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) { if (!(simd_support & 0x10)) return; if ((simd_support & 0x20)) { jsimd_idct_ifast_neon(compptr->dct_table, coef_block, output_buf, output_col); return; } int16_8x8_t coef; { const int16x8x4_t* coefp = (const int16x8x4_t*) coef_block; const int16x8x4_t* dctp = (const int16x8x4_t*) compptr->dct_table; coef = dq_transpose_8x8(coefp, dctp); } { static int16_t idct_constants[4] __attribute__ ((aligned (8))) = { 13573, 27779, 2700, 20091 }; int16x4_t c = vld1_s16(idct_constants); coef = idct_helper_8x8(c, transpose_8x8(idct_helper_8x8(c, coef))); } { uint8x16x4_t result; result.val[0] = vreinterpretq_u8_s8(vcombine_s8( vqrshrn_n_s16(coef.half[0].val[0], 3 + 4), vqrshrn_n_s16(coef.half[0].val[1], 3 + 4))); result.val[1] = vreinterpretq_u8_s8(vcombine_s8( vqrshrn_n_s16(coef.half[0].val[2], 3 + 4), vqrshrn_n_s16(coef.half[0].val[3], 3 + 4))); result.val[2] = vreinterpretq_u8_s8(vcombine_s8( vqrshrn_n_s16(coef.half[1].val[0], 3 + 4), vqrshrn_n_s16(coef.half[1].val[1], 3 + 4))); result.val[3] = vreinterpretq_u8_s8(vcombine_s8( vqrshrn_n_s16(coef.half[1].val[2], 3 + 4), vqrshrn_n_s16(coef.half[1].val[3], 3 + 4))); uint8x16_t v128 = vdupq_n_u8(128); result.val[0] = vaddq_u8(result.val[0], v128); result.val[1] = vaddq_u8(result.val[1], v128); result.val[2] = vaddq_u8(result.val[2], v128); result.val[3] = vaddq_u8(result.val[3], v128); # 1672 "jsimd_arm.c" vst1_u8((uint8_t*)(output_buf[0] + output_col), vget_low_u8(result.val[0])); vst1_u8((uint8_t*)(output_buf[1] + output_col), vget_high_u8(result.val[0])); vst1_u8((uint8_t*)(output_buf[2] + output_col), vget_low_u8(result.val[1])); vst1_u8((uint8_t*)(output_buf[3] + output_col), vget_high_u8(result.val[1])); vst1_u8((uint8_t*)(output_buf[4] + output_col), vget_low_u8(result.val[2])); vst1_u8((uint8_t*)(output_buf[5] + output_col), vget_high_u8(result.val[2])); vst1_u8((uint8_t*)(output_buf[6] + output_col), vget_low_u8(result.val[3])); vst1_u8((uint8_t*)(output_buf[7] + output_col), vget_high_u8(result.val[3])); } } void jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, JCOEFPTR coef_block, JSAMPARRAY output_buf, JDIMENSION output_col) { }