OSDN Git Service

2008-05-04 Kai Tietz <kai.tietz@onevision.com>
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 May 2008 19:19:50 +0000 (19:19 +0000)
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 4 May 2008 19:19:50 +0000 (19:19 +0000)
* config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
mnemonic in this_param move for TARGET_64BIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134935 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index 5017016..c29c26f 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-04  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (x86_output_mi_thunk): Use movq alternative
+       mnemonic in this_param move for TARGET_64BIT.
+
 2008-05-04  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (*strmovsi_1): Simplify asm alternatives.
index 3c203a0..6b9ad68 100644 (file)
@@ -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);