Index: uspace/lib/softfloat/comparison.c
===================================================================
--- uspace/lib/softfloat/comparison.c	(revision 6d1d143a5cf77ad1cecee9f57c6550efbdd51ea7)
+++ uspace/lib/softfloat/comparison.c	(revision 565aaffff433c66e6585ca71e78f22a4de1b8257)
@@ -587,5 +587,5 @@
 	if ((is_float32_nan(ua.data)) || (is_float32_nan(ub.data))) {
 		// TODO: sigNaNs
-		return -1;
+		return 0;
 	}
 
@@ -606,9 +606,9 @@
 	if ((is_float32_nan(ua.data)) || (is_float32_nan(ub.data))) {
 		// TODO: sigNaNs
-		return 1;
+		return 0;
 	}
 
 	if (is_float32_lt(ua.data, ub.data))
-		return -1;
+		return 1;
 
 	return 0;
@@ -625,14 +625,14 @@
 	if ((is_float32_nan(ua.data)) || (is_float32_nan(ub.data))) {
 		// TODO: sigNaNs
-		return -1;
+		return 0;
 	}
 
 	if (is_float32_eq(ua.data, ub.data))
-		return 0;
+		return 1;
 
 	if (is_float32_gt(ua.data, ub.data))
 		return 1;
 
-	return -1;
+	return 0;
 }
 
@@ -647,8 +647,8 @@
 	if ((is_float32_nan(ua.data)) || (is_float32_nan(ub.data))) {
 		// TODO: sigNaNs
-		return 1;
-	}
-
-	return is_float32_eq(ua.data, ub.data) - 1;
+		return 0;
+	}
+
+	return is_float32_eq(ua.data, ub.data);
 }
 
@@ -804,9 +804,9 @@
 	if ((is_float64_nan(ua.data)) || (is_float64_nan(ub.data))) {
 		// TODO: sigNaNs
-		return 1;
+		return 0;
 	}
 
 	if (is_float64_lt(ua.data, ub.data))
-		return -1;
+		return 1;
 
 	return 0;
@@ -823,8 +823,8 @@
 	if ((is_float64_nan(ua.data)) || (is_float64_nan(ub.data))) {
 		// TODO: sigNaNs
-		return 1;
-	}
-
-	return is_float64_eq(ua.data, ub.data) - 1;
+		return 0;
+	}
+
+	return is_float64_eq(ua.data, ub.data);
 }
 
@@ -839,5 +839,5 @@
 	if ((is_float64_nan(ua.data)) || (is_float64_nan(ub.data))) {
 		// TODO: sigNaNs
-		return -1;
+		return 0;
 	}
 
@@ -858,14 +858,14 @@
 	if ((is_float64_nan(ua.data)) || (is_float64_nan(ub.data))) {
 		// TODO: sigNaNs
-		return -1;
+		return 0;
 	}
 
 	if (is_float64_eq(ua.data, ub.data))
-		return 0;
+		return 1;
 
 	if (is_float64_gt(ua.data, ub.data))
 		return 1;
 
-	return -1;
+	return 0;
 }
 
@@ -880,14 +880,14 @@
 	if ((is_float64_nan(ua.data)) || (is_float64_nan(ub.data))) {
 		// TODO: sigNaNs
-		return 1;
+		return 0;
 	}
 
 	if (is_float64_eq(ua.data, ub.data))
-		return 0;
+		return 1;
 
 	if (is_float64_lt(ua.data, ub.data))
-		return -1;
-
-	return 1;
+		return 1;
+
+	return 0;
 }
 
