#include <arm_neon.h>

Shifts & inserts

Shifts by immediate or by register, with rounding, saturating and narrowing/widening forms, shift-and-accumulate, and shift-and-insert.

intrinsic family of arm_neon.h
264 macros · 84 functions

functionvqrshlq_u8

__ai __attribute__((target("neon")))
uint8x16_t vqrshlq_u8(uint8x16_t __p0, int8x16_t __p1)

functionvqrshlq_u32

__ai __attribute__((target("neon")))
uint32x4_t vqrshlq_u32(uint32x4_t __p0, int32x4_t __p1)

functionvqrshlq_u64

__ai __attribute__((target("neon")))
uint64x2_t vqrshlq_u64(uint64x2_t __p0, int64x2_t __p1)

functionvqrshlq_u16

__ai __attribute__((target("neon")))
uint16x8_t vqrshlq_u16(uint16x8_t __p0, int16x8_t __p1)

functionvqrshlq_s8

__ai __attribute__((target("neon")))
int8x16_t vqrshlq_s8(int8x16_t __p0, int8x16_t __p1)

functionvqrshlq_s32

__ai __attribute__((target("neon")))
int32x4_t vqrshlq_s32(int32x4_t __p0, int32x4_t __p1)

functionvqrshlq_s64

__ai __attribute__((target("neon")))
int64x2_t vqrshlq_s64(int64x2_t __p0, int64x2_t __p1)

functionvqrshlq_s16

__ai __attribute__((target("neon")))
int16x8_t vqrshlq_s16(int16x8_t __p0, int16x8_t __p1)

functionvqrshl_u8

__ai __attribute__((target("neon")))
uint8x8_t vqrshl_u8(uint8x8_t __p0, int8x8_t __p1)

functionvqrshl_u32

__ai __attribute__((target("neon")))
uint32x2_t vqrshl_u32(uint32x2_t __p0, int32x2_t __p1)

functionvqrshl_u64

__ai __attribute__((target("neon")))
uint64x1_t vqrshl_u64(uint64x1_t __p0, int64x1_t __p1)

functionvqrshl_u16

__ai __attribute__((target("neon")))
uint16x4_t vqrshl_u16(uint16x4_t __p0, int16x4_t __p1)

functionvqrshl_s8

__ai __attribute__((target("neon")))
int8x8_t vqrshl_s8(int8x8_t __p0, int8x8_t __p1)

functionvqrshl_s32

__ai __attribute__((target("neon")))
int32x2_t vqrshl_s32(int32x2_t __p0, int32x2_t __p1)

functionvqrshl_s64

__ai __attribute__((target("neon")))
int64x1_t vqrshl_s64(int64x1_t __p0, int64x1_t __p1)

functionvqrshl_s16

__ai __attribute__((target("neon")))
int16x4_t vqrshl_s16(int16x4_t __p0, int16x4_t __p1)

macrovqrshrn_n_u32

#define vqrshrn_n_u32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovqrshrn_n_u64

#define vqrshrn_n_u64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovqrshrn_n_u16

#define vqrshrn_n_u16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

macrovqrshrn_n_s32

#define vqrshrn_n_s32(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 1));
  __ret;
})

macrovqrshrn_n_s64

#define vqrshrn_n_s64(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 2));
  __ret;
})

macrovqrshrn_n_s16

#define vqrshrn_n_s16(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vqrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 0));
  __ret;
})

macrovqrshrun_n_s32

#define vqrshrun_n_s32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqrshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovqrshrun_n_s64

#define vqrshrun_n_s64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqrshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovqrshrun_n_s16

#define vqrshrun_n_s16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqrshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

functionvqshlq_u8

__ai __attribute__((target("neon")))
uint8x16_t vqshlq_u8(uint8x16_t __p0, int8x16_t __p1)

functionvqshlq_u32

__ai __attribute__((target("neon")))
uint32x4_t vqshlq_u32(uint32x4_t __p0, int32x4_t __p1)

functionvqshlq_u64

__ai __attribute__((target("neon")))
uint64x2_t vqshlq_u64(uint64x2_t __p0, int64x2_t __p1)

functionvqshlq_u16

__ai __attribute__((target("neon")))
uint16x8_t vqshlq_u16(uint16x8_t __p0, int16x8_t __p1)

functionvqshlq_s8

__ai __attribute__((target("neon")))
int8x16_t vqshlq_s8(int8x16_t __p0, int8x16_t __p1)

functionvqshlq_s32

__ai __attribute__((target("neon")))
int32x4_t vqshlq_s32(int32x4_t __p0, int32x4_t __p1)

functionvqshlq_s64

__ai __attribute__((target("neon")))
int64x2_t vqshlq_s64(int64x2_t __p0, int64x2_t __p1)

functionvqshlq_s16

__ai __attribute__((target("neon")))
int16x8_t vqshlq_s16(int16x8_t __p0, int16x8_t __p1)

functionvqshl_u8

__ai __attribute__((target("neon")))
uint8x8_t vqshl_u8(uint8x8_t __p0, int8x8_t __p1)

functionvqshl_u32

__ai __attribute__((target("neon")))
uint32x2_t vqshl_u32(uint32x2_t __p0, int32x2_t __p1)

functionvqshl_u64

__ai __attribute__((target("neon")))
uint64x1_t vqshl_u64(uint64x1_t __p0, int64x1_t __p1)

functionvqshl_u16

__ai __attribute__((target("neon")))
uint16x4_t vqshl_u16(uint16x4_t __p0, int16x4_t __p1)

functionvqshl_s8

__ai __attribute__((target("neon")))
int8x8_t vqshl_s8(int8x8_t __p0, int8x8_t __p1)

functionvqshl_s32

__ai __attribute__((target("neon")))
int32x2_t vqshl_s32(int32x2_t __p0, int32x2_t __p1)

functionvqshl_s64

__ai __attribute__((target("neon")))
int64x1_t vqshl_s64(int64x1_t __p0, int64x1_t __p1)

functionvqshl_s16

__ai __attribute__((target("neon")))
int16x4_t vqshl_s16(int16x4_t __p0, int16x4_t __p1)

macrovqshlq_n_u8

#define vqshlq_n_u8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrovqshlq_n_u32

#define vqshlq_n_u32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrovqshlq_n_u64

#define vqshlq_n_u64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrovqshlq_n_u16

#define vqshlq_n_u16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrovqshlq_n_s8

#define vqshlq_n_s8(__p0, __p1) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 32));
  __ret;
})

macrovqshlq_n_s32

#define vqshlq_n_s32(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 34));
  __ret;
})

macrovqshlq_n_s64

#define vqshlq_n_s64(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 35));
  __ret;
})

macrovqshlq_n_s16

#define vqshlq_n_s16(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vqshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 33));
  __ret;
})

macrovqshl_n_u8

#define vqshl_n_u8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrovqshl_n_u32

