Commit 71b2fd74 by Uros Bizjak Committed by Uros Bizjak

i386.c (ix86_gen_allocate_stack_worker): New.

	* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
	(override_options): Initialize it.
	(ix86_expand_prologue): Use it.

From-SVN: r161851
parent 94dbbc81
2010-07-05 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
(override_options): Initialize it.
(ix86_expand_prologue): Use it.
2010-07-05 Jakub Jelinek <jakub@redhat.com> 2010-07-05 Jakub Jelinek <jakub@redhat.com>
* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result. * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
......
...@@ -1906,6 +1906,7 @@ static rtx (*ix86_gen_sub3_carry) (rtx, rtx, rtx, rtx, rtx); ...@@ -1906,6 +1906,7 @@ static rtx (*ix86_gen_sub3_carry) (rtx, rtx, rtx, rtx, rtx);
static rtx (*ix86_gen_one_cmpl2) (rtx, rtx); static rtx (*ix86_gen_one_cmpl2) (rtx, rtx);
static rtx (*ix86_gen_monitor) (rtx, rtx, rtx); static rtx (*ix86_gen_monitor) (rtx, rtx, rtx);
static rtx (*ix86_gen_andsp) (rtx, rtx, rtx); static rtx (*ix86_gen_andsp) (rtx, rtx, rtx);
static rtx (*ix86_gen_allocate_stack_worker) (rtx, rtx);
/* Preferred alignment for stack boundary in bits. */ /* Preferred alignment for stack boundary in bits. */
unsigned int ix86_preferred_stack_boundary; unsigned int ix86_preferred_stack_boundary;
...@@ -3577,6 +3578,7 @@ override_options (bool main_args_p) ...@@ -3577,6 +3578,7 @@ override_options (bool main_args_p)
ix86_gen_one_cmpl2 = gen_one_cmpldi2; ix86_gen_one_cmpl2 = gen_one_cmpldi2;
ix86_gen_monitor = gen_sse3_monitor64; ix86_gen_monitor = gen_sse3_monitor64;
ix86_gen_andsp = gen_anddi3; ix86_gen_andsp = gen_anddi3;
ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_64;
} }
else else
{ {
...@@ -3588,6 +3590,7 @@ override_options (bool main_args_p) ...@@ -3588,6 +3590,7 @@ override_options (bool main_args_p)
ix86_gen_one_cmpl2 = gen_one_cmplsi2; ix86_gen_one_cmpl2 = gen_one_cmplsi2;
ix86_gen_monitor = gen_sse3_monitor; ix86_gen_monitor = gen_sse3_monitor;
ix86_gen_andsp = gen_andsi3; ix86_gen_andsp = gen_andsi3;
ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_32;
} }
#ifdef USE_IX86_CLD #ifdef USE_IX86_CLD
...@@ -8868,11 +8871,7 @@ ix86_expand_prologue (void) ...@@ -8868,11 +8871,7 @@ ix86_expand_prologue (void)
emit_move_insn (eax, GEN_INT (allocate)); emit_move_insn (eax, GEN_INT (allocate));
if (TARGET_64BIT) insn = emit_insn ((*ix86_gen_allocate_stack_worker) (eax, eax));
insn = gen_allocate_stack_worker_64 (eax, eax);
else
insn = gen_allocate_stack_worker_32 (eax, eax);
insn = emit_insn (insn);
if (ix86_cfa_state->reg == stack_pointer_rtx) if (ix86_cfa_state->reg == stack_pointer_rtx)
{ {
......
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