--- Comment #3 from steven at gcc dot gnu dot org 2009-03-17 07:20 ---
Copying a pseudo to the required register before an __asm__ is not so easy,
because at expand time the data flow engine doesn't know anything, it's not
even initialized.
What you could do, I suppose in cfgexpand.c
--- Comment #2 from rearnsha at gcc dot gnu dot org 2009-03-16 23:27
---
I believe this is a bug in the way we expand local reg vars. The manual says:
Local register variables in specific registers do not reserve the
registers, except at the point where they are used as input or
--- Comment #1 from gilles dot chanteperdrix at xenomai dot org 2009-01-12
18:03 ---
The following code:
__thread long tl = 42;
long f(void)
{
long *l = tl;
register long r0 __asm__ (r0);
register long *r1 __asm__ (r1);
r0 = 23;
r1 = l;