aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6456000..5ac6697 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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
needed and use force_reg after convert.
(ix86_expand_call): Likewise.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7137217..6517064 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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);