]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/29114 (ICE when cross-compiling glibc for hppa on a 64bit host)
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Sun, 19 Nov 2006 18:24:21 +0000 (18:24 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sun, 19 Nov 2006 18:24:21 +0000 (18:24 +0000)
PR target/29114
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
larger than BITS_PER_WORD.

From-SVN: r118993

gcc/ChangeLog
gcc/config/pa/pa.c

index f2aafc1e1000f121fcbd33f7256d342019b8ee36..4af29a58294f3eaf445ff7f198f5649b347cb008 100644 (file)
@@ -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
index 48b8ca4f56092732167da850488904d1e2c786c4..7c5f6f35e5de44d762847c383f96ea6fee4c4358 100644 (file)
@@ -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)
            {