David Edelsohn via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
FAIL: gcc.target/powerpc/swaps-p8-22.c (test for excess errors)
Excess errors:
cc1: error: '-mcmodel' not supported in this configuration
* gcc.target/powerpc/swaps-p8-22.c: Disable for -m32.
diff --git a/gcc/testsuite/gcc.target/powerpc/swaps-p8-22.c
b/gcc/testsuite/gcc.target/powerpc/swaps-p8-22.c
index 83f6ab3a1c0..bceada41b75 100644
--- a/gcc/testsuite/gcc.target/powerpc/swaps-p8-22.c
+++ b/gcc/testsuite/gcc.target/powerpc/swaps-p8-22.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target powerpc_p8vector_ok } */
+/* { dg-require-effective-target { lp64 && powerpc_p8vector_ok } } */
/* { dg-options "-O2 -mdejagnu-cpu=power8 -maltivec -mcmodel=large" } */
/* The expansion for vector character multiply introduces a vperm
operation.
Please don't fix the failure this way. This is incorrect. -m32 means
more than Linux. This reverts my hard work to run more of the powerpc
testsuite on AIX. AIX also is -m32.
Darwin also is (powerpc-darwin) and has an m32 multilib (powerpc64-darwin)
so not reliable there either.
This probably should be fixed with
{ dg-additional-options "-mcmodel=large" { target { lp64 ||
!powerpc*-*-linux* } } }
or whatever the appropriate incantation to omit only ppc32 linux. Or maybe
{ dg-do compile { target { lp64 || !powerpc*-*-linux* } } }
mcmodel will also break for powerpc64 and powerpc / m64 Darwin, so if this is
meant to be Linux-specific, that seems to be the thing to mention.
thanks
Iain