https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65694
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ktkachov at gcc dot gnu.org --- Comment #4 from ktkachov at gcc dot gnu.org --- This looks similar to PR 64600. The problem seems to be arm_canonicalize_comparison that canonicalizes a comparison with 2147483647 (0x7fffffff) into a comparison with that +1, that is 0x80000000 without properly sign-extending it into 0xffffffff80000000 (which would make it -2147483648). I have a fix, but it needs more testing