Fix problem with cross compiles on LP64 platforms. When splitting a DI

only compare against HOST_BITS_PER_WIDE_INT if TARGET_64BIT is true.
Otherwise, compare against 32 (as would happen on a IPL32 platform).
This commit is contained in:
matt 2006-09-23 19:07:19 +00:00
parent 4a7a5c53dd
commit b23fae2957

View File

@ -1879,7 +1879,8 @@ emit_move_sequence (rtx *operands, enum machine_mode mode, rtx scratch_reg)
because PLUS uses an 11-bit immediate and the insn sequence
generated is not as efficient as the one using HIGH/LO_SUM. */
if (GET_CODE (operand1) == CONST_INT
&& GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
&& GET_MODE_BITSIZE (mode) <=
(TARGET_64BIT ? HOST_BITS_PER_WIDE_INT : 32)
&& !insert)
{
/* Directly break constant into high and low parts. This