]> granicus.if.org Git - yasm/commit
Correct ordering of legacy prefix and REX prefix for SSE/SSE2 instructions
authorPeter Johnson <peter@tortall.net>
Thu, 5 Feb 2004 08:25:20 +0000 (08:25 -0000)
committerPeter Johnson <peter@tortall.net>
Thu, 5 Feb 2004 08:25:20 +0000 (08:25 -0000)
commit9c5385da273884cc698102bdd2228ad2598919b5
tree10432b3ff6ec168c2bec20fa9490ddb958e21390
parent91ebfd1b3c9df291031858663ee945eed0bce998
Correct ordering of legacy prefix and REX prefix for SSE/SSE2 instructions
in 64-bit (AMD64) mode.  Intel says these bytes should not be treated as
prefixes, but AMD64 treats them as legacy prefixes, expecting them to come
before the REX byte.

For now, keep the three-byte max instruction length (although it's not truly
correct), as handling the other "3-byte" cases such as R/M spare with no EA
is probably more painful than it's worth to push down to later in the code
generation path.

Reported by: Henryk Richter <henryk.richter@comlab.uni-rostock.de>

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