diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2010-07-05 22:12:10 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2010-07-05 22:12:10 +0200 |
commit | 71b2fd74b9b28fc294c0d75c02e5114c931b70f6 (patch) | |
tree | 2e47b63dfde0cbed9989e163197bc6116a34f62d /gcc | |
parent | 94dbbc81225d4feaf03f06bbec518eaa5d856364 (diff) | |
download | gcc-71b2fd74b9b28fc294c0d75c02e5114c931b70f6.zip gcc-71b2fd74b9b28fc294c0d75c02e5114c931b70f6.tar.gz gcc-71b2fd74b9b28fc294c0d75c02e5114c931b70f6.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 9 |
2 files changed, 10 insertions, 5 deletions
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 <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> * 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) { |