diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 026f8a95d58..15fd58eb4cf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2009-09-08 Joseph Myers + + * gcc.misc-tests/i386-prefetch.exp: Skip tests when multilib flags + contain -march. + * gcc.dg/tree-ssa/prefetch-7.c, gcc.target/i386/387-1.c, + gcc.target/i386/387-5.c, gcc.target/i386/cmov7.c, + gcc.target/i386/funcspec-1.c, gcc.target/i386/funcspec-8.c, + gcc.target/i386/gcc-have-sync-compare-and-swap-1.c, + gcc.target/i386/gcc-have-sync-compare-and-swap-2.c, + gcc.target/i386/isa-6.c, gcc.target/i386/lea.c, + gcc.target/i386/pentium4-not-mull.c, gcc.target/i386/sse-5.c, + gcc.target/i386/ssefn-1.c: Skip when multilib flags contain -march + options other than that used in dg-options. + 2009-09-07 Jakub Jelinek PR rtl-optimization/41239 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c index 3024bed1b71..856df0a4a8f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-7.c @@ -1,5 +1,6 @@ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=athlon" } } */ /* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon -msse2 -mfpmath=sse --param simultaneous-prefetches=100 --param max-unrolled-insns=1 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ #define K 1000000 diff --git a/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp b/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp index e9909845c44..a9f767cde0a 100644 --- a/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp +++ b/gcc/testsuite/gcc.misc-tests/i386-prefetch.exp @@ -90,6 +90,13 @@ load_lib torture-options.exp dg-init torture-init +if { [board_info target exists multilib_flags] + && [string match "* -march=*" " [board_info target multilib_flags] "] } { + # Multilib flags come after the -march flags we pass and override + # them, so skip these tests when such flags are passed. + return +} + set-torture-options $PREFETCH_NONE gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/i386-pf-none-*.c]] "" diff --git a/gcc/testsuite/gcc.target/i386/387-1.c b/gcc/testsuite/gcc.target/i386/387-1.c index 2b3ca0b0610..83af71f9647 100644 --- a/gcc/testsuite/gcc.target/i386/387-1.c +++ b/gcc/testsuite/gcc.target/i386/387-1.c @@ -1,6 +1,7 @@ /* Verify that -mno-fancy-math-387 works. */ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */ /* { dg-final { scan-assembler "call\t(.*)sin" } } */ /* { dg-final { scan-assembler "call\t(.*)cos" } } */ diff --git a/gcc/testsuite/gcc.target/i386/387-5.c b/gcc/testsuite/gcc.target/i386/387-5.c index 0a050081780..027799a878a 100644 --- a/gcc/testsuite/gcc.target/i386/387-5.c +++ b/gcc/testsuite/gcc.target/i386/387-5.c @@ -1,6 +1,7 @@ /* Verify that -mno-fancy-math-387 works. */ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */ /* { dg-final { scan-assembler "call\t(.*)atan" } } */ /* { dg-final { scan-assembler "call\t(.*)log1p" } } */ diff --git a/gcc/testsuite/gcc.target/i386/cmov7.c b/gcc/testsuite/gcc.target/i386/cmov7.c index 31b48165432..433bf57f8e7 100644 --- a/gcc/testsuite/gcc.target/i386/cmov7.c +++ b/gcc/testsuite/gcc.target/i386/cmov7.c @@ -1,6 +1,7 @@ /* PR middle-end/33187 */ /* { dg-do compile } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=k8" } } */ /* { dg-options "-O2 -ffast-math -march=k8 -mbranch-cost=5 -mfpmath=387" } */ /* { dg-final { scan-assembler "fcmov" } } */ diff --git a/gcc/testsuite/gcc.target/i386/funcspec-1.c b/gcc/testsuite/gcc.target/i386/funcspec-1.c index 1416c75f357..52420ec93e9 100644 --- a/gcc/testsuite/gcc.target/i386/funcspec-1.c +++ b/gcc/testsuite/gcc.target/i386/funcspec-1.c @@ -3,6 +3,7 @@ for a function that doesn't use attribute((option)). */ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-O3 -ftree-vectorize -march=i386" } */ /* { dg-final { scan-assembler "addps\[ \t\]" } } */ /* { dg-final { scan-assembler "fsubs\[ \t\]" } } */ diff --git a/gcc/testsuite/gcc.target/i386/funcspec-8.c b/gcc/testsuite/gcc.target/i386/funcspec-8.c index 2b8bb6f4af6..c370733a01b 100644 --- a/gcc/testsuite/gcc.target/i386/funcspec-8.c +++ b/gcc/testsuite/gcc.target/i386/funcspec-8.c @@ -1,6 +1,7 @@ /* Test whether using target specific options, we can use the x86 builtin functions in functions with the appropriate function specific options. */ /* { dg-do compile } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=k8" } } */ /* { dg-options "-O2 -march=k8 -mfpmath=sse" } */ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c index 598f2ddbc31..d20a7176038 100644 --- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c +++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-1.c @@ -1,5 +1,6 @@ /* { dg-do preprocess } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-march=i386" } */ #ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 diff --git a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c index fa6e7c654ef..01a49b64a83 100644 --- a/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c +++ b/gcc/testsuite/gcc.target/i386/gcc-have-sync-compare-and-swap-2.c @@ -1,5 +1,6 @@ /* { dg-do preprocess } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i486" } } */ /* { dg-options "-march=i486" } */ #ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 diff --git a/gcc/testsuite/gcc.target/i386/isa-6.c b/gcc/testsuite/gcc.target/i386/isa-6.c index ec1fbeaa4d4..7f01a884ea6 100644 --- a/gcc/testsuite/gcc.target/i386/isa-6.c +++ b/gcc/testsuite/gcc.target/i386/isa-6.c @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=amdfam10" } } */ /* { dg-options "-march=amdfam10 -mno-sse4" } */ extern void abort (void); diff --git a/gcc/testsuite/gcc.target/i386/lea.c b/gcc/testsuite/gcc.target/i386/lea.c index afbbfa4fbc0..f8f967e00f1 100644 --- a/gcc/testsuite/gcc.target/i386/lea.c +++ b/gcc/testsuite/gcc.target/i386/lea.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=pentiumpro" } } */ /* { dg-options "-O2 -march=pentiumpro" } */ /* { dg-final { scan-assembler "leal" } } */ typedef struct { diff --git a/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c b/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c index be48185a86c..a846aae61b0 100644 --- a/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c +++ b/gcc/testsuite/gcc.target/i386/pentium4-not-mull.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=pentium4" } } */ /* { dg-options "-O2 -march=pentium4" } */ /* { dg-final { scan-assembler-not "imull" } } */ diff --git a/gcc/testsuite/gcc.target/i386/sse-5.c b/gcc/testsuite/gcc.target/i386/sse-5.c index c3ed8f2672b..bdbd5012e48 100644 --- a/gcc/testsuite/gcc.target/i386/sse-5.c +++ b/gcc/testsuite/gcc.target/i386/sse-5.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target ilp32 } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-Winline -O2 -march=i386" } */ typedef double v2df __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/i386/ssefn-1.c b/gcc/testsuite/gcc.target/i386/ssefn-1.c index 0279a553346..bea6cb2bf0b 100644 --- a/gcc/testsuite/gcc.target/i386/ssefn-1.c +++ b/gcc/testsuite/gcc.target/i386/ssefn-1.c @@ -7,6 +7,7 @@ /* { dg-final { scan-assembler "mulss" } } */ /* { dg-final { scan-assembler-not "movsd" } } */ /* { dg-final { scan-assembler-not "mulsd" } } */ +/* { dg-skip-if "" { i?86-*-* x86_64-*-* } { "-march=*" } { "-march=i386" } } */ /* { dg-options "-O2 -march=i386 -msse -mfpmath=sse -fno-inline" } */ static float xs (void)