On Thu, Mar 8, 2012 at 7:20 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Sun, Mar 4, 2012 at 9:13 PM, Uros Bizjak <ubiz...@gmail.com> wrote: > >>> We only need to handle zero-extended addresses in DImode. >>> OK for trunk? >> >>> 2012-03-02 H.J. Lu <hongjiu...@intel.com> >>> >>> * config/i386/i386.c (ix86_print_operand_address): Only handle >>> zero-extended DImode addresses. >> >> OK. > > The patch was reverted due to PR target/52530. >
Revert breaks Pmode == SImode for x32. Here is a different patch. It checks Pmode == DImode instead of TARGET_64BIT. Tested on Linux/x32. OK for trunk? Thanks. -- H.J. ---- 2012-03-08 H.J. Lu <hongjiu...@intel.com> * config/i386/i386.c (ix86_print_operand_address): Only handle zero-extended DImode addresses if Pmode == DImode.
2012-03-08 H.J. Lu <hongjiu...@intel.com> * config/i386/i386.c (ix86_print_operand_address): Only handle zero-extended DImode addresses if Pmode == DImode. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 69cb6ae..c2cad5a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -14548,7 +14548,7 @@ ix86_print_operand_address (FILE *file, rtx addr) /* Print SImode registers for zero-extended addresses to force addr32 prefix. Otherwise print DImode registers to avoid it. */ - if (TARGET_64BIT) + if (Pmode == DImode) code = ((GET_CODE (addr) == ZERO_EXTEND || GET_CODE (addr) == AND) ? 'l'