https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103979
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
struct S { char a[64]; };
int
foo (void)
{
struct S s, t;
asm goto ("" : "=g" (s) : : : l);
t = s;
asm goto ("" : "=g" (s) : : : l);
return s.a[0] + t.a[63];
l:
return -1;
}
also ICEs at -O2, not during fwprop (note, I can't reproduce the #c0 testcase,
neither with trunk nor 11 branch on x86_64-linux), but during sra.
I think we shouldn't just follow blindly the docs, but see what e.g. Linux
kernel as heavy user of asm goto with outputs (and I think mostly without
volatile) wants.