http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44970
--- Comment #98 from Paolo Bonzini <bonzini at gnu dot org> 2010-11-14 22:35:54
UTC ---
Minimized testcase:
int f (unsigned long arg, int *cr)
{
int *p = (int *) arg;
int x = *cr;
long pu_err = 0;
if (x)
asm volatile ("stw %2,0(%1)": "=r" (pu_err): "r" (p), "r" (x));
asm volatile ("stw %2,0(%%sr3,%1)": "=r" (pu_err): "r" (p), "r" (x));
return pu_err;
}
Fails at -O2.
