https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98906
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So ccp3 is doing it. Visiting statement: quo_lo_52 = floorf (_51); which is likely CONSTANT Match-and-simplified floorf (_51) to -8.6e+1 Lattice value changed to CONSTANT -8.6e+1. Adding SSA edges to worklist. Visiting statement: _55 = (unsigned int) quo_lo_52; which is likely CONSTANT Match-and-simplified (unsigned int) quo_lo_52 to 0 Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. I think this code is undefined/unspecified as -86 is outside the range of an unsigned int.