aboutsummaryrefslogtreecommitdiff
path: root/libgcc/soft-fp
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2013-11-27 22:57:52 +0100
committerUros Bizjak <uros@gcc.gnu.org>2013-11-27 22:57:52 +0100
commita3458d2231f2c561c6905e8ed276fabb8929dee4 (patch)
treece371b530cffa59c579a1aff121428385aeafdeb /libgcc/soft-fp
parent35af99b462628310bdc6a196d7c8e80f37fd4a30 (diff)
downloadgcc-a3458d2231f2c561c6905e8ed276fabb8929dee4.zip
gcc-a3458d2231f2c561c6905e8ed276fabb8929dee4.tar.gz
gcc-a3458d2231f2c561c6905e8ed276fabb8929dee4.tar.bz2
op-4.h: Update from glibc.
* soft-fp/op-4.h: Update from glibc. From-SVN: r205462
Diffstat (limited to 'libgcc/soft-fp')
-rw-r--r--libgcc/soft-fp/op-4.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libgcc/soft-fp/op-4.h b/libgcc/soft-fp/op-4.h
index 3515bdc..6c6b461 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]; \
} \
} \