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
This commit is contained in:
Joseph Myers 2014-03-29 15:39:34 +00:00 committed by Joseph Myers
parent f67c829e48
commit cfdc23868b
22 changed files with 40 additions and 21 deletions

View File

@ -1,3 +1,22 @@
2014-03-29 Joseph Myers <joseph@codesourcery.com>
* 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 <jakub@redhat.com>
PR target/60648

View File

@ -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*-*-* } } }" */

View File

@ -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"

View File

@ -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);

View File

@ -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);

View File

@ -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];

View File

@ -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);

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -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. */

View File

@ -1,5 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-options "-O2 -mno-tbm" } */
unsigned array[4];

View File

@ -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"

View File

@ -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")));