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;

Reply via email to