From 71b2fd74b9b28fc294c0d75c02e5114c931b70f6 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 5 Jul 2010 22:12:10 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 9 ++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ca62ed00740..cbe3acac363 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 711fc166ad4..42f3fdbfa53 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) { -- 2.30.2