This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ICE on valid code, cse related
"Pranav Bhandarkar" <pranav.bhandarkar@gmail.com> writes:
> > Who is calling CONST_DOUBLE_LOW on this value?
> plus_constant calls CONST_DOUBLE_LOW on this value.
>
> simplify_binary_operation_1 calls plus_constant ( while trying to
> simplify PLUS on (const_double:SF 0 [0x0] 0.0 [0x0.0p+0]) & (const_int
> -2147483648 [0x80000000]) ), which in turn calls CONST_DOUBLE_LOW.
How can we have a PLUS on a CONST_DOUBLE and a CONST_INT? That does
not make sense, as there is no MODE argument that could make this work
correctly. From your description, MODE must be some integer mode, in
which case it is wrong to be using a CONST_DOUBLE in SFmode.
(I don't know where the bug is; I'm just trying to help pin it down.)
Ian