Module Name: src
Committed By: matt
Date: Tue Apr 16 13:38:34 UTC 2013
Modified Files:
src/lib/libc/arch/arm/softfloat: __aeabi_dcmpge.c __aeabi_dcmpgt.c
__aeabi_fcmpge.c __aeabi_fcmpgt.c
Log Message:
Deal with arguments being NaNs
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c \
src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c \
src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c \
src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c
diff -u src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c:1.1 src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c:1.2
--- src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c:1.1 Tue Apr 16 10:37:39 2013
+++ src/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c Tue Apr 16 13:38:34 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __aeabi_dcmpge.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */
+/* $NetBSD: __aeabi_dcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */
/*
* Written by Ben Harris, 2000. This file is in the Public Domain.
@@ -10,7 +10,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: __aeabi_dcmpge.c,v 1.1 2013/04/16 10:37:39 matt Exp $");
+__RCSID("$NetBSD: __aeabi_dcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $");
#endif /* LIBC_SCCS and not lint */
int __aeabi_dcmpge(float64, float64);
@@ -19,5 +19,5 @@ int
__aeabi_dcmpge(float64 a, float64 b)
{
- return !float64_lt(a, b);
+ return !float64_lt(a, b) && float64_eq(a, a) && float64_eq(b, b);
}
Index: src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c
diff -u src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c:1.1 src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c:1.2
--- src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c:1.1 Tue Apr 16 10:37:39 2013
+++ src/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c Tue Apr 16 13:38:34 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __aeabi_dcmpgt.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */
+/* $NetBSD: __aeabi_dcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */
/*
* Written by Ben Harris, 2000. This file is in the Public Domain.
@@ -10,7 +10,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: __aeabi_dcmpgt.c,v 1.1 2013/04/16 10:37:39 matt Exp $");
+__RCSID("$NetBSD: __aeabi_dcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $");
#endif /* LIBC_SCCS and not lint */
int __aeabi_dcmpgt(float64, float64);
@@ -19,5 +19,5 @@ int
__aeabi_dcmpgt(float64 a, float64 b)
{
- return !float64_le(a, b);
+ return !float64_le(a, b) && float64_eq(a, a) && float64_eq(b, b);
}
Index: src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c
diff -u src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c:1.1 src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c:1.2
--- src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c:1.1 Tue Apr 16 10:37:39 2013
+++ src/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c Tue Apr 16 13:38:34 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __aeabi_fcmpge.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */
+/* $NetBSD: __aeabi_fcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */
/*
* Written by Ben Harris, 2000. This file is in the Public Domain.
@@ -10,7 +10,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: __aeabi_fcmpge.c,v 1.1 2013/04/16 10:37:39 matt Exp $");
+__RCSID("$NetBSD: __aeabi_fcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $");
#endif /* LIBC_SCCS and not lint */
int __aeabi_fcmpge(float32, float32);
@@ -19,5 +19,5 @@ int
__aeabi_fcmpge(float32 a, float32 b)
{
- return !float32_lt(a, b);
+ return !float32_lt(a, b) && float32_eq(a, a) && float32_eq(b, b);
}
Index: src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c
diff -u src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c:1.1 src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c:1.2
--- src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c:1.1 Tue Apr 16 10:37:39 2013
+++ src/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c Tue Apr 16 13:38:34 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __aeabi_fcmpgt.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */
+/* $NetBSD: __aeabi_fcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */
/*
* Written by Ben Harris, 2000. This file is in the Public Domain.
@@ -10,7 +10,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: __aeabi_fcmpgt.c,v 1.1 2013/04/16 10:37:39 matt Exp $");
+__RCSID("$NetBSD: __aeabi_fcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $");
#endif /* LIBC_SCCS and not lint */
int __aeabi_fcmpgt(float32, float32);
@@ -19,5 +19,5 @@ int
__aeabi_fcmpgt(float32 a, float32 b)
{
- return !float32_le(a, b);
+ return !float32_le(a, b) && float32_eq(a, a) && float32_eq(b, b);
}