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