Josh Vanderhoof wrote:
>
> Frederic Bouvier <[EMAIL PROTECTED]> writes:
>
> > Hello,
> >
> > It seems it was not yet posted on this list. When compiling MesaCVS with
> > x86-asm, I have these messages from gas:
> >
> > /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../..
>-I../../include -I../../src -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -g -O2
>-fomit-frame-pointer -ffast-math -fexpensive-optimizations
>-malign-loops=2 -malign-jumps=2 -malign-functions=2 -c x86a.S
> > gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../src -DUSE_X86_ASM
>-DUSE_MMX_ASM -DUSE_3DNOW_ASM -g -O2 -fomit-frame-pointer -ffast-math
>-fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -c
>-fPIC -DPIC x86a.S -o x86a.lo
> > /tmp/ccToeeJJ.s: Assembler messages:
> > /tmp/ccToeeJJ.s:1009: Error: Junk `(3)' after register
> > /tmp/ccToeeJJ.s:1010: Error: Junk `(0)' after register
> > /tmp/ccToeeJJ.s:1011: Error: Junk `(1)' after register
> > /tmp/ccToeeJJ.s:1012: Error: Junk `(0)' after register
> > /tmp/ccToeeJJ.s:1013: Error: Junk `(0)' after register
> > /tmp/ccToeeJJ.s:1014: Error: Junk `(0)' after register
> > /tmp/ccToeeJJ.s:1016: Error: Junk `(3)' after register
> > /tmp/ccToeeJJ.s:1018: Error: Junk `(2)' after register
> > [ snip ]
> >
> > I have made this patch to compile cleanly but I'm not able
> > to have a correct picture (all lines converging to the center
> > of the screen)
> >
> > --- Mesa/src/X86/assyntax.h Mon Aug 30 22:51:34 1999
> > +++ Mesa/src/X86/assyntax.h.mod Wed Aug 25 23:06:15 1999
> > @@ -190,7 +190,7 @@
> > #define DR6 %db6
> > #define DR7 %db7
> > /* Floating-point Stack */
> > -#define ST %st
> > +#define ST(a) %st
> > /* MMX Registers */
> > #define MM0 %mm0
> > #define MM1 %mm1
> >
> > I use egcs 1.1.2 or gcc 2.95.1 and binutils 2.9.5.0.7
> >
> > What is going wrong ?
>
> I would try "#define ST(a) %st(a)". That version of gas doesn't like
> space between the %st and the parenthesis.
>
> I think this problem is going to be fixed in the next binutils.
>
> Josh
With "#define ST(a) %st(a)", I got "/tmp/ccgW0Od4.s:1835: Error: bad register name
`st('"
but
with "#define ST(a) %st(##a##)", it compiles perfectly. Let's test that !
Thanks for the hint
Fred
_______________________________________________
Mesa-dev maillist - [EMAIL PROTECTED]
http://lists.mesa3d.org/mailman/listinfo/mesa-dev