From 8fa8585de83aa9ff48ff462d3caf5f69411d46ab Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Sun, 4 May 2008 19:19:50 +0000 Subject: [PATCH] i386.c (x86_output_mi_thunk): Use movq alternative mnemonic in this_param move for TARGET_64BIT. 2008-05-04 Kai Tietz * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative mnemonic in this_param move for TARGET_64BIT. From-SVN: r134935 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5017016cce4..c29c26fa90c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-05-04 Kai Tietz + + * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative + mnemonic in this_param move for TARGET_64BIT. + 2008-05-04 Uros Bizjak * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 3c203a0b0e9..6b9ad68511f 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -23042,7 +23042,10 @@ x86_output_mi_thunk (FILE *file ATTRIBUTE_UNUSED, /* Put the this parameter into %eax. */ xops[0] = this_param; xops[1] = this_reg = gen_rtx_REG (Pmode, AX_REG); - output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops); + if (TARGET_64BIT) + output_asm_insn ("mov{q}\t{%0, %1|%1, %0}", xops); + else + output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops); } else this_reg = NULL_RTX; @@ -23111,7 +23114,10 @@ x86_output_mi_thunk (FILE *file ATTRIBUTE_UNUSED, { xops[0] = this_reg; xops[1] = this_param; - output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops); + if (TARGET_64BIT) + output_asm_insn ("mov{q}\t{%0, %1|%1, %0}", xops); + else + output_asm_insn ("mov{l}\t{%0, %1|%1, %0}", xops); } xops[0] = XEXP (DECL_RTL (function), 0);