]> granicus.if.org Git - yasm/commit
Fix handling of SSE4 crc opcodes with 64-bit register operands.
authorPeter Johnson <peter@tortall.net>
Wed, 9 May 2007 04:31:19 +0000 (04:31 -0000)
committerPeter Johnson <peter@tortall.net>
Wed, 9 May 2007 04:31:19 +0000 (04:31 -0000)
commit017fbf35c3291a30a5e526a3aa55d5ae3ea7266e
treee2b8ffc1d8cacb68c0b2a931c7fefb80a8de3a90
parent92598dd02938fe9e7ed4433f920a0ec1d3c3750f
Fix handling of SSE4 crc opcodes with 64-bit register operands.
Noticed by: arkon@ragestorm.net

Fix bug relating to recognizing crc32 rax, bh as an error: the opersize=64
changing into REX prefix was happening too late to be caught as an error.
Move this logic from tobytes()/len() functions into finalize(), with proper
prefix handling.

MFC after: 2 days

svn path=/trunk/yasm/; revision=1835
modules/arch/x86/tests/Makefile.inc
modules/arch/x86/tests/sse4-err.asm [new file with mode: 0644]
modules/arch/x86/tests/sse4-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/sse4.asm
modules/arch/x86/tests/sse4.hex
modules/arch/x86/x86arch.h
modules/arch/x86/x86bc.c
modules/arch/x86/x86id.c