| /* Arm MVE intrinsics include file. |
| |
| Copyright (C) 2020 Free Software Foundation, Inc. |
| Contributed by Arm. |
| |
| This file is part of GCC. |
| |
| GCC is free software; you can redistribute it and/or modify it |
| under the terms of the GNU General Public License as published |
| by the Free Software Foundation; either version 3, or (at your |
| option) any later version. |
| |
| GCC is distributed in the hope that it will be useful, but WITHOUT |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
| or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public |
| License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with GCC; see the file COPYING3. If not see |
| <http://www.gnu.org/licenses/>. */ |
| |
| #ifndef _GCC_ARM_MVE_TYPES_H |
| #define _GCC_ARM_MVE_TYPES_H |
| |
| #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ |
| typedef __fp16 float16_t; |
| typedef float float32_t; |
| typedef __simd128_float16_t float16x8_t; |
| typedef __simd128_float32_t float32x4_t; |
| |
| typedef struct { float16x8_t val[2]; } float16x8x2_t; |
| typedef struct { float16x8_t val[4]; } float16x8x4_t; |
| typedef struct { float32x4_t val[2]; } float32x4x2_t; |
| typedef struct { float32x4_t val[4]; } float32x4x4_t; |
| #endif |
| |
| typedef uint16_t mve_pred16_t; |
| typedef __simd128_uint8_t uint8x16_t; |
| typedef __simd128_uint16_t uint16x8_t; |
| typedef __simd128_uint32_t uint32x4_t; |
| typedef __simd128_uint64_t uint64x2_t; |
| typedef __simd128_int8_t int8x16_t; |
| typedef __simd128_int16_t int16x8_t; |
| typedef __simd128_int32_t int32x4_t; |
| typedef __simd128_int64_t int64x2_t; |
| |
| typedef struct { int16x8_t val[2]; } int16x8x2_t; |
| typedef struct { int16x8_t val[4]; } int16x8x4_t; |
| typedef struct { int32x4_t val[2]; } int32x4x2_t; |
| typedef struct { int32x4_t val[4]; } int32x4x4_t; |
| typedef struct { int8x16_t val[2]; } int8x16x2_t; |
| typedef struct { int8x16_t val[4]; } int8x16x4_t; |
| typedef struct { uint16x8_t val[2]; } uint16x8x2_t; |
| typedef struct { uint16x8_t val[4]; } uint16x8x4_t; |
| typedef struct { uint32x4_t val[2]; } uint32x4x2_t; |
| typedef struct { uint32x4_t val[4]; } uint32x4x4_t; |
| typedef struct { uint8x16_t val[2]; } uint8x16x2_t; |
| typedef struct { uint8x16_t val[4]; } uint8x16x4_t; |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_s32 (int32x4_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_s64 (int64x2_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_s8 (int8x16_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_u16 (uint16x8_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_u32 (uint32x4_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_u64 (uint64x2_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_u8 (uint8x16_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_s16 (int16x8_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_s64 (int64x2_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_s8 (int8x16_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_u16 (uint16x8_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_u32 (uint32x4_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_u64 (uint64x2_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_u8 (uint8x16_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_s16 (int16x8_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_s32 (int32x4_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_s8 (int8x16_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_u16 (uint16x8_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_u32 (uint32x4_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_u64 (uint64x2_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_u8 (uint8x16_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_s16 (int16x8_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_s32 (int32x4_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_s64 (int64x2_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_u16 (uint16x8_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_u32 (uint32x4_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_u64 (uint64x2_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_u8 (uint8x16_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_s16 (int16x8_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_s32 (int32x4_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_s64 (int64x2_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_s8 (int8x16_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_u32 (uint32x4_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_u64 (uint64x2_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_u8 (uint8x16_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_s16 (int16x8_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_s32 (int32x4_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_s64 (int64x2_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_s8 (int8x16_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_u16 (uint16x8_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_u64 (uint64x2_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_u8 (uint8x16_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_s16 (int16x8_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_s32 (int32x4_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_s64 (int64x2_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_s8 (int8x16_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_u16 (uint16x8_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_u32 (uint32x4_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_u8 (uint8x16_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_s16 (int16x8_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_s32 (int32x4_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_s64 (int64x2_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_s8 (int8x16_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_u16 (uint16x8_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_u32 (uint32x4_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_u64 (uint64x2_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_u8 (void) |
| { |
| uint8x16_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_u16 (void) |
| { |
| uint16x8_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_u32 (void) |
| { |
| uint32x4_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_u64 (void) |
| { |
| uint64x2_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_s8 (void) |
| { |
| int8x16_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_s16 (void) |
| { |
| int16x8_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_s32 (void) |
| { |
| int32x4_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_s64 (void) |
| { |
| int64x2_t __uninit; |
| __asm__ ("": "=w"(__uninit)); |
| return __uninit; |
| } |
| |
| #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_f16 (float16x8_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32_f32 (float32x4_t __a) |
| { |
| return (int32x4_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_f16 (float16x8_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16_f32 (float32x4_t __a) |
| { |
| return (int16x8_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_f16 (float16x8_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64_f32 (float32x4_t __a) |
| { |
| return (int64x2_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_f16 (float16x8_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8_f32 (float32x4_t __a) |
| { |
| return (int8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_f16 (float16x8_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16_f32 (float32x4_t __a) |
| { |
| return (uint16x8_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_f16 (float16x8_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32_f32 (float32x4_t __a) |
| { |
| return (uint32x4_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_f16 (float16x8_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64_f32 (float32x4_t __a) |
| { |
| return (uint64x2_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_f16 (float16x8_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8_f32 (float32x4_t __a) |
| { |
| return (uint8x16_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_f32 (float32x4_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_s16 (int16x8_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_s32 (int32x4_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_s64 (int64x2_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_s8 (int8x16_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_u16 (uint16x8_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_u32 (uint32x4_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_u64 (uint64x2_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16_u8 (uint8x16_t __a) |
| { |
| return (float16x8_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_f16 (float16x8_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_s16 (int16x8_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_s32 (int32x4_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_s64 (int64x2_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_s8 (int8x16_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_u16 (uint16x8_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_u32 (uint32x4_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_u64 (uint64x2_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32_u8 (uint8x16_t __a) |
| { |
| return (float32x4_t) __a; |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_f16 (void) |
| { |
| float16x8_t __uninit; |
| __asm__ ("": "=w" (__uninit)); |
| return __uninit; |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq_f32 (void) |
| { |
| float32x4_t __uninit; |
| __asm__ ("": "=w" (__uninit)); |
| return __uninit; |
| } |
| |
| #endif |
| |
| #ifdef __cplusplus |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_s16_s32 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_s16_s64 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_s16_s8 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_s16_u16 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_s16_u32 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_s16_u64 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_s16_u8 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_s32_s16 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_s32_s64 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_s32_s8 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_s32_u16 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_s32_u32 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_s32_u64 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_s32_u8 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_s64_s16 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_s64_s32 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_s64_s8 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_s64_u16 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_s64_u32 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_s64_u64 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_s64_u8 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_s8_s16 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_s8_s32 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_s8_s64 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_s8_u16 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_s8_u32 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_s8_u64 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_s8_u8 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_u16_s16 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_u16_s32 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_u16_s64 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_u16_s8 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_u16_u32 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_u16_u64 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_u16_u8 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_u32_s16 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_u32_s32 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_u32_s64 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_u32_s8 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_u32_u16 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_u32_u64 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_u32_u8 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_u64_s16 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_u64_s32 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_u64_s64 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_u64_s8 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_u64_u16 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_u64_u32 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_u64_u8 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_u8_s16 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_u8_s32 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_u8_s64 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_u8_s8 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_u8_u16 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_u8_u32 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_u8_u64 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (uint8x16_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_u8 (); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (uint16x8_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_u16 (); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (uint32x4_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_u32 (); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (uint64x2_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_u64 (); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (int8x16_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_s8 (); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (int16x8_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_s16 (); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (int32x4_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_s32 (); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (int64x2_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_s64 (); |
| } |
| |
| #if (__ARM_FEATURE_MVE & 2) /* MVE Floating point. */ |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_s32_f16 (__a); |
| } |
| |
| __extension__ extern __inline int32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s32 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_s32_f32 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_s16_f16 (__a); |
| } |
| |
| __extension__ extern __inline int16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s16 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_s16_f32 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_s64_f16 (__a); |
| } |
| |
| __extension__ extern __inline int64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s64 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_s64_f32 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_s8_f16 (__a); |
| } |
| |
| __extension__ extern __inline int8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_s8 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_s8_f32 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_u16_f16 (__a); |
| } |
| |
| __extension__ extern __inline uint16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u16 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_u16_f32 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_u32_f16 (__a); |
| } |
| |
| __extension__ extern __inline uint32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u32 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_u32_f32 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_u64_f16 (__a); |
| } |
| |
| __extension__ extern __inline uint64x2_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u64 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_u64_f32 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_u8_f16 (__a); |
| } |
| |
| __extension__ extern __inline uint8x16_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_u8 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_u8_f32 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (float32x4_t __a) |
| { |
| return __arm_vreinterpretq_f16_f32 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_f16_s16 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_f16_s32 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_f16_s64 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_f16_s8 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_f16_u16 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_f16_u32 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_f16_u64 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f16 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_f16_u8 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (float16x8_t __a) |
| { |
| return __arm_vreinterpretq_f32_f16 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (int16x8_t __a) |
| { |
| return __arm_vreinterpretq_f32_s16 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (int32x4_t __a) |
| { |
| return __arm_vreinterpretq_f32_s32 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (int64x2_t __a) |
| { |
| return __arm_vreinterpretq_f32_s64 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (int8x16_t __a) |
| { |
| return __arm_vreinterpretq_f32_s8 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (uint16x8_t __a) |
| { |
| return __arm_vreinterpretq_f32_u16 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (uint32x4_t __a) |
| { |
| return __arm_vreinterpretq_f32_u32 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (uint64x2_t __a) |
| { |
| return __arm_vreinterpretq_f32_u64 (__a); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vreinterpretq_f32 (uint8x16_t __a) |
| { |
| return __arm_vreinterpretq_f32_u8 (__a); |
| } |
| |
| __extension__ extern __inline float16x8_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (float16x8_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_f16 (); |
| } |
| |
| __extension__ extern __inline float32x4_t |
| __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) |
| __arm_vuninitializedq (float32x4_t /* __v ATTRIBUTE UNUSED */) |
| { |
| return __arm_vuninitializedq_f32 (); |
| } |
| #endif /* __ARM_FEATURE_MVE & 2 (MVE floating point) */ |
| #endif /* __cplusplus */ |
| |
| #endif /* _GCC_ARM_MVE_H. */ |