summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-27 21:57:52 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-27 21:57:52 +0000
commitea9697c47fce40051c57d37fd93f2dddad246005 (patch)
treece371b530cffa59c579a1aff121428385aeafdeb /libgcc
parentc8a38f7212d232b930617caad9354cf58de94968 (diff)
downloadgcc-ea9697c47fce40051c57d37fd93f2dddad246005.tar.gz
* soft-fp/op-4.h: Update from glibc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/soft-fp/op-4.h8
2 files changed, 9 insertions, 5 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 7e7aa4a40d1..586372a3b6d 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,7 @@
+2013-11-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * soft-fp/op-4.h: Update from glibc.
+
2013-11-27 Kugan Vivekanandarajah <kuganv@linaro.org>
* libgcc2.c (__udivmoddi4): Define new implementation when
@@ -24,7 +28,7 @@
2013-11-22 Yuri Rumyantsev <ysrumyan@gmail.com>
- * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.
+ * config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.
2013-11-18 Jan Hubicka <jh@suse.cz>
diff --git a/libgcc/soft-fp/op-4.h b/libgcc/soft-fp/op-4.h
index 3515bdc497b..6c6b4611662 100644
--- a/libgcc/soft-fp/op-4.h
+++ b/libgcc/soft-fp/op-4.h
@@ -709,7 +709,7 @@
else if (rsize <= 2*_FP_W_TYPE_SIZE) \
{ \
r = X##_f[1]; \
- r <<= _FP_W_TYPE_SIZE; \
+ r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \
r += X##_f[0]; \
} \
else \
@@ -717,11 +717,11 @@
/* I'm feeling lazy so we deal with int == 3words (implausible)*/ \
/* and int == 4words as a single case. */ \
r = X##_f[3]; \
- r <<= _FP_W_TYPE_SIZE; \
+ r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \
r += X##_f[2]; \
- r <<= _FP_W_TYPE_SIZE; \
+ r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \
r += X##_f[1]; \
- r <<= _FP_W_TYPE_SIZE; \
+ r = (rsize <= _FP_W_TYPE_SIZE ? 0 : r << _FP_W_TYPE_SIZE); \
r += X##_f[0]; \
} \
} \