#include <arm_neon.h>

Move, duplicate & lanes

Build vectors from scalars or halves, duplicate a lane, get/set/copy single lanes, and take the low or high half. The splat* macros are compiler helpers behind the _lane forms.

intrinsic family of arm_neon.h
302 macros · 106 functions

macrosplatq_lane_bf16

#define splatq_lane_bf16(__p0, __p1) __extension__ ({
  bfloat16x8_t __ret;
  bfloat16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16x8_t, __builtin_neon_splatq_lane_bf16(__builtin_bit_cast(int8x8_t, __s0), __p1, 11));
  __ret;
})

macrosplat_lane_bf16

#define splat_lane_bf16(__p0, __p1) __extension__ ({
  bfloat16x4_t __ret;
  bfloat16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16x4_t, __builtin_neon_splat_lane_bf16(__builtin_bit_cast(int8x8_t, __s0), __p1, 11));
  __ret;
})

macrosplatq_laneq_bf16

#define splatq_laneq_bf16(__p0, __p1) __extension__ ({
  bfloat16x8_t __ret;
  bfloat16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16x8_t, __builtin_neon_splatq_laneq_bf16(__builtin_bit_cast(int8x16_t, __s0), __p1, 43));
  __ret;
})

macrosplat_laneq_bf16

#define splat_laneq_bf16(__p0, __p1) __extension__ ({
  bfloat16x4_t __ret;
  bfloat16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16x4_t, __builtin_neon_splat_laneq_bf16(__builtin_bit_cast(int8x16_t, __s0), __p1, 43));
  __ret;
})

functionvcombine_bf16

__ai __attribute__((target("bf16,neon")))
bfloat16x8_t vcombine_bf16(bfloat16x4_t __p0, bfloat16x4_t __p1)

macrovcreate_bf16

#define vcreate_bf16(__p0) __extension__ ({
  bfloat16x4_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(bfloat16x4_t, __promote);
  __ret;
})

macrovduph_lane_bf16

#define vduph_lane_bf16(__p0, __p1) __extension__ ({
  bfloat16_t __ret;
  bfloat16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16_t, __builtin_neon_vduph_lane_bf16(__s0, __p1));
  __ret;
})

macrovdupq_lane_bf16

#define vdupq_lane_bf16(__p0_0, __p1_0) __extension__ ({
  bfloat16x8_t __ret_0;
  bfloat16x4_t __s0_0 = __p0_0;
  __ret_0 = splatq_lane_bf16(__s0_0, __p1_0);
  __ret_0;
})

macrovdup_lane_bf16

#define vdup_lane_bf16(__p0_2, __p1_2) __extension__ ({
  bfloat16x4_t __ret_2;
  bfloat16x4_t __s0_2 = __p0_2;
  __ret_2 = splat_lane_bf16(__s0_2, __p1_2);
  __ret_2;
})

macrovduph_laneq_bf16

#define vduph_laneq_bf16(__p0, __p1) __extension__ ({
  bfloat16_t __ret;
  bfloat16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16_t, __builtin_neon_vduph_laneq_bf16(__s0, __p1));
  __ret;
})

macrovdupq_laneq_bf16

#define vdupq_laneq_bf16(__p0_4, __p1_4) __extension__ ({
  bfloat16x8_t __ret_4;
  bfloat16x8_t __s0_4 = __p0_4;
  __ret_4 = splatq_laneq_bf16(__s0_4, __p1_4);
  __ret_4;
})

macrovdup_laneq_bf16

#define vdup_laneq_bf16(__p0_6, __p1_6) __extension__ ({
  bfloat16x4_t __ret_6;
  bfloat16x8_t __s0_6 = __p0_6;
  __ret_6 = splat_laneq_bf16(__s0_6, __p1_6);
  __ret_6;
})

functionvdupq_n_bf16

__ai __attribute__((target("bf16,neon")))
bfloat16x8_t vdupq_n_bf16(bfloat16_t __p0)

functionvdup_n_bf16

__ai __attribute__((target("bf16,neon")))
bfloat16x4_t vdup_n_bf16(bfloat16_t __p0)

functionvget_high_bf16

__ai __attribute__((target("bf16,neon")))
bfloat16x4_t vget_high_bf16(bfloat16x8_t __p0)

macrovgetq_lane_bf16

#define vgetq_lane_bf16(__p0, __p1) __extension__ ({
  bfloat16_t __ret;
  bfloat16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16_t, __builtin_neon_vgetq_lane_bf16(__s0, __p1));
  __ret;
})

macrovget_lane_bf16

#define vget_lane_bf16(__p0, __p1) __extension__ ({
  bfloat16_t __ret;
  bfloat16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(bfloat16_t, __builtin_neon_vget_lane_bf16(__s0, __p1));
  __ret;
})

functionvget_low_bf16

__ai __attribute__((target("bf16,neon")))
bfloat16x4_t vget_low_bf16(bfloat16x8_t __p0)

macrovsetq_lane_bf16

#define vsetq_lane_bf16(__p0, __p1, __p2) __extension__ ({
  bfloat16x8_t __ret;
  bfloat16_t __s0 = __p0;
  bfloat16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(bfloat16x8_t, __builtin_neon_vsetq_lane_bf16(__s0, __s1, __p2));
  __ret;
})

macrovset_lane_bf16

#define vset_lane_bf16(__p0, __p1, __p2) __extension__ ({
  bfloat16x4_t __ret;
  bfloat16_t __s0 = __p0;
  bfloat16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(bfloat16x4_t, __builtin_neon_vset_lane_bf16(__s0, __s1, __p2));
  __ret;
})

macrosplat_lane_p8

#define splat_lane_p8(__p0, __p1) __extension__ ({
  poly8x8_t __ret;
  poly8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 4));
  __ret;
})

macrosplat_lane_p64

#define splat_lane_p64(__p0, __p1) __extension__ ({
  poly64x1_t __ret;
  poly64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 6));
  __ret;
})

macrosplat_lane_p16

#define splat_lane_p16(__p0, __p1) __extension__ ({
  poly16x4_t __ret;
  poly16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 5));
  __ret;
})

macrosplatq_lane_p8

#define splatq_lane_p8(__p0, __p1) __extension__ ({
  poly8x16_t __ret;
  poly8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 4));
  __ret;
})

macrosplatq_lane_p64

#define splatq_lane_p64(__p0, __p1) __extension__ ({
  poly64x2_t __ret;
  poly64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 6));
  __ret;
})

macrosplatq_lane_p16

#define splatq_lane_p16(__p0, __p1) __extension__ ({
  poly16x8_t __ret;
  poly16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 5));
  __ret;
})

macrosplatq_lane_u8

#define splatq_lane_u8(__p0, __p1) __extension__ ({
  uint8x16_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 16));
  __ret;
})

macrosplatq_lane_u32

#define splatq_lane_u32(__p0, __p1) __extension__ ({
  uint32x4_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 18));
  __ret;
})

macrosplatq_lane_u64

#define splatq_lane_u64(__p0, __p1) __extension__ ({
  uint64x2_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 19));
  __ret;
})

macrosplatq_lane_u16

#define splatq_lane_u16(__p0, __p1) __extension__ ({
  uint16x8_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 17));
  __ret;
})

macrosplatq_lane_s8

#define splatq_lane_s8(__p0, __p1) __extension__ ({
  int8x16_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 0));
  __ret;
})

macrosplatq_lane_f64

#define splatq_lane_f64(__p0, __p1) __extension__ ({
  float64x2_t __ret;
  float64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64x2_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 10));
  __ret;
})

macrosplatq_lane_f32

#define splatq_lane_f32(__p0, __p1) __extension__ ({
  float32x4_t __ret;
  float32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32x4_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 9));
  __ret;
})

macrosplatq_lane_f16

#define splatq_lane_f16(__p0, __p1) __extension__ ({
  float16x8_t __ret;
  float16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16x8_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 8));
  __ret;
})

macrosplatq_lane_s32

#define splatq_lane_s32(__p0, __p1) __extension__ ({
  int32x4_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 2));
  __ret;
})

macrosplatq_lane_s64

#define splatq_lane_s64(__p0, __p1) __extension__ ({
  int64x2_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 3));
  __ret;
})

macrosplatq_lane_s16

#define splatq_lane_s16(__p0, __p1) __extension__ ({
  int16x8_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 1));
  __ret;
})

macrosplat_lane_u8

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

macrosplat_lane_u32

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

macrosplat_lane_u64

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

macrosplat_lane_u16

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

macrosplat_lane_s8

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

macrosplat_lane_f64

#define splat_lane_f64(__p0, __p1) __extension__ ({
  float64x1_t __ret;
  float64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64x1_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 10));
  __ret;
})

macrosplat_lane_f32

#define splat_lane_f32(__p0, __p1) __extension__ ({
  float32x2_t __ret;
  float32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32x2_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 9));
  __ret;
})

macrosplat_lane_f16

#define splat_lane_f16(__p0, __p1) __extension__ ({
  float16x4_t __ret;
  float16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16x4_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 8));
  __ret;
})

macrosplat_lane_s32

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

macrosplat_lane_s64

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

macrosplat_lane_s16

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

macrosplat_laneq_p8

#define splat_laneq_p8(__p0, __p1) __extension__ ({
  poly8x8_t __ret;
  poly8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 36));
  __ret;
})

macrosplat_laneq_p64

#define splat_laneq_p64(__p0, __p1) __extension__ ({
  poly64x1_t __ret;
  poly64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 38));
  __ret;
})

macrosplat_laneq_p16

#define splat_laneq_p16(__p0, __p1) __extension__ ({
  poly16x4_t __ret;
  poly16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 37));
  __ret;
})

macrosplatq_laneq_p8

#define splatq_laneq_p8(__p0, __p1) __extension__ ({
  poly8x16_t __ret;
  poly8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 36));
  __ret;
})

macrosplatq_laneq_p64

#define splatq_laneq_p64(__p0, __p1) __extension__ ({
  poly64x2_t __ret;
  poly64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 38));
  __ret;
})

macrosplatq_laneq_p16

#define splatq_laneq_p16(__p0, __p1) __extension__ ({
  poly16x8_t __ret;
  poly16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 37));
  __ret;
})

macrosplatq_laneq_u8

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

macrosplatq_laneq_u32

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

macrosplatq_laneq_u64

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

macrosplatq_laneq_u16

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

macrosplatq_laneq_s8

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

macrosplatq_laneq_f64

#define splatq_laneq_f64(__p0, __p1) __extension__ ({
  float64x2_t __ret;
  float64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64x2_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 42));
  __ret;
})

macrosplatq_laneq_f32

#define splatq_laneq_f32(__p0, __p1) __extension__ ({
  float32x4_t __ret;
  float32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32x4_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 41));
  __ret;
})

macrosplatq_laneq_f16

#define splatq_laneq_f16(__p0, __p1) __extension__ ({
  float16x8_t __ret;
  float16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16x8_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 40));
  __ret;
})

macrosplatq_laneq_s32

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

macrosplatq_laneq_s64

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

macrosplatq_laneq_s16

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

macrosplat_laneq_u8

#define splat_laneq_u8(__p0, __p1) __extension__ ({
  uint8x8_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 48));
  __ret;
})

macrosplat_laneq_u32

#define splat_laneq_u32(__p0, __p1) __extension__ ({
  uint32x2_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 50));
  __ret;
})

macrosplat_laneq_u64

#define splat_laneq_u64(__p0, __p1) __extension__ ({
  uint64x1_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 51));
  __ret;
})

macrosplat_laneq_u16

#define splat_laneq_u16(__p0, __p1) __extension__ ({
  uint16x4_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 49));
  __ret;
})

macrosplat_laneq_s8

#define splat_laneq_s8(__p0, __p1) __extension__ ({
  int8x8_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 32));
  __ret;
})

macrosplat_laneq_f64

#define splat_laneq_f64(__p0, __p1) __extension__ ({
  float64x1_t __ret;
  float64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64x1_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 42));
  __ret;
})

macrosplat_laneq_f32

#define splat_laneq_f32(__p0, __p1) __extension__ ({
  float32x2_t __ret;
  float32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32x2_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 41));
  __ret;
})

