]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR bootstrap/46358 (i686-pc-linux-gnu bootstrap failure in r166429)
authorJoern Rennecke <amylaar@spamcop.net>
Mon, 8 Nov 2010 17:57:35 +0000 (17:57 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 8 Nov 2010 17:57:35 +0000 (17:57 +0000)
        PR bootstrap/46358
        * config/i386/i386.c (ix86_expand_split_stack_prologue):
        Avoid warnings when HOST_WIDE_INT is 32 bit.

From-SVN: r166445

gcc/ChangeLog
gcc/config/i386/i386.c

index ae81d678c70e9c7ccce5a8f2ef61f773aba491de..9b4dccdeebff04ec1b3445bac221fa3353a264fd 100644 (file)
        * caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
        assert that REG is a hard register number before using it as an index.
 
+       PR bootstrap/46358
+       * config/i386/i386.c (ix86_expand_split_stack_prologue):
+       Avoid warnings when HOST_WIDE_INT is 32 bit.
+
 2010-11-08  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/46208
index 9efc0df689d07f0c16442df2df0ef8732d85f81d..29e4620e4eeaab0ad93ede28bbac93d5c289d6d0 100644 (file)
@@ -11171,9 +11171,9 @@ ix86_expand_split_stack_prologue (void)
             different function: __morestack_large.  We pass the
             argument size in the upper 32 bits of r10 and pass the
             frame size in the lower 32 bits.  */
-         gcc_assert ((allocate & 0xffffffff) == allocate);
-         gcc_assert (((HOST_WIDE_INT) args_size & 0xffffffff)
-                     == (HOST_WIDE_INT) args_size);
+         gcc_assert ((allocate & (HOST_WIDE_INT) 0xffffffff) == allocate);
+         gcc_assert (((unsigned HOST_WIDE_INT) args_size & 0xffffffff)
+                     == (unsigned HOST_WIDE_INT) args_size);
 
          if (split_stack_fn_large == NULL_RTX)
            split_stack_fn_large =
@@ -11202,7 +11202,7 @@ ix86_expand_split_stack_prologue (void)
 
          fn = reg11;
 
-         argval = ((HOST_WIDE_INT) args_size << 32) + allocate;
+         argval = (((HOST_WIDE_INT) args_size << 16) << 16) + allocate;
          emit_move_insn (reg10, GEN_INT (argval));
        }
       else