https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89506
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 45838 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45838&action=edit gcc9-pr89506.patch Untested version. With this one, e.g. that t104_4ssub changes compared to vanilla: -mov r3, #-2147483648 -subs r0, r0, r3 +subs r0, r0, #2147483648 so if that works, would be actually an improvement. On the other side, there are some changes where the code is larger with the patch: -adds r0, r0, #1 +mvn r3, #0 +subs r0, r0, r3