macrosplat_laneq_f16

#define splat_laneq_f16(__p0, __p1) __extension__ ({
  float16x4_t __ret;
  float16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16x4_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 40));
  __ret;
})

macrosplat_laneq_s32

#define splat_laneq_s32(__p0, __p1) __extension__ ({
  int32x2_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 34));
  __ret;
})

macrosplat_laneq_s64

#define splat_laneq_s64(__p0, __p1) __extension__ ({
  int64x1_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 35));
  __ret;
})

macrosplat_laneq_s16

#define splat_laneq_s16(__p0, __p1) __extension__ ({
  int16x4_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 33));
  __ret;
})

functionvcombine_p8

__ai __attribute__((target("neon")))
poly8x16_t vcombine_p8(poly8x8_t __p0, poly8x8_t __p1)

functionvcombine_p16

__ai __attribute__((target("neon")))
poly16x8_t vcombine_p16(poly16x4_t __p0, poly16x4_t __p1)

functionvcombine_u8

__ai __attribute__((target("neon")))
uint8x16_t vcombine_u8(uint8x8_t __p0, uint8x8_t __p1)

functionvcombine_u32

__ai __attribute__((target("neon")))
uint32x4_t vcombine_u32(uint32x2_t __p0, uint32x2_t __p1)

functionvcombine_u64

__ai __attribute__((target("neon")))
uint64x2_t vcombine_u64(uint64x1_t __p0, uint64x1_t __p1)

functionvcombine_u16

__ai __attribute__((target("neon")))
uint16x8_t vcombine_u16(uint16x4_t __p0, uint16x4_t __p1)

functionvcombine_s8

__ai __attribute__((target("neon")))
int8x16_t vcombine_s8(int8x8_t __p0, int8x8_t __p1)

functionvcombine_f32

__ai __attribute__((target("neon")))
float32x4_t vcombine_f32(float32x2_t __p0, float32x2_t __p1)

functionvcombine_f16

__ai __attribute__((target("neon")))
float16x8_t vcombine_f16(float16x4_t __p0, float16x4_t __p1)

functionvcombine_s32

__ai __attribute__((target("neon")))
int32x4_t vcombine_s32(int32x2_t __p0, int32x2_t __p1)

functionvcombine_s64

__ai __attribute__((target("neon")))
int64x2_t vcombine_s64(int64x1_t __p0, int64x1_t __p1)

functionvcombine_s16

__ai __attribute__((target("neon")))
int16x8_t vcombine_s16(int16x4_t __p0, int16x4_t __p1)

macrovcreate_p8

#define vcreate_p8(__p0) __extension__ ({
  poly8x8_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(poly8x8_t, __promote);
  __ret;
})

macrovcreate_p16

#define vcreate_p16(__p0) __extension__ ({
  poly16x4_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(poly16x4_t, __promote);
  __ret;
})

macrovcreate_u8

#define vcreate_u8(__p0) __extension__ ({
  uint8x8_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(uint8x8_t, __promote);
  __ret;
})

macrovcreate_u32

#define vcreate_u32(__p0) __extension__ ({
  uint32x2_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(uint32x2_t, __promote);
  __ret;
})

macrovcreate_u64

#define vcreate_u64(__p0) __extension__ ({
  uint64x1_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(uint64x1_t, __promote);
  __ret;
})

macrovcreate_u16

#define vcreate_u16(__p0) __extension__ ({
  uint16x4_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(uint16x4_t, __promote);
  __ret;
})

macrovcreate_s8

#define vcreate_s8(__p0) __extension__ ({
  int8x8_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(int8x8_t, __promote);
  __ret;
})

macrovcreate_f32

#define vcreate_f32(__p0) __extension__ ({
  float32x2_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(float32x2_t, __promote);
  __ret;
})

macrovcreate_f16

#define vcreate_f16(__p0) __extension__ ({
  float16x4_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(float16x4_t, __promote);
  __ret;
})

macrovcreate_s32

#define vcreate_s32(__p0) __extension__ ({
  int32x2_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(int32x2_t, __promote);
  __ret;
})

macrovcreate_s64

#define vcreate_s64(__p0) __extension__ ({
  int64x1_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(int64x1_t, __promote);
  __ret;
})

macrovcreate_s16

#define vcreate_s16(__p0) __extension__ ({
  int16x4_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(int16x4_t, __promote);
  __ret;
})

macrovdup_lane_p8

#define vdup_lane_p8(__p0_8, __p1_8) __extension__ ({
  poly8x8_t __ret_8;
  poly8x8_t __s0_8 = __p0_8;
  __ret_8 = splat_lane_p8(__s0_8, __p1_8);
  __ret_8;
})

macrovdup_lane_p16

#define vdup_lane_p16(__p0_10, __p1_10) __extension__ ({
  poly16x4_t __ret_10;
  poly16x4_t __s0_10 = __p0_10;
  __ret_10 = splat_lane_p16(__s0_10, __p1_10);
  __ret_10;
})

macrovdupq_lane_p8

#define vdupq_lane_p8(__p0_12, __p1_12) __extension__ ({
  poly8x16_t __ret_12;
  poly8x8_t __s0_12 = __p0_12;
  __ret_12 = splatq_lane_p8(__s0_12, __p1_12);
  __ret_12;
})

macrovdupq_lane_p16

#define vdupq_lane_p16(__p0_14, __p1_14) __extension__ ({
  poly16x8_t __ret_14;
  poly16x4_t __s0_14 = __p0_14;
  __ret_14 = splatq_lane_p16(__s0_14, __p1_14);
  __ret_14;
})

macrovdupq_lane_u8

#define vdupq_lane_u8(__p0_16, __p1_16) __extension__ ({
  uint8x16_t __ret_16;
  uint8x8_t __s0_16 = __p0_16;
  __ret_16 = splatq_lane_u8(__s0_16, __p1_16);
  __ret_16;
})

macrovdupq_lane_u32

#define vdupq_lane_u32(__p0_18, __p1_18) __extension__ ({
  uint32x4_t __ret_18;
  uint32x2_t __s0_18 = __p0_18;
  __ret_18 = splatq_lane_u32(__s0_18, __p1_18);
  __ret_18;
})

macrovdupq_lane_u64

#define vdupq_lane_u64(__p0_20, __p1_20) __extension__ ({
  uint64x2_t __ret_20;
  uint64x1_t __s0_20 = __p0_20;
  __ret_20 = splatq_lane_u64(__s0_20, __p1_20);
  __ret_20;
})

macrovdupq_lane_u16

#define vdupq_lane_u16(__p0_22, __p1_22) __extension__ ({
  uint16x8_t __ret_22;
  uint16x4_t __s0_22 = __p0_22;
  __ret_22 = splatq_lane_u16(__s0_22, __p1_22);
  __ret_22;
})

macrovdupq_lane_s8

#define vdupq_lane_s8(__p0_24, __p1_24) __extension__ ({
  int8x16_t __ret_24;
  int8x8_t __s0_24 = __p0_24;
  __ret_24 = splatq_lane_s8(__s0_24, __p1_24);
  __ret_24;
})

macrovdupq_lane_f32

#define vdupq_lane_f32(__p0_26, __p1_26) __extension__ ({
  float32x4_t __ret_26;
  float32x2_t __s0_26 = __p0_26;
  __ret_26 = splatq_lane_f32(__s0_26, __p1_26);
  __ret_26;
})

macrovdupq_lane_f16

#define vdupq_lane_f16(__p0_28, __p1_28) __extension__ ({
  float16x8_t __ret_28;
  float16x4_t __s0_28 = __p0_28;
  __ret_28 = splatq_lane_f16(__s0_28, __p1_28);
  __ret_28;
})

macrovdupq_lane_s32

#define vdupq_lane_s32(__p0_30, __p1_30) __extension__ ({
  int32x4_t __ret_30;
  int32x2_t __s0_30 = __p0_30;
  __ret_30 = splatq_lane_s32(__s0_30, __p1_30);
  __ret_30;
})

macrovdupq_lane_s64

#define vdupq_lane_s64(__p0_32, __p1_32) __extension__ ({
  int64x2_t __ret_32;
  int64x1_t __s0_32 = __p0_32;
  __ret_32 = splatq_lane_s64(__s0_32, __p1_32);
  __ret_32;
})

macrovdupq_lane_s16

#define vdupq_lane_s16(__p0_34, __p1_34) __extension__ ({
  int16x8_t __ret_34;
  int16x4_t __s0_34 = __p0_34;
  __ret_34 = splatq_lane_s16(__s0_34, __p1_34);
  __ret_34;
})

macrovdup_lane_u8

#define vdup_lane_u8(__p0_36, __p1_36) __extension__ ({
  uint8x8_t __ret_36;
  uint8x8_t __s0_36 = __p0_36;
  __ret_36 = splat_lane_u8(__s0_36, __p1_36);
  __ret_36;
})

macrovdup_lane_u32

#define vdup_lane_u32(__p0_38, __p1_38) __extension__ ({
  uint32x2_t __ret_38;
  uint32x2_t __s0_38 = __p0_38;
  __ret_38 = splat_lane_u32(__s0_38, __p1_38);
  __ret_38;
})

macrovdup_lane_u64

#define vdup_lane_u64(__p0_40, __p1_40) __extension__ ({
  uint64x1_t __ret_40;
  uint64x1_t __s0_40 = __p0_40;
  __ret_40 = splat_lane_u64(__s0_40, __p1_40);
  __ret_40;
})

macrovdup_lane_u16

#define vdup_lane_u16(__p0_41, __p1_41) __extension__ ({
  uint16x4_t __ret_41;
  uint16x4_t __s0_41 = __p0_41;
  __ret_41 = splat_lane_u16(__s0_41, __p1_41);
  __ret_41;
})

macrovdup_lane_s8

#define vdup_lane_s8(__p0_43, __p1_43) __extension__ ({
  int8x8_t __ret_43;
  int8x8_t __s0_43 = __p0_43;
  __ret_43 = splat_lane_s8(__s0_43, __p1_43);
  __ret_43;
})

macrovdup_lane_f32

#define vdup_lane_f32(__p0_45, __p1_45) __extension__ ({
  float32x2_t __ret_45;
  float32x2_t __s0_45 = __p0_45;
  __ret_45 = splat_lane_f32(__s0_45, __p1_45);
  __ret_45;
})

macrovdup_lane_f16

#define vdup_lane_f16(__p0_47, __p1_47) __extension__ ({
  float16x4_t __ret_47;
  float16x4_t __s0_47 = __p0_47;
  __ret_47 = splat_lane_f16(__s0_47, __p1_47);
  __ret_47;
})

macrovdup_lane_s32

#define vdup_lane_s32(__p0_49, __p1_49) __extension__ ({
  int32x2_t __ret_49;
  int32x2_t __s0_49 = __p0_49;
  __ret_49 = splat_lane_s32(__s0_49, __p1_49);
  __ret_49;
})

macrovdup_lane_s64

#define vdup_lane_s64(__p0_51, __p1_51) __extension__ ({
  int64x1_t __ret_51;
  int64x1_t __s0_51 = __p0_51;
  __ret_51 = splat_lane_s64(__s0_51, __p1_51);
  __ret_51;
})

macrovdup_lane_s16

#define vdup_lane_s16(__p0_52, __p1_52) __extension__ ({
  int16x4_t __ret_52;
  int16x4_t __s0_52 = __p0_52;
  __ret_52 = splat_lane_s16(__s0_52, __p1_52);
  __ret_52;
})

functionvdup_n_p8

__ai __attribute__((target("neon")))
poly8x8_t vdup_n_p8(poly8_t __p0)

functionvdup_n_p16

__ai __attribute__((target("neon")))
poly16x4_t vdup_n_p16(poly16_t __p0)

functionvdupq_n_p8

__ai __attribute__((target("neon")))
poly8x16_t vdupq_n_p8(poly8_t __p0)

functionvdupq_n_p16

__ai __attribute__((target("neon")))
poly16x8_t vdupq_n_p16(poly16_t __p0)

functionvdupq_n_u8

