]> granicus.if.org Git - yasm/commit
Fix prefix order for "3-byte" instructions like the SIMD instructions.
authorPeter Johnson <peter@tortall.net>
Sat, 28 Oct 2006 18:19:39 +0000 (18:19 -0000)
committerPeter Johnson <peter@tortall.net>
Sat, 28 Oct 2006 18:19:39 +0000 (18:19 -0000)
commit88620971c25cd136434ac5e708ebe1dfb0571f7c
tree2ef8abe74e9815a8656df4068f534d7a63f03872
parent0aaf40ad26f282ba6764dafacfdcf8c1133ebfc9
Fix prefix order for "3-byte" instructions like the SIMD instructions.
While the F2/F3/66 prefix used by these instructions should precede the
REX prefix in 64-bit mode, they should probably not precede the segment
override.  The processor specifications seem to be unclear on this point,
so play it safe.

This change has a minor side-effect of reversing the segreg/size override
ordering on things like "fs cmpsd" in 16-bit mode; this is okay as those
prefixes can be in any order.  This is due to the way Yasm implements
segreg overrides for instructions with no EA.

Reported by: Danny Reeves <danny_reeves@hotmail.com>

svn path=/trunk/yasm/; revision=1666
modules/arch/x86/tests/Makefile.inc
modules/arch/x86/tests/sse-prefix.asm [new file with mode: 0644]
modules/arch/x86/tests/sse-prefix.hex [new file with mode: 0644]
modules/arch/x86/tests/sse4.hex
modules/arch/x86/tests/stringseg.hex
modules/arch/x86/x86bc.c
modules/arch/x86/x86id.c