On Fri, May 20, 2016 at 8:01 PM, Ilya Verbin <iver...@gmail.com> wrote: > Hi! > > In some cases the i387 version of a math function may be inlined from math.h, > and the testcase (like gcc.target/i386/sse4_1-ceil-vec.c) will actually test > inlined asm instead of vectorized builtin. To fix this I've created a new > file > gcc.dg/mathfunc.h (similar to gcc.dg/strlenopt.h) and changed vectorization > tests so that they include it instead of math.h. > Regtested on x86_64-linux and i686-linux. Is it OK for trunk?
No, please just #define NO_MATH_INLINES before math.h is included. This will solve unwanted inlining. Uros. > gcc/testsuite/ > * gcc.dg/mathfunc.h: New file. > * gcc.target/i386/avx-ceil-sfix-2-vec.c: Do not skip if there is no > M_PI > for vxworks_kernel. Include mathfunc.h instead of math.h. Remove > declaration. > * gcc.target/i386/avx-cvt-2-vec.c: Likewise. > * gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise. > * gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise. > * gcc.target/i386/avx-round-sfix-2-vec.c: Likewise. > * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. > * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. > * gcc.target/i386/sse2-cvt-vec.c: Likewise. > * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-ceil-vec.c: Likewise. > * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-ceilf-vec.c: Likewise. > * gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-floor-vec.c: Likewise. > * gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-rint-vec.c: Likewise. > * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-rintf-vec.c: Likewise. > * gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-round-vec.c: Likewise. > * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise. > * gcc.target/i386/sse4_1-roundf-vec.c: Likewise. > * gcc.target/i386/sse4_1-trunc-vec.c: Likewise. > * gcc.target/i386/sse4_1-truncf-vec.c: Likewise. > * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise. Use floorf > instead of __builtin_floorf. > * gcc.target/i386/sse4_1-floorf-vec.c: Likewise. > > > diff --git a/gcc/testsuite/gcc.dg/mathfunc.h b/gcc/testsuite/gcc.dg/mathfunc.h > new file mode 100644 > index 0000000..1c1b7bc > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/mathfunc.h > @@ -0,0 +1,20 @@ > +/* This is a replacement of needed parts from math.h for testing > vectorization, > + to ensure we are testing the builtins rather than whatever the OS has in > its > + headers. */ > + > +#define M_PI 3.14159265358979323846 > + > +extern double ceil (double); > +extern float ceilf (float); > + > +extern double floor (double); > +extern float floorf (float); > + > +extern double trunc (double); > +extern float truncf (float); > + > +extern double round (double); > +extern float roundf (float); > + > +extern double rint (double); > +extern float rintf (float); > diff --git a/gcc/testsuite/gcc.target/i386/avx-ceil-sfix-2-vec.c > b/gcc/testsuite/gcc.target/i386/avx-ceil-sfix-2-vec.c > index bf48b80..567a16d 100644 > --- a/gcc/testsuite/gcc.target/i386/avx-ceil-sfix-2-vec.c > +++ b/gcc/testsuite/gcc.target/i386/avx-ceil-sfix-2-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx" } */ > /* { dg-require-effective-target avx } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "avx-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double ceil (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 4 > > diff --git a/gcc/testsuite/gcc.target/i386/avx-cvt-2-vec.c > b/gcc/testsuite/gcc.target/i386/avx-cvt-2-vec.c > index 0081dcf..8a8369b 100644 > --- a/gcc/testsuite/gcc.target/i386/avx-cvt-2-vec.c > +++ b/gcc/testsuite/gcc.target/i386/avx-cvt-2-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx" } */ > /* { dg-require-effective-target avx } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "avx-check.h" > @@ -13,7 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 4 > > diff --git a/gcc/testsuite/gcc.target/i386/avx-floor-sfix-2-vec.c > b/gcc/testsuite/gcc.target/i386/avx-floor-sfix-2-vec.c > index 275199c..44002b4 100644 > --- a/gcc/testsuite/gcc.target/i386/avx-floor-sfix-2-vec.c > +++ b/gcc/testsuite/gcc.target/i386/avx-floor-sfix-2-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx" } */ > /* { dg-require-effective-target avx } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "avx-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double floor (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 4 > > diff --git a/gcc/testsuite/gcc.target/i386/avx-rint-sfix-2-vec.c > b/gcc/testsuite/gcc.target/i386/avx-rint-sfix-2-vec.c > index 9f273af..980b341 100644 > --- a/gcc/testsuite/gcc.target/i386/avx-rint-sfix-2-vec.c > +++ b/gcc/testsuite/gcc.target/i386/avx-rint-sfix-2-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx" } */ > /* { dg-require-effective-target avx } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "avx-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double rint (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 4 > > diff --git a/gcc/testsuite/gcc.target/i386/avx-round-sfix-2-vec.c > b/gcc/testsuite/gcc.target/i386/avx-round-sfix-2-vec.c > index ddb46d9..18cfc6b 100644 > --- a/gcc/testsuite/gcc.target/i386/avx-round-sfix-2-vec.c > +++ b/gcc/testsuite/gcc.target/i386/avx-round-sfix-2-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx" } */ > /* { dg-require-effective-target avx } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "avx-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double round (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 4 > > diff --git a/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c > b/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c > index 038d25e..cb342b2 100644 > --- a/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c > +++ b/gcc/testsuite/gcc.target/i386/avx512f-ceil-sfix-vec-1.c > @@ -1,13 +1,10 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */ > /* { dg-require-effective-target avx512f } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > #include "avx512f-check.h" > > -extern double ceil (double); > - > #define NUM 64 > > static void > diff --git a/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c > b/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c > index fab7e65..23cbbf0 100644 > --- a/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c > +++ b/gcc/testsuite/gcc.target/i386/avx512f-floor-sfix-vec-1.c > @@ -1,13 +1,10 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */ > /* { dg-require-effective-target avx512f } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > #include "avx512f-check.h" > > -extern double floor (double); > - > #define NUM 64 > > static void > diff --git a/gcc/testsuite/gcc.target/i386/sse2-cvt-vec.c > b/gcc/testsuite/gcc.target/i386/sse2-cvt-vec.c > index 8a811a3..2d89bcf 100644 > --- a/gcc/testsuite/gcc.target/i386/sse2-cvt-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse2-cvt-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2" } */ > /* { dg-require-effective-target sse2 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse2-check.h" > @@ -13,7 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 ca07d9c..1479b94 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double ceil (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-vec.c > index 20bb264..00b440c 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double ceil (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 b0559bf..d583a4b 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float ceilf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-vec.c > index 314be91..7add7d5 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float ceilf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 2083a60..2fd7573 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double floor (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floor-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-floor-vec.c > index d250413..1ec371b 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-floor-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-floor-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double floor (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 7e18b46..efd7962 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,7 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > @@ -51,10 +50,10 @@ TEST (void) > init_src (a); > > for (i = 0; i < NUM; i++) > - r[i] = (int) __builtin_floorf (a[i]); > + r[i] = (int) floorf (a[i]); > > /* check results: */ > for (i = 0; i < NUM; i++) > - if (r[i] != (int) __builtin_floorf (a[i])) > + if (r[i] != (int) floorf (a[i])) > abort(); > } > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-vec.c > index 019ef89..31637c0 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,7 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > @@ -51,10 +50,10 @@ TEST (void) > init_src (a); > > for (i = 0; i < NUM; i++) > - r[i] = __builtin_floorf (a[i]); > + r[i] = floorf (a[i]); > > /* check results: */ > for (i = 0; i < NUM; i++) > - if (r[i] != __builtin_floorf (a[i])) > + if (r[i] != floorf (a[i])) > abort(); > } > 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 d9c2fbf..f1e2547 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double rint (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rint-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-rint-vec.c > index f20359a..d13efbb 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-rint-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-rint-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double rint (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 1d25f76..c105e7e 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float rintf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-vec.c > index 716cad1..e758e93 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float rintf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 9abbe55..98f61ac 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double round (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-round-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-round-vec.c > index bb912cef..64014cc 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-round-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-round-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double round (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > 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 5384e5c..dc75562 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,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float roundf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-vec.c > index d254aa6..f287a57 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float roundf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-trunc-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-trunc-vec.c > index 9cbcd9b..1fb6ddc 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-trunc-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-trunc-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern double trunc (double); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-truncf-vec.c > b/gcc/testsuite/gcc.target/i386/sse4_1-truncf-vec.c > index 815b508..e5dc9bc 100644 > --- a/gcc/testsuite/gcc.target/i386/sse4_1-truncf-vec.c > +++ b/gcc/testsuite/gcc.target/i386/sse4_1-truncf-vec.c > @@ -1,7 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */ > /* { dg-require-effective-target sse4 } */ > -/* { dg-skip-if "no M_PI" { vxworks_kernel } } */ > > #ifndef CHECK_H > #define CHECK_H "sse4_1-check.h" > @@ -13,9 +12,7 @@ > > #include CHECK_H > > -#include <math.h> > - > -extern float truncf (float); > +#include "../../gcc.dg/mathfunc.h" > > #define NUM 64 > > > Thanks, > -- Ilya