__ai __attribute__((target("neon")))
uint8x16_t vdupq_n_u8(uint8_t __p0)

functionvdupq_n_u32

__ai __attribute__((target("neon")))
uint32x4_t vdupq_n_u32(uint32_t __p0)

functionvdupq_n_u64

__ai __attribute__((target("neon")))
uint64x2_t vdupq_n_u64(uint64_t __p0)

functionvdupq_n_u16

__ai __attribute__((target("neon")))
uint16x8_t vdupq_n_u16(uint16_t __p0)

functionvdupq_n_s8

__ai __attribute__((target("neon")))
int8x16_t vdupq_n_s8(int8_t __p0)

functionvdupq_n_f32

__ai __attribute__((target("neon")))
float32x4_t vdupq_n_f32(float32_t __p0)

macrovdupq_n_f16

#define vdupq_n_f16(__p0) __extension__ ({
  float16x8_t __ret;
  float16_t __s0 = __p0;
  __ret = (float16x8_t) {__s0, __s0, __s0, __s0, __s0, __s0, __s0, __s0};
  __ret;
})

functionvdupq_n_s32

__ai __attribute__((target("neon")))
int32x4_t vdupq_n_s32(int32_t __p0)

functionvdupq_n_s64

__ai __attribute__((target("neon")))
int64x2_t vdupq_n_s64(int64_t __p0)

functionvdupq_n_s16

__ai __attribute__((target("neon")))
int16x8_t vdupq_n_s16(int16_t __p0)

functionvdup_n_u8

__ai __attribute__((target("neon")))
uint8x8_t vdup_n_u8(uint8_t __p0)

functionvdup_n_u32

__ai __attribute__((target("neon")))
uint32x2_t vdup_n_u32(uint32_t __p0)

functionvdup_n_u64

__ai __attribute__((target("neon")))
uint64x1_t vdup_n_u64(uint64_t __p0)

functionvdup_n_u16

__ai __attribute__((target("neon")))
uint16x4_t vdup_n_u16(uint16_t __p0)

functionvdup_n_s8

__ai __attribute__((target("neon")))
int8x8_t vdup_n_s8(int8_t __p0)

functionvdup_n_f32

__ai __attribute__((target("neon")))
float32x2_t vdup_n_f32(float32_t __p0)

macrovdup_n_f16

#define vdup_n_f16(__p0) __extension__ ({
  float16x4_t __ret;
  float16_t __s0 = __p0;
  __ret = (float16x4_t) {__s0, __s0, __s0, __s0};
  __ret;
})

functionvdup_n_s32

__ai __attribute__((target("neon")))
int32x2_t vdup_n_s32(int32_t __p0)

functionvdup_n_s64

__ai __attribute__((target("neon")))
int64x1_t vdup_n_s64(int64_t __p0)

functionvdup_n_s16

__ai __attribute__((target("neon")))
int16x4_t vdup_n_s16(int16_t __p0)

functionvget_high_p8

__ai __attribute__((target("neon")))
poly8x8_t vget_high_p8(poly8x16_t __p0)

functionvget_high_p16

__ai __attribute__((target("neon")))
poly16x4_t vget_high_p16(poly16x8_t __p0)

functionvget_high_u8

__ai __attribute__((target("neon")))
uint8x8_t vget_high_u8(uint8x16_t __p0)

functionvget_high_u32

__ai __attribute__((target("neon")))
uint32x2_t vget_high_u32(uint32x4_t __p0)

functionvget_high_u64

__ai __attribute__((target("neon")))
uint64x1_t vget_high_u64(uint64x2_t __p0)

functionvget_high_u16

__ai __attribute__((target("neon")))
uint16x4_t vget_high_u16(uint16x8_t __p0)

functionvget_high_s8

__ai __attribute__((target("neon")))
int8x8_t vget_high_s8(int8x16_t __p0)

functionvget_high_f32

__ai __attribute__((target("neon")))
float32x2_t vget_high_f32(float32x4_t __p0)

functionvget_high_f16

__ai __attribute__((target("neon")))
float16x4_t vget_high_f16(float16x8_t __p0)

functionvget_high_s32

__ai __attribute__((target("neon")))
int32x2_t vget_high_s32(int32x4_t __p0)

functionvget_high_s64

__ai __attribute__((target("neon")))
int64x1_t vget_high_s64(int64x2_t __p0)

functionvget_high_s16

__ai __attribute__((target("neon")))
int16x4_t vget_high_s16(int16x8_t __p0)

macrovget_lane_p8

#define vget_lane_p8(__p0, __p1) __extension__ ({
  poly8_t __ret;
  poly8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__s0, __p1));
  __ret;
})

macrovget_lane_p16

#define vget_lane_p16(__p0, __p1) __extension__ ({
  poly16_t __ret;
  poly16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__s0, __p1));
  __ret;
})

macrovgetq_lane_p8

#define vgetq_lane_p8(__p0, __p1) __extension__ ({
  poly8_t __ret;
  poly8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__s0, __p1));
  __ret;
})

macrovgetq_lane_p16

#define vgetq_lane_p16(__p0, __p1) __extension__ ({
  poly16_t __ret;
  poly16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__s0, __p1));
  __ret;
})

macrovgetq_lane_u8

#define vgetq_lane_u8(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vgetq_lane_i8(__builtin_bit_cast(int8x16_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_u32

#define vgetq_lane_u32(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vgetq_lane_i32(__builtin_bit_cast(int32x4_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_u64

#define vgetq_lane_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vgetq_lane_i64(__builtin_bit_cast(int64x2_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_u16

#define vgetq_lane_u16(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vgetq_lane_i16(__builtin_bit_cast(int16x8_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_s8

#define vgetq_lane_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vgetq_lane_i8(__builtin_bit_cast(int8x16_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_f32

#define vgetq_lane_f32(__p0, __p1) __extension__ ({
  float32_t __ret;
  float32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32_t, __builtin_neon_vgetq_lane_f32(__s0, __p1));
  __ret;
})

macrovgetq_lane_s32

#define vgetq_lane_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vgetq_lane_i32(__builtin_bit_cast(int32x4_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_s64

#define vgetq_lane_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vgetq_lane_i64(__builtin_bit_cast(int64x2_t, __s0), __p1));
  __ret;
})

macrovgetq_lane_s16

#define vgetq_lane_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vgetq_lane_i16(__builtin_bit_cast(int16x8_t, __s0), __p1));
  __ret;
})

macrovget_lane_u8

#define vget_lane_u8(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vget_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1));
  __ret;
})

macrovget_lane_u32

#define vget_lane_u32(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vget_lane_i32(__builtin_bit_cast(int32x2_t, __s0), __p1));
  __ret;
})

macrovget_lane_u64

#define vget_lane_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vget_lane_i64(__builtin_bit_cast(int64x1_t, __s0), __p1));
  __ret;
})

macrovget_lane_u16

#define vget_lane_u16(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vget_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1));
  __ret;
})

macrovget_lane_s8

#define vget_lane_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vget_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1));
  __ret;
})

macrovget_lane_f32

#define vget_lane_f32(__p0, __p1) __extension__ ({
  float32_t __ret;
  float32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32_t, __builtin_neon_vget_lane_f32(__s0, __p1));
  __ret;
})

macrovget_lane_s32

#define vget_lane_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vget_lane_i32(__builtin_bit_cast(int32x2_t, __s0), __p1));
  __ret;
})

macrovget_lane_s64

#define vget_lane_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vget_lane_i64(__builtin_bit_cast(int64x1_t, __s0), __p1));
  __ret;
})

macrovget_lane_s16

#define vget_lane_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vget_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1));
  __ret;
})

functionvget_low_p8

__ai __attribute__((target("neon")))
poly8x8_t vget_low_p8(poly8x16_t __p0)

functionvget_low_p16

__ai __attribute__((target("neon")))
poly16x4_t vget_low_p16(poly16x8_t __p0)

functionvget_low_u8

__ai __attribute__((target("neon")))
uint8x8_t vget_low_u8(uint8x16_t __p0)

functionvget_low_u32

__ai __attribute__((target("neon")))
uint32x2_t vget_low_u32(uint32x4_t __p0)

functionvget_low_u64

__ai __attribute__((target("neon")))
uint64x1_t vget_low_u64(uint64x2_t __p0)

functionvget_low_u16

__ai __attribute__((target("neon")))
uint16x4_t vget_low_u16(uint16x8_t __p0)

functionvget_low_s8

__ai __attribute__((target("neon")))
int8x8_t vget_low_s8(int8x16_t __p0)

functionvget_low_f32

__ai __attribute__((target("neon")))
float32x2_t vget_low_f32(float32x4_t __p0)

functionvget_low_f16

__ai __attribute__((target("neon")))
float16x4_t vget_low_f16(float16x8_t __p0)

functionvget_low_s32

__ai __attribute__((target("neon")))
int32x2_t vget_low_s32(int32x4_t __p0)

functionvget_low_s64

__ai __attribute__((target("neon")))
int64x1_t vget_low_s64(int64x2_t __p0)

functionvget_low_s16

__ai __attribute__((target("neon")))
int16x4_t vget_low_s16(int16x8_t __p0)

functionvmov_n_p8

__ai __attribute__((target("neon")))
poly8x8_t vmov_n_p8(poly8_t __p0)

functionvmov_n_p16

__ai __attribute__((target("neon")))
poly16x4_t vmov_n_p16(poly16_t __p0)

functionvmovq_n_p8

__ai __attribute__((target("neon")))
poly8x16_t vmovq_n_p8(poly8_t __p0)

functionvmovq_n_p16

__ai __attribute__((target("neon")))
poly16x8_t vmovq_n_p16(poly16_t __p0)

functionvmovq_n_u8

__ai __attribute__((target("neon")))
uint8x16_t vmovq_n_u8(uint8_t __p0)

functionvmovq_n_u32

__ai __attribute__((target("neon")))
uint32x4_t vmovq_n_u32(uint32_t __p0)

functionvmovq_n_u64

__ai __attribute__((target("neon")))
uint64x2_t vmovq_n_u64(uint64_t __p0)

functionvmovq_n_u16

__ai __attribute__((target("neon")))
uint16x8_t vmovq_n_u16(uint16_t __p0)

functionvmovq_n_s8

__ai __attribute__((target("neon")))
int8x16_t vmovq_n_s8(int8_t __p0)

functionvmovq_n_f32

__ai __attribute__((target("neon")))
float32x4_t vmovq_n_f32(float32_t __p0)

macrovmovq_n_f16

#define vmovq_n_f16(__p0) __extension__ ({
  float16x8_t __ret;
  float16_t __s0 = __p0;
  __ret = (float16x8_t) {__s0, __s0, __s0, __s0, __s0, __s0, __s0, __s0};
  __ret;
})

functionvmovq_n_s32

__ai __attribute__((target("neon")))
int32x4_t vmovq_n_s32(int32_t __p0)

functionvmovq_n_s64

__ai __attribute__((target("neon")))
int64x2_t vmovq_n_s64(int64_t __p0)

functionvmovq_n_s16

__ai __attribute__((target("neon")))
int16x8_t vmovq_n_s16(int16_t __p0)

functionvmov_n_u8

__ai __attribute__((target("neon")))
uint8x8_t vmov_n_u8(uint8_t __p0)

functionvmov_n_u32

__ai __attribute__((target("neon")))
uint32x2_t vmov_n_u32(uint32_t __p0)

functionvmov_n_u64

__ai __attribute__((target("neon")))
uint64x1_t vmov_n_u64(uint64_t __p0)

functionvmov_n_u16

__ai __attribute__((target("neon")))
uint16x4_t vmov_n_u16(uint16_t __p0)

functionvmov_n_s8

__ai __attribute__((target("neon")))
int8x8_t vmov_n_s8(int8_t __p0)

functionvmov_n_f32

__ai __attribute__((target("neon")))
float32x2_t vmov_n_f32(float32_t __p0)

macrovmov_n_f16

#define vmov_n_f16(__p0) __extension__ ({
  float16x4_t __ret;
  float16_t __s0 = __p0;
  __ret = (float16x4_t) {__s0, __s0, __s0, __s0};
  __ret;
})

