Liste des Groupes | Revenir à c arch |
On Sun, 15 Sep 2024 20:13:44 +0200
David Brown <david.brown@hesbynett.no> wrote:
>struct Bar {>
char x[8];
int y;
} bar;
>
>
int foo(int i) {
bar.y = 1234;
bar.x[i] = 42;
return bar.y;
}
>
It generates:
>
foo:
movslq %edi,%rdi
movl $1234, %eax
movl $1234, bar+8(%rip)
movb $42, bar(%rdi)
ret
>
That is, y is /not/ reloaded after bar.x[i] is set.
No other compiler on godbolt is doing it, except possibly gcc clones.
Not even clang, who's former leader wrote "Nasal Manifest".
Les messages affichés proviennent d'usenet.