"Pranav Bhandarkar" <[EMAIL PROTECTED]> 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