diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.target/i386/i386.exp | 2 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.target/i386/math-torture/lrint.c | 26 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp | 31 |
4 files changed, 66 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 30a6149..475ead7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-10-26 Richard Guenther <rguenther@suse.de> + + * gcc.target/i386/i386.exp: Use glob, not find to collect + tests. Avoids recursing into subdirectories. + * gcc.target/i386/math-torture/math-torture.exp: Torture + for interesting ia32 math options. + * gcc.target.i386/math-torture/lrint.c: New testcase. + 2006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/29563 diff --git a/gcc/testsuite/gcc.target/i386/i386.exp b/gcc/testsuite/gcc.target/i386/i386.exp index 565a889..f6c6210 100644 --- a/gcc/testsuite/gcc.target/i386/i386.exp +++ b/gcc/testsuite/gcc.target/i386/i386.exp @@ -44,7 +44,7 @@ foreach type { "" -mmmx -m3dnow -msse -msse2 } { } # Everything else. -set tests [lsort [find $srcdir/$subdir *.\[cS\]]] +set tests [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] set tests [prune $tests $srcdir/$subdir/vect-args.c] # Main loop. diff --git a/gcc/testsuite/gcc.target/i386/math-torture/lrint.c b/gcc/testsuite/gcc.target/i386/math-torture/lrint.c new file mode 100644 index 0000000..73b75b7 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/math-torture/lrint.c @@ -0,0 +1,26 @@ +/* { dg-do assemble } */ + +long testlf (float x) +{ + return __builtin_lrintf (x); +} +long testl (double x) +{ + return __builtin_lrint (x); +} +long testll (long double x) +{ + return __builtin_lrintl (x); +} +long long testllf (float x) +{ + return __builtin_llrintf (x); +} +long long testll_ (double x) +{ + return __builtin_llrint (x); +} +long long testlll (long double x) +{ + return __builtin_llrintl (x); +} diff --git a/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp new file mode 100644 index 0000000..01f0778 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/math-torture/math-torture.exp @@ -0,0 +1,31 @@ +# This harness is for tests that should be run at all optimisation levels. + +set TORTURE_OPTIONS [list \ + { -O0 } \ + { -O0 -mfpmath=387 } \ + { -O0 -msse -mno-sse2 -mfpmath=sse } \ + { -O0 -msse -msse2 -mfpmath=sse } \ + { -O0 -msse -mno-sse2 -mfpmath=sse,387 } \ + { -O0 -msse -msse2 -mfpmath=sse,387 } \ + { -O0 -mfpmath=387 -ffast-math } \ + { -O0 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ + { -O0 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O0 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ + { -O0 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ + { -O2 } \ + { -O2 -mfpmath=387 } \ + { -O2 -msse -mno-sse2 -mfpmath=sse } \ + { -O2 -msse -msse2 -mfpmath=sse } \ + { -O2 -msse -mno-sse2 -mfpmath=sse,387 } \ + { -O2 -msse -msse2 -mfpmath=sse,387 } \ + { -O2 -mfpmath=387 -ffast-math } \ + { -O2 -msse -mno-sse2 -mfpmath=sse -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse -ffast-math } \ + { -O2 -msse -mno-sse2 -mfpmath=sse,387 -ffast-math } \ + { -O2 -msse -msse2 -mfpmath=sse,387 -ffast-math } \ +] +load_lib gcc-dg.exp + +dg-init +gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] "" +dg-finish |
