#include <arm_neon.h>
FP8
FP8 conversions, dot products and multiply-accumulates that take an explicit fpm_t floating-point-mode operand.
functionvcvt1_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt1_bf16_mf8_fpm(mfloat8x8_t __p0, fpm_t __p1)
functionvcvt1_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt1_f16_mf8_fpm(mfloat8x8_t __p0, fpm_t __p1)
functionvcvt1_high_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt1_high_bf16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt1_high_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt1_high_f16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt1_low_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt1_low_bf16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt1_low_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt1_low_f16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt2_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt2_bf16_mf8_fpm(mfloat8x8_t __p0, fpm_t __p1)
functionvcvt2_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt2_f16_mf8_fpm(mfloat8x8_t __p0, fpm_t __p1)
functionvcvt2_high_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt2_high_bf16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt2_high_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt2_high_f16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt2_low_bf16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt2_low_bf16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt2_low_f16_mf8_fpm
__ai __attribute__((target("fp8,neon"))) float16x8_t vcvt2_low_f16_mf8_fpm(mfloat8x16_t __p0, fpm_t __p1)
functionvcvt_high_mf8_f32_fpm
__ai __attribute__((target("fp8,neon"))) mfloat8x16_t vcvt_high_mf8_f32_fpm( mfloat8x8_t __p0, float32x4_t __p1, float32x4_t __p2, fpm_t __p3 )
functionvcvtq_mf8_f16_fpm
__ai __attribute__((target("fp8,neon"))) mfloat8x16_t vcvtq_mf8_f16_fpm(float16x8_t __p0, float16x8_t __p1, fpm_t __p2)
functionvcvt_mf8_f16_fpm
__ai __attribute__((target("fp8,neon"))) mfloat8x8_t vcvt_mf8_f16_fpm(float16x4_t __p0, float16x4_t __p1, fpm_t __p2)
functionvcvt_mf8_f32_fpm
__ai __attribute__((target("fp8,neon"))) mfloat8x8_t vcvt_mf8_f32_fpm(float32x4_t __p0, float32x4_t __p1, fpm_t __p2)
functionvdotq_f16_mf8_fpm
__ai __attribute__((target("fp8dot2,neon"))) float16x8_t vdotq_f16_mf8_fpm( float16x8_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
functionvdot_f16_mf8_fpm
__ai __attribute__((target("fp8dot2,neon"))) float16x4_t vdot_f16_mf8_fpm( float16x4_t __p0, mfloat8x8_t __p1, mfloat8x8_t __p2, fpm_t __p3 )
macrovdotq_lane_f16_mf8_fpm
#define vdotq_lane_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vdotq_lane_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})macrovdot_lane_f16_mf8_fpm
#define vdot_lane_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x4_t __ret;
float16x4_t __s0 = __p0;
mfloat8x8_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x4_t, __builtin_neon_vdot_lane_f16_mf8_fpm(__builtin_bit_cast(int8x8_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})macrovdotq_laneq_f16_mf8_fpm
#define vdotq_laneq_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vdotq_laneq_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})macrovdot_laneq_f16_mf8_fpm
#define vdot_laneq_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x4_t __ret;
float16x4_t __s0 = __p0;
mfloat8x8_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x4_t, __builtin_neon_vdot_laneq_f16_mf8_fpm(__builtin_bit_cast(int8x8_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})functionvdotq_f32_mf8_fpm
__ai __attribute__((target("fp8dot4,neon"))) float32x4_t vdotq_f32_mf8_fpm( float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
functionvdot_f32_mf8_fpm
__ai __attribute__((target("fp8dot4,neon"))) float32x2_t vdot_f32_mf8_fpm( float32x2_t __p0, mfloat8x8_t __p1, mfloat8x8_t __p2, fpm_t __p3 )
macrovdotq_lane_f32_mf8_fpm
#define vdotq_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vdotq_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovdot_lane_f32_mf8_fpm
#define vdot_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x2_t __ret;
float32x2_t __s0 = __p0;
mfloat8x8_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x2_t, __builtin_neon_vdot_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovdotq_laneq_f32_mf8_fpm
#define vdotq_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vdotq_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovdot_laneq_f32_mf8_fpm
#define vdot_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x2_t __ret;
float32x2_t __s0 = __p0;
mfloat8x8_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x2_t, __builtin_neon_vdot_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})functionvmlalbq_f16_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float16x8_t vmlalbq_f16_mf8_fpm( float16x8_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlalbq_lane_f16_mf8_fpm
#define vmlalbq_lane_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmlalbq_lane_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})macrovmlalbq_laneq_f16_mf8_fpm
#define vmlalbq_laneq_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmlalbq_laneq_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})functionvmlallbbq_f32_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float32x4_t vmlallbbq_f32_mf8_fpm( float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlallbbq_lane_f32_mf8_fpm
#define vmlallbbq_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallbbq_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovmlallbbq_laneq_f32_mf8_fpm
#define vmlallbbq_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallbbq_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})functionvmlallbtq_f32_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float32x4_t vmlallbtq_f32_mf8_fpm( float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlallbtq_lane_f32_mf8_fpm
#define vmlallbtq_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallbtq_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovmlallbtq_laneq_f32_mf8_fpm
#define vmlallbtq_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallbtq_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})functionvmlalltbq_f32_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float32x4_t vmlalltbq_f32_mf8_fpm( float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlalltbq_lane_f32_mf8_fpm
#define vmlalltbq_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlalltbq_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovmlalltbq_laneq_f32_mf8_fpm
#define vmlalltbq_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlalltbq_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})functionvmlallttq_f32_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float32x4_t vmlallttq_f32_mf8_fpm( float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlallttq_lane_f32_mf8_fpm
#define vmlallttq_lane_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallttq_lane_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})macrovmlallttq_laneq_f32_mf8_fpm
#define vmlallttq_laneq_f32_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float32x4_t __ret;
float32x4_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmlallttq_laneq_f32_mf8_fpm(__s0, __s1, __s2, __p3, __s4));
__ret;
})functionvmlaltq_f16_mf8_fpm
__ai __attribute__((target("fp8fma,neon"))) float16x8_t vmlaltq_f16_mf8_fpm( float16x8_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3 )
macrovmlaltq_lane_f16_mf8_fpm
#define vmlaltq_lane_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x8_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmlaltq_lane_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})macrovmlaltq_laneq_f16_mf8_fpm
#define vmlaltq_laneq_f16_mf8_fpm(__p0, __p1, __p2, __p3, __p4) __extension__ ({
float16x8_t __ret;
float16x8_t __s0 = __p0;
mfloat8x16_t __s1 = __p1;
mfloat8x16_t __s2 = __p2;
fpm_t __s4 = __p4;
__ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmlaltq_laneq_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __s0), __s1, __s2, __p3, __s4));
__ret;
})