> On Fri, May 25, 2001 at 11:15:48PM +0200, Kevin D. Kissell wrote: > > > The following program cannot be compiled with gcc 2.95.3, because the > > > offset is out of range (I consider it a bug in gcc -- it should allocate > > > and load a temporary register itself and pass it appropriately as %0, > > > > I think gcc can be forgiven for not allocating a temporary, > > given the ".set noat"... > > Except, of course, gcc doesn't even know the set noat is there. It > doesn't parse the interior of asm() statements. 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) 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. Kevin K.