functionvmov_n_s32

__ai __attribute__((target("neon")))
int32x2_t vmov_n_s32(int32_t __p0)

functionvmov_n_s64

__ai __attribute__((target("neon")))
int64x1_t vmov_n_s64(int64_t __p0)

functionvmov_n_s16

__ai __attribute__((target("neon")))
int16x4_t vmov_n_s16(int16_t __p0)

macrovset_lane_p8

#define vset_lane_p8(__p0, __p1, __p2) __extension__ ({
  poly8x8_t __ret;
  poly8_t __s0 = __p0;
  poly8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __s1, __p2));
  __ret;
})

macrovset_lane_p16

#define vset_lane_p16(__p0, __p1, __p2) __extension__ ({
  poly16x4_t __ret;
  poly16_t __s0 = __p0;
  poly16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_p8

#define vsetq_lane_p8(__p0, __p1, __p2) __extension__ ({
  poly8x16_t __ret;
  poly8_t __s0 = __p0;
  poly8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_p16

#define vsetq_lane_p16(__p0, __p1, __p2) __extension__ ({
  poly16x8_t __ret;
  poly16_t __s0 = __p0;
  poly16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_u8

#define vsetq_lane_u8(__p0, __p1, __p2) __extension__ ({
  uint8x16_t __ret;
  uint8_t __s0 = __p0;
  uint8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __builtin_bit_cast(int8x16_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_u32

#define vsetq_lane_u32(__p0, __p1, __p2) __extension__ ({
  uint32x4_t __ret;
  uint32_t __s0 = __p0;
  uint32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x4_t, __builtin_neon_vsetq_lane_i32(__s0, __builtin_bit_cast(int32x4_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_u64

#define vsetq_lane_u64(__p0, __p1, __p2) __extension__ ({
  uint64x2_t __ret;
  uint64_t __s0 = __p0;
  uint64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __builtin_bit_cast(int64x2_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_u16

#define vsetq_lane_u16(__p0, __p1, __p2) __extension__ ({
  uint16x8_t __ret;
  uint16_t __s0 = __p0;
  uint16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __builtin_bit_cast(int16x8_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_s8

#define vsetq_lane_s8(__p0, __p1, __p2) __extension__ ({
  int8x16_t __ret;
  int8_t __s0 = __p0;
  int8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __builtin_bit_cast(int8x16_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_f32

#define vsetq_lane_f32(__p0, __p1, __p2) __extension__ ({
  float32x4_t __ret;
  float32_t __s0 = __p0;
  float32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vsetq_lane_f32(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_s32

#define vsetq_lane_s32(__p0, __p1, __p2) __extension__ ({
  int32x4_t __ret;
  int32_t __s0 = __p0;
  int32x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x4_t, __builtin_neon_vsetq_lane_i32(__s0, __builtin_bit_cast(int32x4_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_s64

#define vsetq_lane_s64(__p0, __p1, __p2) __extension__ ({
  int64x2_t __ret;
  int64_t __s0 = __p0;
  int64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __builtin_bit_cast(int64x2_t, __s1), __p2));
  __ret;
})

macrovsetq_lane_s16

#define vsetq_lane_s16(__p0, __p1, __p2) __extension__ ({
  int16x8_t __ret;
  int16_t __s0 = __p0;
  int16x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __builtin_bit_cast(int16x8_t, __s1), __p2));
  __ret;
})

macrovset_lane_u8

#define vset_lane_u8(__p0, __p1, __p2) __extension__ ({
  uint8x8_t __ret;
  uint8_t __s0 = __p0;
  uint8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint8x8_t, __builtin_neon_vset_lane_i8(__s0, __builtin_bit_cast(int8x8_t, __s1), __p2));
  __ret;
})

macrovset_lane_u32

#define vset_lane_u32(__p0, __p1, __p2) __extension__ ({
  uint32x2_t __ret;
  uint32_t __s0 = __p0;
  uint32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint32x2_t, __builtin_neon_vset_lane_i32(__s0, __builtin_bit_cast(int32x2_t, __s1), __p2));
  __ret;
})

macrovset_lane_u64

#define vset_lane_u64(__p0, __p1, __p2) __extension__ ({
  uint64x1_t __ret;
  uint64_t __s0 = __p0;
  uint64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vset_lane_i64(__s0, __builtin_bit_cast(int64x1_t, __s1), __p2));
  __ret;
})

macrovset_lane_u16

#define vset_lane_u16(__p0, __p1, __p2) __extension__ ({
  uint16x4_t __ret;
  uint16_t __s0 = __p0;
  uint16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(uint16x4_t, __builtin_neon_vset_lane_i16(__s0, __builtin_bit_cast(int16x4_t, __s1), __p2));
  __ret;
})

macrovset_lane_s8

#define vset_lane_s8(__p0, __p1, __p2) __extension__ ({
  int8x8_t __ret;
  int8_t __s0 = __p0;
  int8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(int8x8_t, __builtin_neon_vset_lane_i8(__s0, __builtin_bit_cast(int8x8_t, __s1), __p2));
  __ret;
})

macrovset_lane_f32

#define vset_lane_f32(__p0, __p1, __p2) __extension__ ({
  float32x2_t __ret;
  float32_t __s0 = __p0;
  float32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(float32x2_t, __builtin_neon_vset_lane_f32(__s0, __s1, __p2));
  __ret;
})

macrovset_lane_s32

#define vset_lane_s32(__p0, __p1, __p2) __extension__ ({
  int32x2_t __ret;
  int32_t __s0 = __p0;
  int32x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(int32x2_t, __builtin_neon_vset_lane_i32(__s0, __builtin_bit_cast(int32x2_t, __s1), __p2));
  __ret;
})

macrovset_lane_s64

#define vset_lane_s64(__p0, __p1, __p2) __extension__ ({
  int64x1_t __ret;
  int64_t __s0 = __p0;
  int64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vset_lane_i64(__s0, __builtin_bit_cast(int64x1_t, __s1), __p2));
  __ret;
})

macrovset_lane_s16

#define vset_lane_s16(__p0, __p1, __p2) __extension__ ({
  int16x4_t __ret;
  int16_t __s0 = __p0;
  int16x4_t __s1 = __p1;
  __ret = __builtin_bit_cast(int16x4_t, __builtin_neon_vset_lane_i16(__s0, __builtin_bit_cast(int16x4_t, __s1), __p2));
  __ret;
})

macrosplatq_lane_mf8

#define splatq_lane_mf8(__p0, __p1) __extension__ ({
  mfloat8x16_t __ret;
  mfloat8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8x16_t, __builtin_neon_splatq_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 12));
  __ret;
})

macrosplat_lane_mf8

#define splat_lane_mf8(__p0, __p1) __extension__ ({
  mfloat8x8_t __ret;
  mfloat8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8x8_t, __builtin_neon_splat_lane_v(__builtin_bit_cast(int8x8_t, __s0), __p1, 12));
  __ret;
})

macrosplatq_laneq_mf8

#define splatq_laneq_mf8(__p0, __p1) __extension__ ({
  mfloat8x16_t __ret;
  mfloat8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8x16_t, __builtin_neon_splatq_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 44));
  __ret;
})

macrosplat_laneq_mf8

#define splat_laneq_mf8(__p0, __p1) __extension__ ({
  mfloat8x8_t __ret;
  mfloat8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8x8_t, __builtin_neon_splat_laneq_v(__builtin_bit_cast(int8x16_t, __s0), __p1, 44));
  __ret;
})

functionvcombine_mf8

__ai __attribute__((target("neon")))
mfloat8x16_t vcombine_mf8(mfloat8x8_t __p0, mfloat8x8_t __p1)

macrovcreate_mf8

#define vcreate_mf8(__p0) __extension__ ({
  mfloat8x8_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(mfloat8x8_t, __promote);
  __ret;
})

macrovdupq_lane_mf8

#define vdupq_lane_mf8(__p0_230, __p1_230) __extension__ ({
  mfloat8x16_t __ret_230;
  mfloat8x8_t __s0_230 = __p0_230;
  __ret_230 = splatq_lane_mf8(__s0_230, __p1_230);
  __ret_230;
})

macrovdup_lane_mf8

#define vdup_lane_mf8(__p0_232, __p1_232) __extension__ ({
  mfloat8x8_t __ret_232;
  mfloat8x8_t __s0_232 = __p0_232;
  __ret_232 = splat_lane_mf8(__s0_232, __p1_232);
  __ret_232;
})

functionvdupq_n_mf8

__ai __attribute__((target("neon")))
mfloat8x16_t vdupq_n_mf8(mfloat8_t __p0)

functionvdup_n_mf8

__ai __attribute__((target("neon")))
mfloat8x8_t vdup_n_mf8(mfloat8_t __p0)

functionvget_high_mf8

__ai __attribute__((target("neon")))
mfloat8x8_t vget_high_mf8(mfloat8x16_t __p0)

macrovgetq_lane_mf8

#define vgetq_lane_mf8(__p0, __p1) __extension__ ({
  mfloat8_t __ret;
  mfloat8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8_t, __builtin_neon_vgetq_lane_mf8(__s0, __p1));
  __ret;
})

macrovget_lane_mf8

#define vget_lane_mf8(__p0, __p1) __extension__ ({
  mfloat8_t __ret;
  mfloat8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8_t, __builtin_neon_vget_lane_mf8(__s0, __p1));
  __ret;
})

functionvget_low_mf8

__ai __attribute__((target("neon")))
mfloat8x8_t vget_low_mf8(mfloat8x16_t __p0)

functionvmovq_n_mf8

__ai __attribute__((target("neon")))
mfloat8x16_t vmovq_n_mf8(mfloat8_t __p0)

functionvmov_n_mf8

__ai __attribute__((target("neon")))
mfloat8x8_t vmov_n_mf8(mfloat8_t __p0)

macrovsetq_lane_mf8

#define vsetq_lane_mf8(__p0, __p1, __p2) __extension__ ({
  mfloat8x16_t __ret;
  mfloat8_t __s0 = __p0;
  mfloat8x16_t __s1 = __p1;
  __ret = __builtin_bit_cast(mfloat8x16_t, __builtin_neon_vsetq_lane_mf8(__s0, __s1, __p2));
  __ret;
})

macrovset_lane_mf8

#define vset_lane_mf8(__p0, __p1, __p2) __extension__ ({
  mfloat8x8_t __ret;
  mfloat8_t __s0 = __p0;
  mfloat8x8_t __s1 = __p1;
  __ret = __builtin_bit_cast(mfloat8x8_t, __builtin_neon_vset_lane_mf8(__s0, __s1, __p2));
  __ret;
})

macrovcopyq_lane_bf16

#define vcopyq_lane_bf16(__p0_234, __p1_234, __p2_234, __p3_234) __extension__ ({
  bfloat16x8_t __ret_234;
  bfloat16x8_t __s0_234 = __p0_234;
  bfloat16x4_t __s2_234 = __p2_234;
  __ret_234 = vsetq_lane_bf16(vget_lane_bf16(__s2_234, __p3_234), __s0_234, __p1_234);
  __ret_234;
})

macrovcopy_lane_bf16

#define vcopy_lane_bf16(__p0_236, __p1_236, __p2_236, __p3_236) __extension__ ({
  bfloat16x4_t __ret_236;
  bfloat16x4_t __s0_236 = __p0_236;
  bfloat16x4_t __s2_236 = __p2_236;
  __ret_236 = vset_lane_bf16(vget_lane_bf16(__s2_236, __p3_236), __s0_236, __p1_236);
  __ret_236;
})

macrovcopyq_laneq_bf16

#define vcopyq_laneq_bf16(__p0_238, __p1_238, __p2_238, __p3_238) __extension__ ({
  bfloat16x8_t __ret_238;
  bfloat16x8_t __s0_238 = __p0_238;
  bfloat16x8_t __s2_238 = __p2_238;
  __ret_238 = vsetq_lane_bf16(vgetq_lane_bf16(__s2_238, __p3_238), __s0_238, __p1_238);
  __ret_238;
})

macrovcopy_laneq_bf16

