http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142



H.J. Lu <hjl.tools at gmail dot com> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

   Target Milestone|---                         |4.8.0



--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-10-31 02:21:16 
UTC ---

This



diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c

index 2284703..8569418 100644

--- a/gcc/config/i386/i386.c

+++ b/gcc/config/i386/i386.c

@@ -12902,6 +12902,8 @@ legitimize_pic_address (rtx orig, rtx reg)

     else

       {

         base = legitimize_pic_address (XEXP (addr, 0), reg);

+        if (GET_MODE (base) != Pmode)

+     base = convert_to_mode (Pmode, base, 1);

         new_rtx  = legitimize_pic_address (XEXP (addr, 1),

                   base == reg ? NULL_RTX : reg);



fixes the testcase.

Reply via email to