#define vqshl_n_u32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrovqshl_n_u64

#define vqshl_n_u64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrovqshl_n_u16

#define vqshl_n_u16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrovqshl_n_s8

#define vqshl_n_s8(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 0));
  __ret;
})

macrovqshl_n_s32

#define vqshl_n_s32(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 2));
  __ret;
})

macrovqshl_n_s64

#define vqshl_n_s64(__p0, __p1) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 3));
  __ret;
})

macrovqshl_n_s16

#define vqshl_n_s16(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vqshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 1));
  __ret;
})

macrovqshluq_n_s8

#define vqshluq_n_s8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vqshluq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrovqshluq_n_s32

#define vqshluq_n_s32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vqshluq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrovqshluq_n_s64

#define vqshluq_n_s64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vqshluq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrovqshluq_n_s16

#define vqshluq_n_s16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vqshluq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrovqshlu_n_s8

#define vqshlu_n_s8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqshlu_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrovqshlu_n_s32

#define vqshlu_n_s32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqshlu_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrovqshlu_n_s64

#define vqshlu_n_s64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vqshlu_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrovqshlu_n_s16

#define vqshlu_n_s16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqshlu_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrovqshrn_n_u32

#define vqshrn_n_u32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovqshrn_n_u64

#define vqshrn_n_u64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovqshrn_n_u16

#define vqshrn_n_u16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

macrovqshrn_n_s32

#define vqshrn_n_s32(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 1));
  __ret;
})

macrovqshrn_n_s64

#define vqshrn_n_s64(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 2));
  __ret;
})

macrovqshrn_n_s16

#define vqshrn_n_s16(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vqshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 0));
  __ret;
})

macrovqshrun_n_s32

#define vqshrun_n_s32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vqshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovqshrun_n_s64

#define vqshrun_n_s64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vqshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovqshrun_n_s16

#define vqshrun_n_s16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vqshrun_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

functionvrshlq_u8

__ai __attribute__((target("neon")))
uint8x16_t vrshlq_u8(uint8x16_t __p0, int8x16_t __p1)

functionvrshlq_u32

__ai __attribute__((target("neon")))
uint32x4_t vrshlq_u32(uint32x4_t __p0, int32x4_t __p1)

functionvrshlq_u64

__ai __attribute__((target("neon")))
uint64x2_t vrshlq_u64(uint64x2_t __p0, int64x2_t __p1)

functionvrshlq_u16

__ai __attribute__((target("neon")))
uint16x8_t vrshlq_u16(uint16x8_t __p0, int16x8_t __p1)

functionvrshlq_s8

__ai __attribute__((target("neon")))
int8x16_t vrshlq_s8(int8x16_t __p0, int8x16_t __p1)

functionvrshlq_s32

__ai __attribute__((target("neon")))
int32x4_t vrshlq_s32(int32x4_t __p0, int32x4_t __p1)

functionvrshlq_s64

__ai __attribute__((target("neon")))
int64x2_t vrshlq_s64(int64x2_t __p0, int64x2_t __p1)

functionvrshlq_s16

__ai __attribute__((target("neon")))
int16x8_t vrshlq_s16(int16x8_t __p0, int16x8_t __p1)

functionvrshl_u8

__ai __attribute__((target("neon")))
uint8x8_t vrshl_u8(uint8x8_t __p0, int8x8_t __p1)

functionvrshl_u32

__ai __attribute__((target("neon")))
uint32x2_t vrshl_u32(uint32x2_t __p0, int32x2_t __p1)

functionvrshl_u64

__ai __attribute__((target("neon")))
uint64x1_t vrshl_u64(uint64x1_t __p0, int64x1_t __p1)

functionvrshl_u16

__ai __attribute__((target("neon")))
uint16x4_t vrshl_u16(uint16x4_t __p0, int16x4_t __p1)

functionvrshl_s8

__ai __attribute__((target("neon")))
int8x8_t vrshl_s8(int8x8_t __p0, int8x8_t __p1)

functionvrshl_s32

__ai __attribute__((target("neon")))
int32x2_t vrshl_s32(int32x2_t __p0, int32x2_t __p1)

functionvrshl_s64

__ai __attribute__((target("neon")))
int64x1_t vrshl_s64(int64x1_t __p0, int64x1_t __p1)

functionvrshl_s16

__ai __attribute__((target("neon")))
int16x4_t vrshl_s16(int16x4_t __p0, int16x4_t __p1)

macrovrshrq_n_u8

#define vrshrq_n_u8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrovrshrq_n_u32

#define vrshrq_n_u32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrovrshrq_n_u64

#define vrshrq_n_u64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrovrshrq_n_u16

#define vrshrq_n_u16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrovrshrq_n_s8

#define vrshrq_n_s8(__p0, __p1) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 32));
  __ret;
})

macrovrshrq_n_s32

#define vrshrq_n_s32(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 34));
  __ret;
})

macrovrshrq_n_s64

#define vrshrq_n_s64(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 35));
  __ret;
})

macrovrshrq_n_s16

#define vrshrq_n_s16(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vrshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 33));
  __ret;
})

macrovrshr_n_u8

#define vrshr_n_u8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrovrshr_n_u32

#define vrshr_n_u32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrovrshr_n_u64

#define vrshr_n_u64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrovrshr_n_u16

#define vrshr_n_u16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrovrshr_n_s8

#define vrshr_n_s8(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 0));
  __ret;
})

macrovrshr_n_s32

#define vrshr_n_s32(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 2));
  __ret;
})

macrovrshr_n_s64

#define vrshr_n_s64(__p0, __p1) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 3));
  __ret;
})

macrovrshr_n_s16

#define vrshr_n_s16(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vrshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 1));
  __ret;
})

macrovrshrn_n_u32

#define vrshrn_n_u32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovrshrn_n_u64

#define vrshrn_n_u64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovrshrn_n_u16

#define vrshrn_n_u16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

macrovrshrn_n_s32

#define vrshrn_n_s32(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 1));
  __ret;
})

macrovrshrn_n_s64

#define vrshrn_n_s64(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 2));
  __ret;
})

macrovrshrn_n_s16

#define vrshrn_n_s16(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vrshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 0));
  __ret;
})

macrovrsraq_n_u8

#define vrsraq_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  uint8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 48));
  __ret;
})

macrovrsraq_n_u32

#define vrsraq_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  uint32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 50));
  __ret;
})

macrovrsraq_n_u64

#define vrsraq_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  uint64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 51));
  __ret;
})

macrovrsraq_n_u16

#define vrsraq_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  uint16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 49));
  __ret;
})

macrovrsraq_n_s8

#define vrsraq_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  int8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 32));
  __ret;
})

macrovrsraq_n_s32

#define vrsraq_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  int32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 34));
  __ret;
})

macrovrsraq_n_s64

#define vrsraq_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  int64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 35));
  __ret;
})

