[Bug c/107257] New: Wrong code at -O2 on x86_64-linux-gnu
shaohua.li at inf dot ethz.ch
gcc-bugzilla@gcc.gnu.org
Fri Oct 14 08:32:32 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107257
Bug ID: 107257
Summary: Wrong code at -O2 on x86_64-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-9f0d4adabe2035886a1aa8d2ca990a90de000613/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-9f0d4adabe2035886a1aa8d2ca990a90de000613
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 13.0.0 20221013 (experimental) (GCC)
%
% gcc-tk -w -O0 a.c && ./a.out
2
% gcc-tk -w -O2 a.c && ./a.out
0
%
% cat a.c
l;
m;
static signed char n();
s() { n(); }
signed char n(u) {
for (; u <= 2; u++) {
l = 2;
for (; l ; l--) {
m = 2;
for (; m; m--)
if (u)
break;
}
}
}
main() {
s(2);
printf("%d\n", m);
}
%
Compiler explorer: https://godbolt.org/z/z5Mhxaz9E
More information about the Gcc-bugs
mailing list