diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2006-11-19 18:24:21 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2006-11-19 18:24:21 +0000 |
commit | 0eab7815089fe868b55e502c69d61d97346535af (patch) | |
tree | 2083ca962d25d616af831936b2c25d709d59bdd0 /gcc | |
parent | 8637bc38c450dcc06582a231938af2db6c48b7c3 (diff) | |
download | gcc-0eab7815089fe868b55e502c69d61d97346535af.zip gcc-0eab7815089fe868b55e502c69d61d97346535af.tar.gz gcc-0eab7815089fe868b55e502c69d61d97346535af.tar.bz2 |
re PR target/29114 (ICE when cross-compiling glibc for hppa on a 64bit host)
PR target/29114
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
larger than BITS_PER_WORD.
From-SVN: r118993
Diffstat (limited to 'gcc')
-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) { |