https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117476
--- Comment #27 from Zdenek Sojka <zsojka at seznam dot cz> --- (In reply to Alexey Merzlyakov from comment #25) > Updates on GCC regression testing: > Locally checked the GCC make check with enable-languages=all before the > patching vs. r15-4991-g69bd93c167fefb + fix we are discussing in this > ticket. Testing was performed natively on x86_64 and in cross-toolchain > targeted for aarch64, riscv64 and mips32 under qemu-user simulation. > > The results are as follows: > ------------------------------------------------------------------------ > component x86_64 aarch64 riscv64 mips32 > gcc.sum No regrs No regrs No regs No regs > gfortran.sum No regrs No regrs No regs No regs > gm2.sum No regrs No regrs No regs No regs > go.sum No regrs No regrs No regs No regs > gotools.sum No regrs Skip Skip Skip > g++.sum No regrs No regrs No regs No regs > libatomic.sum No regrs No regrs No regs No regs > libffi.sum No regrs No regrs No regrs No regs > libgomp.sum No regrs Skip Skip Skip > libgo.sum No regrs Skip Skip Skip > libitm.sum No regrs No regrs No regrs Skip > libstdc++.sum No regrs No regrs No regrs No regrs > obj-c++.sum No regrs No regrs No regrs No regrs > objc.sum No regrs No regrs No regrs No regrs > ------------------------------------------------------------------------ > > In this testing: > * No regressions were detected on the above architectures > * "image*" tests from libgo are confirmed to pass with latest fix on x86_64 > (on other architectures GCC failed to compile testsuite in cross-mode) > * Some thread-specific tests (like g++.dg/asan/deep-thread-stack-1.C or > g++.dg/tls/thread_local4g.C) were detected to behave flaky on both: w/o > r15-4991-g69bd93c167fefb patch and (patch + fix) cases. So, there is most > likely not to be treated as regression. > > My apologies for long reply, testing took some time to check both cases and > gather the results. I've tested the patch posted at https://gcc.gnu.org/pipermail/gcc-patches/2024-November/668514.html , but it is failing for me at -O[123] for: $ cat testcase.c unsigned __int128 g; void foo () { g += __builtin_add_overflow_p (~g, 0, 0ul); } int main () { foo(); if (!g) __builtin_abort(); } $ x86_64-pc-linux-gnu-gcc -O1 testcase.c -Wall -W && ./a.out Aborted (unless I've done something wrong while applying and/or building with the patch applied) Reverting 69bd93c167fefbdff0cb88614275358b7a2b2941 prevents the issue.