This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: PIII SIMD support in gas
- To: "H.J. Lu" <hjl@lucon.org>
- Subject: Re: PIII SIMD support in gas
- From: Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
- Date: Thu, 20 May 1999 13:44:59 +0930 (CST)
- cc: dledford@redhat.com, binutils@sourceware.cygnus.com
On Wed, 19 May 1999, H.J. Lu wrote:
> > If anyone else would like to help with this, make sure that %cr4 bit 9
> > is set, %cr0 bit 2 is reset, set %eax and %ecx to -1, then execute the
> > following opcode on a PIII under gdb, and tell me whether %eax or %ecx is
> > modified.
> >
> > 0x0f,0x50,0xc1 # movmskps
>
> I don't know which patch from Doug you used. I fixed some P/III bugs
> in 2.9.1.0.24. It seems to work fine on P/III. You can always get
> binutils 2.9.1.0.24 and compare the result against gas in CVS.
Yes, I know about the fixes you put in. The cygnus i386 gas doesn't have
the RegRegmem problem you fixed.
When you say "It seems to work fine", do you mean you have executed the
code generated by movmskps on a PIII? As far as I know, this is the only
SIMD instruction that your binutils generates a different modrm byte to
the cygnus binutils. The cygnus binutils follows the Intel documentation
on this instruction; It's just that I strongly suspect Intel got it
wrong.