From: uros Date: Mon, 5 Jul 2010 20:12:10 +0000 (+0000) Subject: * config/i386/i386.c (ix86_gen_allocate_stack_worker): New. X-Git-Tag: upstream/4.9.2~28105 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=56cc625856d5da0c6d10fda76e2fc0426ce238d7;p=platform%2Fupstream%2Flinaro-gcc.git * config/i386/i386.c (ix86_gen_allocate_stack_worker): New. (override_options): Initialize it. (ix86_expand_prologue): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161851 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca62ed0..cbe3aca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-07-05 Uros Bizjak + + * config/i386/i386.c (ix86_gen_allocate_stack_worker): New. + (override_options): Initialize it. + (ix86_expand_prologue): Use it. + 2010-07-05 Jakub Jelinek * tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 711fc16..42f3fdb 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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_monitor) (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. */ unsigned int ix86_preferred_stack_boundary; @@ -3577,6 +3578,7 @@ override_options (bool main_args_p) ix86_gen_one_cmpl2 = gen_one_cmpldi2; ix86_gen_monitor = gen_sse3_monitor64; ix86_gen_andsp = gen_anddi3; + ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_64; } else { @@ -3588,6 +3590,7 @@ override_options (bool main_args_p) ix86_gen_one_cmpl2 = gen_one_cmplsi2; ix86_gen_monitor = gen_sse3_monitor; ix86_gen_andsp = gen_andsi3; + ix86_gen_allocate_stack_worker = gen_allocate_stack_worker_32; } #ifdef USE_IX86_CLD @@ -8868,11 +8871,7 @@ ix86_expand_prologue (void) emit_move_insn (eax, GEN_INT (allocate)); - if (TARGET_64BIT) - insn = gen_allocate_stack_worker_64 (eax, eax); - else - insn = gen_allocate_stack_worker_32 (eax, eax); - insn = emit_insn (insn); + insn = emit_insn ((*ix86_gen_allocate_stack_worker) (eax, eax)); if (ix86_cfa_state->reg == stack_pointer_rtx) {