On Tue, Oct 16, 2001 at 03:49:29PM -0700, Jun Sun 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. > > Is there any reason to think "R" *should* be better than "m"? Single instruction loads that is no macros. Ralf