[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r2125 - in /trunk/libc: ChangeLog.eglibc soft-fp/op-common.h



Author: joseph
Date: Mon Apr 30 15:18:21 2007
New Revision: 2125

Log:
	* soft-fp/op-common.h (FP_TRUNC): Correct off-by-one error in
	condition for truncating to 0.  Set sticky bit for such
	truncation.

Modified:
    trunk/libc/ChangeLog.eglibc
    trunk/libc/soft-fp/op-common.h

Modified: trunk/libc/ChangeLog.eglibc
==============================================================================
--- trunk/libc/ChangeLog.eglibc (original)
+++ trunk/libc/ChangeLog.eglibc Mon Apr 30 15:18:21 2007
@@ -1,3 +1,9 @@
+2007-04-30  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* soft-fp/op-common.h (FP_TRUNC): Correct off-by-one error in
+	condition for truncating to 0.  Set sticky bit for such
+	truncation.
+
 2007-04-20  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
 
 	* EGLIBC.cross-building: doc fix.

Modified: trunk/libc/soft-fp/op-common.h
==============================================================================
--- trunk/libc/soft-fp/op-common.h (original)
+++ trunk/libc/soft-fp/op-common.h Mon Apr 30 15:18:21 2007
@@ -1211,8 +1211,11 @@
 	{								     \
 	  if (D##_e <= 0)						     \
 	    {								     \
-	      if (D##_e <= 1 - _FP_FRACBITS_##dfs)			     \
-		_FP_FRAC_SET_##swc(S, _FP_ZEROFRAC_##swc);		     \
+	      if (D##_e < 1 - _FP_FRACBITS_##dfs)			     \
+		{							     \
+		  _FP_FRAC_SET_##swc(S, _FP_ZEROFRAC_##swc);		     \
+		  _FP_FRAC_LOW_##swc(S) |= 1;				     \
+		}							     \
 	      else							     \
 		{							     \
 		  _FP_FRAC_HIGH_##sfs(S) |= _FP_IMPLBIT_SH_##sfs;	     \