This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 08 Nov 2012 16:34:27 +0000
- Subject: [Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88
- Auto-submitted: auto-generated
- References: <bug-55142-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142
--- Comment #26 from Uros Bizjak <ubizjak at gmail dot com> 2012-11-08 16:34:27 UTC ---
> I think the most robust solution would be to always zero-extend the addresses
> for -mx32, i.e. output
> movl %ecx, -1073743664(%eax)
> even if the address is a PLUS in DImode. Otherwise, we're left with kludges...
Also, please note that the failure is with -maddress-mode=long. This flag was
introduced with the intention to get rid of as many 0x67 address size prefixes
as possible.
The problem is even listed at the bottom of x32-abi project page [1].
[1] https://sites.google.com/site/x32abi/