diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2013-11-27 22:57:52 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2013-11-27 22:57:52 +0100 |
commit | a3458d2231f2c561c6905e8ed276fabb8929dee4 (patch) | |
tree | ce371b530cffa59c579a1aff121428385aeafdeb /libgcc/soft-fp | |
parent | 35af99b462628310bdc6a196d7c8e80f37fd4a30 (diff) | |
download | gcc-a3458d2231f2c561c6905e8ed276fabb8929dee4.tar.gz |
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.h | 8 |
1 files changed, 4 insertions, 4 deletions
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]; \ } \ } \ |