Commit 5ef4f609 by Uros Bizjak Committed by Uros Bizjak

i386.md (allocate_stack): Simplify.

	* config/i386/i386.md (allocate_stack): Simplify.

From-SVN: r185545
parent fa754848
2012-03-19 Uros Bizjak <ubizjak@gmail.com> 2012-03-19 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (allocate_stack): Simplify.
2012-03-19 Uros Bizjak <ubizjak@gmail.com>
* builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of * builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
copy_to_mode_reg (Pmode, ...). copy_to_mode_reg (Pmode, ...).
(expand_builtin_frame_address): Ditto. (expand_builtin_frame_address): Ditto.
...@@ -10,7 +14,6 @@ ...@@ -10,7 +14,6 @@
(ix86_expand_setmem): Ditto. (ix86_expand_setmem): Ditto.
(ix86_trampoline_init): DItto. (ix86_trampoline_init): DItto.
* config/i386/i386.md (cmpstrnsi): Ditto. * config/i386/i386.md (cmpstrnsi): Ditto.
(allocate_stack): Ditto.
2012-03-19 Sandra Loosemore <sandra@codesourcery.com> 2012-03-19 Sandra Loosemore <sandra@codesourcery.com>
......
...@@ -16729,25 +16729,26 @@ ...@@ -16729,25 +16729,26 @@
if (CHECK_STACK_LIMIT && CONST_INT_P (operands[1]) if (CHECK_STACK_LIMIT && CONST_INT_P (operands[1])
&& INTVAL (operands[1]) < CHECK_STACK_LIMIT) && INTVAL (operands[1]) < CHECK_STACK_LIMIT)
{ x = operands[1];
x = expand_simple_binop (Pmode, MINUS, stack_pointer_rtx, operands[1],
stack_pointer_rtx, 0, OPTAB_DIRECT);
if (x != stack_pointer_rtx)
emit_move_insn (stack_pointer_rtx, x);
}
else else
{ {
x = copy_addr_to_reg (operands[1]); rtx (*insn) (rtx, rtx);
if (TARGET_64BIT)
emit_insn (gen_allocate_stack_worker_probe_di (x, x)); x = copy_to_mode_reg (Pmode, operands[1]);
else
emit_insn (gen_allocate_stack_worker_probe_si (x, x)); insn = (TARGET_64BIT
x = expand_simple_binop (Pmode, MINUS, stack_pointer_rtx, x, ? gen_allocate_stack_worker_probe_di
stack_pointer_rtx, 0, OPTAB_DIRECT); : gen_allocate_stack_worker_probe_si);
if (x != stack_pointer_rtx)
emit_move_insn (stack_pointer_rtx, x); emit_insn (insn (x, x));
} }
x = expand_simple_binop (Pmode, MINUS, stack_pointer_rtx, x,
stack_pointer_rtx, 0, OPTAB_DIRECT);
if (x != stack_pointer_rtx)
emit_move_insn (stack_pointer_rtx, x);
emit_move_insn (operands[0], virtual_stack_dynamic_rtx); emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
DONE; DONE;
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment