[Bug target/16925] ICC when building a m68hc11 cross-compiler on 64-bit architectures
aurelien at aurel32 dot net
gcc-bugzilla@gcc.gnu.org
Sat Sep 11 13:36:00 GMT 2004
------- Additional Comments From aurelien at aurel32 dot net 2004-09-11 13:36 -------
Created an attachment (id=7096)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7096&action=view)
Patch to fix that bug
The first part of the patch adds the fact that CONST_INT could be a DImode rtx,
that needs to be split into two SImode rtx.
The second part fixes the core of the bug. On 32-bit hosts, this part is called
when a 32-bit integer has two be split into two 32-bit integers (CONST_INT is a
32-bit integer on 32-bit hosts, as well as SI mode). The problem is that
CONST_INT is a 64-bit integer on 64-bit hosts.
Actually this condition is always false on 32-bit hosts (a grep for
split_logical shows that the operands is always a DImode when mode == SImode).
This should also be always false on 64-bit hosts, that's why I removed that
code.
I don't understand why that code is trying to convert one SImode rtx into two
SImode rtx, moreover in a function whose name is beginning by split.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16925
More information about the Gcc-bugs
mailing list