diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 |
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); |