macrovrsraq_n_s16

#define vrsraq_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  int16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vrsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 33));
  __ret;
})

macrovrsra_n_u8

#define vrsra_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  uint8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 16));
  __ret;
})

macrovrsra_n_u32

#define vrsra_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  uint32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 18));
  __ret;
})

macrovrsra_n_u64

#define vrsra_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  uint64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 19));
  __ret;
})

macrovrsra_n_u16

#define vrsra_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  uint16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 17));
  __ret;
})

macrovrsra_n_s8

#define vrsra_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  int8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 0));
  __ret;
})

macrovrsra_n_s32

#define vrsra_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  int32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 2));
  __ret;
})

macrovrsra_n_s64

#define vrsra_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  int64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 3));
  __ret;
})

macrovrsra_n_s16

#define vrsra_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  int16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vrsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 1));
  __ret;
})

functionvshlq_u8

__ai __attribute__((target("neon")))
uint8x16_t vshlq_u8(uint8x16_t __p0, int8x16_t __p1)

functionvshlq_u32

__ai __attribute__((target("neon")))
uint32x4_t vshlq_u32(uint32x4_t __p0, int32x4_t __p1)

functionvshlq_u64

__ai __attribute__((target("neon")))
uint64x2_t vshlq_u64(uint64x2_t __p0, int64x2_t __p1)

functionvshlq_u16

__ai __attribute__((target("neon")))
uint16x8_t vshlq_u16(uint16x8_t __p0, int16x8_t __p1)

functionvshlq_s8

__ai __attribute__((target("neon")))
int8x16_t vshlq_s8(int8x16_t __p0, int8x16_t __p1)

functionvshlq_s32

__ai __attribute__((target("neon")))
int32x4_t vshlq_s32(int32x4_t __p0, int32x4_t __p1)

functionvshlq_s64

__ai __attribute__((target("neon")))
int64x2_t vshlq_s64(int64x2_t __p0, int64x2_t __p1)

functionvshlq_s16

__ai __attribute__((target("neon")))
int16x8_t vshlq_s16(int16x8_t __p0, int16x8_t __p1)

functionvshl_u8

__ai __attribute__((target("neon")))
uint8x8_t vshl_u8(uint8x8_t __p0, int8x8_t __p1)

functionvshl_u32

__ai __attribute__((target("neon")))
uint32x2_t vshl_u32(uint32x2_t __p0, int32x2_t __p1)

functionvshl_u64

__ai __attribute__((target("neon")))
uint64x1_t vshl_u64(uint64x1_t __p0, int64x1_t __p1)

functionvshl_u16

__ai __attribute__((target("neon")))
uint16x4_t vshl_u16(uint16x4_t __p0, int16x4_t __p1)

functionvshl_s8

__ai __attribute__((target("neon")))
int8x8_t vshl_s8(int8x8_t __p0, int8x8_t __p1)

functionvshl_s32

__ai __attribute__((target("neon")))
int32x2_t vshl_s32(int32x2_t __p0, int32x2_t __p1)

functionvshl_s64

__ai __attribute__((target("neon")))
int64x1_t vshl_s64(int64x1_t __p0, int64x1_t __p1)

functionvshl_s16

__ai __attribute__((target("neon")))
int16x4_t vshl_s16(int16x4_t __p0, int16x4_t __p1)

macrovshlq_n_u8

#define vshlq_n_u8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrovshlq_n_u32

#define vshlq_n_u32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrovshlq_n_u64

#define vshlq_n_u64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrovshlq_n_u16

#define vshlq_n_u16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrovshlq_n_s8

#define vshlq_n_s8(__p0, __p1) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 32));
  __ret;
})

macrovshlq_n_s32

#define vshlq_n_s32(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 34));
  __ret;
})

macrovshlq_n_s64

#define vshlq_n_s64(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 35));
  __ret;
})

macrovshlq_n_s16

#define vshlq_n_s16(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vshlq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 33));
  __ret;
})

macrovshl_n_u8

#define vshl_n_u8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrovshl_n_u32

#define vshl_n_u32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrovshl_n_u64

#define vshl_n_u64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrovshl_n_u16

#define vshl_n_u16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrovshl_n_s8

#define vshl_n_s8(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 0));
  __ret;
})

macrovshl_n_s32

#define vshl_n_s32(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 2));
  __ret;
})

macrovshl_n_s64

#define vshl_n_s64(__p0, __p1) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 3));
  __ret;
})

macrovshl_n_s16

#define vshl_n_s16(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vshl_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 1));
  __ret;
})

macrovshll_n_u8

#define vshll_n_u8(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 49));
  __ret;
})

macrovshll_n_u32

#define vshll_n_u32(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 51));
  __ret;
})

macrovshll_n_u16

#define vshll_n_u16(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 50));
  __ret;
})

macrovshll_n_s8

#define vshll_n_s8(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 33));
  __ret;
})

macrovshll_n_s32

#define vshll_n_s32(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 35));
  __ret;
})

macrovshll_n_s16

#define vshll_n_s16(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vshll_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 34));
  __ret;
})

macrovshrq_n_u8

#define vshrq_n_u8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrovshrq_n_u32

#define vshrq_n_u32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrovshrq_n_u64

#define vshrq_n_u64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrovshrq_n_u16

#define vshrq_n_u16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrovshrq_n_s8

#define vshrq_n_s8(__p0, __p1) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 32));
  __ret;
})

macrovshrq_n_s32

#define vshrq_n_s32(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 34));
  __ret;
})

macrovshrq_n_s64

#define vshrq_n_s64(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 35));
  __ret;
})

macrovshrq_n_s16

#define vshrq_n_s16(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vshrq_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 33));
  __ret;
})

macrovshr_n_u8

#define vshr_n_u8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrovshr_n_u32

#define vshr_n_u32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrovshr_n_u64

#define vshr_n_u64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrovshr_n_u16

#define vshr_n_u16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrovshr_n_s8

#define vshr_n_s8(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 0));
  __ret;
})

macrovshr_n_s32

#define vshr_n_s32(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 2));
  __ret;
})

macrovshr_n_s64

#define vshr_n_s64(__p0, __p1) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 3));
  __ret;
})

macrovshr_n_s16

#define vshr_n_s16(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vshr_n_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 1));
  __ret;
})

macrovshrn_n_u32

#define vshrn_n_u32(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 17));
  __ret;
})

macrovshrn_n_u64

#define vshrn_n_u64(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 18));
  __ret;
})

macrovshrn_n_u16

#define vshrn_n_u16(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 16));
  __ret;
})

macrovshrn_n_s32

#define vshrn_n_s32(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 1));
  __ret;
})

macrovshrn_n_s64

#define vshrn_n_s64(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 2));
  __ret;
})

macrovshrn_n_s16

#define vshrn_n_s16(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vshrn_n_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 0));
  __ret;
})