#define vcopy_laneq_bf16(__p0_240, __p1_240, __p2_240, __p3_240) __extension__ ({
  bfloat16x4_t __ret_240;
  bfloat16x4_t __s0_240 = __p0_240;
  bfloat16x8_t __s2_240 = __p2_240;
  __ret_240 = vset_lane_bf16(vgetq_lane_bf16(__s2_240, __p3_240), __s0_240, __p1_240);
  __ret_240;
})

functionvcombine_p64

__ai __attribute__((target("neon")))
poly64x2_t vcombine_p64(poly64x1_t __p0, poly64x1_t __p1)

functionvcombine_f64

__ai __attribute__((target("neon")))
float64x2_t vcombine_f64(float64x1_t __p0, float64x1_t __p1)

macrovcopyq_lane_p8

#define vcopyq_lane_p8(__p0_282, __p1_282, __p2_282, __p3_282) __extension__ ({
  poly8x16_t __ret_282;
  poly8x16_t __s0_282 = __p0_282;
  poly8x8_t __s2_282 = __p2_282;
  __ret_282 = vsetq_lane_p8(vget_lane_p8(__s2_282, __p3_282), __s0_282, __p1_282);
  __ret_282;
})

macrovcopyq_lane_p16

#define vcopyq_lane_p16(__p0_284, __p1_284, __p2_284, __p3_284) __extension__ ({
  poly16x8_t __ret_284;
  poly16x8_t __s0_284 = __p0_284;
  poly16x4_t __s2_284 = __p2_284;
  __ret_284 = vsetq_lane_p16(vget_lane_p16(__s2_284, __p3_284), __s0_284, __p1_284);
  __ret_284;
})

macrovcopyq_lane_u8

#define vcopyq_lane_u8(__p0_286, __p1_286, __p2_286, __p3_286) __extension__ ({
  uint8x16_t __ret_286;
  uint8x16_t __s0_286 = __p0_286;
  uint8x8_t __s2_286 = __p2_286;
  __ret_286 = vsetq_lane_u8(vget_lane_u8(__s2_286, __p3_286), __s0_286, __p1_286);
  __ret_286;
})

macrovcopyq_lane_u32

#define vcopyq_lane_u32(__p0_288, __p1_288, __p2_288, __p3_288) __extension__ ({
  uint32x4_t __ret_288;
  uint32x4_t __s0_288 = __p0_288;
  uint32x2_t __s2_288 = __p2_288;
  __ret_288 = vsetq_lane_u32(vget_lane_u32(__s2_288, __p3_288), __s0_288, __p1_288);
  __ret_288;
})

macrovcopyq_lane_u64

#define vcopyq_lane_u64(__p0_290, __p1_290, __p2_290, __p3_290) __extension__ ({
  uint64x2_t __ret_290;
  uint64x2_t __s0_290 = __p0_290;
  uint64x1_t __s2_290 = __p2_290;
  __ret_290 = vsetq_lane_u64(vget_lane_u64(__s2_290, __p3_290), __s0_290, __p1_290);
  __ret_290;
})

macrovcopyq_lane_u16

#define vcopyq_lane_u16(__p0_292, __p1_292, __p2_292, __p3_292) __extension__ ({
  uint16x8_t __ret_292;
  uint16x8_t __s0_292 = __p0_292;
  uint16x4_t __s2_292 = __p2_292;
  __ret_292 = vsetq_lane_u16(vget_lane_u16(__s2_292, __p3_292), __s0_292, __p1_292);
  __ret_292;
})

macrovcopyq_lane_s8

#define vcopyq_lane_s8(__p0_294, __p1_294, __p2_294, __p3_294) __extension__ ({
  int8x16_t __ret_294;
  int8x16_t __s0_294 = __p0_294;
  int8x8_t __s2_294 = __p2_294;
  __ret_294 = vsetq_lane_s8(vget_lane_s8(__s2_294, __p3_294), __s0_294, __p1_294);
  __ret_294;
})

macrovcopyq_lane_f32

#define vcopyq_lane_f32(__p0_296, __p1_296, __p2_296, __p3_296) __extension__ ({
  float32x4_t __ret_296;
  float32x4_t __s0_296 = __p0_296;
  float32x2_t __s2_296 = __p2_296;
  __ret_296 = vsetq_lane_f32(vget_lane_f32(__s2_296, __p3_296), __s0_296, __p1_296);
  __ret_296;
})

macrovcopyq_lane_s32

#define vcopyq_lane_s32(__p0_298, __p1_298, __p2_298, __p3_298) __extension__ ({
  int32x4_t __ret_298;
  int32x4_t __s0_298 = __p0_298;
  int32x2_t __s2_298 = __p2_298;
  __ret_298 = vsetq_lane_s32(vget_lane_s32(__s2_298, __p3_298), __s0_298, __p1_298);
  __ret_298;
})

macrovcopyq_lane_s64

#define vcopyq_lane_s64(__p0_300, __p1_300, __p2_300, __p3_300) __extension__ ({
  int64x2_t __ret_300;
  int64x2_t __s0_300 = __p0_300;
  int64x1_t __s2_300 = __p2_300;
  __ret_300 = vsetq_lane_s64(vget_lane_s64(__s2_300, __p3_300), __s0_300, __p1_300);
  __ret_300;
})

macrovcopyq_lane_mf8

#define vcopyq_lane_mf8(__p0_302, __p1_302, __p2_302, __p3_302) __extension__ ({
  mfloat8x16_t __ret_302;
  mfloat8x16_t __s0_302 = __p0_302;
  mfloat8x8_t __s2_302 = __p2_302;
  __ret_302 = vsetq_lane_mf8(vget_lane_mf8(__s2_302, __p3_302), __s0_302, __p1_302);
  __ret_302;
})

macrovcopyq_lane_s16

#define vcopyq_lane_s16(__p0_304, __p1_304, __p2_304, __p3_304) __extension__ ({
  int16x8_t __ret_304;
  int16x8_t __s0_304 = __p0_304;
  int16x4_t __s2_304 = __p2_304;
  __ret_304 = vsetq_lane_s16(vget_lane_s16(__s2_304, __p3_304), __s0_304, __p1_304);
  __ret_304;
})

macrovcopy_lane_p8

#define vcopy_lane_p8(__p0_306, __p1_306, __p2_306, __p3_306) __extension__ ({
  poly8x8_t __ret_306;
  poly8x8_t __s0_306 = __p0_306;
  poly8x8_t __s2_306 = __p2_306;
  __ret_306 = vset_lane_p8(vget_lane_p8(__s2_306, __p3_306), __s0_306, __p1_306);
  __ret_306;
})

macrovcopy_lane_p16

#define vcopy_lane_p16(__p0_308, __p1_308, __p2_308, __p3_308) __extension__ ({
  poly16x4_t __ret_308;
  poly16x4_t __s0_308 = __p0_308;
  poly16x4_t __s2_308 = __p2_308;
  __ret_308 = vset_lane_p16(vget_lane_p16(__s2_308, __p3_308), __s0_308, __p1_308);
  __ret_308;
})

macrovcopy_lane_u8

#define vcopy_lane_u8(__p0_310, __p1_310, __p2_310, __p3_310) __extension__ ({
  uint8x8_t __ret_310;
  uint8x8_t __s0_310 = __p0_310;
  uint8x8_t __s2_310 = __p2_310;
  __ret_310 = vset_lane_u8(vget_lane_u8(__s2_310, __p3_310), __s0_310, __p1_310);
  __ret_310;
})

macrovcopy_lane_u32

#define vcopy_lane_u32(__p0_312, __p1_312, __p2_312, __p3_312) __extension__ ({
  uint32x2_t __ret_312;
  uint32x2_t __s0_312 = __p0_312;
  uint32x2_t __s2_312 = __p2_312;
  __ret_312 = vset_lane_u32(vget_lane_u32(__s2_312, __p3_312), __s0_312, __p1_312);
  __ret_312;
})

macrovcopy_lane_u64

#define vcopy_lane_u64(__p0_314, __p1_314, __p2_314, __p3_314) __extension__ ({
  uint64x1_t __ret_314;
  uint64x1_t __s0_314 = __p0_314;
  uint64x1_t __s2_314 = __p2_314;
  __ret_314 = vset_lane_u64(vget_lane_u64(__s2_314, __p3_314), __s0_314, __p1_314);
  __ret_314;
})

macrovcopy_lane_u16

#define vcopy_lane_u16(__p0_315, __p1_315, __p2_315, __p3_315) __extension__ ({
  uint16x4_t __ret_315;
  uint16x4_t __s0_315 = __p0_315;
  uint16x4_t __s2_315 = __p2_315;
  __ret_315 = vset_lane_u16(vget_lane_u16(__s2_315, __p3_315), __s0_315, __p1_315);
  __ret_315;
})

macrovcopy_lane_s8

#define vcopy_lane_s8(__p0_317, __p1_317, __p2_317, __p3_317) __extension__ ({
  int8x8_t __ret_317;
  int8x8_t __s0_317 = __p0_317;
  int8x8_t __s2_317 = __p2_317;
  __ret_317 = vset_lane_s8(vget_lane_s8(__s2_317, __p3_317), __s0_317, __p1_317);
  __ret_317;
})

macrovcopy_lane_f32

#define vcopy_lane_f32(__p0_319, __p1_319, __p2_319, __p3_319) __extension__ ({
  float32x2_t __ret_319;
  float32x2_t __s0_319 = __p0_319;
  float32x2_t __s2_319 = __p2_319;
  __ret_319 = vset_lane_f32(vget_lane_f32(__s2_319, __p3_319), __s0_319, __p1_319);
  __ret_319;
})

macrovcopy_lane_s32

#define vcopy_lane_s32(__p0_321, __p1_321, __p2_321, __p3_321) __extension__ ({
  int32x2_t __ret_321;
  int32x2_t __s0_321 = __p0_321;
  int32x2_t __s2_321 = __p2_321;
  __ret_321 = vset_lane_s32(vget_lane_s32(__s2_321, __p3_321), __s0_321, __p1_321);
  __ret_321;
})

macrovcopy_lane_s64

#define vcopy_lane_s64(__p0_323, __p1_323, __p2_323, __p3_323) __extension__ ({
  int64x1_t __ret_323;
  int64x1_t __s0_323 = __p0_323;
  int64x1_t __s2_323 = __p2_323;
  __ret_323 = vset_lane_s64(vget_lane_s64(__s2_323, __p3_323), __s0_323, __p1_323);
  __ret_323;
})

macrovcopy_lane_mf8

#define vcopy_lane_mf8(__p0_324, __p1_324, __p2_324, __p3_324) __extension__ ({
  mfloat8x8_t __ret_324;
  mfloat8x8_t __s0_324 = __p0_324;
  mfloat8x8_t __s2_324 = __p2_324;
  __ret_324 = vset_lane_mf8(vget_lane_mf8(__s2_324, __p3_324), __s0_324, __p1_324);
  __ret_324;
})

macrovcopy_lane_s16

#define vcopy_lane_s16(__p0_326, __p1_326, __p2_326, __p3_326) __extension__ ({
  int16x4_t __ret_326;
  int16x4_t __s0_326 = __p0_326;
  int16x4_t __s2_326 = __p2_326;
  __ret_326 = vset_lane_s16(vget_lane_s16(__s2_326, __p3_326), __s0_326, __p1_326);
  __ret_326;
})

macrovcopyq_laneq_p8

#define vcopyq_laneq_p8(__p0_328, __p1_328, __p2_328, __p3_328) __extension__ ({
  poly8x16_t __ret_328;
  poly8x16_t __s0_328 = __p0_328;
  poly8x16_t __s2_328 = __p2_328;
  __ret_328 = vsetq_lane_p8(vgetq_lane_p8(__s2_328, __p3_328), __s0_328, __p1_328);
  __ret_328;
})

macrovcopyq_laneq_p16

#define vcopyq_laneq_p16(__p0_330, __p1_330, __p2_330, __p3_330) __extension__ ({
  poly16x8_t __ret_330;
  poly16x8_t __s0_330 = __p0_330;
  poly16x8_t __s2_330 = __p2_330;
  __ret_330 = vsetq_lane_p16(vgetq_lane_p16(__s2_330, __p3_330), __s0_330, __p1_330);
  __ret_330;
})

