https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81346
--- Comment #13 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #12) > Created attachment 41781 [details] > gcc8-pr81346-2.patch > > Further optimization from build_range_check. I wonder if "1" is that special, this optimization basically applies to any range that ends at INT_MAX, turning (X-C1)<=C2 into (signed)X>=C3. Or do we consider that only the case that yields a simple sign check is a win?