> 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.
|