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

--- Comment #5 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> ---
(In reply to bin cheng from comment #4)
> (In reply to Jiu Fu Guo from comment #3)
> > The issue may come from 'iv0 cmp iv1' transform:
> > 
> >    if (c<b) exit-loop
> > -->if (c>=b) in-loop
> > -->if (b<=c) in-loop
> > 
> >   c: {4, +, 3}
> >   b: {1, +, 1}
> > 
> >   if ({1, +, 1} <= {4, +, 3})
> >   ==> if ({1,+,-2} <= {4,+,0}) //// here, error occur
> >   ==> if ({1,+,-2} < {5,+,0}) le-->lt
> 
> So this duplicates to PR100740?  Thanks

Yes, in theory, these PRs are related to the inaccurate
converting "{b1,s1} LT/LE {b2,s2}" to "{b1,s1-s2} LT/LE {b2,0}".

Reply via email to