about summary refs log tree commit diff
path: root/soft-fp
diff options
context:
space:
mode:
Diffstat (limited to 'soft-fp')
-rw-r--r--soft-fp/op-common.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/soft-fp/op-common.h b/soft-fp/op-common.h
index 9c1c5e35f2..080ef0e9b9 100644
--- a/soft-fp/op-common.h
+++ b/soft-fp/op-common.h
@@ -1794,12 +1794,11 @@
       __label__ pack_semiraw;						\
       if (r)								\
 	{								\
-	  rtype _FP_FROM_INT_ur;					\
+	  rtype _FP_FROM_INT_ur = (r);					\
 									\
 	  if ((X##_s = ((r) < 0)))					\
-	    (r) = -(rtype) (r);						\
+	    _FP_FROM_INT_ur = -_FP_FROM_INT_ur;				\
 									\
-	  _FP_FROM_INT_ur = (rtype) (r);				\
 	  _FP_STATIC_ASSERT ((rsize) <= 2 * _FP_W_TYPE_SIZE,		\
 			     "rsize too large");			\
 	  (void) (((rsize) <= _FP_W_TYPE_SIZE)				\