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?