From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2724 invoked by alias); 18 Mar 2004 00:13:17 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 2712 invoked from network); 18 Mar 2004 00:13:16 -0000 Received: from unknown (HELO frothingslosh.sfbay.redhat.com) (66.187.237.200) by sources.redhat.com with SMTP; 18 Mar 2004 00:13:16 -0000 Received: from frothingslosh.sfbay.redhat.com (localhost.localdomain [127.0.0.1]) by frothingslosh.sfbay.redhat.com (8.12.10/8.12.10) with ESMTP id i2I0DEIS011352; Wed, 17 Mar 2004 16:13:14 -0800 Received: (from rth@localhost) by frothingslosh.sfbay.redhat.com (8.12.10/8.12.10/Submit) id i2I0DESQ011350; Wed, 17 Mar 2004 16:13:14 -0800 X-Authentication-Warning: frothingslosh.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Thu, 18 Mar 2004 01:02:00 -0000 From: Richard Henderson To: Michael Eager Cc: Phil Edwards , gcc , libstdc++@gcc.gnu.org, Paul Koning Subject: Re: locking problem with mips atomicity Message-ID: <20040318001314.GA11256@redhat.com> Mail-Followup-To: Richard Henderson , Michael Eager , Phil Edwards , gcc , libstdc++@gcc.gnu.org, Paul Koning References: <1079458507.3799.8.camel@dzur.sfbay.redhat.com> <40573D8F.DAAB6354@mvista.com> <20040316183443.GB12315@redhat.com> <4057833F.37693319@mvista.com> <20040316232242.GA6879@redhat.com> <40579942.3B51A8B3@mvista.com> <20040317004432.GA24875@disaster.jaj.com> <4057A10E.1968551E@mvista.com> <20040317005526.GA25735@disaster.jaj.com> <4058D4F4.6364BC6E@mvista.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4058D4F4.6364BC6E@mvista.com> User-Agent: Mutt/1.4.1i X-SW-Source: 2004-03/txt/msg01014.txt.bz2 On Wed, Mar 17, 2004 at 02:45:08PM -0800, Michael Eager wrote: > + "ll %0,0(%2)\n\t" > + "addu %1,%3,%0\n\t" > + "sc %1,0(%2)\n\t" > ".set pop\n\t" > "beqz %1,1b\n\t" > "/* End exchange & add */" > + : "=&r"(__result), "=&r"(__tmp), "+r"(__mem) Why the in-out constraint on __mem? You don't modify %2. r~