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.
This commit is contained in:
Jeff Law 2020-08-26 17:12:07 -06:00
parent 8ca43e4ea5
commit 07545fbd2d
15 changed files with 15 additions and 0 deletions

View 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 } } */

View 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 } } */

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

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

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

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

View 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>

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

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

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

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

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

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

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

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