https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80641

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
If I (very hackishly) enable A + CST CMP A  ->  A CMP' CST' without single_use,
and (unsigned long)x==0 --> x==0, we simplify quite a bit more and the warning
disappears.

(and there would still be some margin, where we could simplify
  _6 = _8 /[ex] 4;
  _17 = (long unsigned int) _6;
  sz_13 = _17 + 18446744073709551615;
  _48 = sz_13 * 4;
to
  tmp = (long unsigned int) _8
  _48 = tmp + 18446744073709551612;
)

Reply via email to