https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121625
Bug ID: 121625 Summary: wrong code at -O{2,3} with "-fno-guess-branch-probability -fno-ssa-phiopt" on x86_64-linux-gnu Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zhendong.su at inf dot ethz.ch Target Milestone: --- Compiler Explorer: https://godbolt.org/z/Tof3feYW6 Note: - works: 15.2 and earlier - fails: trunk [604] % gcctk -v Using built-in specs. COLLECT_GCC=gcctk COLLECT_LTO_WRAPPER=/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/16.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-trunk/configure --disable-bootstrap --enable-checking=yes --prefix=/local/suz-local/software/local/gcc-trunk --enable-sanitizers --enable-languages=c,c++ --disable-werror --enable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 16.0.0 20250820 (experimental) (GCC) [605] % [605] % gcctk -O3 small.c; ./a.out 0 [606] % gcctk -O3 -fno-guess-branch-probability -fno-ssa-phiopt small.c [607] % ./a.out 1 [608] % cat small.c int printf(const char *, ...); int a, b; int main() { long c = 4294967295; int d = ~(~c + ~(b & (2 + b))); long e = b - (b | c) || d; if (b < d) a = e; printf("%d\n", a); return 0; }