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.

Reply via email to