[Bug middle-end/90796] [8/9/10 Regression] GCC: O2 vs O3 output differs on simple test
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 10 08:05:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90796
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org,
| |matz at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
Known to work| |7.4.0
Target Milestone|--- |8.4
Known to fail| |10.0, 8.3.0, 9.1.0
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Yes, it started with r255467.
There's a simplified test-case:
$ cat pr90796.c
unsigned b[11];
unsigned c;
int d, e, f;
char en;
int main() {
char b[100];
for (; e < 6; e += 3) {
__builtin_sprintf(b, "%u", b[0]);
for (; c < 9; c++)
for (d = 2; d < 11; d++) {
f = b[c + 2] ^ 9;
b[c] = f;
}
}
__builtin_printf("b:%s\n", b);
if (__builtin_strcmp (b, "9") != 0)
__builtin_abort ();
return 0;
}
$ gcc pr90796.c -O3 && ./a.out
b:0
Aborted (core dumped)
More information about the Gcc-bugs
mailing list