diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2aafc1..4af29a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-11-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR target/29114 + * pa.c (emit_move_sequence): Don't split constants with PLUS for modes + larger than BITS_PER_WORD. + 2006-11-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR fortran/27885 diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 48b8ca4..7c5f6f3 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1893,6 +1893,7 @@ 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) <= BITS_PER_WORD && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT && !insert) { |