Mark various tests that require a c99 libm
authorJeff Law <law@redhat.com>
Wed, 26 Aug 2020 23:12:07 +0000 (17:12 -0600)
committerJeff Law <law@redhat.com>
Wed, 26 Aug 2020 23:12:07 +0000 (17:12 -0600)
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:
gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C
gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C
gcc/testsuite/gcc.target/i386/387-7.c
gcc/testsuite/gcc.target/i386/387-9.c
gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c
gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c
gcc/testsuite/gcc.target/i386/pr61403.c
gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c
gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c

index eec844460f1a3325b9d81035249500874cf0dfdc..1577c9e33bfd8d5bcf26ff98f73eef6da5d8afc8 100644 (file)
@@ -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 } } */
 
index 66eb9d25f1e4b7fcaa844f187270aa68b8345918..66861f40d08d6811133c8b19289cd402f9b7cd4b 100644 (file)
@@ -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 } } */
 
index e01ed2e057638b4633a3055b6780325ecae5d55c..3c1ad60646252fb5bfc93906cce3213ae946863d 100644 (file)
@@ -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);
index 2667aa46872d6d66b4df58aa69c39a61330a205e..469c635e47970369a9c752540e37b82583f53f4c 100644 (file)
@@ -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);
index c3f78ac3f25dfe3558c11023b951fa450e4871c8..2d2099f77cb5b51899eb2906853b2dfe08748798 100644 (file)
@@ -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"
 
index c172e61f84a7f61a6a50f317fcef2749cc1c7db4..fe473766c8694fe109ca94afe85d4a5034165535 100644 (file)
@@ -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"
 
index 38ba4a1b1ecbba722f9a5dc8d1d2b06142a734c9..48c7ba68d781aaabb7a95c0c2bf634f2f320b709 100644 (file)
@@ -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>
 
index 6250906f3f154239fd735763e3208256e3d1d804..4522f32035a3d030338b02484adf23c1b4abda79 100644 (file)
@@ -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"
index c4ccad16df5e17bf649798529ef8b6de3d7e3400..9f11e114eb30f65c65dfd4160d205d941ca8c96d 100644 (file)
@@ -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"
index 89ce331ffa60bc3033e86aa7a239ea1e82e53acf..5404f76de43ae4964ba7288171c2799c5fee35c8 100644 (file)
@@ -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"
index b19123608601fc893a41b625172eb371238b41b5..d84607643e3861adc17413f8f37a173a66187b6e 100644 (file)
@@ -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"
index c82c35340c5901387ed3094dc7e8bd7d73c06f43..5932943554bfea48c8e8a59d5ae795141a65493c 100644 (file)
@@ -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"
index 5188d4bc0b3a32dcae11c40db13eacbe664097bd..3bfbb25c0366e0d737509942b8a4a136c4a8df88 100644 (file)
@@ -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"
index 96b8dcac7474cbc68703129659395c76984f9716..782077ff7d0e058ac1da8e9011b118ee55e1fde7 100644 (file)
@@ -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"
index 1416dc9a79853c88be3afc74b0d72170bda7d9b1..9f1efcf789ab72e722409f69ece67ead1570e864 100644 (file)
@@ -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"