macrovcopyq_laneq_u8

#define vcopyq_laneq_u8(__p0_332, __p1_332, __p2_332, __p3_332) __extension__ ({
  uint8x16_t __ret_332;
  uint8x16_t __s0_332 = __p0_332;
  uint8x16_t __s2_332 = __p2_332;
  __ret_332 = vsetq_lane_u8(vgetq_lane_u8(__s2_332, __p3_332), __s0_332, __p1_332);
  __ret_332;
})

macrovcopyq_laneq_u32

#define vcopyq_laneq_u32(__p0_334, __p1_334, __p2_334, __p3_334) __extension__ ({
  uint32x4_t __ret_334;
  uint32x4_t __s0_334 = __p0_334;
  uint32x4_t __s2_334 = __p2_334;
  __ret_334 = vsetq_lane_u32(vgetq_lane_u32(__s2_334, __p3_334), __s0_334, __p1_334);
  __ret_334;
})

macrovcopyq_laneq_u64

#define vcopyq_laneq_u64(__p0_336, __p1_336, __p2_336, __p3_336) __extension__ ({
  uint64x2_t __ret_336;
  uint64x2_t __s0_336 = __p0_336;
  uint64x2_t __s2_336 = __p2_336;
  __ret_336 = vsetq_lane_u64(vgetq_lane_u64(__s2_336, __p3_336), __s0_336, __p1_336);
  __ret_336;
})

macrovcopyq_laneq_u16

#define vcopyq_laneq_u16(__p0_338, __p1_338, __p2_338, __p3_338) __extension__ ({
  uint16x8_t __ret_338;
  uint16x8_t __s0_338 = __p0_338;
  uint16x8_t __s2_338 = __p2_338;
  __ret_338 = vsetq_lane_u16(vgetq_lane_u16(__s2_338, __p3_338), __s0_338, __p1_338);
  __ret_338;
})

macrovcopyq_laneq_s8

#define vcopyq_laneq_s8(__p0_340, __p1_340, __p2_340, __p3_340) __extension__ ({
  int8x16_t __ret_340;
  int8x16_t __s0_340 = __p0_340;
  int8x16_t __s2_340 = __p2_340;
  __ret_340 = vsetq_lane_s8(vgetq_lane_s8(__s2_340, __p3_340), __s0_340, __p1_340);
  __ret_340;
})

macrovcopyq_laneq_f32

#define vcopyq_laneq_f32(__p0_342, __p1_342, __p2_342, __p3_342) __extension__ ({
  float32x4_t __ret_342;
  float32x4_t __s0_342 = __p0_342;
  float32x4_t __s2_342 = __p2_342;
  __ret_342 = vsetq_lane_f32(vgetq_lane_f32(__s2_342, __p3_342), __s0_342, __p1_342);
  __ret_342;
})

macrovcopyq_laneq_s32

#define vcopyq_laneq_s32(__p0_344, __p1_344, __p2_344, __p3_344) __extension__ ({
  int32x4_t __ret_344;
  int32x4_t __s0_344 = __p0_344;
  int32x4_t __s2_344 = __p2_344;
  __ret_344 = vsetq_lane_s32(vgetq_lane_s32(__s2_344, __p3_344), __s0_344, __p1_344);
  __ret_344;
})

macrovcopyq_laneq_s64

#define vcopyq_laneq_s64(__p0_346, __p1_346, __p2_346, __p3_346) __extension__ ({
  int64x2_t __ret_346;
  int64x2_t __s0_346 = __p0_346;
  int64x2_t __s2_346 = __p2_346;
  __ret_346 = vsetq_lane_s64(vgetq_lane_s64(__s2_346, __p3_346), __s0_346, __p1_346);
  __ret_346;
})

macrovcopyq_laneq_mf8

#define vcopyq_laneq_mf8(__p0_348, __p1_348, __p2_348, __p3_348) __extension__ ({
  mfloat8x16_t __ret_348;
  mfloat8x16_t __s0_348 = __p0_348;
  mfloat8x16_t __s2_348 = __p2_348;
  __ret_348 = vsetq_lane_mf8(vgetq_lane_mf8(__s2_348, __p3_348), __s0_348, __p1_348);
  __ret_348;
})

macrovcopyq_laneq_s16

#define vcopyq_laneq_s16(__p0_350, __p1_350, __p2_350, __p3_350) __extension__ ({
  int16x8_t __ret_350;
  int16x8_t __s0_350 = __p0_350;
  int16x8_t __s2_350 = __p2_350;
  __ret_350 = vsetq_lane_s16(vgetq_lane_s16(__s2_350, __p3_350), __s0_350, __p1_350);
  __ret_350;
})

macrovcopy_laneq_p8

#define vcopy_laneq_p8(__p0_352, __p1_352, __p2_352, __p3_352) __extension__ ({
  poly8x8_t __ret_352;
  poly8x8_t __s0_352 = __p0_352;
  poly8x16_t __s2_352 = __p2_352;
  __ret_352 = vset_lane_p8(vgetq_lane_p8(__s2_352, __p3_352), __s0_352, __p1_352);
  __ret_352;
})

macrovcopy_laneq_p16

#define vcopy_laneq_p16(__p0_354, __p1_354, __p2_354, __p3_354) __extension__ ({
  poly16x4_t __ret_354;
  poly16x4_t __s0_354 = __p0_354;
  poly16x8_t __s2_354 = __p2_354;
  __ret_354 = vset_lane_p16(vgetq_lane_p16(__s2_354, __p3_354), __s0_354, __p1_354);
  __ret_354;
})

macrovcopy_laneq_u8

#define vcopy_laneq_u8(__p0_356, __p1_356, __p2_356, __p3_356) __extension__ ({
  uint8x8_t __ret_356;
  uint8x8_t __s0_356 = __p0_356;
  uint8x16_t __s2_356 = __p2_356;
  __ret_356 = vset_lane_u8(vgetq_lane_u8(__s2_356, __p3_356), __s0_356, __p1_356);
  __ret_356;
})

macrovcopy_laneq_u32

#define vcopy_laneq_u32(__p0_358, __p1_358, __p2_358, __p3_358) __extension__ ({
  uint32x2_t __ret_358;
  uint32x2_t __s0_358 = __p0_358;
  uint32x4_t __s2_358 = __p2_358;
  __ret_358 = vset_lane_u32(vgetq_lane_u32(__s2_358, __p3_358), __s0_358, __p1_358);
  __ret_358;
})

macrovcopy_laneq_u64

#define vcopy_laneq_u64(__p0_360, __p1_360, __p2_360, __p3_360) __extension__ ({
  uint64x1_t __ret_360;
  uint64x1_t __s0_360 = __p0_360;
  uint64x2_t __s2_360 = __p2_360;
  __ret_360 = vset_lane_u64(vgetq_lane_u64(__s2_360, __p3_360), __s0_360, __p1_360);
  __ret_360;
})

macrovcopy_laneq_u16

#define vcopy_laneq_u16(__p0_362, __p1_362, __p2_362, __p3_362) __extension__ ({
  uint16x4_t __ret_362;
  uint16x4_t __s0_362 = __p0_362;
  uint16x8_t __s2_362 = __p2_362;
  __ret_362 = vset_lane_u16(vgetq_lane_u16(__s2_362, __p3_362), __s0_362, __p1_362);
  __ret_362;
})

macrovcopy_laneq_s8

#define vcopy_laneq_s8(__p0_364, __p1_364, __p2_364, __p3_364) __extension__ ({
  int8x8_t __ret_364;
  int8x8_t __s0_364 = __p0_364;
  int8x16_t __s2_364 = __p2_364;
  __ret_364 = vset_lane_s8(vgetq_lane_s8(__s2_364, __p3_364), __s0_364, __p1_364);
  __ret_364;
})

macrovcopy_laneq_f32

#define vcopy_laneq_f32(__p0_366, __p1_366, __p2_366, __p3_366) __extension__ ({
  float32x2_t __ret_366;
  float32x2_t __s0_366 = __p0_366;
  float32x4_t __s2_366 = __p2_366;
  __ret_366 = vset_lane_f32(vgetq_lane_f32(__s2_366, __p3_366), __s0_366, __p1_366);
  __ret_366;
})

macrovcopy_laneq_s32

#define vcopy_laneq_s32(__p0_368, __p1_368, __p2_368, __p3_368) __extension__ ({
  int32x2_t __ret_368;
  int32x2_t __s0_368 = __p0_368;
  int32x4_t __s2_368 = __p2_368;
  __ret_368 = vset_lane_s32(vgetq_lane_s32(__s2_368, __p3_368), __s0_368, __p1_368);
  __ret_368;
})

macrovcopy_laneq_s64

#define vcopy_laneq_s64(__p0_370, __p1_370, __p2_370, __p3_370) __extension__ ({
  int64x1_t __ret_370;
  int64x1_t __s0_370 = __p0_370;
  int64x2_t __s2_370 = __p2_370;
  __ret_370 = vset_lane_s64(vgetq_lane_s64(__s2_370, __p3_370), __s0_370, __p1_370);
  __ret_370;
})

macrovcopy_laneq_mf8

#define vcopy_laneq_mf8(__p0_372, __p1_372, __p2_372, __p3_372) __extension__ ({
  mfloat8x8_t __ret_372;
  mfloat8x8_t __s0_372 = __p0_372;
  mfloat8x16_t __s2_372 = __p2_372;
  __ret_372 = vset_lane_mf8(vgetq_lane_mf8(__s2_372, __p3_372), __s0_372, __p1_372);
  __ret_372;
})

macrovcopy_laneq_s16

#define vcopy_laneq_s16(__p0_374, __p1_374, __p2_374, __p3_374) __extension__ ({
  int16x4_t __ret_374;
  int16x4_t __s0_374 = __p0_374;
  int16x8_t __s2_374 = __p2_374;
  __ret_374 = vset_lane_s16(vgetq_lane_s16(__s2_374, __p3_374), __s0_374, __p1_374);
  __ret_374;
})

macrovcreate_p64

#define vcreate_p64(__p0) __extension__ ({
  poly64x1_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(poly64x1_t, __promote);
  __ret;
})

macrovcreate_f64

#define vcreate_f64(__p0) __extension__ ({
  float64x1_t __ret;
  uint64_t __promote = __p0;
  __ret = __builtin_bit_cast(float64x1_t, __promote);
  __ret;
})

macrovdupb_lane_p8

#define vdupb_lane_p8(__p0, __p1) __extension__ ({
  poly8_t __ret;
  poly8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_lane_i8(__s0, __p1));
  __ret;
})

macrovduph_lane_p16

#define vduph_lane_p16(__p0, __p1) __extension__ ({
  poly16_t __ret;
  poly16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_lane_i16(__s0, __p1));
  __ret;
})

macrovdupb_lane_u8

#define vdupb_lane_u8(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vdupb_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1));
  __ret;
})

macrovdups_lane_u32

#define vdups_lane_u32(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vdups_lane_i32(__builtin_bit_cast(int32x2_t, __s0), __p1));
  __ret;
})

macrovdupd_lane_u64

#define vdupd_lane_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vdupd_lane_i64(__builtin_bit_cast(int64x1_t, __s0), __p1));
  __ret;
})

macrovduph_lane_u16

#define vduph_lane_u16(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vduph_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1));
  __ret;
})

macrovdupb_lane_s8

#define vdupb_lane_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vdupb_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1));
  __ret;
})

macrovdupd_lane_f64

#define vdupd_lane_f64(__p0, __p1) __extension__ ({
  float64_t __ret;
  float64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64_t, __builtin_neon_vdupd_lane_f64(__s0, __p1));
  __ret;
})

macrovdups_lane_f32

#define vdups_lane_f32(__p0, __p1) __extension__ ({
  float32_t __ret;
  float32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32_t, __builtin_neon_vdups_lane_f32(__s0, __p1));
  __ret;
})

macrovdups_lane_s32

