fp-cmp-4.c (FLOAT): New.
2004-06-06 H.J. Lu <hongjiu.lu@intel.com> * gcc.c-torture/execute/ieee/fp-cmp-4.c (FLOAT): New. Default to double. Replace double with FLOAT. * gcc.c-torture/execute/ieee/fp-cmp-8.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-4e.c: New file. * gcc.c-torture/execute/ieee/fp-cmp-4f.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-4l.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-4q.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-8e.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-8f.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-8l.c: Likewise. * gcc.c-torture/execute/ieee/fp-cmp-8q.c: Likewise. From-SVN: r82680
This commit is contained in:
parent
25a1a39e0d
commit
aab087b805
11 changed files with 108 additions and 37 deletions
|
@ -1,3 +1,18 @@
|
|||
2004-06-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-4.c (FLOAT): New. Default
|
||||
to double. Replace double with FLOAT.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-8.c: Likewise.
|
||||
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-4e.c: New file.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-4f.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-4l.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-4q.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-8e.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-8f.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-8l.c: Likewise.
|
||||
* gcc.c-torture/execute/ieee/fp-cmp-8q.c: Likewise.
|
||||
|
||||
2004-06-06 Joseph S. Myers <jsm@polyomino.org.uk>
|
||||
|
||||
PR c/13519
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#ifndef FLOAT
|
||||
#define FLOAT double
|
||||
#endif
|
||||
|
||||
void
|
||||
test_isunordered(double x, double y, int true)
|
||||
test_isunordered(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_isunordered(x, y))
|
||||
{
|
||||
|
@ -14,7 +18,7 @@ test_isunordered(double x, double y, int true)
|
|||
}
|
||||
|
||||
void
|
||||
test_isless(double x, double y, int true)
|
||||
test_isless(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_isless(x, y))
|
||||
{
|
||||
|
@ -29,7 +33,7 @@ test_isless(double x, double y, int true)
|
|||
}
|
||||
|
||||
void
|
||||
test_islessequal(double x, double y, int true)
|
||||
test_islessequal(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_islessequal(x, y))
|
||||
{
|
||||
|
@ -44,7 +48,7 @@ test_islessequal(double x, double y, int true)
|
|||
}
|
||||
|
||||
void
|
||||
test_isgreater(double x, double y, int true)
|
||||
test_isgreater(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_isgreater(x, y))
|
||||
{
|
||||
|
@ -59,7 +63,7 @@ test_isgreater(double x, double y, int true)
|
|||
}
|
||||
|
||||
void
|
||||
test_isgreaterequal(double x, double y, int true)
|
||||
test_isgreaterequal(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_isgreaterequal(x, y))
|
||||
{
|
||||
|
@ -74,7 +78,7 @@ test_isgreaterequal(double x, double y, int true)
|
|||
}
|
||||
|
||||
void
|
||||
test_islessgreater(double x, double y, int true)
|
||||
test_islessgreater(FLOAT x, FLOAT y, int true)
|
||||
{
|
||||
if (__builtin_islessgreater(x, y))
|
||||
{
|
||||
|
@ -95,7 +99,7 @@ main()
|
|||
{
|
||||
struct try
|
||||
{
|
||||
double x, y;
|
||||
FLOAT x, y;
|
||||
unsigned unord : 1;
|
||||
unsigned lt : 1;
|
||||
unsigned le : 1;
|
||||
|
|
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4e.c
Normal file
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4e.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
#if defined (__ia64__) && defined (__hpux__)
|
||||
#define FLOAT __float80
|
||||
#include "fp-cmp-4.c"
|
||||
#else
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4f.c
Normal file
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4f.c
Normal file
|
@ -0,0 +1,2 @@
|
|||
#define FLOAT float
|
||||
#include "fp-cmp-4.c"
|
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4l.c
Normal file
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4l.c
Normal file
|
@ -0,0 +1,2 @@
|
|||
#define FLOAT long double
|
||||
#include "fp-cmp-4.c"
|
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4q.c
Normal file
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4q.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
#if defined (__x86_64__) || (defined (__ia64__) && !defined (__hpux__))
|
||||
#define FLOAT __float128
|
||||
#include "fp-cmp-4.c"
|
||||
#else
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
|
@ -1,81 +1,85 @@
|
|||
#ifndef FLOAT
|
||||
#define FLOAT double
|
||||
#endif
|
||||
|
||||
/* Like fp-cmp-4.c, but test that the cmove patterns are correct. */
|
||||
|
||||
static double
|
||||
test_isunordered(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_isunordered(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_isunordered(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_isunordered(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_isunordered(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_isunordered(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_isless(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_isless(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_isless(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_isless(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_isless(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_isless(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_islessequal(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_islessequal(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_islessequal(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_islessequal(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_islessequal(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_islessequal(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_isgreater(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_isgreater(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_isgreater(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_isgreater(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_isgreater(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_isgreater(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_isgreaterequal(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_isgreaterequal(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_isgreaterequal(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_isgreaterequal(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_isgreaterequal(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_isgreaterequal(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_islessgreater(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_islessgreater(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return __builtin_islessgreater(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static double
|
||||
test_not_islessgreater(double x, double y, double a, double b)
|
||||
static FLOAT
|
||||
test_not_islessgreater(FLOAT x, FLOAT y, FLOAT a, FLOAT b)
|
||||
{
|
||||
return !__builtin_islessgreater(x, y) ? a : b;
|
||||
}
|
||||
|
||||
static void
|
||||
one_test(double x, double y, int expected,
|
||||
double (*pos) (double, double, double, double),
|
||||
double (*neg) (double, double, double, double))
|
||||
one_test(FLOAT x, FLOAT y, int expected,
|
||||
FLOAT (*pos) (FLOAT, FLOAT, FLOAT, FLOAT),
|
||||
FLOAT (*neg) (FLOAT, FLOAT, FLOAT, FLOAT))
|
||||
{
|
||||
if (((*pos)(x, y, 1.0, 2.0) == 1.0) != expected)
|
||||
abort ();
|
||||
|
@ -91,7 +95,7 @@ main()
|
|||
{
|
||||
struct try
|
||||
{
|
||||
double x, y;
|
||||
FLOAT x, y;
|
||||
int result[6];
|
||||
};
|
||||
|
||||
|
@ -115,8 +119,8 @@ main()
|
|||
|
||||
struct test
|
||||
{
|
||||
double (*pos)(double, double, double, double);
|
||||
double (*neg)(double, double, double, double);
|
||||
FLOAT (*pos)(FLOAT, FLOAT, FLOAT, FLOAT);
|
||||
FLOAT (*neg)(FLOAT, FLOAT, FLOAT, FLOAT);
|
||||
};
|
||||
|
||||
static struct test const tests[] =
|
||||
|
|
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8e.c
Normal file
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8e.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
#if defined (__ia64__) && defined (__hpux__)
|
||||
#define FLOAT __float80
|
||||
#include "fp-cmp-8.c"
|
||||
#else
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8f.c
Normal file
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8f.c
Normal file
|
@ -0,0 +1,2 @@
|
|||
#define FLOAT float
|
||||
#include "fp-cmp-8.c"
|
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c
Normal file
2
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c
Normal file
|
@ -0,0 +1,2 @@
|
|||
#define FLOAT long double
|
||||
#include "fp-cmp-8.c"
|
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8q.c
Normal file
10
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8q.c
Normal file
|
@ -0,0 +1,10 @@
|
|||
#if defined (__x86_64__) || (defined (__ia64__) && !defined (__hpux__))
|
||||
#define FLOAT __float128
|
||||
#include "fp-cmp-8.c"
|
||||
#else
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
Loading…
Add table
Reference in a new issue