fp-cmp-4.c (FLOAT): New.
authorH.J. Lu <hongjiu.lu@intel.com>
Mon, 7 Jun 2004 02:38:46 +0000 (02:38 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Mon, 7 Jun 2004 02:38:46 +0000 (19:38 -0700)
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

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4e.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4f.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4l.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4q.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8.c
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8e.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8f.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8q.c [new file with mode: 0644]

index 17871dd339e7df06cf960636cfe74f0099d5b4a9..8d6561fc5a562fc214af5e4731b5e14acfd44075 100644 (file)
@@ -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
index 45527a23aff6ce6836a75bd70cb189f282f05a74..d4bb9c6c6b5aaef9923a1348d7a26f232db4395f 100644 (file)
@@ -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;
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4e.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4e.c
new file mode 100644 (file)
index 0000000..c8cacb2
--- /dev/null
@@ -0,0 +1,10 @@
+#if defined (__ia64__) && defined (__hpux__)
+#define FLOAT __float80
+#include "fp-cmp-4.c"
+#else
+int
+main ()
+{
+  return 0;
+}
+#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4f.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4f.c
new file mode 100644 (file)
index 0000000..6221b25
--- /dev/null
@@ -0,0 +1,2 @@
+#define FLOAT float
+#include "fp-cmp-4.c"
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4l.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4l.c
new file mode 100644 (file)
index 0000000..5ac8b75
--- /dev/null
@@ -0,0 +1,2 @@
+#define FLOAT long double
+#include "fp-cmp-4.c"
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4q.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4q.c
new file mode 100644 (file)
index 0000000..0d6adf4
--- /dev/null
@@ -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
index 225539b83eb1b6160cdde52cf098d55c802cd1a4..7e24c66d98df9720bc155226d5fedbf825281779 100644 (file)
@@ -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[] =
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8e.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8e.c
new file mode 100644 (file)
index 0000000..acb83f6
--- /dev/null
@@ -0,0 +1,10 @@
+#if defined (__ia64__) && defined (__hpux__)
+#define FLOAT __float80
+#include "fp-cmp-8.c"
+#else
+int
+main ()
+{
+  return 0;
+}
+#endif
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8f.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8f.c
new file mode 100644 (file)
index 0000000..9826ec9
--- /dev/null
@@ -0,0 +1,2 @@
+#define FLOAT float
+#include "fp-cmp-8.c"
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c
new file mode 100644 (file)
index 0000000..528eeb0
--- /dev/null
@@ -0,0 +1,2 @@
+#define FLOAT long double
+#include "fp-cmp-8.c"
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8q.c b/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8q.c
new file mode 100644 (file)
index 0000000..b3fd3b6
--- /dev/null
@@ -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