https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62208
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-08-26 CC| |rsandifo at gcc dot gnu.org Summary|ICE with LTO on valid code |ICE with -fwhole-program on |at -O3 on x86_64-linux-gnu |valid code at -O3 on |in trunc_int_for_mode, at |x86_64-linux-gnu in |explow.c:56 |trunc_int_for_mode, at | |explow.c:56 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- As it's a single file, does it reproduce with -fwhole-program instead of -flto? Still can't reproduce in my dev tree (but as usual this may have too many patches...). Confirmed on match-and-simplify branch with -fwhole-program. Needs -march=x86-64 as well. 55 /* You want to truncate to a _what_? */ 56 gcc_assert (SCALAR_INT_MODE_P (mode)); (gdb) p mode $1 = V4SImode #4 0x0000000000c1683e in simplify_const_unary_operation (code=NOT, mode=V4SImode, op=0x7ffff66ca470, op_mode=V4SImode) at /space/rguenther/src/svn/match-and-simplify/gcc/simplify-rtx.c:1735 1735 return immed_wide_int_const (result, mode); Likely caused by the wide-int merge. Richard?