macrovsli_n_p8

#define vsli_n_p8(__p0, __p1, __p2) __extension__ ({
  poly8x8_t __ret;
  poly8x8_t __s0 = __p0;
  poly8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 4));
  __ret;
})

macrovsli_n_p16

#define vsli_n_p16(__p0, __p1, __p2) __extension__ ({
  poly16x4_t __ret;
  poly16x4_t __s0 = __p0;
  poly16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 5));
  __ret;
})

macrovsliq_n_p8

#define vsliq_n_p8(__p0, __p1, __p2) __extension__ ({
  poly8x16_t __ret;
  poly8x16_t __s0 = __p0;
  poly8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 36));
  __ret;
})

macrovsliq_n_p16

#define vsliq_n_p16(__p0, __p1, __p2) __extension__ ({
  poly16x8_t __ret;
  poly16x8_t __s0 = __p0;
  poly16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 37));
  __ret;
})

macrovsliq_n_u8

#define vsliq_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  uint8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 48));
  __ret;
})

macrovsliq_n_u32

#define vsliq_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  uint32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 50));
  __ret;
})

macrovsliq_n_u64

#define vsliq_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  uint64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 51));
  __ret;
})

macrovsliq_n_u16

#define vsliq_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  uint16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 49));
  __ret;
})

macrovsliq_n_s8

#define vsliq_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  int8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 32));
  __ret;
})

macrovsliq_n_s32

#define vsliq_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  int32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 34));
  __ret;
})

macrovsliq_n_s64

#define vsliq_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  int64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 35));
  __ret;
})

macrovsliq_n_s16

#define vsliq_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  int16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 33));
  __ret;
})

macrovsli_n_u8

#define vsli_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  uint8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 16));
  __ret;
})

macrovsli_n_u32

#define vsli_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  uint32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 18));
  __ret;
})

macrovsli_n_u64

#define vsli_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  uint64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 19));
  __ret;
})

macrovsli_n_u16

#define vsli_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  uint16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 17));
  __ret;
})

macrovsli_n_s8

#define vsli_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  int8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 0));
  __ret;
})

macrovsli_n_s32

#define vsli_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  int32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 2));
  __ret;
})

macrovsli_n_s64

#define vsli_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  int64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 3));
  __ret;
})

macrovsli_n_s16

#define vsli_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  int16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 1));
  __ret;
})

macrovsraq_n_u8

#define vsraq_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  uint8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 48));
  __ret;
})

macrovsraq_n_u32

#define vsraq_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  uint32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 50));
  __ret;
})

macrovsraq_n_u64

#define vsraq_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  uint64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 51));
  __ret;
})

macrovsraq_n_u16

#define vsraq_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  uint16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 49));
  __ret;
})

macrovsraq_n_s8

#define vsraq_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  int8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 32));
  __ret;
})

macrovsraq_n_s32

#define vsraq_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  int32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 34));
  __ret;
})

macrovsraq_n_s64

#define vsraq_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  int64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 35));
  __ret;
})

macrovsraq_n_s16

#define vsraq_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  int16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vsraq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 33));
  __ret;
})

macrovsra_n_u8

#define vsra_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  uint8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 16));
  __ret;
})

macrovsra_n_u32

#define vsra_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  uint32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 18));
  __ret;
})

macrovsra_n_u64

#define vsra_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  uint64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 19));
  __ret;
})

macrovsra_n_u16

#define vsra_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  uint16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 17));
  __ret;
})

macrovsra_n_s8

#define vsra_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  int8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 0));
  __ret;
})

macrovsra_n_s32

#define vsra_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  int32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 2));
  __ret;
})

macrovsra_n_s64

#define vsra_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  int64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 3));
  __ret;
})

macrovsra_n_s16

#define vsra_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  int16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vsra_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 1));
  __ret;
})

macrovsri_n_p8

#define vsri_n_p8(__p0, __p1, __p2) __extension__ ({
  poly8x8_t __ret;
  poly8x8_t __s0 = __p0;
  poly8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 4));
  __ret;
})

macrovsri_n_p16

#define vsri_n_p16(__p0, __p1, __p2) __extension__ ({
  poly16x4_t __ret;
  poly16x4_t __s0 = __p0;
  poly16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 5));
  __ret;
})

macrovsriq_n_p8

#define vsriq_n_p8(__p0, __p1, __p2) __extension__ ({
  poly8x16_t __ret;
  poly8x16_t __s0 = __p0;
  poly8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 36));
  __ret;
})

macrovsriq_n_p16

#define vsriq_n_p16(__p0, __p1, __p2) __extension__ ({
  poly16x8_t __ret;
  poly16x8_t __s0 = __p0;
  poly16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 37));
  __ret;
})

macrovsriq_n_u8

#define vsriq_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x16_t __ret;
  uint8x16_t __s0 = __p0;
  uint8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 48));
  __ret;
})

macrovsriq_n_u32

#define vsriq_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x4_t __ret;
  uint32x4_t __s0 = __p0;
  uint32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 50));
  __ret;
})

macrovsriq_n_u64

#define vsriq_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x2_t __ret;
  uint64x2_t __s0 = __p0;
  uint64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 51));
  __ret;
})

macrovsriq_n_u16

#define vsriq_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x8_t __ret;
  uint16x8_t __s0 = __p0;
  uint16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 49));
  __ret;
})

macrovsriq_n_s8

#define vsriq_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x16_t __ret;
  int8x16_t __s0 = __p0;
  int8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 32));
  __ret;
})

macrovsriq_n_s32

#define vsriq_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x4_t __ret;
  int32x4_t __s0 = __p0;
  int32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 34));
  __ret;
})

macrovsriq_n_s64

#define vsriq_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x2_t __ret;
  int64x2_t __s0 = __p0;
  int64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 35));
  __ret;
})

macrovsriq_n_s16

#define vsriq_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x8_t __ret;
  int16x8_t __s0 = __p0;
  int16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 33));
  __ret;
})

macrovsri_n_u8

#define vsri_n_u8(__p0, __p1, __p2) __extension__ ({
  uint8x8_t __ret;
  uint8x8_t __s0 = __p0;
  uint8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 16));
  __ret;
})

macrovsri_n_u32

#define vsri_n_u32(__p0, __p1, __p2) __extension__ ({
  uint32x2_t __ret;
  uint32x2_t __s0 = __p0;
  uint32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 18));
  __ret;
})

macrovsri_n_u64

#define vsri_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64x1_t __ret;
  uint64x1_t __s0 = __p0;
  uint64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 19));
  __ret;
})

macrovsri_n_u16

#define vsri_n_u16(__p0, __p1, __p2) __extension__ ({
  uint16x4_t __ret;
  uint16x4_t __s0 = __p0;
  uint16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 17));
  __ret;
})

macrovsri_n_s8

