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