This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/16925] ICE when building a m68hc11 cross-compiler on 64-bit architectures


------- Additional Comments From dbaird at nmt dot edu  2004-12-22 07:13 -------
Just for the record, I am having the same problem.  I am using GCC as
the host compiler.  My CHOST is x86_64-pc-linux-gnu.

I am building gcc-3.3.4 with patches from (Pre-Release 2.92):
http://m68hc11.serveftp.org/m68hc1x-builder-2.92.tar.gz

Compilation succeeds after I apply gcc-3.4.2-16925.patch from above.

(In reply to comment #3)
> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]