Wrong code emited for psrlw xmm, imm

Peter Johnson peter at tortall.net
Thu Oct 23 19:33:09 PDT 2003


Fixed in modules/arch/x86/x86id.re r1.61.  Thanks for the report!

Peter

On Fri, 24 Oct 2003, Edouard Gomez wrote:

> Edouard Gomez (ed.gomez at free.fr) wrote:
> > Test case:
> > section .text
> > foobar:
> >     psrlw xmm0, 1 ; assembled to 66 0f d1 d0 01 instead of 66 0f 71 d0 01
> >     psrld xmm0, 1 ; assembled to 66 0f d2 d0 01 instead of 66 0f 72 d0 01
> >     psrlq xmm0, 1 ; assembled to 66 0f d3 d0 01 instead of 66 0f 73 d0 01
> >
> > The mmx versions are fine, i suspect a typo somewhere in x86id.re as it
> > assembles this code to the psrl?? xmm, xmm version.
>
> you should check all pshift derived instructions, psrad is buggy too. I
> think these are the causes of xvid segfaults as they gnerated code that
> reading at [esi], which of course is not a valid address.
>
> --
> Edouard Gomez
> _______________________________________________
> bug-yasm mailing list
> bug-yasm at tortall.net
> http://cvs.tortall.net/mailman/listinfo/bug-yasm
>


More information about the bug-yasm mailing list