]> 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 19:09:04 +0000 (19:09 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sun, 19 Nov 2006 19:09:04 +0000 (19:09 +0000)
PR target/29114
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
larger than BITS_PER_WORD.

From-SVN: r118996

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

index 03c2336345d4bc375cc96f8de5fe62a253549cae..a3c057284545fdf55ef88f19af1b0dd4c3db24b3 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-02  Zdenek Dvorak <dvorakz@suse.cz>
 
        PR tree-optimization/27891
index b052d2f861056847cedea85772fef27aa77b1a6b..b1ce12c48a99d6059356bcc241586ef3b25cc6af 100644 (file)
@@ -2233,6 +2233,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)
            {