Keith Whitwell wrote:
>
> Greg Hughes wrote:
> >
> > Inline assembly experts,
> >
> > I've been palying with RedHat 7.1 Beta. This ships with gcc 2.96.77,
> > which is much better than the 2.96 bundled with RedHat 7.0. This
> > compiler can build the xc tree from the trunk, but it chokes trying to
> > build the mesa-3-5-branch. It doesn't like the COPY_DWORDS macro in the
> > r128, radeon, and i810 directories.
> >
> > #define COPY_DWORDS( j, vb, vertsize, v ) \
> > __asm__ __volatile__( "rep ; movsl" \
> > : "=%c" (j), "=D" (vb) \
> > : "0" (vertsize), \
> > "D" ((long)vb), \
> > "S" ((long)v) \
> > : "esi" )
> >
> > The error is:
> >
> > Can't find a register in class `SIREG' while reloading `asm'.
> >
> > My question: Is this a compiler defect, or is the compiler just being
> > more strict?
>
> Hmmm... Not really sure. A certain amount of fiddling went into choosing
> that assembly. I'd suggest looking at the info files for that version of gcc
> to try and verify the code.
I've been experimenting with gcc-3.1 from gcc CVS (and working on the
x86 backend to improve performance on the Athlon, but that's another
story) and had also noticed this. I'll look into the problem -- I had
originally thought it was related to the clobbered register list, but
this may be a 3.1 thing.
-- Gareth
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel