https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105349

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Somehow that doesn't really work, in the log I see that has_arch_pwr10 is
tested but yields it is not on:
/usr/src/gcc/objp16/gcc/xgcc -B/usr/src/gcc/objp16/gcc/ arch_pwr101791933.c 
-m32   -fdiagnostics-plain-output  -S -o arch_pwr101791933.s    (timeout = 300)
spawn -ignore SIGHUP /usr/src/gcc/objp16/gcc/xgcc -B/usr/src/gcc/objp16/gcc/
arch_pwr101791933.c -m32 -fdiagnostics-plain-output -S -o arch_pwr101791933.s
arch_pwr101791933.c:3:18: error: #error does not have power10 support.
compiler exited with status 1
- the -mdejagnu-cpu=power10 option from the command line isn't clearly passed
to the effective target test compilation.
If I do:
--- gcc/testsuite/gcc.target/powerpc/bswap-brw.c.jj     2022-04-22
13:36:56.136961022 +0200
+++ gcc/testsuite/gcc.target/powerpc/bswap-brw.c        2022-04-25
19:16:46.528029452 +0200
@@ -17,6 +17,6 @@ bswap_int_dbl (unsigned int a)
   /* Force the value to be loaded into a vector register.  */
   __asm__ (" # %x0" : "+wa" (b));

-  /* { dg-final { scan-assembler {\mxxbrw\M} {xfail {has_arch_pwr10 && {!
has_arch_ppc64}}} } } */
+  /* { dg-final { scan-assembler {\mxxbrw\M} {xfail { ! { has_arch_ppc64 } } }
} } */
   return (double) __builtin_bswap32 (b);
 }

then the test passes both
make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\}
powerpc.exp=bswap-brw.c'
(in x86_64-linux -> powerpc64-linux cross).
What is the point of has_arch_pwr10 test in there?  When -mdejagnu-cpu=power10
is used, then it is power10 when it is being compiled always, no?

Reply via email to