about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-10-12 12:17:16 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-10-12 12:17:16 +0000
commit99fd9f47effcd18489528e895c08b58ed24d6505 (patch)
tree42e51d6db2bf4d73969f523a0d7a99a22ee1eae2
parent10e1cf6b73f1598e57d24933a0949dbeffa2c8a0 (diff)
downloadglibc-99fd9f47effcd18489528e895c08b58ed24d6505.tar.gz
glibc-99fd9f47effcd18489528e895c08b58ed24d6505.tar.xz
glibc-99fd9f47effcd18489528e895c08b58ed24d6505.zip
soft-fp: fix floating-point to integer unsigned saturation.
-rw-r--r--ChangeLog5
-rw-r--r--soft-fp/op-common.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5090784cf0..7df0ae9cfe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-12  Joseph Myers  <joseph@codesourcery.com>
+
+	* soft-fp/op-common.h (_FP_TO_INT): Reverse test of sign for
+	computing saturated result for unsigned overflow.
+
 2013-10-11  Siddhesh Poyarekar  <siddhesh@redhat.com>
 	    Jeff Law  <law@redhat.com>
 
diff --git a/soft-fp/op-common.h b/soft-fp/op-common.h
index 5dfb73c185..dbc107773e 100644
--- a/soft-fp/op-common.h
+++ b/soft-fp/op-common.h
@@ -1284,7 +1284,7 @@ do {									\
 	  r -= 1 - X##_s;						\
 	} else {							\
 	  r = 0;							\
-	  if (X##_s)							\
+	  if (!X##_s)							\
 	    r = ~r;							\
 	}								\
 									\