Wrong code emited for psrlw xmm, imm
Edouard Gomez
ed.gomez at free.fr
Fri Oct 24 02:36:34 PDT 2003
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
More information about the bug-yasm
mailing list