#define vsri_n_s8(__p0, __p1, __p2) __extension__ ({
  int8x8_t __ret;
  int8x8_t __s0 = __p0;
  int8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 0));
  __ret;
})

macrovsri_n_s32

#define vsri_n_s32(__p0, __p1, __p2) __extension__ ({
  int32x2_t __ret;
  int32x2_t __s0 = __p0;
  int32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 2));
  __ret;
})

macrovsri_n_s64

#define vsri_n_s64(__p0, __p1, __p2) __extension__ ({
  int64x1_t __ret;
  int64x1_t __s0 = __p0;
  int64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 3));
  __ret;
})

macrovsri_n_s16

#define vsri_n_s16(__p0, __p1, __p2) __extension__ ({
  int16x4_t __ret;
  int16x4_t __s0 = __p0;
  int16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 1));
  __ret;
})

functionvqrshlb_u8

__ai __attribute__((target("neon")))
uint8_t vqrshlb_u8(uint8_t __p0, int8_t __p1)

functionvqrshls_u32

__ai __attribute__((target("neon")))
uint32_t vqrshls_u32(uint32_t __p0, int32_t __p1)

functionvqrshld_u64

__ai __attribute__((target("neon")))
uint64_t vqrshld_u64(uint64_t __p0, int64_t __p1)

functionvqrshlh_u16

__ai __attribute__((target("neon")))
uint16_t vqrshlh_u16(uint16_t __p0, int16_t __p1)

functionvqrshlb_s8

__ai __attribute__((target("neon")))
int8_t vqrshlb_s8(int8_t __p0, int8_t __p1)

functionvqrshls_s32

__ai __attribute__((target("neon")))
int32_t vqrshls_s32(int32_t __p0, int32_t __p1)

functionvqrshld_s64

__ai __attribute__((target("neon")))
int64_t vqrshld_s64(int64_t __p0, int64_t __p1)

functionvqrshlh_s16

__ai __attribute__((target("neon")))
int16_t vqrshlh_s16(int16_t __p0, int16_t __p1)

macrovqrshrn_high_n_u32

#define vqrshrn_high_n_u32(__p0_704, __p1_704, __p2_704) __extension__ ({
  uint16x8_t __ret_704;
  uint16x4_t __s0_704 = __p0_704;
  uint32x4_t __s1_704 = __p1_704;
  __ret_704 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_704), __builtin_bit_cast(uint16x4_t, vqrshrn_n_u32(__s1_704, __p2_704))));
  __ret_704;
})

macrovqrshrn_high_n_u64

#define vqrshrn_high_n_u64(__p0_706, __p1_706, __p2_706) __extension__ ({
  uint32x4_t __ret_706;
  uint32x2_t __s0_706 = __p0_706;
  uint64x2_t __s1_706 = __p1_706;
  __ret_706 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_706), __builtin_bit_cast(uint32x2_t, vqrshrn_n_u64(__s1_706, __p2_706))));
  __ret_706;
})

macrovqrshrn_high_n_u16

#define vqrshrn_high_n_u16(__p0_708, __p1_708, __p2_708) __extension__ ({
  uint8x16_t __ret_708;
  uint8x8_t __s0_708 = __p0_708;
  uint16x8_t __s1_708 = __p1_708;
  __ret_708 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_708), __builtin_bit_cast(uint8x8_t, vqrshrn_n_u16(__s1_708, __p2_708))));
  __ret_708;
})

macrovqrshrn_high_n_s32

#define vqrshrn_high_n_s32(__p0_710, __p1_710, __p2_710) __extension__ ({
  int16x8_t __ret_710;
  int16x4_t __s0_710 = __p0_710;
  int32x4_t __s1_710 = __p1_710;
  __ret_710 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_710), __builtin_bit_cast(int16x4_t, vqrshrn_n_s32(__s1_710, __p2_710))));
  __ret_710;
})

macrovqrshrn_high_n_s64

#define vqrshrn_high_n_s64(__p0_712, __p1_712, __p2_712) __extension__ ({
  int32x4_t __ret_712;
  int32x2_t __s0_712 = __p0_712;
  int64x2_t __s1_712 = __p1_712;
  __ret_712 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_712), __builtin_bit_cast(int32x2_t, vqrshrn_n_s64(__s1_712, __p2_712))));
  __ret_712;
})

macrovqrshrn_high_n_s16

#define vqrshrn_high_n_s16(__p0_714, __p1_714, __p2_714) __extension__ ({
  int8x16_t __ret_714;
  int8x8_t __s0_714 = __p0_714;
  int16x8_t __s1_714 = __p1_714;
  __ret_714 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_714), __builtin_bit_cast(int8x8_t, vqrshrn_n_s16(__s1_714, __p2_714))));
  __ret_714;
})

macrovqrshrns_n_u32

#define vqrshrns_n_u32(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint32_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vqrshrns_n_u32(__s0, __p1));
  __ret;
})

macrovqrshrnd_n_u64

#define vqrshrnd_n_u64(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vqrshrnd_n_u64(__s0, __p1));
  __ret;
})

macrovqrshrnh_n_u16

#define vqrshrnh_n_u16(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vqrshrnh_n_u16(__s0, __p1));
  __ret;
})

macrovqrshrns_n_s32

#define vqrshrns_n_s32(__p0, __p1) __extension__ ({
  int16_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vqrshrns_n_s32(__s0, __p1));
  __ret;
})

macrovqrshrnd_n_s64

#define vqrshrnd_n_s64(__p0, __p1) __extension__ ({
  int32_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vqrshrnd_n_s64(__s0, __p1));
  __ret;
})

macrovqrshrnh_n_s16

#define vqrshrnh_n_s16(__p0, __p1) __extension__ ({
  int8_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vqrshrnh_n_s16(__s0, __p1));
  __ret;
})

macrovqrshrun_high_n_s32

#define vqrshrun_high_n_s32(__p0_716, __p1_716, __p2_716) __extension__ ({
  int16x8_t __ret_716;
  int16x4_t __s0_716 = __p0_716;
  int32x4_t __s1_716 = __p1_716;
  __ret_716 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_716), __builtin_bit_cast(int16x4_t, vqrshrun_n_s32(__s1_716, __p2_716))));
  __ret_716;
})

macrovqrshrun_high_n_s64

#define vqrshrun_high_n_s64(__p0_718, __p1_718, __p2_718) __extension__ ({
  int32x4_t __ret_718;
  int32x2_t __s0_718 = __p0_718;
  int64x2_t __s1_718 = __p1_718;
  __ret_718 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_718), __builtin_bit_cast(int32x2_t, vqrshrun_n_s64(__s1_718, __p2_718))));
  __ret_718;
})

macrovqrshrun_high_n_s16

#define vqrshrun_high_n_s16(__p0_720, __p1_720, __p2_720) __extension__ ({
  int8x16_t __ret_720;
  int8x8_t __s0_720 = __p0_720;
  int16x8_t __s1_720 = __p1_720;
  __ret_720 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_720), __builtin_bit_cast(int8x8_t, vqrshrun_n_s16(__s1_720, __p2_720))));
  __ret_720;
})

