From bf305019a8bcdafb924a3ffeee9aec617bd1149b Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sat, 20 Nov 2010 21:43:34 +0300 Subject: [PATCH] insns: Implement size bits on KATMAI Perhaps not all of them are coevered yet, but mostly. Signed-off-by: Cyrill Gorcunov --- insns.dat | 132 ++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 63 insertions(+), 69 deletions(-) diff --git a/insns.dat b/insns.dat index 79cc2a76..550318e5 100644 --- a/insns.dat +++ b/insns.dat @@ -1423,35 +1423,35 @@ SETcc mem \1\x0F\330\x90\200 386,SB SETcc reg8 \1\x0F\330\x90\200 386 ;# Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2) -ADDPS xmmreg,xmmrm \360\2\x0F\x58\110 KATMAI,SSE -ADDSS xmmreg,xmmrm \363\2\x0F\x58\110 KATMAI,SSE,SD -ANDNPS xmmreg,xmmrm \360\2\x0F\x55\110 KATMAI,SSE -ANDPS xmmreg,xmmrm \360\2\x0F\x54\110 KATMAI,SSE -CMPEQPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x00 KATMAI,SSE -CMPEQSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x00 KATMAI,SSE -CMPLEPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x02 KATMAI,SSE -CMPLESS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x02 KATMAI,SSE -CMPLTPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x01 KATMAI,SSE -CMPLTSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x01 KATMAI,SSE -CMPNEQPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x04 KATMAI,SSE -CMPNEQSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x04 KATMAI,SSE -CMPNLEPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x06 KATMAI,SSE -CMPNLESS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x06 KATMAI,SSE -CMPNLTPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x05 KATMAI,SSE -CMPNLTSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x05 KATMAI,SSE -CMPORDPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x07 KATMAI,SSE -CMPORDSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x07 KATMAI,SSE -CMPUNORDPS xmmreg,xmmrm \360\2\x0F\xC2\110\1\x03 KATMAI,SSE -CMPUNORDSS xmmreg,xmmrm \363\2\x0F\xC2\110\1\x03 KATMAI,SSE +ADDPS xmmreg,xmmrm128 \360\2\x0F\x58\110 KATMAI,SSE +ADDSS xmmreg,xmmrm32 \363\2\x0F\x58\110 KATMAI,SSE +ANDNPS xmmreg,xmmrm128 \360\2\x0F\x55\110 KATMAI,SSE +ANDPS xmmreg,xmmrm128 \360\2\x0F\x54\110 KATMAI,SSE +CMPEQPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x00 KATMAI,SSE +CMPEQSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x00 KATMAI,SSE +CMPLEPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x02 KATMAI,SSE +CMPLESS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x02 KATMAI,SSE +CMPLTPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x01 KATMAI,SSE +CMPLTSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x01 KATMAI,SSE +CMPNEQPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x04 KATMAI,SSE +CMPNEQSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x04 KATMAI,SSE +CMPNLEPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x06 KATMAI,SSE +CMPNLESS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x06 KATMAI,SSE +CMPNLTPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x05 KATMAI,SSE +CMPNLTSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x05 KATMAI,SSE +CMPORDPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x07 KATMAI,SSE +CMPORDSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x07 KATMAI,SSE +CMPUNORDPS xmmreg,xmmrm128 \360\2\x0F\xC2\110\1\x03 KATMAI,SSE +CMPUNORDSS xmmreg,xmmrm32 \363\2\x0F\xC2\110\1\x03 KATMAI,SSE ; CMPPS/CMPSS must come after the specific ops; that way the disassembler will find the ; specific ops first and only disassemble illegal ones as cmpps/cmpss. CMPPS xmmreg,mem,imm \360\2\x0F\xC2\110\26 KATMAI,SSE,SB,AR2 CMPPS xmmreg,xmmreg,imm \360\2\x0F\xC2\110\26 KATMAI,SSE,SB,AR2 CMPSS xmmreg,mem,imm \363\2\x0F\xC2\110\26 KATMAI,SSE,SB,AR2 CMPSS xmmreg,xmmreg,imm \363\2\x0F\xC2\110\26 KATMAI,SSE,SB,AR2 -COMISS xmmreg,xmmrm \360\2\x0F\x2F\110 KATMAI,SSE -CVTPI2PS xmmreg,mmxrm \360\2\x0F\x2A\110 KATMAI,SSE,MMX,SQ -CVTPS2PI mmxreg,xmmrm \360\2\x0F\x2D\110 KATMAI,SSE,MMX,SQ +COMISS xmmreg,xmmrm32 \360\2\x0F\x2F\110 KATMAI,SSE +CVTPI2PS xmmreg,mmxrm64 \360\2\x0F\x2A\110 KATMAI,SSE,MMX +CVTPS2PI mmxreg,xmmrm64 \360\2\x0F\x2D\110 KATMAI,SSE,MMX CVTSI2SS xmmreg,mem \363\2\x0F\x2A\110 KATMAI,SSE,SD,AR1,ND CVTSI2SS xmmreg,rm32 \363\2\x0F\x2A\110 KATMAI,SSE,SD,AR1 CVTSI2SS xmmreg,rm64 \324\363\2\x0F\x2A\110 X64,SSE,SQ,AR1 @@ -1462,52 +1462,46 @@ CVTSS2SI reg64,mem \324\363\2\x0F\x2D\110 X64,SSE,SD,AR1 CVTTPS2PI mmxreg,xmmrm \360\2\x0F\x2C\110 KATMAI,SSE,MMX,SQ CVTTSS2SI reg32,xmmrm \363\2\x0F\x2C\110 KATMAI,SSE,SD,AR1 CVTTSS2SI reg64,xmmrm \324\363\2\x0F\x2C\110 X64,SSE,SD,AR1 -DIVPS xmmreg,xmmrm \360\2\x0F\x5E\110 KATMAI,SSE -DIVSS xmmreg,xmmrm \363\2\x0F\x5E\110 KATMAI,SSE -LDMXCSR mem \2\x0F\xAE\202 KATMAI,SSE,SD -MAXPS xmmreg,xmmrm \360\2\x0F\x5F\110 KATMAI,SSE -MAXSS xmmreg,xmmrm \363\2\x0F\x5F\110 KATMAI,SSE -MINPS xmmreg,xmmrm \360\2\x0F\x5D\110 KATMAI,SSE -MINSS xmmreg,xmmrm \363\2\x0F\x5D\110 KATMAI,SSE -MOVAPS xmmreg,mem \360\2\x0F\x28\110 KATMAI,SSE -MOVAPS mem,xmmreg \360\2\x0F\x29\101 KATMAI,SSE -MOVAPS xmmreg,xmmreg \360\2\x0F\x28\110 KATMAI,SSE -MOVAPS xmmreg,xmmreg \360\2\x0F\x29\101 KATMAI,SSE -MOVHPS xmmreg,mem \360\2\x0F\x16\110 KATMAI,SSE -MOVHPS mem,xmmreg \360\2\x0F\x17\101 KATMAI,SSE +DIVPS xmmreg,xmmrm128 \360\2\x0F\x5E\110 KATMAI,SSE +DIVSS xmmreg,xmmrm32 \363\2\x0F\x5E\110 KATMAI,SSE +LDMXCSR mem32 \2\x0F\xAE\202 KATMAI,SSE +MAXPS xmmreg,xmmrm128 \360\2\x0F\x5F\110 KATMAI,SSE +MAXSS xmmreg,xmmrm32 \363\2\x0F\x5F\110 KATMAI,SSE +MINPS xmmreg,xmmrm128 \360\2\x0F\x5D\110 KATMAI,SSE +MINSS xmmreg,xmmrm32 \363\2\x0F\x5D\110 KATMAI,SSE +MOVAPS xmmreg,xmmrm128 \360\2\x0F\x28\110 KATMAI,SSE +MOVAPS mem128,xmmreg \360\2\x0F\x29\101 KATMAI,SSE +MOVHPS xmmreg,mem64 \360\2\x0F\x16\110 KATMAI,SSE +MOVHPS mem64,xmmreg \360\2\x0F\x17\101 KATMAI,SSE MOVLHPS xmmreg,xmmreg \360\2\x0F\x16\110 KATMAI,SSE -MOVLPS xmmreg,mem \360\2\x0F\x12\110 KATMAI,SSE -MOVLPS mem,xmmreg \360\2\x0F\x13\101 KATMAI,SSE +MOVLPS xmmreg,mem64 \360\2\x0F\x12\110 KATMAI,SSE +MOVLPS mem64,xmmreg \360\2\x0F\x13\101 KATMAI,SSE MOVHLPS xmmreg,xmmreg \360\2\x0F\x12\110 KATMAI,SSE MOVMSKPS reg32,xmmreg \360\2\x0F\x50\110 KATMAI,SSE MOVMSKPS reg64,xmmreg \360\324\2\x0F\x50\110 X64,SSE -MOVNTPS mem,xmmreg \360\2\x0F\x2B\101 KATMAI,SSE -MOVSS xmmreg,mem \363\2\x0F\x10\110 KATMAI,SSE -MOVSS mem,xmmreg \363\2\x0F\x11\101 KATMAI,SSE +MOVNTPS mem128,xmmreg \360\2\x0F\x2B\101 KATMAI,SSE +MOVSS xmmreg,xmmrm32 \363\2\x0F\x10\110 KATMAI,SSE +MOVSS mem32,xmmreg \363\2\x0F\x11\101 KATMAI,SSE MOVSS xmmreg,xmmreg \363\2\x0F\x10\110 KATMAI,SSE -MOVSS xmmreg,xmmreg \363\2\x0F\x11\101 KATMAI,SSE -MOVUPS xmmreg,mem \360\2\x0F\x10\110 KATMAI,SSE -MOVUPS mem,xmmreg \360\2\x0F\x11\101 KATMAI,SSE -MOVUPS xmmreg,xmmreg \360\2\x0F\x10\110 KATMAI,SSE -MOVUPS xmmreg,xmmreg \360\2\x0F\x11\101 KATMAI,SSE -MULPS xmmreg,xmmrm \360\2\x0F\x59\110 KATMAI,SSE -MULSS xmmreg,xmmrm \363\2\x0F\x59\110 KATMAI,SSE -ORPS xmmreg,xmmrm \360\2\x0F\x56\110 KATMAI,SSE -RCPPS xmmreg,xmmrm \360\2\x0F\x53\110 KATMAI,SSE -RCPSS xmmreg,xmmrm \363\2\x0F\x53\110 KATMAI,SSE -RSQRTPS xmmreg,xmmrm \360\2\x0F\x52\110 KATMAI,SSE -RSQRTSS xmmreg,xmmrm \363\2\x0F\x52\110 KATMAI,SSE -SHUFPS xmmreg,mem,imm \360\2\x0F\xC6\110\26 KATMAI,SSE,SB,AR2 -SHUFPS xmmreg,xmmreg,imm \360\2\x0F\xC6\110\26 KATMAI,SSE,SB,AR2 -SQRTPS xmmreg,xmmrm \360\2\x0F\x51\110 KATMAI,SSE -SQRTSS xmmreg,xmmrm \363\2\x0F\x51\110 KATMAI,SSE -STMXCSR mem \2\x0F\xAE\203 KATMAI,SSE,SD -SUBPS xmmreg,xmmrm \360\2\x0F\x5C\110 KATMAI,SSE -SUBSS xmmreg,xmmrm \363\2\x0F\x5C\110 KATMAI,SSE -UCOMISS xmmreg,xmmrm \360\2\x0F\x2E\110 KATMAI,SSE -UNPCKHPS xmmreg,xmmrm \360\2\x0F\x15\110 KATMAI,SSE -UNPCKLPS xmmreg,xmmrm \360\2\x0F\x14\110 KATMAI,SSE -XORPS xmmreg,xmmrm \360\2\x0F\x57\110 KATMAI,SSE +MOVUPS xmmreg,xmmrm128 \360\2\x0F\x10\110 KATMAI,SSE +MOVUPS mem128,xmmreg \360\2\x0F\x11\101 KATMAI,SSE +MULPS xmmreg,xmmrm128 \360\2\x0F\x59\110 KATMAI,SSE +MULSS xmmreg,xmmrm32 \363\2\x0F\x59\110 KATMAI,SSE +ORPS xmmreg,xmmrm128 \360\2\x0F\x56\110 KATMAI,SSE +RCPPS xmmreg,xmmrm128 \360\2\x0F\x53\110 KATMAI,SSE +RCPSS xmmreg,xmmrm32 \363\2\x0F\x53\110 KATMAI,SSE +RSQRTPS xmmreg,xmmrm128 \360\2\x0F\x52\110 KATMAI,SSE +RSQRTSS xmmreg,xmmrm32 \363\2\x0F\x52\110 KATMAI,SSE +SHUFPS xmmreg,xmmrm128,imm8 \360\2\x0F\xC6\110\26 KATMAI,SSE +SQRTPS xmmreg,xmmrm128 \360\2\x0F\x51\110 KATMAI,SSE +SQRTSS xmmreg,xmmrm32 \363\2\x0F\x51\110 KATMAI,SSE +STMXCSR mem32 \2\x0F\xAE\203 KATMAI,SSE +SUBPS xmmreg,xmmrm128 \360\2\x0F\x5C\110 KATMAI,SSE +SUBSS xmmreg,xmmrm32 \363\2\x0F\x5C\110 KATMAI,SSE +UCOMISS xmmreg,xmmrm32 \360\2\x0F\x2E\110 KATMAI,SSE +UNPCKHPS xmmreg,xmmrm128 \360\2\x0F\x15\110 KATMAI,SSE +UNPCKLPS xmmreg,xmmrm128 \360\2\x0F\x14\110 KATMAI,SSE +XORPS xmmreg,xmmrm128 \360\2\x0F\x57\110 KATMAI,SSE ;# Introduced in Deschutes but necessary for SSE support FXRSTOR mem [m: 0f ae /1] P6,SSE,FPU @@ -1701,8 +1695,8 @@ CMPUNORDPD xmmreg,xmmrm \361\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SO CMPUNORDSD xmmreg,xmmrm \362\2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2 ; CMPPD/CMPSD must come after the specific ops; that way the disassembler will find the ; specific ops first and only disassemble illegal ones as cmppd/cmpsd. -CMPPD xmmreg,xmmrm,imm \361\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2 -CMPSD xmmreg,xmmrm,imm \362\2\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2 +CMPPD xmmreg,xmmrm128,imm8 \361\2\x0F\xC2\110\26 WILLAMETTE,SSE2 +CMPSD xmmreg,xmmrm128,imm8 \362\2\x0F\xC2\110\26 WILLAMETTE,SSE2 COMISD xmmreg,xmmrm \361\2\x0F\x2F\110 WILLAMETTE,SSE2 CVTDQ2PD xmmreg,xmmrm \363\2\x0F\xE6\110 WILLAMETTE,SSE2,SQ CVTDQ2PS xmmreg,xmmrm \360\2\x0F\x5B\110 WILLAMETTE,SSE2,SO @@ -1762,9 +1756,9 @@ SQRTSD xmmreg,xmmrm \362\2\x0F\x51\110 WILLAMETTE,SSE2 SUBPD xmmreg,xmmrm \361\2\x0F\x5C\110 WILLAMETTE,SSE2,SO SUBSD xmmreg,xmmrm \362\2\x0F\x5C\110 WILLAMETTE,SSE2 UCOMISD xmmreg,xmmrm \361\2\x0F\x2E\110 WILLAMETTE,SSE2 -UNPCKHPD xmmreg,xmmrm \361\2\x0F\x15\110 WILLAMETTE,SSE2,SO -UNPCKLPD xmmreg,xmmrm \361\2\x0F\x14\110 WILLAMETTE,SSE2,SO -XORPD xmmreg,xmmrm \361\2\x0F\x57\110 WILLAMETTE,SSE2,SO +UNPCKHPD xmmreg,xmmrm128 \361\2\x0F\x15\110 WILLAMETTE,SSE2 +UNPCKLPD xmmreg,xmmrm128 \361\2\x0F\x14\110 WILLAMETTE,SSE2 +XORPD xmmreg,xmmrm128 \361\2\x0F\x57\110 WILLAMETTE,SSE2 ;# Prescott New Instructions (SSE3) ADDSUBPD xmmreg,xmmrm \361\2\x0F\xD0\110 PRESCOTT,SSE3,SO -- 2.11.4.GIT