aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2010-07-05 22:12:10 +0200
committerUros Bizjak <uros@gcc.gnu.org>2010-07-05 22:12:10 +0200
commit71b2fd74b9b28fc294c0d75c02e5114c931b70f6 (patch)
tree2e47b63dfde0cbed9989e163197bc6116a34f62d /gcc
parent94dbbc81225d4feaf03f06bbec518eaa5d856364 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c9
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)
{