macrovqrshruns_n_s32

#define vqrshruns_n_s32(__p0, __p1) __extension__ ({
  uint16_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vqrshruns_n_s32(__s0, __p1));
  __ret;
})

macrovqrshrund_n_s64

#define vqrshrund_n_s64(__p0, __p1) __extension__ ({
  uint32_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vqrshrund_n_s64(__s0, __p1));
  __ret;
})

macrovqrshrunh_n_s16

#define vqrshrunh_n_s16(__p0, __p1) __extension__ ({
  uint8_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vqrshrunh_n_s16(__s0, __p1));
  __ret;
})

functionvqshlb_u8

__ai __attribute__((target("neon")))
uint8_t vqshlb_u8(uint8_t __p0, int8_t __p1)

functionvqshls_u32

__ai __attribute__((target("neon")))
uint32_t vqshls_u32(uint32_t __p0, int32_t __p1)

functionvqshld_u64

__ai __attribute__((target("neon")))
uint64_t vqshld_u64(uint64_t __p0, int64_t __p1)

functionvqshlh_u16

__ai __attribute__((target("neon")))
uint16_t vqshlh_u16(uint16_t __p0, int16_t __p1)

functionvqshlb_s8

__ai __attribute__((target("neon")))
int8_t vqshlb_s8(int8_t __p0, int8_t __p1)

functionvqshls_s32

__ai __attribute__((target("neon")))
int32_t vqshls_s32(int32_t __p0, int32_t __p1)

functionvqshld_s64

__ai __attribute__((target("neon")))
int64_t vqshld_s64(int64_t __p0, int64_t __p1)

functionvqshlh_s16

__ai __attribute__((target("neon")))
int16_t vqshlh_s16(int16_t __p0, int16_t __p1)

macrovqshlb_n_u8

#define vqshlb_n_u8(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vqshlb_n_u8(__s0, __p1));
  __ret;
})

macrovqshls_n_u32

#define vqshls_n_u32(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint32_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vqshls_n_u32(__s0, __p1));
  __ret;
})

macrovqshld_n_u64

#define vqshld_n_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vqshld_n_u64(__s0, __p1));
  __ret;
})

macrovqshlh_n_u16

#define vqshlh_n_u16(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vqshlh_n_u16(__s0, __p1));
  __ret;
})

macrovqshlb_n_s8

#define vqshlb_n_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vqshlb_n_s8(__s0, __p1));
  __ret;
})

macrovqshls_n_s32

#define vqshls_n_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vqshls_n_s32(__s0, __p1));
  __ret;
})

macrovqshld_n_s64

#define vqshld_n_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vqshld_n_s64(__s0, __p1));
  __ret;
})

macrovqshlh_n_s16

#define vqshlh_n_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vqshlh_n_s16(__s0, __p1));
  __ret;
})

macrovqshlub_n_s8

#define vqshlub_n_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vqshlub_n_s8(__s0, __p1));
  __ret;
})

macrovqshlus_n_s32

#define vqshlus_n_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vqshlus_n_s32(__s0, __p1));
  __ret;
})

macrovqshlud_n_s64

#define vqshlud_n_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vqshlud_n_s64(__s0, __p1));
  __ret;
})

macrovqshluh_n_s16

#define vqshluh_n_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vqshluh_n_s16(__s0, __p1));
  __ret;
})

macrovqshrn_high_n_u32

#define vqshrn_high_n_u32(__p0_722, __p1_722, __p2_722) __extension__ ({
  uint16x8_t __ret_722;
  uint16x4_t __s0_722 = __p0_722;
  uint32x4_t __s1_722 = __p1_722;
  __ret_722 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_722), __builtin_bit_cast(uint16x4_t, vqshrn_n_u32(__s1_722, __p2_722))));
  __ret_722;
})

macrovqshrn_high_n_u64

#define vqshrn_high_n_u64(__p0_724, __p1_724, __p2_724) __extension__ ({
  uint32x4_t __ret_724;
  uint32x2_t __s0_724 = __p0_724;
  uint64x2_t __s1_724 = __p1_724;
  __ret_724 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_724), __builtin_bit_cast(uint32x2_t, vqshrn_n_u64(__s1_724, __p2_724))));
  __ret_724;
})

macrovqshrn_high_n_u16

#define vqshrn_high_n_u16(__p0_726, __p1_726, __p2_726) __extension__ ({
  uint8x16_t __ret_726;
  uint8x8_t __s0_726 = __p0_726;
  uint16x8_t __s1_726 = __p1_726;
  __ret_726 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_726), __builtin_bit_cast(uint8x8_t, vqshrn_n_u16(__s1_726, __p2_726))));
  __ret_726;
})

macrovqshrn_high_n_s32

#define vqshrn_high_n_s32(__p0_728, __p1_728, __p2_728) __extension__ ({
  int16x8_t __ret_728;
  int16x4_t __s0_728 = __p0_728;
  int32x4_t __s1_728 = __p1_728;
  __ret_728 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_728), __builtin_bit_cast(int16x4_t, vqshrn_n_s32(__s1_728, __p2_728))));
  __ret_728;
})

macrovqshrn_high_n_s64

#define vqshrn_high_n_s64(__p0_730, __p1_730, __p2_730) __extension__ ({
  int32x4_t __ret_730;
  int32x2_t __s0_730 = __p0_730;
  int64x2_t __s1_730 = __p1_730;
  __ret_730 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_730), __builtin_bit_cast(int32x2_t, vqshrn_n_s64(__s1_730, __p2_730))));
  __ret_730;
})

macrovqshrn_high_n_s16

#define vqshrn_high_n_s16(__p0_732, __p1_732, __p2_732) __extension__ ({
  int8x16_t __ret_732;
  int8x8_t __s0_732 = __p0_732;
  int16x8_t __s1_732 = __p1_732;
  __ret_732 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_732), __builtin_bit_cast(int8x8_t, vqshrn_n_s16(__s1_732, __p2_732))));
  __ret_732;
})

macrovqshrns_n_u32

#define vqshrns_n_u32(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint32_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vqshrns_n_u32(__s0, __p1));
  __ret;
})

macrovqshrnd_n_u64

#define vqshrnd_n_u64(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vqshrnd_n_u64(__s0, __p1));
  __ret;
})

macrovqshrnh_n_u16

#define vqshrnh_n_u16(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vqshrnh_n_u16(__s0, __p1));
  __ret;
})

macrovqshrns_n_s32

#define vqshrns_n_s32(__p0, __p1) __extension__ ({
  int16_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vqshrns_n_s32(__s0, __p1));
  __ret;
})

macrovqshrnd_n_s64

