| To: | Ralf Baechle <ralf@oss.sgi.com> |
|---|---|
| Subject: | Re: [patch] linux 2.4.9: Bad code in xchg_u32() |
| From: | Jun Sun <jsun@mvista.com> |
| Date: | Tue, 16 Oct 2001 15:49:29 -0700 |
| Cc: | "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>, linux-mips@fnet.fr, linux-mips@oss.sgi.com |
| References: | <Pine.GSO.3.96.1011016161735.19676E-100000@delta.ds2.pg.gda.pl> <20011017002947.A19789@dea.linux-mips.net> |
| Sender: | owner-linux-mips@oss.sgi.com |
Ralf Baechle wrote: > > 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. Is there any reason to think "R" *should* be better than "m"? Jun |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [patch] linux 2.4.9: Bad code in xchg_u32(), Ralf Baechle |
|---|---|
| Next by Date: | Re: [patch] linux 2.4.9: Bad code in xchg_u32(), Ralf Baechle |
| Previous by Thread: | Re: [patch] linux 2.4.9: Bad code in xchg_u32(), Ralf Baechle |
| Next by Thread: | Re: [patch] linux 2.4.9: Bad code in xchg_u32(), Ralf Baechle |
| Indexes: | [Date] [Thread] [Top] [All Lists] |