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

--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> OK, so GCC 16 has
> 
>   exit condition [d_91(D) + 4294967294, + , 4294967290] != 0
>   bounds on difference of bases: -4294967295 ... 0
>   result:
>     under assumptions (d_91(D) & 1) == 0
>     # of iterations ((d_91(D) + 4294967294) /[ex] 2) * 715827883 &
> 2147483647, bounded by 2147483647
> ...
>   exit condition [d_91(D) + 4294967295, + , 4294967290] != 0
>   bounds on difference of bases: -4294967293 ... 0
>   result:
>     under assumptions (d_91(D) + 4294967295 & 1) == 0
>     # of iterations ((d_91(D) + 4294967295) /[ex] 2) * 715827883 &
> 2147483647, bounded by 2147483647
> 
> but on trunk we are able to have the same assumption:
> 
>   exit condition [d_91(D) + 4294967294, + , 4294967290] != 0
>   bounds on difference of bases: -4294967295 ... 0
>   result:
>     under assumptions (d_91(D) & 1) == 0
>     # of iterations ((d_91(D) + 4294967294) /[ex] 2) * 715827883 &
> 2147483647, bounded by 2147483647
> ...
>   exit condition [d_91(D) + 4294967295, + , 4294967290] != 0
>   bounds on difference of bases: -4294967293 ... 0
>   result:
>     under assumptions (d_91(D) & 1) != 0
>     # of iterations ((d_91(D) + 4294967295) /[ex] 2) * 715827883 &
> 2147483647, bounded by 2147483647
> 
> it would be interesting what changed this.

Bisect says r17-2951-g1c71996e6e0

Reply via email to