[Bug c/107176] New: Wrong code at -O0/-Os on x86_64-pc-linux-gnu
shaohua.li at inf dot ethz.ch
gcc-bugzilla@gcc.gnu.org
Thu Oct 6 20:41:25 GMT 2022
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
More information about the Gcc-bugs
mailing list