about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--sysdeps/powerpc/fpu/bits/mathinline.h15
2 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 09bae078d1..42d10baa10 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-2000-10-17  Geoffrey Keating  <geoffk@cygnus.com>
+2000-10-19  Geoffrey Keating  <geoffk@cygnus.com>
 
 	* sysdeps/powerpc/fpu/bits/mathinline.h: Add versions
 	of the unordered comparison functions that use the GCC builtins.
diff --git a/sysdeps/powerpc/fpu/bits/mathinline.h b/sysdeps/powerpc/fpu/bits/mathinline.h
index e4f208cd41..0548f92f1e 100644
--- a/sysdeps/powerpc/fpu/bits/mathinline.h
+++ b/sysdeps/powerpc/fpu/bits/mathinline.h
@@ -21,6 +21,17 @@
 #if defined __GNUC__ && !defined _SOFT_FLOAT
 
 #ifdef __USE_ISOC99
+#if __GNUC_PREREQ (2,96)
+
+#define isgreater(x, y) __builtin_isgreater (x, y)
+#define isgreaterequal(x, y) __builtin_isgreaterequal (x, y)
+#define isless(x, y) __builtin_isless (x, y)
+#define islessequal(x, y) __builtin_islessequal (x, y)
+#define islessgreater(x, y) __builtin_islessgreater (x, y)
+#define isunordered(x, y) __builtin_isunordered (x, y)
+
+#else
+
 # define __unordered_cmp(x, y) \
   (__extension__							      \
    ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y);			      \
@@ -35,7 +46,9 @@
 # define islessequal(x, y) ((__unordered_cmp (x, y) & 0xA) != 0)
 # define islessgreater(x, y) ((__unordered_cmp (x, y) & 0xC) != 0)
 # define isunordered(x, y) (__unordered_cmp (x, y) & 1)
-#endif /* __USE_ISOC99 && !_SOFT_FLOAT */
+
+#endif /* __GNUC_PREREQ (2,97) */
+#endif /* __USE_ISOC99 */
 
 #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__