This is the mail archive of the gcc@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]

Re: ICE on valid code, cse related


"Pranav Bhandarkar" <pranav.bhandarkar@gmail.com> writes:

> Note the REG_EQUAL note of insn 17. cse tries to replace reg:SI 138
> with a constant and because of insn 13, the note becomes (float:SF
> (const_int 0)) which in turn cse converts into
> 
> REG_EQUAL (const_double:SF 0 [0x0] 0.0 [0x0.0p+0])

That seems OK at first glance.

> and when CONST_DOUBLE_LOW is done on the above, the compiler crashes -
> 
> " internal compiler error: RTL check: expected code 'const_double' and
> mode 'VOID', have code 'const_double' and mode 'SF' in plus_constant,
> at explow.c:103"
> 
> i.e the compiler is crashing after converting a const_int to an SFmode value.

Who is calling CONST_DOUBLE_LOW on this value?

Ian


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