diff options
author | Jeff Law <law@redhat.com> | 2020-08-26 17:12:07 -0600 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 2020-08-26 17:12:07 -0600 |
commit | 07545fbd2dfa2351218a5be6488dc5067258d980 (patch) | |
tree | 7f96a3a378241b9757166b5700426f592fc822e2 | |
parent | 8ca43e4ea58ae436af4b5818916abc15b2fd8f49 (diff) | |
download | gcc-07545fbd2dfa2351218a5be6488dc5067258d980.zip gcc-07545fbd2dfa2351218a5be6488dc5067258d980.tar.gz gcc-07545fbd2dfa2351218a5be6488dc5067258d980.tar.bz2 |
Mark various tests that require a c99 libm
A number of i386 math optimisation tests are looking assembly instructions
that are only emitted when the compiler knows the target has a C99 libm
available. Since targets like *-elf may not have such a libm, a C99 runtime
requirement is added to these tests.
gcc/testsuite/ChangeLog
* gcc.target/i386/387-7.c: Add dg-require-effective-target c99_runtime.
* gcc.target/i386/387-9.c: Likewise.
* g++.target/i386/avx512bw-pr96246-1.C: Likewise.
* gcc.target/i386/avx512f-rint-sfix-vec-2.c: Likewise.
* gcc.target/i386/avx512f-rintf-sfix-vec-2.c: Likewise.
* g++.target/i386/avx512vl-pr96246-1.C: Likewise.
* gcc.target/i386/pr61403.c: Likewise.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
15 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C index eec8444..1577c9e 100644 --- a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C +++ b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C @@ -1,6 +1,7 @@ /* PR target/96246 */ /* { dg-do compile } */ /* { dg-options "-O2 -std=c++14 -mavx512bw" } */ +/* { dg-require-effective-target c99_runtime } */ /* { dg-final { scan-assembler-times "vpblendm\[bwdq\]\[\t \]" 4 } } */ /* { dg-final { scan-assembler-times "vblendmp\[sd\]\[\t \]" 2 } } */ diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C index 66eb9d2..66861f4 100644 --- a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C +++ b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C @@ -1,6 +1,7 @@ /* PR target/96246 */ /* { dg-do compile } */ /* { dg-options "-O2 -std=c++14 -mavx512bw -mavx512vl" } */ +/* { dg-require-effective-target c99_runtime } */ /* { dg-final { scan-assembler-times "vpblendm\[bwdq\]\[\t \]" 6 } } */ /* { dg-final { scan-assembler-times "vblendmp\[sd\]\[\t \]" 3 } } */ diff --git a/gcc/testsuite/gcc.target/i386/387-7.c b/gcc/testsuite/gcc.target/i386/387-7.c index e01ed2e..3c1ad60 100644 --- a/gcc/testsuite/gcc.target/i386/387-7.c +++ b/gcc/testsuite/gcc.target/i386/387-7.c @@ -1,6 +1,7 @@ /* Verify that 387 fsincos instruction is generated. */ /* { dg-do compile } */ /* { dg-options "-O -ffast-math -mfpmath=387 -mfancy-math-387" } */ +/* { dg-require-effective-target c99_runtime } */ /* { dg-final { scan-assembler "fsincos" } } */ extern double sin (double); diff --git a/gcc/testsuite/gcc.target/i386/387-9.c b/gcc/testsuite/gcc.target/i386/387-9.c index 2667aa4..469c635 100644 --- a/gcc/testsuite/gcc.target/i386/387-9.c +++ b/gcc/testsuite/gcc.target/i386/387-9.c @@ -1,6 +1,7 @@ /* Verify that 387 fsincos instruction is generated. */ /* { dg-do compile } */ /* { dg-options "-O -funsafe-math-optimizations -mfpmath=387 -mfancy-math-387" } */ +/* { dg-require-effective-target c99_runtime } */ extern double sin (double); extern double cos (double); diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c index c3f78ac..2d2099f 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */ +/* { dg-require-effective-target c99_runtime } */ #include "avx512f-rint-sfix-vec-1.c" diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c index c172e61..fe47376 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */ +/* { dg-require-effective-target c99_runtime } */ #include "avx512f-rintf-sfix-vec-1.c" diff --git a/gcc/testsuite/gcc.target/i386/pr61403.c b/gcc/testsuite/gcc.target/i386/pr61403.c index 38ba4a1..48c7ba6 100644 --- a/gcc/testsuite/gcc.target/i386/pr61403.c +++ b/gcc/testsuite/gcc.target/i386/pr61403.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.2 -mtune=corei7" } */ +/* { dg-require-effective-target c99_runtime } */ #include <math.h> diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c index 6250906..4522f32 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c index c4ccad1..9f11e11 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c index 89ce331..5404f76 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c index b191236..d846076 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c index c82c353..5932943 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c index 5188d4b..3bfbb25 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c index 96b8dca..782077f 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c index 1416dc9..9f1efcf 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c @@ -1,6 +1,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ /* { dg-require-effective-target sse4 } */ +/* { dg-require-effective-target c99_runtime } */ #ifndef CHECK_H #define CHECK_H "sse4_1-check.h" |