about summary refs log tree commit diff
path: root/soft-fp/op-common.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-01-06 10:47:57 +0000
committerRoland McGrath <roland@gnu.org>2006-01-06 10:47:57 +0000
commite7b8c7bc7326ecbbb96af06d8b77f99aad3a84e4 (patch)
tree68ec20a698d73d6c836a952ddd9cdfdb14257d2b /soft-fp/op-common.h
parent0d86378f95994072ccc5db9e993b759208beacfa (diff)
downloadglibc-e7b8c7bc7326ecbbb96af06d8b77f99aad3a84e4.tar.gz
glibc-e7b8c7bc7326ecbbb96af06d8b77f99aad3a84e4.tar.xz
glibc-e7b8c7bc7326ecbbb96af06d8b77f99aad3a84e4.zip
* soft-fp/Makefile (gcc-single-routines): Add unordsf2,
	floatunsisf, floatundisf.
	(gcc-double-routines): Add unorddf2, floatunsidf, floatundidf.
	(gcc-quad-routines): Add unordtf2, floatunsitf, floatunditf.
	* soft-fp/op-common.h (_FP_CMP_UNORD): Define.
	* soft-fp/single.h (FP_CMP_UNORD_S): Define.
	* soft-fp/double.h (FP_CMP_UNORD_D): Define.
	* soft-fp/quad.h (FP_CMP_UNORD_Q): Define.
	* soft-fp/extended.h (FP_CMP_UNORD_E): Define.
	* soft-fp/unordsf2.c: New file.
	* soft-fp/unorddf2.c: New file.
	* soft-fp/unordtf2.c: New file.
	* soft-fp/floatunsisf.c: New file.
	* soft-fp/floatundisf.c: New file.
	* soft-fp/floatunsidf.c: New file.
	* soft-fp/floatundidf.c: New file.
	* soft-fp/floatunsitf.c: New file.
	* soft-fp/floatunditf.c: New file.
Diffstat (limited to 'soft-fp/op-common.h')
-rw-r--r--soft-fp/op-common.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/soft-fp/op-common.h b/soft-fp/op-common.h
index 46162ed3f6..f30260ede4 100644
--- a/soft-fp/op-common.h
+++ b/soft-fp/op-common.h
@@ -553,6 +553,14 @@ do {							\
       }									  \
   } while (0)
 
+/* Version to test unordered.  */
+
+#define _FP_CMP_UNORD(fs, wc, ret, X, Y)				\
+  do {									\
+    ret = ((X##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(X))	\
+	   || (Y##_e == _FP_EXPMAX_##fs && !_FP_FRAC_ZEROP_##wc(Y)));	\
+  } while (0)
+
 /*
  * Main square root routine.  The input value should be cooked.
  */