This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36362] [4.1/4.2/4.3/4.4 Regression] ICE in simplify_subreg
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 May 2008 10:59:12 -0000
- Subject: [Bug target/36362] [4.1/4.2/4.3/4.4 Regression] ICE in simplify_subreg
- References: <bug-36362-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from rguenther at suse dot de 2008-05-29 10:59 -------
Subject: Re: [4.1/4.2/4.3/4.4 Regression] ICE in
simplify_subreg
On Thu, 29 May 2008, ubizjak at gmail dot com wrote:
> ------- Comment #4 from ubizjak at gmail dot com 2008-05-29 10:23 -------
> The problem is, that we enter simplify_gen_subreg from operand_subword with:
>
> op:
> (reg:QI 61)
>
> outermode: word_mode (SImode)
> innermode: DImode
>
> This triggers assert in simplify_subreg:
>
> gcc_assert (GET_MODE (op) == innermode
> || GET_MODE (op) == VOIDmode);
I believe this goes wrong on the tree level somewhere, as we have
a TRUTH_NOT_EXPR of long long type with a boolean type argument
(NE_EXPR). But I cannot see where this broken typed trees are built.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36362