#define vdups_lane_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vdups_lane_i32(__builtin_bit_cast(int32x2_t, __s0), __p1));
  __ret;
})

macrovdupd_lane_s64

#define vdupd_lane_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vdupd_lane_i64(__builtin_bit_cast(int64x1_t, __s0), __p1));
  __ret;
})

macrovdupb_lane_mf8

#define vdupb_lane_mf8(__p0, __p1) __extension__ ({
  mfloat8_t __ret;
  mfloat8x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8_t, __builtin_neon_vdupb_lane_mf8(__s0, __p1));
  __ret;
})

macrovduph_lane_s16

#define vduph_lane_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vduph_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1));
  __ret;
})

macrovduph_lane_f16

#define vduph_lane_f16(__p0, __p1) __extension__ ({
  float16_t __ret;
  float16x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16_t, __builtin_neon_vduph_lane_f16(__s0, __p1));
  __ret;
})

macrovdup_lane_p64

#define vdup_lane_p64(__p0_376, __p1_376) __extension__ ({
  poly64x1_t __ret_376;
  poly64x1_t __s0_376 = __p0_376;
  __ret_376 = splat_lane_p64(__s0_376, __p1_376);
  __ret_376;
})

macrovdupq_lane_p64

#define vdupq_lane_p64(__p0_377, __p1_377) __extension__ ({
  poly64x2_t __ret_377;
  poly64x1_t __s0_377 = __p0_377;
  __ret_377 = splatq_lane_p64(__s0_377, __p1_377);
  __ret_377;
})

macrovdupq_lane_f64

#define vdupq_lane_f64(__p0_379, __p1_379) __extension__ ({
  float64x2_t __ret_379;
  float64x1_t __s0_379 = __p0_379;
  __ret_379 = splatq_lane_f64(__s0_379, __p1_379);
  __ret_379;
})

macrovdup_lane_f64

#define vdup_lane_f64(__p0_381, __p1_381) __extension__ ({
  float64x1_t __ret_381;
  float64x1_t __s0_381 = __p0_381;
  __ret_381 = splat_lane_f64(__s0_381, __p1_381);
  __ret_381;
})

macrovdupb_laneq_p8

#define vdupb_laneq_p8(__p0, __p1) __extension__ ({
  poly8_t __ret;
  poly8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_laneq_i8(__s0, __p1));
  __ret;
})

macrovduph_laneq_p16

#define vduph_laneq_p16(__p0, __p1) __extension__ ({
  poly16_t __ret;
  poly16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_laneq_i16(__s0, __p1));
  __ret;
})

macrovdupb_laneq_u8

#define vdupb_laneq_u8(__p0, __p1) __extension__ ({
  uint8_t __ret;
  uint8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint8_t, __builtin_neon_vdupb_laneq_i8(__builtin_bit_cast(int8x16_t, __s0), __p1));
  __ret;
})

macrovdups_laneq_u32

#define vdups_laneq_u32(__p0, __p1) __extension__ ({
  uint32_t __ret;
  uint32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vdups_laneq_i32(__builtin_bit_cast(int32x4_t, __s0), __p1));
  __ret;
})

macrovdupd_laneq_u64

#define vdupd_laneq_u64(__p0, __p1) __extension__ ({
  uint64_t __ret;
  uint64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vdupd_laneq_i64(__builtin_bit_cast(int64x2_t, __s0), __p1));
  __ret;
})

macrovduph_laneq_u16

#define vduph_laneq_u16(__p0, __p1) __extension__ ({
  uint16_t __ret;
  uint16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(uint16_t, __builtin_neon_vduph_laneq_i16(__builtin_bit_cast(int16x8_t, __s0), __p1));
  __ret;
})

macrovdupb_laneq_s8

#define vdupb_laneq_s8(__p0, __p1) __extension__ ({
  int8_t __ret;
  int8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(int8_t, __builtin_neon_vdupb_laneq_i8(__builtin_bit_cast(int8x16_t, __s0), __p1));
  __ret;
})

macrovdupd_laneq_f64

#define vdupd_laneq_f64(__p0, __p1) __extension__ ({
  float64_t __ret;
  float64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64_t, __builtin_neon_vdupd_laneq_f64(__s0, __p1));
  __ret;
})

macrovdups_laneq_f32

#define vdups_laneq_f32(__p0, __p1) __extension__ ({
  float32_t __ret;
  float32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(float32_t, __builtin_neon_vdups_laneq_f32(__s0, __p1));
  __ret;
})

macrovdups_laneq_s32

#define vdups_laneq_s32(__p0, __p1) __extension__ ({
  int32_t __ret;
  int32x4_t __s0 = __p0;
  __ret = __builtin_bit_cast(int32_t, __builtin_neon_vdups_laneq_i32(__builtin_bit_cast(int32x4_t, __s0), __p1));
  __ret;
})

macrovdupd_laneq_s64

#define vdupd_laneq_s64(__p0, __p1) __extension__ ({
  int64_t __ret;
  int64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(int64_t, __builtin_neon_vdupd_laneq_i64(__builtin_bit_cast(int64x2_t, __s0), __p1));
  __ret;
})

macrovdupb_laneq_mf8

#define vdupb_laneq_mf8(__p0, __p1) __extension__ ({
  mfloat8_t __ret;
  mfloat8x16_t __s0 = __p0;
  __ret = __builtin_bit_cast(mfloat8_t, __builtin_neon_vdupb_laneq_mf8(__s0, __p1));
  __ret;
})

macrovduph_laneq_s16

#define vduph_laneq_s16(__p0, __p1) __extension__ ({
  int16_t __ret;
  int16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(int16_t, __builtin_neon_vduph_laneq_i16(__builtin_bit_cast(int16x8_t, __s0), __p1));
  __ret;
})

macrovduph_laneq_f16

#define vduph_laneq_f16(__p0, __p1) __extension__ ({
  float16_t __ret;
  float16x8_t __s0 = __p0;
  __ret = __builtin_bit_cast(float16_t, __builtin_neon_vduph_laneq_f16(__s0, __p1));
  __ret;
})

macrovdup_laneq_p8

#define vdup_laneq_p8(__p0_382, __p1_382) __extension__ ({
  poly8x8_t __ret_382;
  poly8x16_t __s0_382 = __p0_382;
  __ret_382 = splat_laneq_p8(__s0_382, __p1_382);
  __ret_382;
})

macrovdup_laneq_p64

#define vdup_laneq_p64(__p0_384, __p1_384) __extension__ ({
  poly64x1_t __ret_384;
  poly64x2_t __s0_384 = __p0_384;
  __ret_384 = splat_laneq_p64(__s0_384, __p1_384);
  __ret_384;
})

macrovdup_laneq_p16

#define vdup_laneq_p16(__p0_386, __p1_386) __extension__ ({
  poly16x4_t __ret_386;
  poly16x8_t __s0_386 = __p0_386;
  __ret_386 = splat_laneq_p16(__s0_386, __p1_386);
  __ret_386;
})

macrovdupq_laneq_p8

#define vdupq_laneq_p8(__p0_388, __p1_388) __extension__ ({
  poly8x16_t __ret_388;
  poly8x16_t __s0_388 = __p0_388;
  __ret_388 = splatq_laneq_p8(__s0_388, __p1_388);
  __ret_388;
})

macrovdupq_laneq_p64

#define vdupq_laneq_p64(__p0_390, __p1_390) __extension__ ({
  poly64x2_t __ret_390;
  poly64x2_t __s0_390 = __p0_390;
  __ret_390 = splatq_laneq_p64(__s0_390, __p1_390);
  __ret_390;
})

macrovdupq_laneq_p16

#define vdupq_laneq_p16(__p0_392, __p1_392) __extension__ ({
  poly16x8_t __ret_392;
  poly16x8_t __s0_392 = __p0_392;
  __ret_392 = splatq_laneq_p16(__s0_392, __p1_392);
  __ret_392;
})

macrovdupq_laneq_u8

#define vdupq_laneq_u8(__p0_394, __p1_394) __extension__ ({
  uint8x16_t __ret_394;
  uint8x16_t __s0_394 = __p0_394;
  __ret_394 = splatq_laneq_u8(__s0_394, __p1_394);
  __ret_394;
})

macrovdupq_laneq_u32

#define vdupq_laneq_u32(__p0_396, __p1_396) __extension__ ({
  uint32x4_t __ret_396;
  uint32x4_t __s0_396 = __p0_396;
  __ret_396 = splatq_laneq_u32(__s0_396, __p1_396);
  __ret_396;
})

macrovdupq_laneq_u64

#define vdupq_laneq_u64(__p0_398, __p1_398) __extension__ ({
  uint64x2_t __ret_398;
  uint64x2_t __s0_398 = __p0_398;
  __ret_398 = splatq_laneq_u64(__s0_398, __p1_398);
  __ret_398;
})

macrovdupq_laneq_u16

#define vdupq_laneq_u16(__p0_400, __p1_400) __extension__ ({
  uint16x8_t __ret_400;
  uint16x8_t __s0_400 = __p0_400;
  __ret_400 = splatq_laneq_u16(__s0_400, __p1_400);
  __ret_400;
})

macrovdupq_laneq_s8

#define vdupq_laneq_s8(__p0_402, __p1_402) __extension__ ({
  int8x16_t __ret_402;
  int8x16_t __s0_402 = __p0_402;
  __ret_402 = splatq_laneq_s8(__s0_402, __p1_402);
  __ret_402;
})

macrovdupq_laneq_f64

#define vdupq_laneq_f64(__p0_404, __p1_404) __extension__ ({
  float64x2_t __ret_404;
  float64x2_t __s0_404 = __p0_404;
  __ret_404 = splatq_laneq_f64(__s0_404, __p1_404);
  __ret_404;
})

macrovdupq_laneq_f32

#define vdupq_laneq_f32(__p0_406, __p1_406) __extension__ ({
  float32x4_t __ret_406;
  float32x4_t __s0_406 = __p0_406;
  __ret_406 = splatq_laneq_f32(__s0_406, __p1_406);
  __ret_406;
})

macrovdupq_laneq_f16

#define vdupq_laneq_f16(__p0_408, __p1_408) __extension__ ({
  float16x8_t __ret_408;
  float16x8_t __s0_408 = __p0_408;
  __ret_408 = splatq_laneq_f16(__s0_408, __p1_408);
  __ret_408;
})

macrovdupq_laneq_s32

#define vdupq_laneq_s32(__p0_410, __p1_410) __extension__ ({
  int32x4_t __ret_410;
  int32x4_t __s0_410 = __p0_410;
  __ret_410 = splatq_laneq_s32(__s0_410, __p1_410);
  __ret_410;
})

macrovdupq_laneq_s64

#define vdupq_laneq_s64(__p0_412, __p1_412) __extension__ ({
  int64x2_t __ret_412;
  int64x2_t __s0_412 = __p0_412;
  __ret_412 = splatq_laneq_s64(__s0_412, __p1_412);
  __ret_412;
})

macrovdupq_laneq_mf8

#define vdupq_laneq_mf8(__p0_414, __p1_414) __extension__ ({
  mfloat8x16_t __ret_414;
  mfloat8x16_t __s0_414 = __p0_414;
  __ret_414 = splatq_laneq_mf8(__s0_414, __p1_414);
  __ret_414;
})

macrovdupq_laneq_s16

#define vdupq_laneq_s16(__p0_416, __p1_416) __extension__ ({
  int16x8_t __ret_416;
  int16x8_t __s0_416 = __p0_416;
  __ret_416 = splatq_laneq_s16(__s0_416, __p1_416);
  __ret_416;
})

macrovdup_laneq_u8

#define vdup_laneq_u8(__p0_418, __p1_418) __extension__ ({
  uint8x8_t __ret_418;
  uint8x16_t __s0_418 = __p0_418;
  __ret_418 = splat_laneq_u8(__s0_418, __p1_418);
  __ret_418;
})

macrovdup_laneq_u32

#define vdup_laneq_u32(__p0_420, __p1_420) __extension__ ({
  uint32x2_t __ret_420;
  uint32x4_t __s0_420 = __p0_420;
  __ret_420 = splat_laneq_u32(__s0_420, __p1_420);
  __ret_420;
})

