PR middle-end/6348
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Mar 2003 22:51:39 +0000 (22:51 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Mar 2003 22:51:39 +0000 (22:51 +0000)
        * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
        different from word_mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64628 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/explow.c

index a8f7577..ce5f6b8 100644 (file)
@@ -1,3 +1,9 @@
+2003-03-20  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/6348
+       * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
+       different from word_mode.
+
 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
index fb13368..50556e8 100644 (file)
@@ -1365,7 +1365,7 @@ allocate_dynamic_stack_space (size, target, known_align)
 
       pred = insn_data[(int) CODE_FOR_allocate_stack].operand[1].predicate;
       if (pred && ! ((*pred) (size, mode)))
-       size = copy_to_mode_reg (mode, size);
+       size = copy_to_mode_reg (mode, convert_to_mode (mode, size, 1));
 
       emit_insn (gen_allocate_stack (target, size));
     }