#define vqshrnd_n_s64(__p0, __p1) __extension__ ({
  int32_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vqshrnd_n_s64(__s0, __p1));
  __ret;
})

macrovqshrnh_n_s16

#define vqshrnh_n_s16(__p0, __p1) __extension__ ({
  int8_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vqshrnh_n_s16(__s0, __p1));
  __ret;
})

macrovqshrun_high_n_s32

#define vqshrun_high_n_s32(__p0_734, __p1_734, __p2_734) __extension__ ({
  int16x8_t __ret_734;
  int16x4_t __s0_734 = __p0_734;
  int32x4_t __s1_734 = __p1_734;
  __ret_734 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_734), __builtin_bit_cast(int16x4_t, vqshrun_n_s32(__s1_734, __p2_734))));
  __ret_734;
})

macrovqshrun_high_n_s64

#define vqshrun_high_n_s64(__p0_736, __p1_736, __p2_736) __extension__ ({
  int32x4_t __ret_736;
  int32x2_t __s0_736 = __p0_736;
  int64x2_t __s1_736 = __p1_736;
  __ret_736 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_736), __builtin_bit_cast(int32x2_t, vqshrun_n_s64(__s1_736, __p2_736))));
  __ret_736;
})

macrovqshrun_high_n_s16

#define vqshrun_high_n_s16(__p0_738, __p1_738, __p2_738) __extension__ ({
  int8x16_t __ret_738;
  int8x8_t __s0_738 = __p0_738;
  int16x8_t __s1_738 = __p1_738;
  __ret_738 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_738), __builtin_bit_cast(int8x8_t, vqshrun_n_s16(__s1_738, __p2_738))));
  __ret_738;
})

macrovqshruns_n_s32

#define vqshruns_n_s32(__p0, __p1) __extension__ ({
  uint16_t __ret;
  int32_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vqshruns_n_s32(__s0, __p1));
  __ret;
})

macrovqshrund_n_s64

#define vqshrund_n_s64(__p0, __p1) __extension__ ({
  uint32_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vqshrund_n_s64(__s0, __p1));
  __ret;
})

macrovqshrunh_n_s16

#define vqshrunh_n_s16(__p0, __p1) __extension__ ({
  uint8_t __ret;
  int16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vqshrunh_n_s16(__s0, __p1));
  __ret;
})

functionvrshld_u64

__ai __attribute__((target("neon")))
uint64_t vrshld_u64(uint64_t __p0, int64_t __p1)

functionvrshld_s64

__ai __attribute__((target("neon")))
int64_t vrshld_s64(int64_t __p0, int64_t __p1)

macrovrshrd_n_u64

#define vrshrd_n_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vrshrd_n_u64(__s0, __p1));
  __ret;
})

macrovrshrd_n_s64

#define vrshrd_n_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vrshrd_n_s64(__s0, __p1));
  __ret;
})

macrovrshrn_high_n_u32

#define vrshrn_high_n_u32(__p0_740, __p1_740, __p2_740) __extension__ ({
  uint16x8_t __ret_740;
  uint16x4_t __s0_740 = __p0_740;
  uint32x4_t __s1_740 = __p1_740;
  __ret_740 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_740), __builtin_bit_cast(uint16x4_t, vrshrn_n_u32(__s1_740, __p2_740))));
  __ret_740;
})

macrovrshrn_high_n_u64

#define vrshrn_high_n_u64(__p0_742, __p1_742, __p2_742) __extension__ ({
  uint32x4_t __ret_742;
  uint32x2_t __s0_742 = __p0_742;
  uint64x2_t __s1_742 = __p1_742;
  __ret_742 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_742), __builtin_bit_cast(uint32x2_t, vrshrn_n_u64(__s1_742, __p2_742))));
  __ret_742;
})

macrovrshrn_high_n_u16

#define vrshrn_high_n_u16(__p0_744, __p1_744, __p2_744) __extension__ ({
  uint8x16_t __ret_744;
  uint8x8_t __s0_744 = __p0_744;
  uint16x8_t __s1_744 = __p1_744;
  __ret_744 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_744), __builtin_bit_cast(uint8x8_t, vrshrn_n_u16(__s1_744, __p2_744))));
  __ret_744;
})

macrovrshrn_high_n_s32

#define vrshrn_high_n_s32(__p0_746, __p1_746, __p2_746) __extension__ ({
  int16x8_t __ret_746;
  int16x4_t __s0_746 = __p0_746;
  int32x4_t __s1_746 = __p1_746;
  __ret_746 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_746), __builtin_bit_cast(int16x4_t, vrshrn_n_s32(__s1_746, __p2_746))));
  __ret_746;
})

macrovrshrn_high_n_s64

#define vrshrn_high_n_s64(__p0_748, __p1_748, __p2_748) __extension__ ({
  int32x4_t __ret_748;
  int32x2_t __s0_748 = __p0_748;
  int64x2_t __s1_748 = __p1_748;
  __ret_748 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_748), __builtin_bit_cast(int32x2_t, vrshrn_n_s64(__s1_748, __p2_748))));
  __ret_748;
})

macrovrshrn_high_n_s16

#define vrshrn_high_n_s16(__p0_750, __p1_750, __p2_750) __extension__ ({
  int8x16_t __ret_750;
  int8x8_t __s0_750 = __p0_750;
  int16x8_t __s1_750 = __p1_750;
  __ret_750 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_750), __builtin_bit_cast(int8x8_t, vrshrn_n_s16(__s1_750, __p2_750))));
  __ret_750;
})

macrovrsrad_n_u64

#define vrsrad_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  uint64_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vrsrad_n_u64(__s0, __s1, __p2));
  __ret;
})

macrovrsrad_n_s64

#define vrsrad_n_s64(__p0, __p1, __p2) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  int64_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vrsrad_n_s64(__s0, __s1, __p2));
  __ret;
})

functionvshld_u64

__ai __attribute__((target("neon")))
uint64_t vshld_u64(uint64_t __p0, int64_t __p1)

functionvshld_s64

__ai __attribute__((target("neon")))
int64_t vshld_s64(int64_t __p0, int64_t __p1)

macrovshld_n_u64

#define vshld_n_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vshld_n_u64(__s0, __p1));
  __ret;
})

macrovshld_n_s64

#define vshld_n_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vshld_n_s64(__s0, __p1));
  __ret;
})

macrovshll_high_n_u8

#define vshll_high_n_u8(__p0_752, __p1_752) __extension__ ({
  uint16x8_t __ret_752;
  uint8x16_t __s0_752 = __p0_752;
  __ret_752 = __builtin_bit_cast(uint16x8_t, vshll_n_u8(vget_high_u8(__s0_752), __p1_752));
  __ret_752;
})

macrovshll_high_n_u32

#define vshll_high_n_u32(__p0_754, __p1_754) __extension__ ({
  uint64x2_t __ret_754;
  uint32x4_t __s0_754 = __p0_754;
  __ret_754 = __builtin_bit_cast(uint64x2_t, vshll_n_u32(vget_high_u32(__s0_754), __p1_754));
  __ret_754;
})

