https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115863
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> --- Please note that w/o .SAT_TRUNC the compiler is able to optimize hot loop in compress2 to: <bb 5> [local count: 536870912]: _18 = MIN_EXPR <left_8, 4294967295>; iftmp.0_11 = (unsigned int) _18; stream.avail_out = iftmp.0_11; left_37 = left_8 - _18; while .SAT_TRUNC somehow interferes with this optimization to produce: <bb 5> [local count: 536870912]: _45 = MIN_EXPR <left_8, 4294967295>; iftmp.0_11 = .SAT_TRUNC (left_8); stream.avail_out = iftmp.0_11; left_37 = left_8 - _45;