Only handle zero-extended DImode addresses
authorH.J. Lu <hongjiu.lu@intel.com>
Sun, 4 Mar 2012 21:19:43 +0000 (21:19 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sun, 4 Mar 2012 21:19:43 +0000 (13:19 -0800)
2012-03-04  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r184899

gcc/ChangeLog
gcc/config/i386/i386.c

index c34b1c0079573c0b1dc14487b1b325f1f14c0878..486f9345f2835d5cea762f5ab76f2f4e11fd164d 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_print_operand_address): Only handle
+       zero-extended DImode addresses.
+
 2012-03-04  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/constraints.md (Ya): New internal constraint.
index d68131a997e378c4b79b44d9d24942f64b21123f..fa040a9a47f535deb785386914c7bb5930cf8675 100644 (file)
@@ -14482,7 +14482,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'