On Tue, Oct 16, 2001 at 07:06:40PM +0200, Maciej W. Rozycki wrote: > > Unfortunately, gcc 2.95.3 doesn't want to accept a "=R" output constraint > here so I had to use "=m". It looks like a bug in gcc. Until it is fixed > the "R" input constraint here is sufficient for gcc to know it has m > already available in one of registers. I added ".set nomacro" to make > sure the second ll fits in the BDS as well. I've added the "memory" clobber back; xchg() is expected to imply a memory barrier. "R" indeed seems to be fishy; I can't compile the kernel if I remove the volatile from the first argument of xchg_u32(). I'd feel safer if we could use "m" until we can be sure "R" works fine. Ralf