linux-mips
[Top] [All Lists]

Re: [PATCH] incorrect asm constraints for ll/sc constructs

To: "Kevin D. Kissell" <kevink@mips.com>
Subject: Re: [PATCH] incorrect asm constraints for ll/sc constructs
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Date: Mon, 28 May 2001 13:20:41 +0200 (MET DST)
Cc: Daniel Jacobowitz <dan@debian.org>, linux-mips@oss.sgi.com
In-reply-to: <00c901c0e631$4bcebd80$0deca8c0@Ulysses>
Organization: Technical University of Gdansk
Sender: owner-linux-mips@oss.sgi.com
On Sun, 27 May 2001, Kevin D. Kissell wrote:

> Fair enough.  It was an offhand remark.  But seriously, what does
> the "R" constraint mean here?  The only documentation I've got
> (http://linux.fh-heilbronn.de/doku/GNU/docs/gcc/gcc_163.html#SEC163)

 `info gcc' has most relevant data, at least for 2.95.3.

> says that "Q" through "U" are reserved for use with EXTRA_CONSTRAINT
> in machine-dependent definitions of arbitrary operand types.  When
> and where does it get bound for MIPS gcc, and what is it supposed
> to mean?  If I compile this kind of fragment using a "m" constraint,
> it seems to do the right thing, at least on my archaic native compiler.

 Is it gcc generating right code or gas expanding a macro?  Try `gcc -S'
-- for me "m" generates "lw $0,262144($2)", which is unacceptable when
".set noat" is in effect (and perfectly fine otherwise). 

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +


<Prev in Thread] Current Thread [Next in Thread>