From cfdc23868bf063bd21d0913092e8f4a4a761de5f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 29 Mar 2014 15:39:34 +0000 Subject: [PATCH] pr45416.c: Allow bextr on x86. * gcc.dg/pr45416.c: Allow bextr on x86. * gcc.target/i386/fma4-builtin.c, gcc.target/i386/fma4-fma-2.c, gcc.target/i386/fma4-fma.c, gcc.target/i386/fma4-vector-2.c, gcc.target/i386/fma4-vector.c: Use -mno-fma. * gcc.target/i386/l_fma_double_1.c, gcc.target/i386/l_fma_double_2.c, gcc.target/i386/l_fma_double_3.c, gcc.target/i386/l_fma_double_4.c, gcc.target/i386/l_fma_double_5.c, gcc.target/i386/l_fma_double_6.c, gcc.target/i386/l_fma_float_1.c, gcc.target/i386/l_fma_float_2.c, gcc.target/i386/l_fma_float_3.c, gcc.target/i386/l_fma_float_4.c, gcc.target/i386/l_fma_float_5.c, gcc.target/i386/l_fma_float_6.c: Use -mno-fma4. * gcc.target/i386/pr27971.c: Use -mno-tbm. * gcc.target/i386/pr42542-4a.c: Use -mno-avx. * gcc.target/i386/pr59390.c: Use -mno-fma -mno-fma4. From-SVN: r208939 --- gcc/testsuite/ChangeLog | 19 +++++++++++++++++++ gcc/testsuite/gcc.dg/pr45416.c | 2 +- gcc/testsuite/gcc.target/i386/fma4-builtin.c | 2 +- gcc/testsuite/gcc.target/i386/fma4-fma-2.c | 2 +- gcc/testsuite/gcc.target/i386/fma4-fma.c | 2 +- gcc/testsuite/gcc.target/i386/fma4-vector-2.c | 2 +- gcc/testsuite/gcc.target/i386/fma4-vector.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_1.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_2.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_3.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_4.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_5.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_double_6.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_1.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_2.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_3.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_4.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_5.c | 2 +- gcc/testsuite/gcc.target/i386/l_fma_float_6.c | 2 +- gcc/testsuite/gcc.target/i386/pr27971.c | 2 +- gcc/testsuite/gcc.target/i386/pr42542-4a.c | 2 +- gcc/testsuite/gcc.target/i386/pr59390.c | 2 +- 22 files changed, 40 insertions(+), 21 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3a73109..e2031db 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,22 @@ +2014-03-29 Joseph Myers + + * gcc.dg/pr45416.c: Allow bextr on x86. + * gcc.target/i386/fma4-builtin.c, gcc.target/i386/fma4-fma-2.c, + gcc.target/i386/fma4-fma.c, gcc.target/i386/fma4-vector-2.c, + gcc.target/i386/fma4-vector.c: Use -mno-fma. + * gcc.target/i386/l_fma_double_1.c, + gcc.target/i386/l_fma_double_2.c, + gcc.target/i386/l_fma_double_3.c, + gcc.target/i386/l_fma_double_4.c, + gcc.target/i386/l_fma_double_5.c, + gcc.target/i386/l_fma_double_6.c, gcc.target/i386/l_fma_float_1.c, + gcc.target/i386/l_fma_float_2.c, gcc.target/i386/l_fma_float_3.c, + gcc.target/i386/l_fma_float_4.c, gcc.target/i386/l_fma_float_5.c, + gcc.target/i386/l_fma_float_6.c: Use -mno-fma4. + * gcc.target/i386/pr27971.c: Use -mno-tbm. + * gcc.target/i386/pr42542-4a.c: Use -mno-avx. + * gcc.target/i386/pr59390.c: Use -mno-fma -mno-fma4. + 2014-03-29 Jakub Jelinek PR target/60648 diff --git a/gcc/testsuite/gcc.dg/pr45416.c b/gcc/testsuite/gcc.dg/pr45416.c index 2f013cc..5795034 100644 --- a/gcc/testsuite/gcc.dg/pr45416.c +++ b/gcc/testsuite/gcc.dg/pr45416.c @@ -9,7 +9,7 @@ int foo(long long a) return 0; } -/* { dg-final { scan-assembler "andl" { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } } " */ +/* { dg-final { scan-assembler "andl|bextr" { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } } " */ /* { dg-final { scan-assembler-not "setne" { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } }" */ /* { dg-final { scan-assembler "and|ubfx" { target arm*-*-* } } } */ /* { dg-final { scan-assembler-not "moveq" { target arm*-*-* } } }" */ diff --git a/gcc/testsuite/gcc.target/i386/fma4-builtin.c b/gcc/testsuite/gcc.target/i386/fma4-builtin.c index 7135cc9..3e59a71 100644 --- a/gcc/testsuite/gcc.target/i386/fma4-builtin.c +++ b/gcc/testsuite/gcc.target/i386/fma4-builtin.c @@ -2,7 +2,7 @@ and add instructions FMA4 systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mfma4" } */ +/* { dg-options "-O2 -mfma4 -mno-fma" } */ #ifndef __FP_FAST_FMAF # error "__FP_FAST_FMAF should be defined" diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c index c15be1e..ae6ca8d 100644 --- a/gcc/testsuite/gcc.target/i386/fma4-fma-2.c +++ b/gcc/testsuite/gcc.target/i386/fma4-fma-2.c @@ -3,7 +3,7 @@ vfnmsubss on FMA4 systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -funsafe-math-optimizations -mfma4" } */ +/* { dg-options "-O2 -funsafe-math-optimizations -mfma4 -mno-fma" } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/fma4-fma.c b/gcc/testsuite/gcc.target/i386/fma4-fma.c index 63b35dc..1b8fb84 100644 --- a/gcc/testsuite/gcc.target/i386/fma4-fma.c +++ b/gcc/testsuite/gcc.target/i386/fma4-fma.c @@ -3,7 +3,7 @@ vfnmsubss on FMA4 systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mfma4" } */ +/* { dg-options "-O2 -mfma4 -mno-fma" } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c index d8b0d08..b518aa8 100644 --- a/gcc/testsuite/gcc.target/i386/fma4-vector-2.c +++ b/gcc/testsuite/gcc.target/i386/fma4-vector-2.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */ +/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic -mno-fma" } */ float r[256], s[256]; float x[256]; diff --git a/gcc/testsuite/gcc.target/i386/fma4-vector.c b/gcc/testsuite/gcc.target/i386/fma4-vector.c index db5ffdd..cd55063 100644 --- a/gcc/testsuite/gcc.target/i386/fma4-vector.c +++ b/gcc/testsuite/gcc.target/i386/fma4-vector.c @@ -2,7 +2,7 @@ instructions vector into vfmaddps on FMA4 systems. */ /* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic" } */ +/* { dg-options "-O2 -mfma4 -ftree-vectorize -mtune=generic -mno-fma" } */ extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_1.c b/gcc/testsuite/gcc.target/i386/l_fma_double_1.c index 1d99b4c..94e512b 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_1.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_2.c b/gcc/testsuite/gcc.target/i386/l_fma_double_2.c index e101100..ffceab4 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_2.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_3.c b/gcc/testsuite/gcc.target/i386/l_fma_double_3.c index f099e25..cdb4d33 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_3.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_4.c b/gcc/testsuite/gcc.target/i386/l_fma_double_4.c index 969f31c..dda487e 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_4.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_5.c b/gcc/testsuite/gcc.target/i386/l_fma_double_5.c index 85ccdd0..98909ae 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_5.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_6.c b/gcc/testsuite/gcc.target/i386/l_fma_double_6.c index 019ed9a..538065a 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_double_6.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_1.c b/gcc/testsuite/gcc.target/i386/l_fma_float_1.c index d1913d7..ff10981 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_1.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_2.c b/gcc/testsuite/gcc.target/i386/l_fma_float_2.c index 5e01425..38c6b52 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_2.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_3.c b/gcc/testsuite/gcc.target/i386/l_fma_float_3.c index 7b9e3f5..177ba35 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_3.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_3.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_4.c b/gcc/testsuite/gcc.target/i386/l_fma_float_4.c index cc675c1..8ee68d1 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_4.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_4.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_5.c b/gcc/testsuite/gcc.target/i386/l_fma_float_5.c index ac0b361..23288d0 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_5.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_5.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_6.c b/gcc/testsuite/gcc.target/i386/l_fma_float_6.c index c84ac11..07a5fba 100644 --- a/gcc/testsuite/gcc.target/i386/l_fma_float_6.c +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_6.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic" } */ +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic -mno-fma4" } */ /* Test that the compiler properly optimizes floating point multiply and add instructions into FMA3 instructions. */ diff --git a/gcc/testsuite/gcc.target/i386/pr27971.c b/gcc/testsuite/gcc.target/i386/pr27971.c index 27888de..149bf2b 100644 --- a/gcc/testsuite/gcc.target/i386/pr27971.c +++ b/gcc/testsuite/gcc.target/i386/pr27971.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2" } */ +/* { dg-options "-O2 -mno-tbm" } */ unsigned array[4]; diff --git a/gcc/testsuite/gcc.target/i386/pr42542-4a.c b/gcc/testsuite/gcc.target/i386/pr42542-4a.c index bea6c1f..19e872a 100644 --- a/gcc/testsuite/gcc.target/i386/pr42542-4a.c +++ b/gcc/testsuite/gcc.target/i386/pr42542-4a.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O1 -msse4.2 -ftree-vectorize" } */ +/* { dg-options "-O1 -msse4.2 -ftree-vectorize -mno-avx" } */ #include "pr42542-4.c" diff --git a/gcc/testsuite/gcc.target/i386/pr59390.c b/gcc/testsuite/gcc.target/i386/pr59390.c index 7dc925a..749c61a 100644 --- a/gcc/testsuite/gcc.target/i386/pr59390.c +++ b/gcc/testsuite/gcc.target/i386/pr59390.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-std=c99 -O3" } */ +/* { dg-options "-std=c99 -O3 -mno-fma -mno-fma4" } */ extern double fma (double, double, double); void fun() __attribute__((target("fma"))); -- 2.7.4