https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89506
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Unfortunately the patch regresses: +FAIL: c-c++-common/torture/builtin-arith-overflow-1.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-1.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-12.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-12.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-13.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-13.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-2.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-2.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-p-12.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-p-12.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-p-13.c -O2 execution test +FAIL: c-c++-common/torture/builtin-arith-overflow-p-13.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test Looking at the first one, the differences are like: t104_4ssub: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - mov r3, #-2147483648 - subs r0, r0, r3 + adds r0, r0, #-2147483648