Hi,

We only need to handle zero-extended addresses in DImode.
OK for trunk?

BTW, all my 10 addr32 patches are tested on Linux/x86-64.

Thanks.


H.J.
---
2012-03-02  H.J. Lu  <hongjiu...@intel.com>

        * config/i386/i386.c (ix86_print_operand_address): Only handle
        zero-extended DImode addresses.

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2cbfb64..7cb8fda 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -14511,7 +14511,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 (TARGET_64BIT && GET_MODE (addr) == DImode)
        code = ((GET_CODE (addr) == ZERO_EXTEND
                 || GET_CODE (addr) == AND)
                ? 'l'
-- 
1.7.6.5

Reply via email to