+2020-03-11 Delia Burduv <delia.burduv@arm.com>
+
+ * config/arm/arm-builtins.c
+ (arm_init_simd_builtin_scalar_types): New.
+ * config/arm/arm_neon.h (vld2_bf16): Used new builtin type.
+ (vld2q_bf16): Used new builtin type.
+ (vld3_bf16): Used new builtin type.
+ (vld3q_bf16): Used new builtin type.
+ (vld4_bf16): Used new builtin type.
+ (vld4q_bf16): Used new builtin type.
+ (vld2_dup_bf16): Used new builtin type.
+ (vld2q_dup_bf16): Used new builtin type.
+ (vld3_dup_bf16): Used new builtin type.
+ (vld3q_dup_bf16): Used new builtin type.
+ (vld4_dup_bf16): Used new builtin type.
+ (vld4q_dup_bf16): Used new builtin type.
+
2020-03-11 Jakub Jelinek <jakub@redhat.com>
PR target/94134
vld2_bf16 (bfloat16_t const * __ptr)
{
union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __rv;
- __rv.__o = __builtin_neon_vld2v4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld2v4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld2q_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __rv;
- __rv.__o = __builtin_neon_vld2v8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld2v8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld3_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __rv;
- __rv.__o = __builtin_neon_vld3v4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld3v4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld3q_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __rv;
- __rv.__o = __builtin_neon_vld3v8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld3v8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld4_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __rv;
- __rv.__o = __builtin_neon_vld4v4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld4v4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld4q_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv;
- __rv.__o = __builtin_neon_vld4v8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld4v8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld2_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __rv;
- __rv.__o = __builtin_neon_vld2_dupv4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld2_dupv4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld2q_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __rv;
- __rv.__o = __builtin_neon_vld2_dupv8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld2_dupv8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld3_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __rv;
- __rv.__o = __builtin_neon_vld3_dupv4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld3_dupv4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld3q_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __rv;
- __rv.__o = __builtin_neon_vld3_dupv8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld3_dupv8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld4_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __rv;
- __rv.__o = __builtin_neon_vld4_dupv4bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld4_dupv4bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}
vld4q_dup_bf16 (const bfloat16_t * __ptr)
{
union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv;
- __rv.__o = __builtin_neon_vld4_dupv8bf ((const __builtin_neon_hi *) __ptr);
+ __rv.__o = __builtin_neon_vld4_dupv8bf ((const __builtin_neon_bf *) __ptr);
return __rv.__i;
}