This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/52530] [4.8 regression] Many 64-bit execution failures on Solaris 10/11 with Sun as
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 09 Mar 2012 15:17:07 +0000
- Subject: [Bug target/52530] [4.8 regression] Many 64-bit execution failures on Solaris 10/11 with Sun as
- Auto-submitted: auto-generated
- References: <bug-52530-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52530
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> 2012-03-09 15:17:07 UTC ---
This patch works for me:
---
diff --git a/gcc/ChangeLog.addr32 b/gcc/ChangeLog.addr32
index 066f1ec..a191e47 100644
--- a/gcc/ChangeLog.addr32
+++ b/gcc/ChangeLog.addr32
@@ -1,3 +1,8 @@
+2012-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_print_operand_address): Only handle
+ zero-extended DImode addresses if Pmode == DImode.
+
2012-03-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*zero_extendsidi2_rex64): Allow loading
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'
--