On 4/11/25 1:05 PM, Alexandre Oliva wrote:
> Multiple tests on ilp32 get TARGET_POWERPC64 enabled by -mdejagnu-cpu
> options, but the results they expect are only attained without
> enabling it, so disable it explicitly.
[snip]
> diff --git a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-sig-2.c 
> b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-sig-2.c
> index 4f2129f136b40..87c5c084a8e4e 100644
> --- a/gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-sig-2.c
> +++ b/gcc/testsuite/gcc.target/powerpc/bfp/scalar-extract-sig-2.c
> @@ -1,6 +1,6 @@
>  /* { dg-do compile { target { powerpc*-*-* } } } */
>  /* { dg-skip-if "" { has_arch_ppc64 } } */
> -/* { dg-options "-mdejagnu-cpu=power9 -mvsx" } */
> +/* { dg-options "-mdejagnu-cpu=power9 -mvsx -mno-powerpc64" } */
>  /* { dg-require-effective-target powerpc_vsx } */

But -mcpu= should not enable -mpowerpc64 by default for -m32 compiles.
It doesn't for Linux and I highly doubt it should for powerpc-elf builds.

bergner@perch:~/$ gcc -E -dM -m32 -mcpu=power9 empty.c | grep _ARCH_PPC64
bergner@perch:~/$ gcc -E -dM -m32 -mcpu=power9 -mpowerpc64 empty.c | grep 
_ARCH_PPC64
#define _ARCH_PPC64 1
bergner@perch:~/$ gcc-powerpc-elf -E -dM -m32 -mcpu=power9 empty.c | grep 
_ARCH_PPC64
#define _ARCH_PPC64 1
bergner@perch:~/$ gcc-powerpc-elf -E -dM -m32 empty.c | grep ARCH_PPC64
bergner@perch:~/$ gcc-powerpc-elf -E -dM -m32 -mcpu=603 empty.c | grep 
ARCH_PPC64
bergner@perch:~/$ 

...but here we can see that is does, when the -mcpu=CPU has 
OPTION_MASK_POWERPC64
as one of its masks.  That looks like a bug to me.  I'm not sure why atm we 
don't
see that happening on Linux when compiling with -m32.

I think if we fix this bug, then we won't need to modify the test cases
as you're doing here.

Peter



Reply via email to