macrovshll_high_n_u16

#define vshll_high_n_u16(__p0_756, __p1_756) __extension__ ({
  uint32x4_t __ret_756;
  uint16x8_t __s0_756 = __p0_756;
  __ret_756 = __builtin_bit_cast(uint32x4_t, vshll_n_u16(vget_high_u16(__s0_756), __p1_756));
  __ret_756;
})

macrovshll_high_n_s8

#define vshll_high_n_s8(__p0_758, __p1_758) __extension__ ({
  int16x8_t __ret_758;
  int8x16_t __s0_758 = __p0_758;
  __ret_758 = __builtin_bit_cast(int16x8_t, vshll_n_s8(vget_high_s8(__s0_758), __p1_758));
  __ret_758;
})

macrovshll_high_n_s32

#define vshll_high_n_s32(__p0_760, __p1_760) __extension__ ({
  int64x2_t __ret_760;
  int32x4_t __s0_760 = __p0_760;
  __ret_760 = __builtin_bit_cast(int64x2_t, vshll_n_s32(vget_high_s32(__s0_760), __p1_760));
  __ret_760;
})

macrovshll_high_n_s16

#define vshll_high_n_s16(__p0_762, __p1_762) __extension__ ({
  int32x4_t __ret_762;
  int16x8_t __s0_762 = __p0_762;
  __ret_762 = __builtin_bit_cast(int32x4_t, vshll_n_s16(vget_high_s16(__s0_762), __p1_762));
  __ret_762;
})

macrovshrd_n_u64

#define vshrd_n_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vshrd_n_u64(__s0, __p1));
  __ret;
})

macrovshrd_n_s64

#define vshrd_n_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vshrd_n_s64(__s0, __p1));
  __ret;
})

macrovshrn_high_n_u32

#define vshrn_high_n_u32(__p0_764, __p1_764, __p2_764) __extension__ ({
  uint16x8_t __ret_764;
  uint16x4_t __s0_764 = __p0_764;
  uint32x4_t __s1_764 = __p1_764;
  __ret_764 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_764), __builtin_bit_cast(uint16x4_t, vshrn_n_u32(__s1_764, __p2_764))));
  __ret_764;
})

macrovshrn_high_n_u64

#define vshrn_high_n_u64(__p0_766, __p1_766, __p2_766) __extension__ ({
  uint32x4_t __ret_766;
  uint32x2_t __s0_766 = __p0_766;
  uint64x2_t __s1_766 = __p1_766;
  __ret_766 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_766), __builtin_bit_cast(uint32x2_t, vshrn_n_u64(__s1_766, __p2_766))));
  __ret_766;
})

macrovshrn_high_n_u16

#define vshrn_high_n_u16(__p0_768, __p1_768, __p2_768) __extension__ ({
  uint8x16_t __ret_768;
  uint8x8_t __s0_768 = __p0_768;
  uint16x8_t __s1_768 = __p1_768;
  __ret_768 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_768), __builtin_bit_cast(uint8x8_t, vshrn_n_u16(__s1_768, __p2_768))));
  __ret_768;
})

macrovshrn_high_n_s32

#define vshrn_high_n_s32(__p0_770, __p1_770, __p2_770) __extension__ ({
  int16x8_t __ret_770;
  int16x4_t __s0_770 = __p0_770;
  int32x4_t __s1_770 = __p1_770;
  __ret_770 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_770), __builtin_bit_cast(int16x4_t, vshrn_n_s32(__s1_770, __p2_770))));
  __ret_770;
})

macrovshrn_high_n_s64

#define vshrn_high_n_s64(__p0_772, __p1_772, __p2_772) __extension__ ({
  int32x4_t __ret_772;
  int32x2_t __s0_772 = __p0_772;
  int64x2_t __s1_772 = __p1_772;
  __ret_772 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_772), __builtin_bit_cast(int32x2_t, vshrn_n_s64(__s1_772, __p2_772))));
  __ret_772;
})

macrovshrn_high_n_s16

#define vshrn_high_n_s16(__p0_774, __p1_774, __p2_774) __extension__ ({
  int8x16_t __ret_774;
  int8x8_t __s0_774 = __p0_774;
  int16x8_t __s1_774 = __p1_774;
  __ret_774 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_774), __builtin_bit_cast(int8x8_t, vshrn_n_s16(__s1_774, __p2_774))));
  __ret_774;
})

macrovslid_n_u64

#define vslid_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  uint64_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vslid_n_u64(__s0, __s1, __p2));
  __ret;
})

macrovslid_n_s64

#define vslid_n_s64(__p0, __p1, __p2) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  int64_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vslid_n_s64(__s0, __s1, __p2));
  __ret;
})

macrovsli_n_p64

#define vsli_n_p64(__p0, __p1, __p2) __extension__ ({
  poly64x1_t __ret;
  poly64x1_t __s0 = __p0;
  poly64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_vsli_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 6));
  __ret;
})

macrovsliq_n_p64

#define vsliq_n_p64(__p0, __p1, __p2) __extension__ ({
  poly64x2_t __ret;
  poly64x2_t __s0 = __p0;
  poly64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsliq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 38));
  __ret;
})

macrovsrad_n_u64

#define vsrad_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  uint64_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vsrad_n_u64(__s0, __s1, __p2));
  __ret;
})

macrovsrad_n_s64

#define vsrad_n_s64(__p0, __p1, __p2) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  int64_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vsrad_n_s64(__s0, __s1, __p2));
  __ret;
})

macrovsrid_n_u64

#define vsrid_n_u64(__p0, __p1, __p2) __extension__ ({
  uint64_t __ret;
  uint64_t __s0 = __p0;
  uint64_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vsrid_n_u64(__s0, __s1, __p2));
  __ret;
})

macrovsrid_n_s64

#define vsrid_n_s64(__p0, __p1, __p2) __extension__ ({
  int64_t __ret;
  int64_t __s0 = __p0;
  int64_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vsrid_n_s64(__s0, __s1, __p2));
  __ret;
})

macrovsri_n_p64

#define vsri_n_p64(__p0, __p1, __p2) __extension__ ({
  poly64x1_t __ret;
  poly64x1_t __s0 = __p0;
  poly64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_vsri_n_v(__builtin_bit_cast(int8x8_t, __s0), __builtin_bit_cast(int8x8_t, __s1), __p2, 6));
  __ret;
})

macrovsriq_n_p64

#define vsriq_n_p64(__p0, __p1, __p2) __extension__ ({
  poly64x2_t __ret;
  poly64x2_t __s0 = __p0;
  poly64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsriq_n_v(__builtin_bit_cast(int8x16_t, __s0), __builtin_bit_cast(int8x16_t, __s1), __p2, 38));
  __ret;
})