> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk/4.8?
>
> 2013-12-31 Jakub Jelinek
>
> PR rtl-optimization/59647
> * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
> new_rtx into UNSIGNED_FLOAT rtxes.
>
> * g++.dg/opt/pr59647.C: Ne
Hi!
This patch fixes a 4.8 ICE (on trunk the bug went latent by GIMPLE
optimization changes). The problem is we have a REG_EQUAL
(unsigned_float:DF (reg:SI ...)) and cse_process_notes_1 attempts
to replace the reg with CONST_INT that has the top most bit set.
As CONST_INTs are canonicalized by si