[Bug inline-asm/38815] Taking the address of a __thread variable prevents the r0 register from being loaded

2009-03-17 Thread steven at gcc dot gnu dot org
--- 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

[Bug inline-asm/38815] Taking the address of a __thread variable prevents the r0 register from being loaded

2009-03-16 Thread rearnsha at gcc dot gnu dot org
--- 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

[Bug inline-asm/38815] Taking the address of a __thread variable prevents the r0 register from being loaded

2009-01-12 Thread gilles dot chanteperdrix at xenomai dot org
--- 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;