insns.dat: machine-generated compaction mmx/xmmreg,mem -> mmx/xmmrm
authorH. Peter Anvin <hpa@zytor.com>
Mon, 24 Sep 2007 22:42:53 +0000 (15:42 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 24 Sep 2007 22:42:53 +0000 (15:42 -0700)
Reduce the total instruction count by compacting mmxreg:mem pairs to
mmxrm and d:o for xmmreg:mem -> xmmrm.

insns.dat

index eb5cead..7b66169 100644 (file)
--- a/insns.dat
+++ b/insns.dat
@@ -742,10 +742,8 @@ MOVD               xmmreg,mem              \320\2\x0F\x6E\110              X64,SD
 MOVD           xmmreg,reg32            \320\2\x0F\x6E\110              X64
 MOVD           mem,xmmreg              \320\2\x0F\x7E\101              X64,SD
 MOVD           reg32,xmmreg            \320\2\x0F\x7E\101              X64,SSE
-MOVQ           mmxreg,mem              \2\x0F\x6F\110                  PENT,MMX,SQ
-MOVQ           mmxreg,mmxreg           \2\x0F\x6F\110                  PENT,MMX
-MOVQ           mem,mmxreg              \2\x0F\x7F\101                  PENT,MMX,SQ
-MOVQ           mmxreg,mmxreg           \2\x0F\x7F\101                  PENT,MMX
+MOVQ           mmxreg,mmxrm            \2\x0F\x6F\110                  PENT,MMX,SQ
+MOVQ           mmxrm,mmxreg            \2\x0F\x7F\101                  PENT,MMX,SQ
 MOVQ           mmxreg,rm64             \2\x0F\x6E\110                  X64,MMX
 MOVQ           rm64,mmxreg             \2\x0F\x7E\101                  X64,MMX
 MOVSB          void                    \1\xA4                          8086
@@ -825,99 +823,54 @@ OUT               reg_dx,reg_eax          \321\1\xEF                      386
 OUTSB          void                    \1\x6E                          186
 OUTSD          void                    \321\1\x6F                      386
 OUTSW          void                    \320\1\x6F                      186
-PACKSSDW       mmxreg,mem              \2\x0F\x6B\110                  PENT,MMX,SM
-PACKSSDW       mmxreg,mmxreg           \2\x0F\x6B\110                  PENT,MMX
-PACKSSWB       mmxreg,mem              \2\x0F\x63\110                  PENT,MMX,SM
-PACKSSWB       mmxreg,mmxreg           \2\x0F\x63\110                  PENT,MMX
-PACKUSWB       mmxreg,mem              \2\x0F\x67\110                  PENT,MMX,SM
-PACKUSWB       mmxreg,mmxreg           \2\x0F\x67\110                  PENT,MMX
-PADDB          mmxreg,mem              \2\x0F\xFC\110                  PENT,MMX,SM
-PADDB          mmxreg,mmxreg           \2\x0F\xFC\110                  PENT,MMX
-PADDD          mmxreg,mem              \2\x0F\xFE\110                  PENT,MMX,SM
-PADDD          mmxreg,mmxreg           \2\x0F\xFE\110                  PENT,MMX
-PADDSB         mmxreg,mem              \2\x0F\xEC\110                  PENT,MMX,SM
-PADDSB         mmxreg,mmxreg           \2\x0F\xEC\110                  PENT,MMX
-PADDSIW                mmxreg,mem              \2\x0F\x51\110                  PENT,MMX,SM,CYRIX
-PADDSIW                mmxreg,mmxreg           \2\x0F\x51\110                  PENT,MMX,CYRIX
-PADDSW         mmxreg,mem              \2\x0F\xED\110                  PENT,MMX,SM
-PADDSW         mmxreg,mmxreg           \2\x0F\xED\110                  PENT,MMX
-PADDUSB                mmxreg,mem              \2\x0F\xDC\110                  PENT,MMX,SM
-PADDUSB                mmxreg,mmxreg           \2\x0F\xDC\110                  PENT,MMX
-PADDUSW                mmxreg,mem              \2\x0F\xDD\110                  PENT,MMX,SM
-PADDUSW                mmxreg,mmxreg           \2\x0F\xDD\110                  PENT,MMX
-PADDW          mmxreg,mem              \2\x0F\xFD\110                  PENT,MMX,SM
-PADDW          mmxreg,mmxreg           \2\x0F\xFD\110                  PENT,MMX
-PAND           mmxreg,mem              \2\x0F\xDB\110                  PENT,MMX,SM
-PAND           mmxreg,mmxreg           \2\x0F\xDB\110                  PENT,MMX
-PANDN          mmxreg,mem              \2\x0F\xDF\110                  PENT,MMX,SM
-PANDN          mmxreg,mmxreg           \2\x0F\xDF\110                  PENT,MMX
+PACKSSDW       mmxreg,mmxrm            \2\x0F\x6B\110                  PENT,MMX,SM
+PACKSSWB       mmxreg,mmxrm            \2\x0F\x63\110                  PENT,MMX,SM
+PACKUSWB       mmxreg,mmxrm            \2\x0F\x67\110                  PENT,MMX,SM
+PADDB          mmxreg,mmxrm            \2\x0F\xFC\110                  PENT,MMX,SM
+PADDD          mmxreg,mmxrm            \2\x0F\xFE\110                  PENT,MMX,SM
+PADDSB         mmxreg,mmxrm            \2\x0F\xEC\110                  PENT,MMX,SM
+PADDSIW                mmxreg,mmxrm            \2\x0F\x51\110                  PENT,MMX,SM,CYRIX
+PADDSW         mmxreg,mmxrm            \2\x0F\xED\110                  PENT,MMX,SM
+PADDUSB                mmxreg,mmxrm            \2\x0F\xDC\110                  PENT,MMX,SM
+PADDUSW                mmxreg,mmxrm            \2\x0F\xDD\110                  PENT,MMX,SM
+PADDW          mmxreg,mmxrm            \2\x0F\xFD\110                  PENT,MMX,SM
+PAND           mmxreg,mmxrm            \2\x0F\xDB\110                  PENT,MMX,SM
+PANDN          mmxreg,mmxrm            \2\x0F\xDF\110                  PENT,MMX,SM
 PAUSE          void                    \333\1\x90                      8086
-PAVEB          mmxreg,mem              \2\x0F\x50\110                  PENT,MMX,SM,CYRIX
-PAVEB          mmxreg,mmxreg           \2\x0F\x50\110                  PENT,MMX,CYRIX
-PAVGUSB                mmxreg,mem              \2\x0F\x0F\110\01\xBF           PENT,3DNOW,SM
-PAVGUSB                mmxreg,mmxreg           \2\x0F\x0F\110\01\xBF           PENT,3DNOW
-PCMPEQB                mmxreg,mem              \2\x0F\x74\110                  PENT,MMX,SM
-PCMPEQB                mmxreg,mmxreg           \2\x0F\x74\110                  PENT,MMX
-PCMPEQD                mmxreg,mem              \2\x0F\x76\110                  PENT,MMX,SM
-PCMPEQD                mmxreg,mmxreg           \2\x0F\x76\110                  PENT,MMX
-PCMPEQW                mmxreg,mem              \2\x0F\x75\110                  PENT,MMX,SM
-PCMPEQW                mmxreg,mmxreg           \2\x0F\x75\110                  PENT,MMX
-PCMPGTB                mmxreg,mem              \2\x0F\x64\110                  PENT,MMX,SM
-PCMPGTB                mmxreg,mmxreg           \2\x0F\x64\110                  PENT,MMX
-PCMPGTD                mmxreg,mem              \2\x0F\x66\110                  PENT,MMX,SM
-PCMPGTD                mmxreg,mmxreg           \2\x0F\x66\110                  PENT,MMX
-PCMPGTW                mmxreg,mem              \2\x0F\x65\110                  PENT,MMX,SM
-PCMPGTW                mmxreg,mmxreg           \2\x0F\x65\110                  PENT,MMX
+PAVEB          mmxreg,mmxrm            \2\x0F\x50\110                  PENT,MMX,SM,CYRIX
+PAVGUSB                mmxreg,mmxrm            \2\x0F\x0F\110\01\xBF           PENT,3DNOW,SM
+PCMPEQB                mmxreg,mmxrm            \2\x0F\x74\110                  PENT,MMX,SM
+PCMPEQD                mmxreg,mmxrm            \2\x0F\x76\110                  PENT,MMX,SM
+PCMPEQW                mmxreg,mmxrm            \2\x0F\x75\110                  PENT,MMX,SM
+PCMPGTB                mmxreg,mmxrm            \2\x0F\x64\110                  PENT,MMX,SM
+PCMPGTD                mmxreg,mmxrm            \2\x0F\x66\110                  PENT,MMX,SM
+PCMPGTW                mmxreg,mmxrm            \2\x0F\x65\110                  PENT,MMX,SM
 PDISTIB                mmxreg,mem              \2\x0F\x54\110                  PENT,MMX,SM,CYRIX
-PF2ID          mmxreg,mem              \2\x0F\x0F\110\01\x1D           PENT,3DNOW,SM
-PF2ID          mmxreg,mmxreg           \2\x0F\x0F\110\01\x1D           PENT,3DNOW
-PFACC          mmxreg,mem              \2\x0F\x0F\110\01\xAE           PENT,3DNOW,SM
-PFACC          mmxreg,mmxreg           \2\x0F\x0F\110\01\xAE           PENT,3DNOW
-PFADD          mmxreg,mem              \2\x0F\x0F\110\01\x9E           PENT,3DNOW,SM
-PFADD          mmxreg,mmxreg           \2\x0F\x0F\110\01\x9E           PENT,3DNOW
-PFCMPEQ                mmxreg,mem              \2\x0F\x0F\110\01\xB0           PENT,3DNOW,SM
-PFCMPEQ                mmxreg,mmxreg           \2\x0F\x0F\110\01\xB0           PENT,3DNOW
-PFCMPGE                mmxreg,mem              \2\x0F\x0F\110\01\x90           PENT,3DNOW,SM
-PFCMPGE                mmxreg,mmxreg           \2\x0F\x0F\110\01\x90           PENT,3DNOW
-PFCMPGT                mmxreg,mem              \2\x0F\x0F\110\01\xA0           PENT,3DNOW,SM
-PFCMPGT                mmxreg,mmxreg           \2\x0F\x0F\110\01\xA0           PENT,3DNOW
-PFMAX          mmxreg,mem              \2\x0F\x0F\110\01\xA4           PENT,3DNOW,SM
-PFMAX          mmxreg,mmxreg           \2\x0F\x0F\110\01\xA4           PENT,3DNOW
-PFMIN          mmxreg,mem              \2\x0F\x0F\110\01\x94           PENT,3DNOW,SM
-PFMIN          mmxreg,mmxreg           \2\x0F\x0F\110\01\x94           PENT,3DNOW
-PFMUL          mmxreg,mem              \2\x0F\x0F\110\01\xB4           PENT,3DNOW,SM
-PFMUL          mmxreg,mmxreg           \2\x0F\x0F\110\01\xB4           PENT,3DNOW
-PFRCP          mmxreg,mem              \2\x0F\x0F\110\01\x96           PENT,3DNOW,SM
-PFRCP          mmxreg,mmxreg           \2\x0F\x0F\110\01\x96           PENT,3DNOW
-PFRCPIT1       mmxreg,mem              \2\x0F\x0F\110\01\xA6           PENT,3DNOW,SM
-PFRCPIT1       mmxreg,mmxreg           \2\x0F\x0F\110\01\xA6           PENT,3DNOW
-PFRCPIT2       mmxreg,mem              \2\x0F\x0F\110\01\xB6           PENT,3DNOW,SM
-PFRCPIT2       mmxreg,mmxreg           \2\x0F\x0F\110\01\xB6           PENT,3DNOW
-PFRSQIT1       mmxreg,mem              \2\x0F\x0F\110\01\xA7           PENT,3DNOW,SM
-PFRSQIT1       mmxreg,mmxreg           \2\x0F\x0F\110\01\xA7           PENT,3DNOW
-PFRSQRT                mmxreg,mem              \2\x0F\x0F\110\01\x97           PENT,3DNOW,SM
-PFRSQRT                mmxreg,mmxreg           \2\x0F\x0F\110\01\x97           PENT,3DNOW
-PFSUB          mmxreg,mem              \2\x0F\x0F\110\01\x9A           PENT,3DNOW,SM
-PFSUB          mmxreg,mmxreg           \2\x0F\x0F\110\01\x9A           PENT,3DNOW
-PFSUBR         mmxreg,mem              \2\x0F\x0F\110\01\xAA           PENT,3DNOW,SM
-PFSUBR         mmxreg,mmxreg           \2\x0F\x0F\110\01\xAA           PENT,3DNOW
-PI2FD          mmxreg,mem              \2\x0F\x0F\110\01\x0D           PENT,3DNOW,SM
-PI2FD          mmxreg,mmxreg           \2\x0F\x0F\110\01\x0D           PENT,3DNOW
+PF2ID          mmxreg,mmxrm            \2\x0F\x0F\110\01\x1D           PENT,3DNOW,SM
+PFACC          mmxreg,mmxrm            \2\x0F\x0F\110\01\xAE           PENT,3DNOW,SM
+PFADD          mmxreg,mmxrm            \2\x0F\x0F\110\01\x9E           PENT,3DNOW,SM
+PFCMPEQ                mmxreg,mmxrm            \2\x0F\x0F\110\01\xB0           PENT,3DNOW,SM
+PFCMPGE                mmxreg,mmxrm            \2\x0F\x0F\110\01\x90           PENT,3DNOW,SM
+PFCMPGT                mmxreg,mmxrm            \2\x0F\x0F\110\01\xA0           PENT,3DNOW,SM
+PFMAX          mmxreg,mmxrm            \2\x0F\x0F\110\01\xA4           PENT,3DNOW,SM
+PFMIN          mmxreg,mmxrm            \2\x0F\x0F\110\01\x94           PENT,3DNOW,SM
+PFMUL          mmxreg,mmxrm            \2\x0F\x0F\110\01\xB4           PENT,3DNOW,SM
+PFRCP          mmxreg,mmxrm            \2\x0F\x0F\110\01\x96           PENT,3DNOW,SM
+PFRCPIT1       mmxreg,mmxrm            \2\x0F\x0F\110\01\xA6           PENT,3DNOW,SM
+PFRCPIT2       mmxreg,mmxrm            \2\x0F\x0F\110\01\xB6           PENT,3DNOW,SM
+PFRSQIT1       mmxreg,mmxrm            \2\x0F\x0F\110\01\xA7           PENT,3DNOW,SM
+PFRSQRT                mmxreg,mmxrm            \2\x0F\x0F\110\01\x97           PENT,3DNOW,SM
+PFSUB          mmxreg,mmxrm            \2\x0F\x0F\110\01\x9A           PENT,3DNOW,SM
+PFSUBR         mmxreg,mmxrm            \2\x0F\x0F\110\01\xAA           PENT,3DNOW,SM
+PI2FD          mmxreg,mmxrm            \2\x0F\x0F\110\01\x0D           PENT,3DNOW,SM
 PMACHRIW       mmxreg,mem              \2\x0F\x5E\110                  PENT,MMX,SM,CYRIX
-PMADDWD                mmxreg,mem              \2\x0F\xF5\110                  PENT,MMX,SM
-PMADDWD                mmxreg,mmxreg           \2\x0F\xF5\110                  PENT,MMX
-PMAGW          mmxreg,mem              \2\x0F\x52\110                  PENT,MMX,SM,CYRIX
-PMAGW          mmxreg,mmxreg           \2\x0F\x52\110                  PENT,MMX,CYRIX
-PMULHRIW       mmxreg,mem              \2\x0F\x5D\110                  PENT,MMX,SM,CYRIX
-PMULHRIW       mmxreg,mmxreg           \2\x0F\x5D\110                  PENT,MMX,CYRIX
-PMULHRWA       mmxreg,mem              \2\x0F\x0F\110\1\xB7            PENT,3DNOW,SM
-PMULHRWA       mmxreg,mmxreg           \2\x0F\x0F\110\1\xB7            PENT,3DNOW
-PMULHRWC       mmxreg,mem              \2\x0F\x59\110                  PENT,MMX,SM,CYRIX
-PMULHRWC       mmxreg,mmxreg           \2\x0F\x59\110                  PENT,MMX,CYRIX
-PMULHW         mmxreg,mem              \2\x0F\xE5\110                  PENT,MMX,SM
-PMULHW         mmxreg,mmxreg           \2\x0F\xE5\110                  PENT,MMX
-PMULLW         mmxreg,mem              \2\x0F\xD5\110                  PENT,MMX,SM
-PMULLW         mmxreg,mmxreg           \2\x0F\xD5\110                  PENT,MMX
+PMADDWD                mmxreg,mmxrm            \2\x0F\xF5\110                  PENT,MMX,SM
+PMAGW          mmxreg,mmxrm            \2\x0F\x52\110                  PENT,MMX,SM,CYRIX
+PMULHRIW       mmxreg,mmxrm            \2\x0F\x5D\110                  PENT,MMX,SM,CYRIX
+PMULHRWA       mmxreg,mmxrm            \2\x0F\x0F\110\1\xB7            PENT,3DNOW,SM
+PMULHRWC       mmxreg,mmxrm            \2\x0F\x59\110                  PENT,MMX,SM,CYRIX
+PMULHW         mmxreg,mmxrm            \2\x0F\xE5\110                  PENT,MMX,SM
+PMULLW         mmxreg,mmxrm            \2\x0F\xD5\110                  PENT,MMX,SM
 PMVGEZB                mmxreg,mem              \2\x0F\x5C\110                  PENT,MMX,SM,CYRIX
 PMVLZB         mmxreg,mem              \2\x0F\x5B\110                  PENT,MMX,SM,CYRIX
 PMVNZB         mmxreg,mem              \2\x0F\x5A\110                  PENT,MMX,SM,CYRIX
@@ -938,66 +891,43 @@ POPF              void                    \322\1\x9D                      8086
 POPFD          void                    \321\1\x9D                      386,NOLONG
 POPFQ          void                    \321\1\x9D                      X64
 POPFW          void                    \320\1\x9D                      8086
-POR            mmxreg,mem              \2\x0F\xEB\110                  PENT,MMX,SM
-POR            mmxreg,mmxreg           \2\x0F\xEB\110                  PENT,MMX
+POR            mmxreg,mmxrm            \2\x0F\xEB\110                  PENT,MMX,SM
 PREFETCH       mem                     \2\x0F\x0D\200                  PENT,3DNOW,SM
 PREFETCHW      mem                     \2\x0F\x0D\201                  PENT,3DNOW,SM
 PREFETCHNTA    mem                     \2\x0F\x18\200                  X64,AMD,SM
 PREFETCHT0     mem                     \2\x0F\x18\200                  X64,AMD,SM
 PREFETCHT1     mem                     \2\x0F\x18\201                  X64,AMD,SM
 PREFETCHT2     mem                     \2\x0F\x18\202                  X64,AMD,SM
-PSLLD          mmxreg,mem              \2\x0F\xF2\110                  PENT,MMX,SM
-PSLLD          mmxreg,mmxreg           \2\x0F\xF2\110                  PENT,MMX
+PSLLD          mmxreg,mmxrm            \2\x0F\xF2\110                  PENT,MMX,SM
 PSLLD          mmxreg,imm              \2\x0F\x72\206\25               PENT,MMX
-PSLLQ          mmxreg,mem              \2\x0F\xF3\110                  PENT,MMX,SM
-PSLLQ          mmxreg,mmxreg           \2\x0F\xF3\110                  PENT,MMX
+PSLLQ          mmxreg,mmxrm            \2\x0F\xF3\110                  PENT,MMX,SM
 PSLLQ          mmxreg,imm              \2\x0F\x73\206\25               PENT,MMX
-PSLLW          mmxreg,mem              \2\x0F\xF1\110                  PENT,MMX,SM
-PSLLW          mmxreg,mmxreg           \2\x0F\xF1\110                  PENT,MMX
+PSLLW          mmxreg,mmxrm            \2\x0F\xF1\110                  PENT,MMX,SM
 PSLLW          mmxreg,imm              \2\x0F\x71\206\25               PENT,MMX
-PSRAD          mmxreg,mem              \2\x0F\xE2\110                  PENT,MMX,SM
-PSRAD          mmxreg,mmxreg           \2\x0F\xE2\110                  PENT,MMX
+PSRAD          mmxreg,mmxrm            \2\x0F\xE2\110                  PENT,MMX,SM
 PSRAD          mmxreg,imm              \2\x0F\x72\204\25               PENT,MMX
-PSRAW          mmxreg,mem              \2\x0F\xE1\110                  PENT,MMX,SM
-PSRAW          mmxreg,mmxreg           \2\x0F\xE1\110                  PENT,MMX
+PSRAW          mmxreg,mmxrm            \2\x0F\xE1\110                  PENT,MMX,SM
 PSRAW          mmxreg,imm              \2\x0F\x71\204\25               PENT,MMX
-PSRLD          mmxreg,mem              \2\x0F\xD2\110                  PENT,MMX,SM
-PSRLD          mmxreg,mmxreg           \2\x0F\xD2\110                  PENT,MMX
+PSRLD          mmxreg,mmxrm            \2\x0F\xD2\110                  PENT,MMX,SM
 PSRLD          mmxreg,imm              \2\x0F\x72\202\25               PENT,MMX
-PSRLQ          mmxreg,mem              \2\x0F\xD3\110                  PENT,MMX,SM
-PSRLQ          mmxreg,mmxreg           \2\x0F\xD3\110                  PENT,MMX
+PSRLQ          mmxreg,mmxrm            \2\x0F\xD3\110                  PENT,MMX,SM
 PSRLQ          mmxreg,imm              \2\x0F\x73\202\25               PENT,MMX
-PSRLW          mmxreg,mem              \2\x0F\xD1\110                  PENT,MMX,SM
-PSRLW          mmxreg,mmxreg           \2\x0F\xD1\110                  PENT,MMX
+PSRLW          mmxreg,mmxrm            \2\x0F\xD1\110                  PENT,MMX,SM
 PSRLW          mmxreg,imm              \2\x0F\x71\202\25               PENT,MMX
-PSUBB          mmxreg,mem              \2\x0F\xF8\110                  PENT,MMX,SM
-PSUBB          mmxreg,mmxreg           \2\x0F\xF8\110                  PENT,MMX
-PSUBD          mmxreg,mem              \2\x0F\xFA\110                  PENT,MMX,SM
-PSUBD          mmxreg,mmxreg           \2\x0F\xFA\110                  PENT,MMX
-PSUBSB         mmxreg,mem              \2\x0F\xE8\110                  PENT,MMX,SM
-PSUBSB         mmxreg,mmxreg           \2\x0F\xE8\110                  PENT,MMX
-PSUBSIW                mmxreg,mem              \2\x0F\x55\110                  PENT,MMX,SM,CYRIX
-PSUBSIW                mmxreg,mmxreg           \2\x0F\x55\110                  PENT,MMX,CYRIX
-PSUBSW         mmxreg,mem              \2\x0F\xE9\110                  PENT,MMX,SM
-PSUBSW         mmxreg,mmxreg           \2\x0F\xE9\110                  PENT,MMX
-PSUBUSB                mmxreg,mem              \2\x0F\xD8\110                  PENT,MMX,SM
-PSUBUSB                mmxreg,mmxreg           \2\x0F\xD8\110                  PENT,MMX
-PSUBUSW                mmxreg,mem              \2\x0F\xD9\110                  PENT,MMX,SM
-PSUBUSW                mmxreg,mmxreg           \2\x0F\xD9\110                  PENT,MMX
-PSUBW          mmxreg,mem              \2\x0F\xF9\110                  PENT,MMX,SM
-PSUBW          mmxreg,mmxreg           \2\x0F\xF9\110                  PENT,MMX
-PUNPCKHBW      mmxreg,mem              \2\x0F\x68\110                  PENT,MMX,SM
-PUNPCKHBW      mmxreg,mmxreg           \2\x0F\x68\110                  PENT,MMX
-PUNPCKHDQ      mmxreg,mem              \2\x0F\x6A\110                  PENT,MMX,SM
-PUNPCKHDQ      mmxreg,mmxreg           \2\x0F\x6A\110                  PENT,MMX
-PUNPCKHWD      mmxreg,mem              \2\x0F\x69\110                  PENT,MMX,SM
-PUNPCKHWD      mmxreg,mmxreg           \2\x0F\x69\110                  PENT,MMX
-PUNPCKLBW      mmxreg,mem              \2\x0F\x60\110                  PENT,MMX,SM
-PUNPCKLBW      mmxreg,mmxreg           \2\x0F\x60\110                  PENT,MMX
-PUNPCKLDQ      mmxreg,mem              \2\x0F\x62\110                  PENT,MMX,SM
-PUNPCKLDQ      mmxreg,mmxreg           \2\x0F\x62\110                  PENT,MMX
-PUNPCKLWD      mmxreg,mem              \2\x0F\x61\110                  PENT,MMX,SM
-PUNPCKLWD      mmxreg,mmxreg           \2\x0F\x61\110                  PENT,MMX
+PSUBB          mmxreg,mmxrm            \2\x0F\xF8\110                  PENT,MMX,SM
+PSUBD          mmxreg,mmxrm            \2\x0F\xFA\110                  PENT,MMX,SM
+PSUBSB         mmxreg,mmxrm            \2\x0F\xE8\110                  PENT,MMX,SM
+PSUBSIW                mmxreg,mmxrm            \2\x0F\x55\110                  PENT,MMX,SM,CYRIX
+PSUBSW         mmxreg,mmxrm            \2\x0F\xE9\110                  PENT,MMX,SM
+PSUBUSB                mmxreg,mmxrm            \2\x0F\xD8\110                  PENT,MMX,SM
+PSUBUSW                mmxreg,mmxrm            \2\x0F\xD9\110                  PENT,MMX,SM
+PSUBW          mmxreg,mmxrm            \2\x0F\xF9\110                  PENT,MMX,SM
+PUNPCKHBW      mmxreg,mmxrm            \2\x0F\x68\110                  PENT,MMX,SM
+PUNPCKHDQ      mmxreg,mmxrm            \2\x0F\x6A\110                  PENT,MMX,SM
+PUNPCKHWD      mmxreg,mmxrm            \2\x0F\x69\110                  PENT,MMX,SM
+PUNPCKLBW      mmxreg,mmxrm            \2\x0F\x60\110                  PENT,MMX,SM
+PUNPCKLDQ      mmxreg,mmxrm            \2\x0F\x62\110                  PENT,MMX,SM
+PUNPCKLWD      mmxreg,mmxrm            \2\x0F\x61\110                  PENT,MMX,SM
 PUSH           reg16                   \320\10\x50                     8086
 PUSH           reg32                   \321\10\x50                     386,NOLONG
 PUSH           reg64                   \323\10\x50                     X64
@@ -1020,8 +950,7 @@ PUSHF              void                    \322\1\x9C                      8086
 PUSHFD         void                    \321\1\x9C                      386,NOLONG
 PUSHFQ         void                    \321\1\x9C                      X64
 PUSHFW         void                    \320\1\x9C                      8086
-PXOR           mmxreg,mem              \2\x0F\xEF\110                  PENT,MMX,SM
-PXOR           mmxreg,mmxreg           \2\x0F\xEF\110                  PENT,MMX
+PXOR           mmxreg,mmxrm            \2\x0F\xEF\110                  PENT,MMX,SM
 RCL            rm8,unity               \1\xD0\202                      8086
 RCL            rm8,reg_cl              \1\xD2\202                      8086
 RCL            rm8,imm                 \1\xC0\202\25                   186,SB
@@ -1402,79 +1331,47 @@ 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,mem              \331\2\x0F\x58\110              KATMAI,SSE
-ADDPS          xmmreg,xmmreg           \331\2\x0F\x58\110              KATMAI,SSE
-ADDSS          xmmreg,mem              \333\2\x0F\x58\110              KATMAI,SSE
-ADDSS          xmmreg,xmmreg           \333\2\x0F\x58\110              KATMAI,SSE
-ANDNPS         xmmreg,mem              \2\x0F\x55\110                  KATMAI,SSE
-ANDNPS         xmmreg,xmmreg           \2\x0F\x55\110                  KATMAI,SSE
-ANDPS          xmmreg,mem              \2\x0F\x54\110                  KATMAI,SSE
-ANDPS          xmmreg,xmmreg           \2\x0F\x54\110                  KATMAI,SSE
-CMPEQPS                xmmreg,mem              \331\2\x0F\xC2\110\1\x00        KATMAI,SSE
-CMPEQPS                xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x00        KATMAI,SSE
-CMPEQSS                xmmreg,mem              \333\2\x0F\xC2\110\1\x00        KATMAI,SSE
-CMPEQSS                xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x00        KATMAI,SSE
-CMPLEPS                xmmreg,mem              \331\2\x0F\xC2\110\1\x02        KATMAI,SSE
-CMPLEPS                xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x02        KATMAI,SSE
-CMPLESS                xmmreg,mem              \333\2\x0F\xC2\110\1\x02        KATMAI,SSE
-CMPLESS                xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x02        KATMAI,SSE
-CMPLTPS                xmmreg,mem              \331\2\x0F\xC2\110\1\x01        KATMAI,SSE
-CMPLTPS                xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x01        KATMAI,SSE
-CMPLTSS                xmmreg,mem              \333\2\x0F\xC2\110\1\x01        KATMAI,SSE
-CMPLTSS                xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x01        KATMAI,SSE
-CMPNEQPS       xmmreg,mem              \331\2\x0F\xC2\110\1\x04        KATMAI,SSE
-CMPNEQPS       xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x04        KATMAI,SSE
-CMPNEQSS       xmmreg,mem              \333\2\x0F\xC2\110\1\x04        KATMAI,SSE
-CMPNEQSS       xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x04        KATMAI,SSE
-CMPNLEPS       xmmreg,mem              \331\2\x0F\xC2\110\1\x06        KATMAI,SSE
-CMPNLEPS       xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x06        KATMAI,SSE
-CMPNLESS       xmmreg,mem              \333\2\x0F\xC2\110\1\x06        KATMAI,SSE
-CMPNLESS       xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x06        KATMAI,SSE
-CMPNLTPS       xmmreg,mem              \331\2\x0F\xC2\110\1\x05        KATMAI,SSE
-CMPNLTPS       xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x05        KATMAI,SSE
-CMPNLTSS       xmmreg,mem              \333\2\x0F\xC2\110\1\x05        KATMAI,SSE
-CMPNLTSS       xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x05        KATMAI,SSE
-CMPORDPS       xmmreg,mem              \331\2\x0F\xC2\110\1\x07        KATMAI,SSE
-CMPORDPS       xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x07        KATMAI,SSE
-CMPORDSS       xmmreg,mem              \333\2\x0F\xC2\110\1\x07        KATMAI,SSE
-CMPORDSS       xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x07        KATMAI,SSE
-CMPUNORDPS     xmmreg,mem              \331\2\x0F\xC2\110\1\x03        KATMAI,SSE
-CMPUNORDPS     xmmreg,xmmreg           \331\2\x0F\xC2\110\1\x03        KATMAI,SSE
-CMPUNORDSS     xmmreg,mem              \333\2\x0F\xC2\110\1\x03        KATMAI,SSE
-CMPUNORDSS     xmmreg,xmmreg           \333\2\x0F\xC2\110\1\x03        KATMAI,SSE
+ADDPS          xmmreg,xmmrm            \331\2\x0F\x58\110              KATMAI,SSE
+ADDSS          xmmreg,xmmrm            \333\2\x0F\x58\110              KATMAI,SSE
+ANDNPS         xmmreg,xmmrm            \2\x0F\x55\110                  KATMAI,SSE
+ANDPS          xmmreg,xmmrm            \2\x0F\x54\110                  KATMAI,SSE
+CMPEQPS                xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x00        KATMAI,SSE
+CMPEQSS                xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x00        KATMAI,SSE
+CMPLEPS                xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x02        KATMAI,SSE
+CMPLESS                xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x02        KATMAI,SSE
+CMPLTPS                xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x01        KATMAI,SSE
+CMPLTSS                xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x01        KATMAI,SSE
+CMPNEQPS       xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x04        KATMAI,SSE
+CMPNEQSS       xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x04        KATMAI,SSE
+CMPNLEPS       xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x06        KATMAI,SSE
+CMPNLESS       xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x06        KATMAI,SSE
+CMPNLTPS       xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x05        KATMAI,SSE
+CMPNLTSS       xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x05        KATMAI,SSE
+CMPORDPS       xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x07        KATMAI,SSE
+CMPORDSS       xmmreg,xmmrm            \333\2\x0F\xC2\110\1\x07        KATMAI,SSE
+CMPUNORDPS     xmmreg,xmmrm            \331\2\x0F\xC2\110\1\x03        KATMAI,SSE
+CMPUNORDSS     xmmreg,xmmrm            \333\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          \331\2\x0F\xC2\110\26           KATMAI,SSE,SB,AR2
 CMPPS          xmmreg,xmmreg,imm       \331\2\x0F\xC2\110\26           KATMAI,SSE,SB,AR2
 CMPSS          xmmreg,mem,imm          \333\2\x0F\xC2\110\26           KATMAI,SSE,SB,AR2
 CMPSS          xmmreg,xmmreg,imm       \333\2\x0F\xC2\110\26           KATMAI,SSE,SB,AR2
-COMISS         xmmreg,mem              \2\x0F\x2F\110                  KATMAI,SSE
-COMISS         xmmreg,xmmreg           \2\x0F\x2F\110                  KATMAI,SSE
-CVTPI2PS       xmmreg,mem              \331\2\x0F\x2A\110              KATMAI,SSE,MMX
-CVTPI2PS       xmmreg,mmxreg           \331\2\x0F\x2A\110              KATMAI,SSE,MMX
-CVTPS2PI       mmxreg,mem              \331\2\x0F\x2D\110              KATMAI,SSE,MMX
-CVTPS2PI       mmxreg,xmmreg           \331\2\x0F\x2D\110              KATMAI,SSE,MMX
+COMISS         xmmreg,xmmrm            \2\x0F\x2F\110                  KATMAI,SSE
+CVTPI2PS       xmmreg,mmxrm            \331\2\x0F\x2A\110              KATMAI,SSE,MMX
+CVTPS2PI       mmxreg,xmmrm            \331\2\x0F\x2D\110              KATMAI,SSE,MMX
 CVTSI2SS       xmmreg,mem              \333\2\x0F\x2A\110              KATMAI,SSE,SD,AR1
 CVTSI2SS       xmmreg,reg32            \333\2\x0F\x2A\110              KATMAI,SSE
-CVTSS2SI       reg32,mem               \333\2\x0F\x2D\110              KATMAI,SSE
-CVTSS2SI       reg32,xmmreg            \333\2\x0F\x2D\110              KATMAI,SSE
-CVTTPS2PI      mmxreg,mem              \331\2\x0F\x2C\110              KATMAI,SSE,MMX
-CVTTPS2PI      mmxreg,xmmreg           \331\2\x0F\x2C\110              KATMAI,SSE,MMX
-CVTTSS2SI      reg32,mem               \333\2\x0F\x2C\110              KATMAI,SSE
-CVTTSS2SI      reg32,xmmreg            \333\2\x0F\x2C\110              KATMAI,SSE
-DIVPS          xmmreg,mem              \331\2\x0F\x5E\110              KATMAI,SSE
-DIVPS          xmmreg,xmmreg           \331\2\x0F\x5E\110              KATMAI,SSE
-DIVSS          xmmreg,mem              \333\2\x0F\x5E\110              KATMAI,SSE
-DIVSS          xmmreg,xmmreg           \333\2\x0F\x5E\110              KATMAI,SSE
+CVTSS2SI       reg32,xmmrm             \333\2\x0F\x2D\110              KATMAI,SSE
+CVTTPS2PI      mmxreg,xmmrm            \331\2\x0F\x2C\110              KATMAI,SSE,MMX
+CVTTSS2SI      reg32,xmmrm             \333\2\x0F\x2C\110              KATMAI,SSE
+DIVPS          xmmreg,xmmrm            \331\2\x0F\x5E\110              KATMAI,SSE
+DIVSS          xmmreg,xmmrm            \333\2\x0F\x5E\110              KATMAI,SSE
 LDMXCSR                mem                     \2\x0F\xAE\202                  KATMAI,SSE,SD
-MAXPS          xmmreg,mem              \331\2\x0F\x5F\110              KATMAI,SSE
-MAXPS          xmmreg,xmmreg           \331\2\x0F\x5F\110              KATMAI,SSE
-MAXSS          xmmreg,mem              \333\2\x0F\x5F\110              KATMAI,SSE
-MAXSS          xmmreg,xmmreg           \333\2\x0F\x5F\110              KATMAI,SSE
-MINPS          xmmreg,mem              \331\2\x0F\x5D\110              KATMAI,SSE
-MINPS          xmmreg,xmmreg           \331\2\x0F\x5D\110              KATMAI,SSE
-MINSS          xmmreg,mem              \333\2\x0F\x5D\110              KATMAI,SSE
-MINSS          xmmreg,xmmreg           \333\2\x0F\x5D\110              KATMAI,SSE
+MAXPS          xmmreg,xmmrm            \331\2\x0F\x5F\110              KATMAI,SSE
+MAXSS          xmmreg,xmmrm            \333\2\x0F\x5F\110              KATMAI,SSE
+MINPS          xmmreg,xmmrm            \331\2\x0F\x5D\110              KATMAI,SSE
+MINSS          xmmreg,xmmrm            \333\2\x0F\x5D\110              KATMAI,SSE
 MOVAPS         xmmreg,mem              \2\x0F\x28\110                  KATMAI,SSE
 MOVAPS         mem,xmmreg              \2\x0F\x29\101                  KATMAI,SSE
 MOVAPS         xmmreg,xmmreg           \2\x0F\x28\110                  KATMAI,SSE
@@ -1496,39 +1393,24 @@ MOVUPS          xmmreg,mem              \331\2\x0F\x10\110              KATMAI,SSE
 MOVUPS         mem,xmmreg              \331\2\x0F\x11\101              KATMAI,SSE
 MOVUPS         xmmreg,xmmreg           \331\2\x0F\x10\110              KATMAI,SSE
 MOVUPS         xmmreg,xmmreg           \331\2\x0F\x11\101              KATMAI,SSE
-MULPS          xmmreg,mem              \2\x0F\x59\110                  KATMAI,SSE
-MULPS          xmmreg,xmmreg           \2\x0F\x59\110                  KATMAI,SSE
-MULSS          xmmreg,mem              \333\2\x0F\x59\110              KATMAI,SSE
-MULSS          xmmreg,xmmreg           \333\2\x0F\x59\110              KATMAI,SSE
-ORPS           xmmreg,mem              \2\x0F\x56\110                  KATMAI,SSE
-ORPS           xmmreg,xmmreg           \2\x0F\x56\110                  KATMAI,SSE
-RCPPS          xmmreg,mem              \331\2\x0F\x53\110              KATMAI,SSE
-RCPPS          xmmreg,xmmreg           \331\2\x0F\x53\110              KATMAI,SSE
-RCPSS          xmmreg,mem              \333\2\x0F\x53\110              KATMAI,SSE
-RCPSS          xmmreg,xmmreg           \333\2\x0F\x53\110              KATMAI,SSE
-RSQRTPS                xmmreg,mem              \331\2\x0F\x52\110              KATMAI,SSE
-RSQRTPS                xmmreg,xmmreg           \331\2\x0F\x52\110              KATMAI,SSE
-RSQRTSS                xmmreg,mem              \333\2\x0F\x52\110              KATMAI,SSE
-RSQRTSS                xmmreg,xmmreg           \333\2\x0F\x52\110              KATMAI,SSE
+MULPS          xmmreg,xmmrm            \2\x0F\x59\110                  KATMAI,SSE
+MULSS          xmmreg,xmmrm            \333\2\x0F\x59\110              KATMAI,SSE
+ORPS           xmmreg,xmmrm            \2\x0F\x56\110                  KATMAI,SSE
+RCPPS          xmmreg,xmmrm            \331\2\x0F\x53\110              KATMAI,SSE
+RCPSS          xmmreg,xmmrm            \333\2\x0F\x53\110              KATMAI,SSE
+RSQRTPS                xmmreg,xmmrm            \331\2\x0F\x52\110              KATMAI,SSE
+RSQRTSS                xmmreg,xmmrm            \333\2\x0F\x52\110              KATMAI,SSE
 SHUFPS         xmmreg,mem,imm          \2\x0F\xC6\110\26               KATMAI,SSE,SB,AR2
 SHUFPS         xmmreg,xmmreg,imm       \2\x0F\xC6\110\26               KATMAI,SSE,SB,AR2
-SQRTPS         xmmreg,mem              \331\2\x0F\x51\110              KATMAI,SSE
-SQRTPS         xmmreg,xmmreg           \331\2\x0F\x51\110              KATMAI,SSE
-SQRTSS         xmmreg,mem              \333\2\x0F\x51\110              KATMAI,SSE
-SQRTSS         xmmreg,xmmreg           \333\2\x0F\x51\110              KATMAI,SSE
+SQRTPS         xmmreg,xmmrm            \331\2\x0F\x51\110              KATMAI,SSE
+SQRTSS         xmmreg,xmmrm            \333\2\x0F\x51\110              KATMAI,SSE
 STMXCSR                mem                     \2\x0F\xAE\203                  KATMAI,SSE,SD
-SUBPS          xmmreg,mem              \331\2\x0F\x5C\110              KATMAI,SSE
-SUBPS          xmmreg,xmmreg           \331\2\x0F\x5C\110              KATMAI,SSE
-SUBSS          xmmreg,mem              \333\2\x0F\x5C\110              KATMAI,SSE
-SUBSS          xmmreg,xmmreg           \333\2\x0F\x5C\110              KATMAI,SSE
-UCOMISS                xmmreg,mem              \2\x0F\x2E\110                  KATMAI,SSE
-UCOMISS                xmmreg,xmmreg           \2\x0F\x2E\110                  KATMAI,SSE
-UNPCKHPS       xmmreg,mem              \2\x0F\x15\110                  KATMAI,SSE
-UNPCKHPS       xmmreg,xmmreg           \2\x0F\x15\110                  KATMAI,SSE
-UNPCKLPS       xmmreg,mem              \2\x0F\x14\110                  KATMAI,SSE
-UNPCKLPS       xmmreg,xmmreg           \2\x0F\x14\110                  KATMAI,SSE
-XORPS          xmmreg,mem              \2\x0F\x57\110                  KATMAI,SSE
-XORPS          xmmreg,xmmreg           \2\x0F\x57\110                  KATMAI,SSE
+SUBPS          xmmreg,xmmrm            \331\2\x0F\x5C\110              KATMAI,SSE
+SUBSS          xmmreg,xmmrm            \333\2\x0F\x5C\110              KATMAI,SSE
+UCOMISS                xmmreg,xmmrm            \2\x0F\x2E\110                  KATMAI,SSE
+UNPCKHPS       xmmreg,xmmrm            \2\x0F\x15\110                  KATMAI,SSE
+UNPCKLPS       xmmreg,xmmrm            \2\x0F\x14\110                  KATMAI,SSE
+XORPS          xmmreg,xmmrm            \2\x0F\x57\110                  KATMAI,SSE
 
 ; Introduced in Deschutes but necessary for SSE support
 FXRSTOR                mem                     \2\x0F\xAE\201                  P6,SSE,FPU
@@ -1545,10 +1427,8 @@ SFENCE           void                    \3\x0F\xAE\xF8                  KATMAI
 ; New MMX instructions introduced in Katmai
 MASKMOVQ       mmxreg,mmxreg           \2\x0F\xF7\110                  KATMAI,MMX
 MOVNTQ         mem,mmxreg              \2\x0F\xE7\101                  KATMAI,MMX,SM
-PAVGB          mmxreg,mmxreg           \2\x0F\xE0\110                  KATMAI,MMX
-PAVGB          mmxreg,mem              \2\x0F\xE0\110                  KATMAI,MMX,SM
-PAVGW          mmxreg,mmxreg           \2\x0F\xE3\110                  KATMAI,MMX
-PAVGW          mmxreg,mem              \2\x0F\xE3\110                  KATMAI,MMX,SM
+PAVGB          mmxreg,mmxrm            \2\x0F\xE0\110                  KATMAI,MMX,SM
+PAVGW          mmxreg,mmxrm            \2\x0F\xE3\110                  KATMAI,MMX,SM
 PEXTRW         reg32,mmxreg,imm        \2\x0F\xC5\110\26               KATMAI,MMX,SB,AR2
 ; PINSRW is documented as using a reg32, but it's really using only 16 bit
 ; -- accept either, but be truthful in disassembly
@@ -1556,33 +1436,22 @@ PINSRW          mmxreg,reg16,imm        \2\x0F\xC4\110\26               KATMAI,MMX,SB,AR2
 PINSRW         mmxreg,reg32,imm        \2\x0F\xC4\110\26               KATMAI,MMX,SB,AR2,ND
 PINSRW         mmxreg,mem,imm          \2\x0F\xC4\110\26               KATMAI,MMX,SB,AR2
 PINSRW         mmxreg,mem16,imm        \2\x0F\xC4\110\26               KATMAI,MMX,SB,AR2,ND
-PMAXSW         mmxreg,mmxreg           \2\x0F\xEE\110                  KATMAI,MMX
-PMAXSW         mmxreg,mem              \2\x0F\xEE\110                  KATMAI,MMX,SM
-PMAXUB         mmxreg,mmxreg           \2\x0F\xDE\110                  KATMAI,MMX
-PMAXUB         mmxreg,mem              \2\x0F\xDE\110                  KATMAI,MMX,SM
-PMINSW         mmxreg,mmxreg           \2\x0F\xEA\110                  KATMAI,MMX
-PMINSW         mmxreg,mem              \2\x0F\xEA\110                  KATMAI,MMX,SM
-PMINUB         mmxreg,mmxreg           \2\x0F\xDA\110                  KATMAI,MMX
-PMINUB         mmxreg,mem              \2\x0F\xDA\110                  KATMAI,MMX,SM
+PMAXSW         mmxreg,mmxrm            \2\x0F\xEE\110                  KATMAI,MMX,SM
+PMAXUB         mmxreg,mmxrm            \2\x0F\xDE\110                  KATMAI,MMX,SM
+PMINSW         mmxreg,mmxrm            \2\x0F\xEA\110                  KATMAI,MMX,SM
+PMINUB         mmxreg,mmxrm            \2\x0F\xDA\110                  KATMAI,MMX,SM
 PMOVMSKB       reg32,mmxreg            \2\x0F\xD7\110                  KATMAI,MMX
-PMULHUW                mmxreg,mmxreg           \2\x0F\xE4\110                  KATMAI,MMX
-PMULHUW                mmxreg,mem              \2\x0F\xE4\110                  KATMAI,MMX,SM
-PSADBW         mmxreg,mmxreg           \2\x0F\xF6\110                  KATMAI,MMX
-PSADBW         mmxreg,mem              \2\x0F\xF6\110                  KATMAI,MMX,SM
+PMULHUW                mmxreg,mmxrm            \2\x0F\xE4\110                  KATMAI,MMX,SM
+PSADBW         mmxreg,mmxrm            \2\x0F\xF6\110                  KATMAI,MMX,SM
 PSHUFW         mmxreg,mmxreg,imm       \2\x0F\x70\110\22               KATMAI,MMX,SB,AR2
 PSHUFW         mmxreg,mem,imm          \2\x0F\x70\110\22               KATMAI,MMX,SM2,SB,AR2
 
 ; AMD Enhanced 3DNow! (Athlon) instructions
-PF2IW          mmxreg,mem              \2\x0F\x0F\110\01\x1C           PENT,3DNOW,SM
-PF2IW          mmxreg,mmxreg           \2\x0F\x0F\110\01\x1C           PENT,3DNOW
-PFNACC         mmxreg,mem              \2\x0F\x0F\110\01\x8A           PENT,3DNOW,SM
-PFNACC         mmxreg,mmxreg           \2\x0F\x0F\110\01\x8A           PENT,3DNOW
-PFPNACC                mmxreg,mem              \2\x0F\x0F\110\01\x8E           PENT,3DNOW,SM
-PFPNACC                mmxreg,mmxreg           \2\x0F\x0F\110\01\x8E           PENT,3DNOW
-PI2FW          mmxreg,mem              \2\x0F\x0F\110\01\x0C           PENT,3DNOW,SM
-PI2FW          mmxreg,mmxreg           \2\x0F\x0F\110\01\x0C           PENT,3DNOW
-PSWAPD         mmxreg,mem              \2\x0F\x0F\110\01\xBB           PENT,3DNOW,SM
-PSWAPD         mmxreg,mmxreg           \2\x0F\x0F\110\01\xBB           PENT,3DNOW
+PF2IW          mmxreg,mmxrm            \2\x0F\x0F\110\01\x1C           PENT,3DNOW,SM
+PFNACC         mmxreg,mmxrm            \2\x0F\x0F\110\01\x8A           PENT,3DNOW,SM
+PFPNACC                mmxreg,mmxrm            \2\x0F\x0F\110\01\x8E           PENT,3DNOW,SM
+PI2FW          mmxreg,mmxrm            \2\x0F\x0F\110\01\x0C           PENT,3DNOW,SM
+PSWAPD         mmxreg,mmxrm            \2\x0F\x0F\110\01\xBB           PENT,3DNOW,SM
 
 ; Willamette SSE2 Cacheability Instructions
 MASKMOVDQU     xmmreg,xmmreg           \366\2\x0F\xF7\110              WILLAMETTE,SSE2
@@ -1616,80 +1485,46 @@ MOVQ            xmmreg,mem              \333\2\x0F\x7E\110              WILLAMETTE,SSE2,SQ
 MOVQ           xmmreg,rm64             \366\324\2\x0F\x6E\110          X64,SSE2
 MOVQ           rm64,xmmreg             \366\324\2\x0F\x7E\101          X64,SSE2
 MOVQ2DQ                xmmreg,mmxreg           \333\2\x0F\xD6\110              WILLAMETTE,SSE2
-PACKSSWB       xmmreg,xmmreg           \366\2\x0F\x63\110              WILLAMETTE,SSE2
-PACKSSWB       xmmreg,mem              \366\2\x0F\x63\110              WILLAMETTE,SSE2,SM
-PACKSSDW       xmmreg,xmmreg           \366\2\x0F\x6B\110              WILLAMETTE,SSE2
-PACKSSDW       xmmreg,mem              \366\2\x0F\x6B\110              WILLAMETTE,SSE2,SM
-PACKUSWB       xmmreg,xmmreg           \366\2\x0F\x67\110              WILLAMETTE,SSE2
-PACKUSWB       xmmreg,mem              \366\2\x0F\x67\110              WILLAMETTE,SSE2,SM
-PADDB          xmmreg,xmmreg           \366\2\x0F\xFC\110              WILLAMETTE,SSE2
-PADDB          xmmreg,mem              \366\2\x0F\xFC\110              WILLAMETTE,SSE2,SM
-PADDW          xmmreg,xmmreg           \366\2\x0F\xFD\110              WILLAMETTE,SSE2
-PADDW          xmmreg,mem              \366\2\x0F\xFD\110              WILLAMETTE,SSE2,SM
-PADDD          xmmreg,xmmreg           \366\2\x0F\xFE\110              WILLAMETTE,SSE2
-PADDD          xmmreg,mem              \366\2\x0F\xFE\110              WILLAMETTE,SSE2,SM
-PADDQ          mmxreg,mmxreg           \2\x0F\xD4\110                  WILLAMETTE,SSE2
-PADDQ          mmxreg,mem              \2\x0F\xD4\110                  WILLAMETTE,SSE2,SM
-PADDQ          xmmreg,xmmreg           \366\2\x0F\xD4\110              WILLAMETTE,SSE2
-PADDQ          xmmreg,mem              \366\2\x0F\xD4\110              WILLAMETTE,SSE2,SM
-PADDSB         xmmreg,mem              \366\2\x0F\xEC\110              WILLAMETTE,SSE2,SM
-PADDSB         xmmreg,xmmreg           \366\2\x0F\xEC\110              WILLAMETTE,SSE2
-PADDSW         xmmreg,mem              \366\2\x0F\xED\110              WILLAMETTE,SSE2,SM
-PADDSW         xmmreg,xmmreg           \366\2\x0F\xED\110              WILLAMETTE,SSE2
-PADDUSB                xmmreg,mem              \366\2\x0F\xDC\110              WILLAMETTE,SSE2,SM
-PADDUSB                xmmreg,xmmreg           \366\2\x0F\xDC\110              WILLAMETTE,SSE2
-PADDUSW                xmmreg,mem              \366\2\x0F\xDD\110              WILLAMETTE,SSE2,SM
-PADDUSW                xmmreg,xmmreg           \366\2\x0F\xDD\110              WILLAMETTE,SSE2
-PAND           xmmreg,xmmreg           \366\2\x0F\xDB\110              WILLAMETTE,SSE2
-PAND           xmmreg,mem              \366\2\x0F\xDB\110              WILLAMETTE,SSE2,SM
-PANDN          xmmreg,xmmreg           \366\2\x0F\xDF\110              WILLAMETTE,SSE2
-PANDN          xmmreg,mem              \366\2\x0F\xDF\110              WILLAMETTE,SSE2,SM
-PAVGB          xmmreg,xmmreg           \366\2\x0F\xE0\110              WILLAMETTE,SSE2
-PAVGB          xmmreg,mem              \366\2\x0F\xE0\110              WILLAMETTE,SSE2,SM
-PAVGW          xmmreg,xmmreg           \366\2\x0F\xE3\110              WILLAMETTE,SSE2
-PAVGW          xmmreg,mem              \366\2\x0F\xE3\110              WILLAMETTE,SSE2,SM
-PCMPEQB                xmmreg,xmmreg           \366\2\x0F\x74\110              WILLAMETTE,SSE2
-PCMPEQB                xmmreg,mem              \366\2\x0F\x74\110              WILLAMETTE,SSE2,SM
-PCMPEQW                xmmreg,xmmreg           \366\2\x0F\x75\110              WILLAMETTE,SSE2
-PCMPEQW                xmmreg,mem              \366\2\x0F\x75\110              WILLAMETTE,SSE2,SM
-PCMPEQD                xmmreg,xmmreg           \366\2\x0F\x76\110              WILLAMETTE,SSE2
-PCMPEQD                xmmreg,mem              \366\2\x0F\x76\110              WILLAMETTE,SSE2,SM
-PCMPGTB                xmmreg,xmmreg           \366\2\x0F\x64\110              WILLAMETTE,SSE2
-PCMPGTB                xmmreg,mem              \366\2\x0F\x64\110              WILLAMETTE,SSE2,SM
-PCMPGTW                xmmreg,xmmreg           \366\2\x0F\x65\110              WILLAMETTE,SSE2
-PCMPGTW                xmmreg,mem              \366\2\x0F\x65\110              WILLAMETTE,SSE2,SM
-PCMPGTD                xmmreg,xmmreg           \366\2\x0F\x66\110              WILLAMETTE,SSE2
-PCMPGTD                xmmreg,mem              \366\2\x0F\x66\110              WILLAMETTE,SSE2,SM
+PACKSSWB       xmmreg,xmmrm            \366\2\x0F\x63\110              WILLAMETTE,SSE2,SM
+PACKSSDW       xmmreg,xmmrm            \366\2\x0F\x6B\110              WILLAMETTE,SSE2,SM
+PACKUSWB       xmmreg,xmmrm            \366\2\x0F\x67\110              WILLAMETTE,SSE2,SM
+PADDB          xmmreg,xmmrm            \366\2\x0F\xFC\110              WILLAMETTE,SSE2,SM
+PADDW          xmmreg,xmmrm            \366\2\x0F\xFD\110              WILLAMETTE,SSE2,SM
+PADDD          xmmreg,xmmrm            \366\2\x0F\xFE\110              WILLAMETTE,SSE2,SM
+PADDQ          mmxreg,mmxrm            \2\x0F\xD4\110                  WILLAMETTE,SSE2,SM
+PADDQ          xmmreg,xmmrm            \366\2\x0F\xD4\110              WILLAMETTE,SSE2,SM
+PADDSB         xmmreg,xmmrm            \366\2\x0F\xEC\110              WILLAMETTE,SSE2,SM
+PADDSW         xmmreg,xmmrm            \366\2\x0F\xED\110              WILLAMETTE,SSE2,SM
+PADDUSB                xmmreg,xmmrm            \366\2\x0F\xDC\110              WILLAMETTE,SSE2,SM
+PADDUSW                xmmreg,xmmrm            \366\2\x0F\xDD\110              WILLAMETTE,SSE2,SM
+PAND           xmmreg,xmmrm            \366\2\x0F\xDB\110              WILLAMETTE,SSE2,SM
+PANDN          xmmreg,xmmrm            \366\2\x0F\xDF\110              WILLAMETTE,SSE2,SM
+PAVGB          xmmreg,xmmrm            \366\2\x0F\xE0\110              WILLAMETTE,SSE2,SM
+PAVGW          xmmreg,xmmrm            \366\2\x0F\xE3\110              WILLAMETTE,SSE2,SM
+PCMPEQB                xmmreg,xmmrm            \366\2\x0F\x74\110              WILLAMETTE,SSE2,SM
+PCMPEQW                xmmreg,xmmrm            \366\2\x0F\x75\110              WILLAMETTE,SSE2,SM
+PCMPEQD                xmmreg,xmmrm            \366\2\x0F\x76\110              WILLAMETTE,SSE2,SM
+PCMPGTB                xmmreg,xmmrm            \366\2\x0F\x64\110              WILLAMETTE,SSE2,SM
+PCMPGTW                xmmreg,xmmrm            \366\2\x0F\x65\110              WILLAMETTE,SSE2,SM
+PCMPGTD                xmmreg,xmmrm            \366\2\x0F\x66\110              WILLAMETTE,SSE2,SM
 PEXTRW         reg32,xmmreg,imm        \366\2\x0F\xC5\110\26           WILLAMETTE,SSE2,SB,AR2
 PINSRW         xmmreg,reg16,imm        \366\2\x0F\xC4\110\26           WILLAMETTE,SSE2,SB,AR2
 PINSRW         xmmreg,reg32,imm        \366\2\x0F\xC4\110\26           WILLAMETTE,SSE2,SB,AR2,ND
 PINSRW         xmmreg,mem,imm          \366\2\x0F\xC4\110\26           WILLAMETTE,SSE2,SB,AR2
 PINSRW         xmmreg,mem16,imm        \366\2\x0F\xC4\110\26           WILLAMETTE,SSE2,SB,AR2,ND
-PMADDWD                xmmreg,mem              \366\2\x0F\xF5\110              WILLAMETTE,SSE2,SM
-PMADDWD                xmmreg,xmmreg           \366\2\x0F\xF5\110              WILLAMETTE,SSE2
-PMAXSW         xmmreg,xmmreg           \366\2\x0F\xEE\110              WILLAMETTE,SSE2
-PMAXSW         xmmreg,mem              \366\2\x0F\xEE\110              WILLAMETTE,SSE2,SM
-PMAXUB         xmmreg,xmmreg           \366\2\x0F\xDE\110              WILLAMETTE,SSE2
-PMAXUB         xmmreg,mem              \366\2\x0F\xDE\110              WILLAMETTE,SSE2,SM
-PMINSW         xmmreg,xmmreg           \366\2\x0F\xEA\110              WILLAMETTE,SSE2
-PMINSW         xmmreg,mem              \366\2\x0F\xEA\110              WILLAMETTE,SSE2,SM
-PMINUB         xmmreg,xmmreg           \366\2\x0F\xDA\110              WILLAMETTE,SSE2
-PMINUB         xmmreg,mem              \366\2\x0F\xDA\110              WILLAMETTE,SSE2,SM
+PMADDWD                xmmreg,xmmrm            \366\2\x0F\xF5\110              WILLAMETTE,SSE2,SM
+PMAXSW         xmmreg,xmmrm            \366\2\x0F\xEE\110              WILLAMETTE,SSE2,SM
+PMAXUB         xmmreg,xmmrm            \366\2\x0F\xDE\110              WILLAMETTE,SSE2,SM
+PMINSW         xmmreg,xmmrm            \366\2\x0F\xEA\110              WILLAMETTE,SSE2,SM
+PMINUB         xmmreg,xmmrm            \366\2\x0F\xDA\110              WILLAMETTE,SSE2,SM
 PMOVMSKB       reg32,xmmreg            \366\2\x0F\xD7\110              WILLAMETTE,SSE2
-PMULHUW                xmmreg,xmmreg           \366\2\x0F\xE4\110              WILLAMETTE,SSE2
-PMULHUW                xmmreg,mem              \366\2\x0F\xE4\110              WILLAMETTE,SSE2,SM
-PMULHW         xmmreg,mem              \366\2\x0F\xE5\110              WILLAMETTE,SSE2,SM
-PMULHW         xmmreg,xmmreg           \366\2\x0F\xE5\110              WILLAMETTE,SSE2
-PMULLW         xmmreg,mem              \366\2\x0F\xD5\110              WILLAMETTE,SSE2,SM
-PMULLW         xmmreg,xmmreg           \366\2\x0F\xD5\110              WILLAMETTE,SSE2
-PMULUDQ                mmxreg,mmxreg           \2\x0F\xF4\110                  WILLAMETTE,SSE2
-PMULUDQ                mmxreg,mem              \2\x0F\xF4\110                  WILLAMETTE,SSE2,SM
-PMULUDQ                xmmreg,xmmreg           \366\2\x0F\xF4\110              WILLAMETTE,SSE2
-PMULUDQ                xmmreg,mem              \366\2\x0F\xF4\110              WILLAMETTE,SSE2,SM
-POR            xmmreg,mem              \366\2\x0F\xEB\110              WILLAMETTE,SSE2,SM
-POR            xmmreg,xmmreg           \366\2\x0F\xEB\110              WILLAMETTE,SSE2
-PSADBW         xmmreg,xmmreg           \366\2\x0F\xF6\110              WILLAMETTE,SSE2
-PSADBW         xmmreg,mem              \366\2\x0F\xF6\110              WILLAMETTE,SSE2,SM
+PMULHUW                xmmreg,xmmrm            \366\2\x0F\xE4\110              WILLAMETTE,SSE2,SM
+PMULHW         xmmreg,xmmrm            \366\2\x0F\xE5\110              WILLAMETTE,SSE2,SM
+PMULLW         xmmreg,xmmrm            \366\2\x0F\xD5\110              WILLAMETTE,SSE2,SM
+PMULUDQ                mmxreg,mmxrm            \2\x0F\xF4\110                  WILLAMETTE,SSE2,SM
+PMULUDQ                xmmreg,xmmrm            \366\2\x0F\xF4\110              WILLAMETTE,SSE2,SM
+POR            xmmreg,xmmrm            \366\2\x0F\xEB\110              WILLAMETTE,SSE2,SM
+PSADBW         xmmreg,xmmrm            \366\2\x0F\xF6\110              WILLAMETTE,SSE2,SM
 PSHUFD         xmmreg,xmmreg,imm       \366\2\x0F\x70\110\22           WILLAMETTE,SSE2,SB,AR2
 PSHUFD         xmmreg,mem,imm          \366\2\x0F\x70\110\22           WILLAMETTE,SSE2,SM2,SB,AR2
 PSHUFHW                xmmreg,xmmreg,imm       \333\2\x0F\x70\110\22           WILLAMETTE,SSE2,SB,AR2
@@ -1697,161 +1532,93 @@ PSHUFHW                xmmreg,mem,imm          \333\2\x0F\x70\110\22           WILLAMETTE,SSE2,SM2,SB,AR2
 PSHUFLW                xmmreg,xmmreg,imm       \332\2\x0F\x70\110\22           WILLAMETTE,SSE2,SB,AR2
 PSHUFLW                xmmreg,mem,imm          \332\2\x0F\x70\110\22           WILLAMETTE,SSE2,SM2,SB,AR2
 PSLLDQ         xmmreg,imm              \366\2\x0F\x73\207\25           WILLAMETTE,SSE2,SB,AR1
-PSLLW          xmmreg,mem              \366\2\x0F\xF1\110              WILLAMETTE,SSE2,SM
-PSLLW          xmmreg,xmmreg           \366\2\x0F\xF1\110              WILLAMETTE,SSE2
+PSLLW          xmmreg,xmmrm            \366\2\x0F\xF1\110              WILLAMETTE,SSE2,SM
 PSLLW          xmmreg,imm              \366\2\x0F\x71\206\25           WILLAMETTE,SSE2,SB,AR1
-PSLLD          xmmreg,mem              \366\2\x0F\xF2\110              WILLAMETTE,SSE2,SM
-PSLLD          xmmreg,xmmreg           \366\2\x0F\xF2\110              WILLAMETTE,SSE2
+PSLLD          xmmreg,xmmrm            \366\2\x0F\xF2\110              WILLAMETTE,SSE2,SM
 PSLLD          xmmreg,imm              \366\2\x0F\x72\206\25           WILLAMETTE,SSE2,SB,AR1
-PSLLQ          xmmreg,mem              \366\2\x0F\xF3\110              WILLAMETTE,SSE2,SM
-PSLLQ          xmmreg,xmmreg           \366\2\x0F\xF3\110              WILLAMETTE,SSE2
+PSLLQ          xmmreg,xmmrm            \366\2\x0F\xF3\110              WILLAMETTE,SSE2,SM
 PSLLQ          xmmreg,imm              \366\2\x0F\x73\206\25           WILLAMETTE,SSE2,SB,AR1
-PSRAW          xmmreg,mem              \366\2\x0F\xE1\110              WILLAMETTE,SSE2,SM
-PSRAW          xmmreg,xmmreg           \366\2\x0F\xE1\110              WILLAMETTE,SSE2
+PSRAW          xmmreg,xmmrm            \366\2\x0F\xE1\110              WILLAMETTE,SSE2,SM
 PSRAW          xmmreg,imm              \366\2\x0F\x71\204\25           WILLAMETTE,SSE2,SB,AR1
-PSRAD          xmmreg,mem              \366\2\x0F\xE2\110              WILLAMETTE,SSE2,SM
-PSRAD          xmmreg,xmmreg           \366\2\x0F\xE2\110              WILLAMETTE,SSE2
+PSRAD          xmmreg,xmmrm            \366\2\x0F\xE2\110              WILLAMETTE,SSE2,SM
 PSRAD          xmmreg,imm              \366\2\x0F\x72\204\25           WILLAMETTE,SSE2,SB,AR1
 PSRLDQ         xmmreg,imm              \366\2\x0F\x73\203\25           WILLAMETTE,SSE2,SB,AR1
-PSRLW          xmmreg,mem              \366\2\x0F\xD1\110              WILLAMETTE,SSE2,SM
-PSRLW          xmmreg,xmmreg           \366\2\x0F\xD1\110              WILLAMETTE,SSE2
+PSRLW          xmmreg,xmmrm            \366\2\x0F\xD1\110              WILLAMETTE,SSE2,SM
 PSRLW          xmmreg,imm              \366\2\x0F\x71\202\25           WILLAMETTE,SSE2,SB,AR1
-PSRLD          xmmreg,mem              \366\2\x0F\xD2\110              WILLAMETTE,SSE2,SM
-PSRLD          xmmreg,xmmreg           \366\2\x0F\xD2\110              WILLAMETTE,SSE2
+PSRLD          xmmreg,xmmrm            \366\2\x0F\xD2\110              WILLAMETTE,SSE2,SM
 PSRLD          xmmreg,imm              \366\2\x0F\x72\202\25           WILLAMETTE,SSE2,SB,AR1
-PSRLQ          xmmreg,mem              \366\2\x0F\xD3\110              WILLAMETTE,SSE2,SM
-PSRLQ          xmmreg,xmmreg           \366\2\x0F\xD3\110              WILLAMETTE,SSE2
+PSRLQ          xmmreg,xmmrm            \366\2\x0F\xD3\110              WILLAMETTE,SSE2,SM
 PSRLQ          xmmreg,imm              \366\2\x0F\x73\202\25           WILLAMETTE,SSE2,SB,AR1
-PSUBB          xmmreg,mem              \366\2\x0F\xF8\110              WILLAMETTE,SSE2,SM
-PSUBB          xmmreg,xmmreg           \366\2\x0F\xF8\110              WILLAMETTE,SSE2
-PSUBW          xmmreg,mem              \366\2\x0F\xF9\110              WILLAMETTE,SSE2,SM
-PSUBW          xmmreg,xmmreg           \366\2\x0F\xF9\110              WILLAMETTE,SSE2
-PSUBD          xmmreg,mem              \366\2\x0F\xFA\110              WILLAMETTE,SSE2,SM
-PSUBD          xmmreg,xmmreg           \366\2\x0F\xFA\110              WILLAMETTE,SSE2
-PSUBQ          mmxreg,mmxreg           \2\x0F\xFB\110                  WILLAMETTE,SSE2
-PSUBQ          mmxreg,mem              \2\x0F\xFB\110                  WILLAMETTE,SSE2,SM
-PSUBQ          xmmreg,xmmreg           \366\2\x0F\xFB\110              WILLAMETTE,SSE2
-PSUBQ          xmmreg,mem              \366\2\x0F\xFB\110              WILLAMETTE,SSE2,SM
-PSUBSB         xmmreg,mem              \366\2\x0F\xE8\110              WILLAMETTE,SSE2,SM
-PSUBSB         xmmreg,xmmreg           \366\2\x0F\xE8\110              WILLAMETTE,SSE2
-PSUBSW         xmmreg,mem              \366\2\x0F\xE9\110              WILLAMETTE,SSE2,SM
-PSUBSW         xmmreg,xmmreg           \366\2\x0F\xE9\110              WILLAMETTE,SSE2
-PSUBUSB                xmmreg,mem              \366\2\x0F\xD8\110              WILLAMETTE,SSE2,SM
-PSUBUSB                xmmreg,xmmreg           \366\2\x0F\xD8\110              WILLAMETTE,SSE2
-PSUBUSW                xmmreg,mem              \366\2\x0F\xD9\110              WILLAMETTE,SSE2,SM
-PSUBUSW                xmmreg,xmmreg           \366\2\x0F\xD9\110              WILLAMETTE,SSE2
-PUNPCKHBW      xmmreg,mem              \366\2\x0F\x68\110              WILLAMETTE,SSE2,SM
-PUNPCKHBW      xmmreg,xmmreg           \366\2\x0F\x68\110              WILLAMETTE,SSE2
-PUNPCKHWD      xmmreg,mem              \366\2\x0F\x69\110              WILLAMETTE,SSE2,SM
-PUNPCKHWD      xmmreg,xmmreg           \366\2\x0F\x69\110              WILLAMETTE,SSE2
-PUNPCKHDQ      xmmreg,mem              \366\2\x0F\x6A\110              WILLAMETTE,SSE2,SM
-PUNPCKHDQ      xmmreg,xmmreg           \366\2\x0F\x6A\110              WILLAMETTE,SSE2
-PUNPCKHQDQ     xmmreg,xmmreg           \366\2\x0F\x6D\110              WILLAMETTE,SSE2
-PUNPCKHQDQ     xmmreg,mem              \366\2\x0F\x6D\110              WILLAMETTE,SSE2,SM
-PUNPCKLBW      xmmreg,mem              \366\2\x0F\x60\110              WILLAMETTE,SSE2,SM
-PUNPCKLBW      xmmreg,xmmreg           \366\2\x0F\x60\110              WILLAMETTE,SSE2
-PUNPCKLWD      xmmreg,mem              \366\2\x0F\x61\110              WILLAMETTE,SSE2,SM
-PUNPCKLWD      xmmreg,xmmreg           \366\2\x0F\x61\110              WILLAMETTE,SSE2
-PUNPCKLDQ      xmmreg,mem              \366\2\x0F\x62\110              WILLAMETTE,SSE2,SM
-PUNPCKLDQ      xmmreg,xmmreg           \366\2\x0F\x62\110              WILLAMETTE,SSE2
-PUNPCKLQDQ     xmmreg,xmmreg           \366\2\x0F\x6C\110              WILLAMETTE,SSE2
-PUNPCKLQDQ     xmmreg,mem              \366\2\x0F\x6C\110              WILLAMETTE,SSE2,SM
-PXOR           xmmreg,mem              \366\2\x0F\xEF\110              WILLAMETTE,SSE2,SM
-PXOR           xmmreg,xmmreg           \366\2\x0F\xEF\110              WILLAMETTE,SSE2
+PSUBB          xmmreg,xmmrm            \366\2\x0F\xF8\110              WILLAMETTE,SSE2,SM
+PSUBW          xmmreg,xmmrm            \366\2\x0F\xF9\110              WILLAMETTE,SSE2,SM
+PSUBD          xmmreg,xmmrm            \366\2\x0F\xFA\110              WILLAMETTE,SSE2,SM
+PSUBQ          mmxreg,mmxrm            \2\x0F\xFB\110                  WILLAMETTE,SSE2,SM
+PSUBQ          xmmreg,xmmrm            \366\2\x0F\xFB\110              WILLAMETTE,SSE2,SM
+PSUBSB         xmmreg,xmmrm            \366\2\x0F\xE8\110              WILLAMETTE,SSE2,SM
+PSUBSW         xmmreg,xmmrm            \366\2\x0F\xE9\110              WILLAMETTE,SSE2,SM
+PSUBUSB                xmmreg,xmmrm            \366\2\x0F\xD8\110              WILLAMETTE,SSE2,SM
+PSUBUSW                xmmreg,xmmrm            \366\2\x0F\xD9\110              WILLAMETTE,SSE2,SM
+PUNPCKHBW      xmmreg,xmmrm            \366\2\x0F\x68\110              WILLAMETTE,SSE2,SM
+PUNPCKHWD      xmmreg,xmmrm            \366\2\x0F\x69\110              WILLAMETTE,SSE2,SM
+PUNPCKHDQ      xmmreg,xmmrm            \366\2\x0F\x6A\110              WILLAMETTE,SSE2,SM
+PUNPCKHQDQ     xmmreg,xmmrm            \366\2\x0F\x6D\110              WILLAMETTE,SSE2,SM
+PUNPCKLBW      xmmreg,xmmrm            \366\2\x0F\x60\110              WILLAMETTE,SSE2,SM
+PUNPCKLWD      xmmreg,xmmrm            \366\2\x0F\x61\110              WILLAMETTE,SSE2,SM
+PUNPCKLDQ      xmmreg,xmmrm            \366\2\x0F\x62\110              WILLAMETTE,SSE2,SM
+PUNPCKLQDQ     xmmreg,xmmrm            \366\2\x0F\x6C\110              WILLAMETTE,SSE2,SM
+PXOR           xmmreg,xmmrm            \366\2\x0F\xEF\110              WILLAMETTE,SSE2,SM
 
 ; Willamette Streaming SIMD instructions (SSE2)
-ADDPD          xmmreg,xmmreg           \331\366\2\x0F\x58\110          WILLAMETTE,SSE2
-ADDPD          xmmreg,mem              \331\366\2\x0F\x58\110          WILLAMETTE,SSE2,SM
-ADDSD          xmmreg,xmmreg           \331\332\2\x0F\x58\110          WILLAMETTE,SSE2
-ADDSD          xmmreg,mem              \331\332\2\x0F\x58\110          WILLAMETTE,SSE2
-ANDNPD         xmmreg,xmmreg           \331\366\2\x0F\x55\110          WILLAMETTE,SSE2
-ANDNPD         xmmreg,mem              \331\366\2\x0F\x55\110          WILLAMETTE,SSE2,SM
-ANDPD          xmmreg,xmmreg           \331\366\2\x0F\x54\110          WILLAMETTE,SSE2
-ANDPD          xmmreg,mem              \331\366\2\x0F\x54\110          WILLAMETTE,SSE2,SM
-CMPEQPD                xmmreg,mem              \331\366\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2,SM
-CMPEQPD                xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2
-CMPEQSD                xmmreg,mem              \331\332\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2
-CMPEQSD                xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2
-CMPLEPD                xmmreg,mem              \331\366\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2,SM
-CMPLEPD                xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2
-CMPLESD                xmmreg,mem              \331\332\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2
-CMPLESD                xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2
-CMPLTPD                xmmreg,mem              \331\366\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2,SM
-CMPLTPD                xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2
-CMPLTSD                xmmreg,mem              \331\332\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2
-CMPLTSD                xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2
-CMPNEQPD       xmmreg,mem              \331\366\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2,SM
-CMPNEQPD       xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2
-CMPNEQSD       xmmreg,mem              \331\332\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2
-CMPNEQSD       xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2
-CMPNLEPD       xmmreg,mem              \331\366\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2,SM
-CMPNLEPD       xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2
-CMPNLESD       xmmreg,mem              \331\332\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2
-CMPNLESD       xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2
-CMPNLTPD       xmmreg,mem              \331\366\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2,SM
-CMPNLTPD       xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2
-CMPNLTSD       xmmreg,mem              \331\332\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2
-CMPNLTSD       xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2
-CMPORDPD       xmmreg,mem              \331\366\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2,SM
-CMPORDPD       xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2
-CMPORDSD       xmmreg,mem              \331\332\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2
-CMPORDSD       xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2
-CMPUNORDPD     xmmreg,mem              \331\366\2\x0F\xC2\110\1\x03    WILLAMETTE,SSE2,SM
-CMPUNORDPD     xmmreg,xmmreg           \331\366\2\x0F\xC2\110\1\x03    WILLAMETTE,SSE2
-CMPUNORDSD     xmmreg,mem              \331\332\2\x0F\xC2\110\1\x03    WILLAMETTE,SSE2
-CMPUNORDSD     xmmreg,xmmreg           \331\332\2\x0F\xC2\110\1\x03    WILLAMETTE,SSE2
+ADDPD          xmmreg,xmmrm            \331\366\2\x0F\x58\110          WILLAMETTE,SSE2,SM
+ADDSD          xmmreg,xmmrm            \331\332\2\x0F\x58\110          WILLAMETTE,SSE2
+ANDNPD         xmmreg,xmmrm            \331\366\2\x0F\x55\110          WILLAMETTE,SSE2,SM
+ANDPD          xmmreg,xmmrm            \331\366\2\x0F\x54\110          WILLAMETTE,SSE2,SM
+CMPEQPD                xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2,SM
+CMPEQSD                xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x00    WILLAMETTE,SSE2
+CMPLEPD                xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2,SM
+CMPLESD                xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x02    WILLAMETTE,SSE2
+CMPLTPD                xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2,SM
+CMPLTSD                xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x01    WILLAMETTE,SSE2
+CMPNEQPD       xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2,SM
+CMPNEQSD       xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x04    WILLAMETTE,SSE2
+CMPNLEPD       xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2,SM
+CMPNLESD       xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x06    WILLAMETTE,SSE2
+CMPNLTPD       xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2,SM
+CMPNLTSD       xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x05    WILLAMETTE,SSE2
+CMPORDPD       xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2,SM
+CMPORDSD       xmmreg,xmmrm            \331\332\2\x0F\xC2\110\1\x07    WILLAMETTE,SSE2
+CMPUNORDPD     xmmreg,xmmrm            \331\366\2\x0F\xC2\110\1\x03    WILLAMETTE,SSE2,SM
+CMPUNORDSD     xmmreg,xmmrm            \331\332\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,xmmreg,imm       \331\366\2\x0F\xC2\110\26       WILLAMETTE,SSE2,SB,AR2
 CMPPD          xmmreg,mem,imm          \331\366\2\x0F\xC2\110\26       WILLAMETTE,SSE2,SM2,SB,AR2
 CMPSD          xmmreg,xmmreg,imm       \331\332\2\x0F\xC2\110\26       WILLAMETTE,SSE2,SB,AR2
 CMPSD          xmmreg,mem,imm          \331\332\2\x0F\xC2\110\26       WILLAMETTE,SSE2,SB,AR2
-COMISD         xmmreg,xmmreg           \331\366\2\x0F\x2F\110          WILLAMETTE,SSE2
-COMISD         xmmreg,mem              \331\366\2\x0F\x2F\110          WILLAMETTE,SSE2
-CVTDQ2PD       xmmreg,xmmreg           \333\2\x0F\xE6\110              WILLAMETTE,SSE2
-CVTDQ2PD       xmmreg,mem              \333\2\x0F\xE6\110              WILLAMETTE,SSE2
-CVTDQ2PS       xmmreg,xmmreg           \2\x0F\x5B\110                  WILLAMETTE,SSE2
-CVTDQ2PS       xmmreg,mem              \2\x0F\x5B\110                  WILLAMETTE,SSE2,SM
-CVTPD2DQ       xmmreg,xmmreg           \332\2\x0F\xE6\110              WILLAMETTE,SSE2
-CVTPD2DQ       xmmreg,mem              \332\2\x0F\xE6\110              WILLAMETTE,SSE2,SM
-CVTPD2PI       mmxreg,xmmreg           \366\2\x0F\x2D\110              WILLAMETTE,SSE2
-CVTPD2PI       mmxreg,mem              \366\2\x0F\x2D\110              WILLAMETTE,SSE2
-CVTPD2PS       xmmreg,xmmreg           \366\2\x0F\x5A\110              WILLAMETTE,SSE2
-CVTPD2PS       xmmreg,mem              \366\2\x0F\x5A\110              WILLAMETTE,SSE2,SM
-CVTPI2PD       xmmreg,mmxreg           \366\2\x0F\x2A\110              WILLAMETTE,SSE2
-CVTPI2PD       xmmreg,mem              \366\2\x0F\x2A\110              WILLAMETTE,SSE2
-CVTPS2DQ       xmmreg,xmmreg           \366\2\x0F\x5B\110              WILLAMETTE,SSE2
-CVTPS2DQ       xmmreg,mem              \366\2\x0F\x5B\110              WILLAMETTE,SSE2,SM
-CVTPS2PD       xmmreg,xmmreg           \2\x0F\x5A\110                  WILLAMETTE,SSE2
-CVTPS2PD       xmmreg,mem              \2\x0F\x5A\110                  WILLAMETTE,SSE2
-CVTSD2SI       reg32,xmmreg            \332\2\x0F\x2D\110              WILLAMETTE,SSE2
-CVTSD2SI       reg32,mem               \332\2\x0F\x2D\110              WILLAMETTE,SSE2
-CVTSD2SS       xmmreg,xmmreg           \332\2\x0F\x5A\110              WILLAMETTE,SSE2
-CVTSD2SS       xmmreg,mem              \332\2\x0F\x5A\110              WILLAMETTE,SSE2
+COMISD         xmmreg,xmmrm            \331\366\2\x0F\x2F\110          WILLAMETTE,SSE2
+CVTDQ2PD       xmmreg,xmmrm            \333\2\x0F\xE6\110              WILLAMETTE,SSE2
+CVTDQ2PS       xmmreg,xmmrm            \2\x0F\x5B\110                  WILLAMETTE,SSE2,SM
+CVTPD2DQ       xmmreg,xmmrm            \332\2\x0F\xE6\110              WILLAMETTE,SSE2,SM
+CVTPD2PI       mmxreg,xmmrm            \366\2\x0F\x2D\110              WILLAMETTE,SSE2
+CVTPD2PS       xmmreg,xmmrm            \366\2\x0F\x5A\110              WILLAMETTE,SSE2,SM
+CVTPI2PD       xmmreg,mmxrm            \366\2\x0F\x2A\110              WILLAMETTE,SSE2
+CVTPS2DQ       xmmreg,xmmrm            \366\2\x0F\x5B\110              WILLAMETTE,SSE2,SM
+CVTPS2PD       xmmreg,xmmrm            \2\x0F\x5A\110                  WILLAMETTE,SSE2
+CVTSD2SI       reg32,xmmrm             \332\2\x0F\x2D\110              WILLAMETTE,SSE2
+CVTSD2SS       xmmreg,xmmrm            \332\2\x0F\x5A\110              WILLAMETTE,SSE2
 CVTSI2SD       xmmreg,reg32            \332\2\x0F\x2A\110              WILLAMETTE,SSE2
 CVTSI2SD       xmmreg,mem              \332\2\x0F\x2A\110              WILLAMETTE,SSE2
-CVTSS2SD       xmmreg,xmmreg           \333\2\x0F\x5A\110              WILLAMETTE,SSE2
-CVTSS2SD       xmmreg,mem              \333\2\x0F\x5A\110              WILLAMETTE,SSE2
-CVTTPD2PI      mmxreg,xmmreg           \366\2\x0F\x2C\110              WILLAMETTE,SSE2
-CVTTPD2PI      mmxreg,mem              \366\2\x0F\x2C\110              WILLAMETTE,SSE2
-CVTTPD2DQ      xmmreg,xmmreg           \366\2\x0F\xE6\110              WILLAMETTE,SSE2
-CVTTPD2DQ      xmmreg,mem              \366\2\x0F\xE6\110              WILLAMETTE,SSE2,SM
-CVTTPS2DQ      xmmreg,xmmreg           \333\2\x0F\x5B\110              WILLAMETTE,SSE2
-CVTTPS2DQ      xmmreg,mem              \333\2\x0F\x5B\110              WILLAMETTE,SSE2,SM
-CVTTSD2SI      reg32,xmmreg            \332\2\x0F\x2C\110              WILLAMETTE,SSE2
-CVTTSD2SI      reg32,mem               \332\2\x0F\x2C\110              WILLAMETTE,SSE2
-DIVPD          xmmreg,xmmreg           \366\2\x0F\x5E\110              WILLAMETTE,SSE2
-DIVPD          xmmreg,mem              \366\2\x0F\x5E\110              WILLAMETTE,SSE2,SM
-DIVSD          xmmreg,xmmreg           \332\2\x0F\x5E\110              WILLAMETTE,SSE2
-DIVSD          xmmreg,mem              \332\2\x0F\x5E\110              WILLAMETTE,SSE2
-MAXPD          xmmreg,xmmreg           \366\2\x0F\x5F\110              WILLAMETTE,SSE2
-MAXPD          xmmreg,mem              \366\2\x0F\x5F\110              WILLAMETTE,SSE2,SM
-MAXSD          xmmreg,xmmreg           \332\2\x0F\x5F\110              WILLAMETTE,SSE2
-MAXSD          xmmreg,mem              \332\2\x0F\x5F\110              WILLAMETTE,SSE2
-MINPD          xmmreg,xmmreg           \366\2\x0F\x5D\110              WILLAMETTE,SSE2
-MINPD          xmmreg,mem              \366\2\x0F\x5D\110              WILLAMETTE,SSE2,SM
-MINSD          xmmreg,xmmreg           \332\2\x0F\x5D\110              WILLAMETTE,SSE2
-MINSD          xmmreg,mem              \332\2\x0F\x5D\110              WILLAMETTE,SSE2
+CVTSS2SD       xmmreg,xmmrm            \333\2\x0F\x5A\110              WILLAMETTE,SSE2
+CVTTPD2PI      mmxreg,xmmrm            \366\2\x0F\x2C\110              WILLAMETTE,SSE2
+CVTTPD2DQ      xmmreg,xmmrm            \366\2\x0F\xE6\110              WILLAMETTE,SSE2,SM
+CVTTPS2DQ      xmmreg,xmmrm            \333\2\x0F\x5B\110              WILLAMETTE,SSE2,SM
+CVTTSD2SI      reg32,xmmrm             \332\2\x0F\x2C\110              WILLAMETTE,SSE2
+DIVPD          xmmreg,xmmrm            \366\2\x0F\x5E\110              WILLAMETTE,SSE2,SM
+DIVSD          xmmreg,xmmrm            \332\2\x0F\x5E\110              WILLAMETTE,SSE2
+MAXPD          xmmreg,xmmrm            \366\2\x0F\x5F\110              WILLAMETTE,SSE2,SM
+MAXSD          xmmreg,xmmrm            \332\2\x0F\x5F\110              WILLAMETTE,SSE2
+MINPD          xmmreg,xmmrm            \366\2\x0F\x5D\110              WILLAMETTE,SSE2,SM
+MINSD          xmmreg,xmmrm            \332\2\x0F\x5D\110              WILLAMETTE,SSE2
 MOVAPD         xmmreg,xmmreg           \366\2\x0F\x28\110              WILLAMETTE,SSE2
 MOVAPD         xmmreg,xmmreg           \366\2\x0F\x29\110              WILLAMETTE,SSE2
 MOVAPD         mem,xmmreg              \366\2\x0F\x29\101              WILLAMETTE,SSE2,SM
@@ -1870,51 +1637,31 @@ MOVUPD          xmmreg,xmmreg           \366\2\x0F\x10\110              WILLAMETTE,SSE2
 MOVUPD         xmmreg,xmmreg           \366\2\x0F\x11\110              WILLAMETTE,SSE2
 MOVUPD         mem,xmmreg              \366\2\x0F\x11\101              WILLAMETTE,SSE2,SM
 MOVUPD         xmmreg,mem              \366\2\x0F\x10\110              WILLAMETTE,SSE2,SM
-MULPD          xmmreg,xmmreg           \366\2\x0F\x59\110              WILLAMETTE,SSE2
-MULPD          xmmreg,mem              \366\2\x0F\x59\110              WILLAMETTE,SSE2,SM
-MULSD          xmmreg,xmmreg           \332\2\x0F\x59\110              WILLAMETTE,SSE2
-MULSD          xmmreg,mem              \332\2\x0F\x59\110              WILLAMETTE,SSE2
-ORPD           xmmreg,mem              \366\2\x0F\x56\110              WILLAMETTE,SSE2,SM
-ORPD           xmmreg,xmmreg           \366\2\x0F\x56\110              WILLAMETTE,SSE2
+MULPD          xmmreg,xmmrm            \366\2\x0F\x59\110              WILLAMETTE,SSE2,SM
+MULSD          xmmreg,xmmrm            \332\2\x0F\x59\110              WILLAMETTE,SSE2
+ORPD           xmmreg,xmmrm            \366\2\x0F\x56\110              WILLAMETTE,SSE2,SM
 SHUFPD         xmmreg,xmmreg,imm       \366\2\x0F\xC6\110\26           WILLAMETTE,SSE2,SB,AR2
 SHUFPD         xmmreg,mem,imm          \366\2\x0F\xC6\110\26           WILLAMETTE,SSE2,SM,SB,AR2
-SQRTPD         xmmreg,xmmreg           \366\2\x0F\x51\110              WILLAMETTE,SSE2
-SQRTPD         xmmreg,mem              \366\2\x0F\x51\110              WILLAMETTE,SSE2,SM
-SQRTSD         xmmreg,xmmreg           \332\2\x0F\x51\110              WILLAMETTE,SSE2
-SQRTSD         xmmreg,mem              \332\2\x0F\x51\110              WILLAMETTE,SSE2
-SUBPD          xmmreg,xmmreg           \366\2\x0F\x5C\110              WILLAMETTE,SSE2
-SUBPD          xmmreg,mem              \366\2\x0F\x5C\110              WILLAMETTE,SSE2,SM
-SUBSD          xmmreg,xmmreg           \332\2\x0F\x5C\110              WILLAMETTE,SSE2
-SUBSD          xmmreg,mem              \332\2\x0F\x5C\110              WILLAMETTE,SSE2
-UCOMISD                xmmreg,xmmreg           \366\2\x0F\x2E\110              WILLAMETTE,SSE2
-UCOMISD                xmmreg,mem              \366\2\x0F\x2E\110              WILLAMETTE,SSE2
-UNPCKHPD       xmmreg,xmmreg           \366\2\x0F\x15\110              WILLAMETTE,SSE2
-UNPCKHPD       xmmreg,mem              \366\2\x0F\x15\110              WILLAMETTE,SSE2,SM
-UNPCKLPD       xmmreg,xmmreg           \366\2\x0F\x14\110              WILLAMETTE,SSE2
-UNPCKLPD       xmmreg,mem              \366\2\x0F\x14\110              WILLAMETTE,SSE2,SM
-XORPD          xmmreg,xmmreg           \366\2\x0F\x57\110              WILLAMETTE,SSE2
-XORPD          xmmreg,mem              \366\2\x0F\x57\110              WILLAMETTE,SSE2,SM
+SQRTPD         xmmreg,xmmrm            \366\2\x0F\x51\110              WILLAMETTE,SSE2,SM
+SQRTSD         xmmreg,xmmrm            \332\2\x0F\x51\110              WILLAMETTE,SSE2
+SUBPD          xmmreg,xmmrm            \366\2\x0F\x5C\110              WILLAMETTE,SSE2,SM
+SUBSD          xmmreg,xmmrm            \332\2\x0F\x5C\110              WILLAMETTE,SSE2
+UCOMISD                xmmreg,xmmrm            \366\2\x0F\x2E\110              WILLAMETTE,SSE2
+UNPCKHPD       xmmreg,xmmrm            \366\2\x0F\x15\110              WILLAMETTE,SSE2,SM
+UNPCKLPD       xmmreg,xmmrm            \366\2\x0F\x14\110              WILLAMETTE,SSE2,SM
+XORPD          xmmreg,xmmrm            \366\2\x0F\x57\110              WILLAMETTE,SSE2,SM
 
 ; Prescott New Instructions (SSE3)
-ADDSUBPD       xmmreg,mem              \366\2\x0F\xD0\110              PRESCOTT,SSE3,SM
-ADDSUBPD       xmmreg,xmmreg           \366\2\x0F\xD0\110              PRESCOTT,SSE3
-ADDSUBPS       xmmreg,mem              \332\2\x0F\xD0\110              PRESCOTT,SSE3,SM
-ADDSUBPS       xmmreg,xmmreg           \332\2\x0F\xD0\110              PRESCOTT,SSE3
-HADDPD         xmmreg,mem              \366\2\x0F\x7C\110              PRESCOTT,SSE3,SM
-HADDPD         xmmreg,xmmreg           \366\2\x0F\x7C\110              PRESCOTT,SSE3
-HADDPS         xmmreg,mem              \332\2\x0F\x7C\110              PRESCOTT,SSE3,SM
-HADDPS         xmmreg,xmmreg           \332\2\x0F\x7C\110              PRESCOTT,SSE3
-HSUBPD         xmmreg,mem              \366\2\x0F\x7D\110              PRESCOTT,SSE3,SM
-HSUBPD         xmmreg,xmmreg           \366\2\x0F\x7D\110              PRESCOTT,SSE3
-HSUBPS         xmmreg,mem              \332\2\x0F\x7D\110              PRESCOTT,SSE3,SM
-HSUBPS         xmmreg,xmmreg           \332\2\x0F\x7D\110              PRESCOTT,SSE3
+ADDSUBPD       xmmreg,xmmrm            \366\2\x0F\xD0\110              PRESCOTT,SSE3,SM
+ADDSUBPS       xmmreg,xmmrm            \332\2\x0F\xD0\110              PRESCOTT,SSE3,SM
+HADDPD         xmmreg,xmmrm            \366\2\x0F\x7C\110              PRESCOTT,SSE3,SM
+HADDPS         xmmreg,xmmrm            \332\2\x0F\x7C\110              PRESCOTT,SSE3,SM
+HSUBPD         xmmreg,xmmrm            \366\2\x0F\x7D\110              PRESCOTT,SSE3,SM
+HSUBPS         xmmreg,xmmrm            \332\2\x0F\x7D\110              PRESCOTT,SSE3,SM
 LDDQU          xmmreg,mem              \332\2\x0F\xF0\110              PRESCOTT,SSE3,SM
-MOVDDUP                xmmreg,mem              \332\2\x0F\x12\110              PRESCOTT,SSE3
-MOVDDUP                xmmreg,xmmreg           \332\2\x0F\x12\110              PRESCOTT,SSE3
-MOVSHDUP       xmmreg,mem              \333\2\x0F\x16\110              PRESCOTT,SSE3
-MOVSHDUP       xmmreg,xmmreg           \333\2\x0F\x16\110              PRESCOTT,SSE3
-MOVSLDUP       xmmreg,mem              \333\2\x0F\x12\110              PRESCOTT,SSE3
-MOVSLDUP       xmmreg,xmmreg           \333\2\x0F\x12\110              PRESCOTT,SSE3
+MOVDDUP                xmmreg,xmmrm            \332\2\x0F\x12\110              PRESCOTT,SSE3
+MOVSHDUP       xmmreg,xmmrm            \333\2\x0F\x16\110              PRESCOTT,SSE3
+MOVSLDUP       xmmreg,xmmrm            \333\2\x0F\x12\110              PRESCOTT,SSE3
 
 ; VMX Instructions
 VMCALL         void                    \3\x0F\x01\xC1                  VMX