|
@@ -266,6 +266,8 @@ void \332\1\xA6 8086
|
|
|
[CMPSD,cmpsl]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
void \332\321\1\xA7 386
|
|
|
+xmmreg,xmmreg,imm \331\3\xF2\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\331\3\xF2\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
|
|
|
[CMPSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1214,6 +1216,10 @@ mmxreg,mem \301\2\x0F\x6E\110 PENT,MMX,SD
|
|
|
mmxreg,reg32 \2\x0F\x6E\110 PENT,MMX
|
|
|
mem,mmxreg \300\2\x0F\x7E\101 PENT,MMX,SD
|
|
|
reg32,mmxreg \2\x0F\x7E\101 PENT,MMX
|
|
|
+xmmreg,reg32 \3\x66\x0F\x6E\110 WILLAMETTE,SSE2
|
|
|
+reg32,xmmreg \3\x66\x0F\x7E\101 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\x7E\101 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6E\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[MOVQ,movq]
|
|
|
(Ch_Rop1, Ch_Wop2, Ch_None)
|
|
@@ -1221,6 +1227,11 @@ mmxreg,mem \301\2\x0F\x6F\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x6F\110 PENT,MMX
|
|
|
mem,mmxreg \300\2\x0F\x7F\101 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x7F\101 PENT,MMX
|
|
|
+xmmreg,xmmreg \333\2\x0F\x7E\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD6\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\xD6\101 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\333\2\x0F\x7E\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
|
|
|
[MOVSB]
|
|
|
(Ch_All, Ch_Rop1, Ch_None)
|
|
@@ -1229,6 +1240,10 @@ void \1\xA4 8086
|
|
|
[MOVSD,movsl]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
void \321\1\xA5 386
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x10\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x11\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\xF2\x0F\x11\101 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x10\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[MOVSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1321,31 +1336,43 @@ void \320\1\x6F 186
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x6B\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x6B\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x6B\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6B\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PACKSSWB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x63\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x63\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x63\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x63\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PACKUSWB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x67\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x67\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x67\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x67\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PADDB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xFC\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xFC\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xFC\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xFC\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PADDD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xFE\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xFE\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xFE\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xFE\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PADDSB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xEC\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xEC\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xEC\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xEC\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PADDSIW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1356,31 +1383,43 @@ mmxreg,mmxreg \2\x0F\x51\110 PENT,MMX,CYRIX
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xED\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xED\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xED\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xED\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PADDUSB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xDC\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xDC\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDC\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDC\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PADDUSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xDD\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xDD\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDD\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDD\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PADDW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xFD\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xFD\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xFD\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xFD\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PAND]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xDB\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xDB\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDB\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDB\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PANDN]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xDF\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xDF\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDF\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDF\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PAVEB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1396,31 +1435,43 @@ mmxreg,mmxreg \2\x0F\x0F\110\01\xBF PENT,3DNOW
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x74\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x74\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x74\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x74\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PCMPEQD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x76\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x76\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x76\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x76\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PCMPEQW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x75\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x75\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x75\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x75\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PCMPGTB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x64\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x64\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x64\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x64\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PCMPGTD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x66\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x66\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x66\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x66\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PCMPGTW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x65\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x65\110 PENT,MMX
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x65\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x65\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PDISTIB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1519,6 +1570,8 @@ mmxreg,mem \301\2\x0F\x5E\110 PENT,MMX,SM,CYRIX
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xF5\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF5\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF5\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF5\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PMAGW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1544,11 +1597,15 @@ mmxreg,mmxreg \2\x0F\x59\110 PENT,MMX,CYRIX
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xE5\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xE5\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE5\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE5\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PMULLW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD5\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD5\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD5\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD5\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PMVGEZB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1604,6 +1661,8 @@ void \320\1\x9D 186
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xEB\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xEB\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xEB\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xEB\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PREFETCH,prefetchX]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1618,63 +1677,97 @@ mem \2\x0F\x0D\201 PENT,3DNOW,SM
|
|
|
mmxreg,mem \301\2\x0F\xF2\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF2\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x72\206\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF2\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF2\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x72\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
+
|
|
|
+[PSLLDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,imm \3\x66\x0F\x73\207\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSLLQ]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xF3\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF3\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x73\206\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF3\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF3\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x73\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSLLW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xF1\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF1\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x71\206\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF1\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF1\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x71\206\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSRAD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xE2\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xE2\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x72\204\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE2\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE2\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x72\204\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSRAW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xE1\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xE1\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x71\204\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE1\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE1\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x71\204\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSRLD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD2\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD2\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x72\202\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD2\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD2\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x72\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSRLQ]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD3\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD3\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x73\202\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD3\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD3\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x73\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSRLW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD1\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD1\110 PENT,MMX
|
|
|
mmxreg,imm \2\x0F\x71\202\25 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD1\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD1\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,imm \3\x66\x0F\x71\202\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
|
|
|
[PSUBB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xF8\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF8\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF8\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF8\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xFA\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xFA\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xFA\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xFA\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBSB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xE8\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xE8\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE8\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE8\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBSIW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -1685,51 +1778,71 @@ mmxreg,mmxreg \2\x0F\x55\110 PENT,MMX,CYRIX
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xE9\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xE9\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE9\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE9\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBUSB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD8\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD8\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD8\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD8\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBUSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xD9\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xD9\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD9\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD9\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PSUBW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xF9\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xF9\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF9\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF9\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKHBW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x68\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x68\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x68\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x68\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKHDQ]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x6A\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x6A\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6A\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x6A\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKHWD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x69\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x69\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x69\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x69\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKLBW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x60\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x60\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x60\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x60\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKLDQ]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x62\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x62\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x62\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x62\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUNPCKLWD]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\x61\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\x61\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\x61\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x61\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PUSH,pushX]
|
|
|
(Ch_Rop1, Ch_RWESP, Ch_None)
|
|
@@ -1771,6 +1884,8 @@ void \320\1\x9C 186
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mem \301\2\x0F\xEF\110 PENT,MMX,SM
|
|
|
mmxreg,mmxreg \2\x0F\xEF\110 PENT,MMX
|
|
|
+xmmreg,mem \301\3\x66\x0F\xEF\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xEF\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[RCL,rclX]
|
|
|
(Ch_Mop2, Ch_Rop1, Ch_RWFlags)
|
|
@@ -2674,15 +2789,20 @@ mem,mmxreg \2\x0F\xE7\101 KATMAI,MMX,SM
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xE0\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xE0\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE0\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE0\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PAVGW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xE3\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xE3\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE3\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE3\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PEXTRW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
reg32,mmxreg,imm \2\x0F\xC5\110\22 KATMAI,MMX,SB,AR2
|
|
|
+reg32,xmmreg,imm \3\x66\x0F\xC5\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
|
|
|
[PINSRW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -2692,40 +2812,57 @@ mmxreg,reg16,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
|
|
|
mmxreg,reg32,imm \2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
|
|
|
mmxreg,mem,imm \301\2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2
|
|
|
mmxreg,mem16,imm \301\2\x0F\xC4\110\22 KATMAI,MMX,SB,AR2,ND
|
|
|
+xmmreg,reg16,imm \3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,reg32,imm \3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
|
|
|
+xmmreg,mem,imm \301\3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem16,imm \301\3\x66\x0F\xC4\110\26 WILLAMETTE,SSE2,SB,AR2,ND
|
|
|
|
|
|
[PMAXSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xEE\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xEE\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xEE\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xEE\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PMAXUB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xDE\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xDE\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDE\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDE\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PMINSW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xEA\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xEA\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xEA\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xEA\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PMINUB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xDA\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xDA\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xDA\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xDA\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PMOVMSKB]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
reg32,mmxreg \2\x0F\xD7\110 KATMAI,MMX
|
|
|
+reg32,xmmreg \3\x66\x0F\xD7\110 WILLAMETTE,SSE2
|
|
|
|
|
|
[PMULHUW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xE4\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xE4\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE4\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE4\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PSADBW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
mmxreg,mmxreg \2\x0F\xF6\110 KATMAI,MMX
|
|
|
mmxreg,mem \301\2\x0F\xF6\110 KATMAI,MMX,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF6\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF6\110 WILLAMETTE,SSE2,SM
|
|
|
|
|
|
[PSHUFW]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
@@ -2733,7 +2870,7 @@ mmxreg,mmxreg,imm \2\x0F\x70\110\22 KATMAI,MMX,SB,AR2
|
|
|
mmxreg,mem,imm \301\2\x0F\x70\110\22 KATMAI,MMX,SM2,SB,AR2
|
|
|
|
|
|
;
|
|
|
-; New K7 Instructions
|
|
|
+; New Athlon Instructions
|
|
|
;
|
|
|
|
|
|
[PFNACC]
|
|
@@ -2764,3 +2901,419 @@ mmxreg,mmxreg \2\x0F\x0F\110\01\xBB PENT,3DNOW,SM
|
|
|
[FFREEP]
|
|
|
(Ch_All, Ch_None, Ch_None)
|
|
|
fpureg \1\xDF\10\xC0 PENT,3DNOW,FPU
|
|
|
+
|
|
|
+; Willamette SSE2 Cacheability Instructions
|
|
|
+[MASKMOVDQU]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF7\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+; CLFLUSH needs its own feature flag implemented one day
|
|
|
+[CLFLUSH]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem \300\2\x0F\xAE\207 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVNTDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem,xmmreg \300\3\x66\x0F\xE7\101 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MOVNTI]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem,reg32 \300\2\x0F\xC3\101 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MOVNTPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem,xmmreg \300\3\x66\x0F\x2B\101 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[PAUSE]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+void \333\1\x90 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[LFENCE]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+void \3\x0F\xAE\xE8 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MFENCE]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+void \3\x0F\xAE\xF0 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+;
|
|
|
+; Willamette MMX instructions (SSE2 SIMD Integer Instructions)
|
|
|
+;
|
|
|
+[MOVDQA]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x6F\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\x7F\101 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6F\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x7F\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVDQU]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \333\2\x0F\x6F\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \333\300\2\x0F\x7F\101 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,mem \301\333\2\x0F\x6F\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \333\2\x0F\x7F\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVDQ2Q]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,xmmreg \3\xF2\x0F\xD6\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVQ2DQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mmxreg \333\2\x0F\xD6\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[PADDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,mmxreg \2\x0F\xD4\110 WILLAMETTE,SSE2
|
|
|
+mmxreg,mem \301\2\x0F\xD4\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xD4\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xD4\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[PMULUDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,mmxreg \2\x0F\xF4\110 WILLAMETTE,SSE2
|
|
|
+mmxreg,mem \301\2\x0F\xF4\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xF4\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xF4\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[PSHUFD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg,imm \3\x66\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\3\x66\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
+
|
|
|
+[PSHUFHW]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg,imm \333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\333\2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
+
|
|
|
+[PSHUFLW]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg,imm \3\xF2\x0F\x70\110\22 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\3\xF2\x0F\x70\110\22 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
+
|
|
|
+[PSRLDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,imm \3\x66\x0F\x73\203\25 WILLAMETTE,SSE2,SB,AR1
|
|
|
+
|
|
|
+[PSUBQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,mmxreg \2\x0F\xFB\110 WILLAMETTE,SSE2
|
|
|
+mmxreg,mem \301\2\x0F\xFB\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xFB\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xFB\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[PUNPCKHQDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x6D\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6D\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[PUNPCKLQDQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x6C\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x6C\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+;
|
|
|
+; Willamette Streaming SIMD instructions (SSE2)
|
|
|
+;
|
|
|
+[ADDPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\x58\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\x58\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\x58\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\x58\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[ANDNPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\x55\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\x55\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[ANDPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\x54\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\x54\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CMPEQPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x00 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPEQSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x00 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPLEPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x02 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPLESD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x02 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPLTPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x01 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPLTSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x01 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPNEQPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x04 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x04 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPNLEPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x06 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPNLESD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x06 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPNLTPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x05 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPNLTSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x05 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPORDPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x07 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPORDSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\x0F\xC2\110\1\x07 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPUNORDPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\xC2\110\1\x03 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CMPUNORDSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\331\3\xF2\x0F\xC2\110\1\x03 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \331\3\xF2\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]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg,imm \331\3\x66\x0F\xC2\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\331\3\x66\x0F\xC2\110\26 WILLAMETTE,SSE2,SM2,SB,AR2
|
|
|
+
|
|
|
+[COMISD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \331\3\x66\x0F\x2F\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\331\3\x66\x0F\x2F\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTDQ2PD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \333\2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\333\2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTDQ2PS]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \2\x0F\x5B\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTPD2DQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\xE6\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\xE6\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTPD2PI]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,xmmreg \3\x66\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
+mmxreg,mem \301\3\x66\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTPD2PS]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5A\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTPI2PD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mmxreg \3\x66\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTPS2DQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5B\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTPS2PD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTSD2SI]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+reg32,xmmreg \3\xF2\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
+reg32,mem \301\3\xF2\x0F\x2D\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTSD2SS]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTSI2SD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,reg32 \3\xF2\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x2A\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTSS2SD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \333\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\333\2\x0F\x5A\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTTPD2PI]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mmxreg,xmmreg \3\x66\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
+mmxreg,mem \301\3\x66\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[CVTTPD2DQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\xE6\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\xE6\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTTPS2DQ]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \333\2\x0F\x5B\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\333\2\x0F\x5B\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[CVTTSD2SI]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+reg32,xmmreg \3\xF2\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
+reg32,mem \301\3\xF2\x0F\x2C\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[DIVPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5E\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5E\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[DIVSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x5E\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x5E\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MAXPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5F\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5F\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MAXSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x5F\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x5F\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MINPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5D\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5D\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MINSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x5D\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x5D\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVAPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x28\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x29\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\x29\101 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,mem \301\3\x66\x0F\x28\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MOVHPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem,xmmreg \300\3\x66\x0F\x17\101 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x16\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVLPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+mem,xmmreg \300\3\x66\x0F\x13\101 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x12\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVMSKPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+reg32,xmmreg \3\x66\x0F\x50\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[MOVUPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x10\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x11\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\x11\101 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,mem \301\3\x66\x0F\x10\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MULPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x59\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x59\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[MULSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x59\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x59\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[ORPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,mem \301\3\x66\x0F\x56\110 WILLAMETTE,SSE2,SM
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x56\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[SHUFPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg,imm \3\x66\x0F\xC6\110\26 WILLAMETTE,SSE2,SB,AR2
|
|
|
+xmmreg,mem,imm \301\3\x66\x0F\xC6\110\26 WILLAMETTE,SSE2,SM,SB,AR2
|
|
|
+
|
|
|
+[SQRTPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x51\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x51\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[SQRTSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x51\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x51\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[SUBPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x5C\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x5C\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[SUBSD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\xF2\x0F\x5C\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\xF2\x0F\x5C\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[UCOMISD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x2E\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x2E\110 WILLAMETTE,SSE2
|
|
|
+
|
|
|
+[UNPCKHPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x15\110 WILLAMETTE,SSE2
|
|
|
+mem,xmmreg \300\3\x66\x0F\x15\101 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[UNPCKLPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x14\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x14\110 WILLAMETTE,SSE2,SM
|
|
|
+
|
|
|
+[XORPD]
|
|
|
+(Ch_All, Ch_None, Ch_None)
|
|
|
+xmmreg,xmmreg \3\x66\x0F\x57\110 WILLAMETTE,SSE2
|
|
|
+xmmreg,mem \301\3\x66\x0F\x57\110 WILLAMETTE,SSE2,SM
|