https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107176
Bug ID: 107176 Summary: Wrong code at -O0/-Os on x86_64-pc-linux-gnu Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: shaohua.li at inf dot ethz.ch Target Milestone: --- %gcc-tk -v Using built-in specs. COLLECT_GCC=gcc-tk COLLECT_LTO_WRAPPER=/zdata/shaoli/compilers/ccbuilder-compilers/gcc-b48d7ff3570fa0ebe7790275cf020d8885120338/libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --disable-multilib --disable-bootstrap --enable-languages=c,c++ --prefix=/zdata/shaoli/compilers/ccbuilder-compilers/gcc-b48d7ff3570fa0ebe7790275cf020d8885120338 Thread model: posix Supported LTO compression algorithms: zlib gcc version 13.0.0 20220928 (experimental) (GCC) % %gcc-tk -O0 a.c && ./a.out 1073741824 % %gcc-tk -Os a.c && ./a.out 0 % %cat a.c int a; long b; long c(unsigned d) { return d; } void e(d) { a = d; } int main() { b = 0; for (; b < 1; b = c(b - 90) + 90 + 1) ; e(b >> 2); printf("%d\n", a); } % Compiler explorer: https://godbolt.org/z/zzMdosoKj