Hi, Thanks for the update and sorry for the slow reply.
When I try the patch locally I get: FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O0 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O1 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O2 (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -O3 -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -Og -g (test for excess errors) FAIL: gcc.target/aarch64/advsimd-intrinsics/bfcvt-nosimd.c -Os (test for excess errors) I think that's because: Delia Burduv <delia.bur...@arm.com> writes: > diff --git a/gcc/config/aarch64/arm_bf16.h b/gcc/config/aarch64/arm_bf16.h > index > 3759c0d1cb449a7f0125cc2a1433127564d66622..fa7080c2953bc3254f01d842a8afef917d469080 > 100644 > --- a/gcc/config/aarch64/arm_bf16.h > +++ b/gcc/config/aarch64/arm_bf16.h > @@ -27,6 +27,19 @@ > #ifndef _AARCH64_BF16_H_ > #define _AARCH64_BF16_H_ > > +#pragma GCC push_options > +#pragma GCC target ("+nothing+bf16") > + > typedef __bf16 bfloat16_t; > +typedef float float32_t; > + > +__extension__ extern __inline bfloat16_t > +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > +vcvth_bf16_f32 (float32_t __a) > +{ > + return __builtin_aarch64_bfcvtbf (__a); > +} > + > +#pragma GCC pop_options "+bf16" implicitly enables "+simd", so functions guarded with "+nothing+bf16" are only available when "+simd" is available. I think we want "+nothing+bf16+nosimd" instead. (Haven't tested that though.) Very minor, but: it might be clearer to leave the typedefs outside of the #pragma block. It doesn't make any difference to the behaviour, but it emphasises that the typedefs really are available unconditionally. Looks ready to go otherwise. Thanks, Richard