On 19/12/2024 12:17, Christophe Lyon wrote:
> Without this patch, testcases using arm_v8_3a_fp16_complex_neon fail
> to compile on arm-linux-gnueabihf with
> fatal error: gnu/stubs-soft.h: No such file or directory
> because they are actually compiled with
> -mfloat-abi=softfp -mfpu=auto -mcpu=unset -march=armv8.3-a+fp16
>
> Fix this by including stdint.h in the sample code for the effective-target.
>
> This makes these tests PASS instead of being UNRESOLVED:
> fast-math-bb-slp-complex-add-half-float.c
> fast-math-bb-slp-complex-mla-half-float.c
> fast-math-bb-slp-complex-mls-half-float.c
> fast-math-bb-slp-complex-mul-half-float.c
> fast-math-complex-add-half-float.c
> fast-math-complex-mla-half-float.c
> fast-math-complex-mls-half-float.c
> fast-math-complex-mul-half-float.c
>
> except for two new
> FAIL: gcc.dg/vect/complex/fast-math-complex-mls-half-float.c scan-tree-dump
> vect "Found COMPLEX_ADD_ROT270"
> (and the same with -flto -ffat-lto-objects)
>
> gcc/testsuite/ChangeLog:
>
> * lib/target-supports.exp
> (check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache):
> Include stdint.h.
> ---
> gcc/testsuite/lib/target-supports.exp | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index a16e9534ccd..9f4e2700dd2 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -13298,6 +13298,7 @@ proc
> check_effective_target_arm_v8_3a_fp16_complex_neon_ok_nocache { } {
> #if !defined (__ARM_FEATURE_COMPLEX)
> #error "__ARM_FEATURE_COMPLEX not defined"
> #endif
> + #include <stdint.h>
> } "$flags -mcpu=unset -march=armv8.3-a+fp16"] } {
> set et_arm_v8_3a_fp16_complex_neon_flags \
> "$flags -mcpu=unset -march=armv8.3-a+fp16"
I'm somewhat surprised that a test in gcc.dg/vect/complex is using an unguarded
arm_... set of options. Tamar, I think this test is one of yours: how is this
supposed to work on non-arm platforms?
R.