i386.c (x86_output_mi_thunk): Use movq alternative mnemonic in this_param move for...
authorKai Tietz <kai.tietz@onevision.com>
Sun, 4 May 2008 19:19:50 +0000 (19:19 +0000)
committerKai Tietz <ktietz@gcc.gnu.org>
Sun, 4 May 2008 19:19:50 +0000 (21:19 +0200)
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.

From-SVN: r134935

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

index 5017016cce4d8bdf8b296c386914b61d628f2710..c29c26fa90cf27c608b3ea733aa20536a78013e2 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 3c203a0b0e9cc37a0e1451fdbd2f664ca847ee91..6b9ad68511ff4e413f5addeb9b0dd8d7a5ba56c8 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);