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

--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 17 May 2018, tetra2005 at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85822
> 
> --- Comment #3 from Yuri Gribov <tetra2005 at gmail dot com> ---
> It seems these lines in is_masked_range_test should be removed:
>   if (wi::neg_p (val, TYPE_SIGN (type)))
>     std::swap (*low, *high);
> Sadly there were no tests which tested negative constants. I'll bootstrap and
> send patch tomorrow (hope there's no urgency?).

Well, iff then you should replace the above with

  if (wi::neg_p (val, TYPE_SIGN (type)))
    return false;

(possibly earlier as soon as val is computed).  At least w/o more
exhaustive test coverage or explanation.

Reply via email to