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