macrovdup_laneq_u64

#define vdup_laneq_u64(__p0_422, __p1_422) __extension__ ({
  uint64x1_t __ret_422;
  uint64x2_t __s0_422 = __p0_422;
  __ret_422 = splat_laneq_u64(__s0_422, __p1_422);
  __ret_422;
})

macrovdup_laneq_u16

#define vdup_laneq_u16(__p0_424, __p1_424) __extension__ ({
  uint16x4_t __ret_424;
  uint16x8_t __s0_424 = __p0_424;
  __ret_424 = splat_laneq_u16(__s0_424, __p1_424);
  __ret_424;
})

macrovdup_laneq_s8

#define vdup_laneq_s8(__p0_426, __p1_426) __extension__ ({
  int8x8_t __ret_426;
  int8x16_t __s0_426 = __p0_426;
  __ret_426 = splat_laneq_s8(__s0_426, __p1_426);
  __ret_426;
})

macrovdup_laneq_f64

#define vdup_laneq_f64(__p0_428, __p1_428) __extension__ ({
  float64x1_t __ret_428;
  float64x2_t __s0_428 = __p0_428;
  __ret_428 = splat_laneq_f64(__s0_428, __p1_428);
  __ret_428;
})

macrovdup_laneq_f32

#define vdup_laneq_f32(__p0_430, __p1_430) __extension__ ({
  float32x2_t __ret_430;
  float32x4_t __s0_430 = __p0_430;
  __ret_430 = splat_laneq_f32(__s0_430, __p1_430);
  __ret_430;
})

macrovdup_laneq_f16

#define vdup_laneq_f16(__p0_432, __p1_432) __extension__ ({
  float16x4_t __ret_432;
  float16x8_t __s0_432 = __p0_432;
  __ret_432 = splat_laneq_f16(__s0_432, __p1_432);
  __ret_432;
})

macrovdup_laneq_s32

#define vdup_laneq_s32(__p0_434, __p1_434) __extension__ ({
  int32x2_t __ret_434;
  int32x4_t __s0_434 = __p0_434;
  __ret_434 = splat_laneq_s32(__s0_434, __p1_434);
  __ret_434;
})

macrovdup_laneq_s64

#define vdup_laneq_s64(__p0_436, __p1_436) __extension__ ({
  int64x1_t __ret_436;
  int64x2_t __s0_436 = __p0_436;
  __ret_436 = splat_laneq_s64(__s0_436, __p1_436);
  __ret_436;
})

macrovdup_laneq_mf8

#define vdup_laneq_mf8(__p0_438, __p1_438) __extension__ ({
  mfloat8x8_t __ret_438;
  mfloat8x16_t __s0_438 = __p0_438;
  __ret_438 = splat_laneq_mf8(__s0_438, __p1_438);
  __ret_438;
})

macrovdup_laneq_s16

#define vdup_laneq_s16(__p0_440, __p1_440) __extension__ ({
  int16x4_t __ret_440;
  int16x8_t __s0_440 = __p0_440;
  __ret_440 = splat_laneq_s16(__s0_440, __p1_440);
  __ret_440;
})

functionvdup_n_p64

__ai __attribute__((target("neon")))
poly64x1_t vdup_n_p64(poly64_t __p0)

functionvdupq_n_p64

__ai __attribute__((target("neon")))
poly64x2_t vdupq_n_p64(poly64_t __p0)

functionvdupq_n_f64

__ai __attribute__((target("neon")))
float64x2_t vdupq_n_f64(float64_t __p0)

functionvdup_n_f64

__ai __attribute__((target("neon")))
float64x1_t vdup_n_f64(float64_t __p0)

functionvget_high_p64

__ai __attribute__((target("neon")))
poly64x1_t vget_high_p64(poly64x2_t __p0)

functionvget_high_f64

__ai __attribute__((target("neon")))
float64x1_t vget_high_f64(float64x2_t __p0)

macrovget_lane_p64

#define vget_lane_p64(__p0, __p1) __extension__ ({
  poly64_t __ret;
  poly64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vget_lane_i64(__s0, __p1));
  __ret;
})

macrovgetq_lane_p64

#define vgetq_lane_p64(__p0, __p1) __extension__ ({
  poly64_t __ret;
  poly64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__s0, __p1));
  __ret;
})

macrovgetq_lane_f64

#define vgetq_lane_f64(__p0, __p1) __extension__ ({
  float64_t __ret;
  float64x2_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64_t, __builtin_neon_vgetq_lane_f64(__s0, __p1));
  __ret;
})

macrovget_lane_f64

#define vget_lane_f64(__p0, __p1) __extension__ ({
  float64_t __ret;
  float64x1_t __s0 = __p0;
  __ret = __builtin_bit_cast(float64_t, __builtin_neon_vget_lane_f64(__s0, __p1));
  __ret;
})

functionvget_low_p64

__ai __attribute__((target("neon")))
poly64x1_t vget_low_p64(poly64x2_t __p0)

functionvget_low_f64

__ai __attribute__((target("neon")))
float64x1_t vget_low_f64(float64x2_t __p0)

functionvmov_n_p64

__ai __attribute__((target("neon")))
poly64x1_t vmov_n_p64(poly64_t __p0)

functionvmovq_n_p64

__ai __attribute__((target("neon")))
poly64x2_t vmovq_n_p64(poly64_t __p0)

functionvmovq_n_f64

__ai __attribute__((target("neon")))
float64x2_t vmovq_n_f64(float64_t __p0)

functionvmov_n_f64

__ai __attribute__((target("neon")))
float64x1_t vmov_n_f64(float64_t __p0)

macrovset_lane_p64

#define vset_lane_p64(__p0, __p1, __p2) __extension__ ({
  poly64x1_t __ret;
  poly64_t __s0 = __p0;
  poly64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_vset_lane_i64(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_p64

#define vsetq_lane_p64(__p0, __p1, __p2) __extension__ ({
  poly64x2_t __ret;
  poly64_t __s0 = __p0;
  poly64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __s1, __p2));
  __ret;
})

macrovsetq_lane_f64

#define vsetq_lane_f64(__p0, __p1, __p2) __extension__ ({
  float64x2_t __ret;
  float64_t __s0 = __p0;
  float64x2_t __s1 = __p1;
  __ret = __builtin_bit_cast(float64x2_t, __builtin_neon_vsetq_lane_f64(__s0, __s1, __p2));
  __ret;
})

macrovset_lane_f64

#define vset_lane_f64(__p0, __p1, __p2) __extension__ ({
  float64x1_t __ret;
  float64_t __s0 = __p0;
  float64x1_t __s1 = __p1;
  __ret = __builtin_bit_cast(float64x1_t, __builtin_neon_vset_lane_f64(__s0, __s1, __p2));
  __ret;
})

macrovget_lane_f16

#define vget_lane_f16(__p0_847, __p1_847) __extension__ ({
  float16_t __ret_847;
  float16x4_t __s0_847 = __p0_847;
  __ret_847 = __builtin_bit_cast(float16_t, vget_lane_s16(__builtin_bit_cast(int16x4_t, __s0_847), __p1_847));
  __ret_847;
})

macrovgetq_lane_f16

#define vgetq_lane_f16(__p0_850, __p1_850) __extension__ ({
  float16_t __ret_850;
  float16x8_t __s0_850 = __p0_850;
  __ret_850 = __builtin_bit_cast(float16_t, vgetq_lane_s16(__builtin_bit_cast(int16x8_t, __s0_850), __p1_850));
  __ret_850;
})

macrovset_lane_f16

#define vset_lane_f16(__p0_869, __p1_869, __p2_869) __extension__ ({
  float16x4_t __ret_869;
  float16_t __s0_869 = __p0_869;
  float16x4_t __s1_869 = __p1_869;
  __ret_869 = __builtin_bit_cast(float16x4_t, vset_lane_s16(__builtin_bit_cast(int16_t, __s0_869), __builtin_bit_cast(int16x4_t, __s1_869), __p2_869));
  __ret_869;
})

macrovsetq_lane_f16

#define vsetq_lane_f16(__p0_871, __p1_871, __p2_871) __extension__ ({
  float16x8_t __ret_871;
  float16_t __s0_871 = __p0_871;
  float16x8_t __s1_871 = __p1_871;
  __ret_871 = __builtin_bit_cast(float16x8_t, vsetq_lane_s16(__builtin_bit_cast(int16_t, __s0_871), __builtin_bit_cast(int16x8_t, __s1_871), __p2_871));
  __ret_871;
})

macrovcopyq_lane_p64

#define vcopyq_lane_p64(__p0_909, __p1_909, __p2_909, __p3_909) __extension__ ({
  poly64x2_t __ret_909;
  poly64x2_t __s0_909 = __p0_909;
  poly64x1_t __s2_909 = __p2_909;
  __ret_909 = vsetq_lane_p64(vget_lane_p64(__s2_909, __p3_909), __s0_909, __p1_909);
  __ret_909;
})

macrovcopyq_lane_f64

#define vcopyq_lane_f64(__p0_911, __p1_911, __p2_911, __p3_911) __extension__ ({
  float64x2_t __ret_911;
  float64x2_t __s0_911 = __p0_911;
  float64x1_t __s2_911 = __p2_911;
  __ret_911 = vsetq_lane_f64(vget_lane_f64(__s2_911, __p3_911), __s0_911, __p1_911);
  __ret_911;
})

macrovcopy_lane_p64

#define vcopy_lane_p64(__p0_913, __p1_913, __p2_913, __p3_913) __extension__ ({
  poly64x1_t __ret_913;
  poly64x1_t __s0_913 = __p0_913;
  poly64x1_t __s2_913 = __p2_913;
  __ret_913 = vset_lane_p64(vget_lane_p64(__s2_913, __p3_913), __s0_913, __p1_913);
  __ret_913;
})

macrovcopy_lane_f64

#define vcopy_lane_f64(__p0_914, __p1_914, __p2_914, __p3_914) __extension__ ({
  float64x1_t __ret_914;
  float64x1_t __s0_914 = __p0_914;
  float64x1_t __s2_914 = __p2_914;
  __ret_914 = vset_lane_f64(vget_lane_f64(__s2_914, __p3_914), __s0_914, __p1_914);
  __ret_914;
})

macrovcopyq_laneq_p64

#define vcopyq_laneq_p64(__p0_915, __p1_915, __p2_915, __p3_915) __extension__ ({
  poly64x2_t __ret_915;
  poly64x2_t __s0_915 = __p0_915;
  poly64x2_t __s2_915 = __p2_915;
  __ret_915 = vsetq_lane_p64(vgetq_lane_p64(__s2_915, __p3_915), __s0_915, __p1_915);
  __ret_915;
})

macrovcopyq_laneq_f64

#define vcopyq_laneq_f64(__p0_917, __p1_917, __p2_917, __p3_917) __extension__ ({
  float64x2_t __ret_917;
  float64x2_t __s0_917 = __p0_917;
  float64x2_t __s2_917 = __p2_917;
  __ret_917 = vsetq_lane_f64(vgetq_lane_f64(__s2_917, __p3_917), __s0_917, __p1_917);
  __ret_917;
})

macrovcopy_laneq_p64

#define vcopy_laneq_p64(__p0_919, __p1_919, __p2_919, __p3_919) __extension__ ({
  poly64x1_t __ret_919;
  poly64x1_t __s0_919 = __p0_919;
  poly64x2_t __s2_919 = __p2_919;
  __ret_919 = vset_lane_p64(vgetq_lane_p64(__s2_919, __p3_919), __s0_919, __p1_919);
  __ret_919;
})

macrovcopy_laneq_f64

#define vcopy_laneq_f64(__p0_921, __p1_921, __p2_921, __p3_921) __extension__ ({
  float64x1_t __ret_921;
  float64x1_t __s0_921 = __p0_921;
  float64x2_t __s2_921 = __p2_921;
  __ret_921 = vset_lane_f64(vgetq_lane_f64(__s2_921, __p3_921), __s0_921, __p1_921);
  __ret_921;
})