Call copy_to_mode_reg instead of force_reg.
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 22 Jul 2011 05:23:22 +0000 (05:23 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 22 Jul 2011 05:23:22 +0000 (22:23 -0700)
2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
instead of force_reg.

From-SVN: r176614

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

index 64560000d24386962d0d58019a074d20cd8a022d..5ac6697d9fcce7b7705921cc57b02c63959bd1d8 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
+       instead of force_reg.
+
 2011-07-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/i386.c (ix86_expand_move): Convert to Pmode if
index 7137217d37ad4e9289a4f22077877559331d54e6..6517064299d04a0dca24acd039361a42d645ad9d 100644 (file)
@@ -21515,7 +21515,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
       fnaddr = XEXP (fnaddr, 0);
       if (GET_MODE (fnaddr) != Pmode)
        fnaddr = convert_to_mode (Pmode, fnaddr, 1);
-      fnaddr = gen_rtx_MEM (QImode, force_reg (Pmode, fnaddr));
+      fnaddr = gen_rtx_MEM (QImode, copy_to_mode_reg (Pmode, fnaddr));
     }
 
   call = gen_rtx_CALL (VOIDmode, fnaddr, callarg1);