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

--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #7)
>       if (low_int >= 0x8000 - extra)
> is not true and 0x7fffffff - -1 is 0x80000000 (with UB on the compiler side).

These are HWIs, so there is no UB.

> But also
>       && ((unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000)
> can invoke UB in the compiler, shouldn't it be just
>       && ((UINTVAL (XEXP (x, 1)) + 0x8000)
> ?

That sounds right, yes.

Reply via email to