diff options
author | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-10 17:28:24 +0000 |
---|---|---|
committer | wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-10 17:28:24 +0000 |
commit | eb294a2f2c9c562b10e723e654e4187b5b4aa341 (patch) | |
tree | 893f28e5cc7f90ccdec4e2184b9e0139d7125f68 /gcc/real.c | |
parent | 0fccd442171e05f4ac28bdab373ccbaefe43031c (diff) | |
download | gcc-eb294a2f2c9c562b10e723e654e4187b5b4aa341.tar.gz |
Fix 64b-x-32b cross compiler breakage. Make alpha-x-m32r work again.
* emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
result.
* final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
result.
* real.c (endian): Delete sign extension code.
* config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
replaced with operand_subword call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25140 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r-- | gcc/real.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/gcc/real.c b/gcc/real.c index 3a3f4be50ba..8c5e3fe805b 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -558,23 +558,6 @@ endian (e, x, mode) abort (); } } - - /* If 32 bits is an entire word for the target, but not for the host, - then sign-extend on the host so that the number will look the same - way on the host that it would on the target. See for instance - simplify_unary_operation. The #if is needed to avoid compiler - warnings. */ - -#if HOST_BITS_PER_WIDE_INT > 32 - if (BITS_PER_WORD < HOST_BITS_PER_WIDE_INT && BITS_PER_WORD == 32) - { - if (x[0] & ((HOST_WIDE_INT) 1 << 31)) - x[0] |= ((HOST_WIDE_INT) (-1) << 32); - - if (x[1] & ((HOST_WIDE_INT) 1 << 31)) - x[1] |= ((HOST_WIDE_INT) (-1) << 32); - } -#endif } |