瀏覽代碼

* Re-commit r17437 after more testing and fixing aasmcpu.pp in r17449.

git-svn-id: trunk@17452 -
sergei 14 年之前
父節點
當前提交
3b979fef6d

+ 2 - 0
compiler/i386/i386att.inc

@@ -512,6 +512,7 @@
 'cmpltpd',
 'cmpltpd',
 'cmpltsd',
 'cmpltsd',
 'cmpneqpd',
 'cmpneqpd',
+'cmpneqsd',
 'cmpnlepd',
 'cmpnlepd',
 'cmpnlesd',
 'cmpnlesd',
 'cmpnltpd',
 'cmpnltpd',
@@ -666,6 +667,7 @@
 'roundpd',
 'roundpd',
 'roundss',
 'roundss',
 'roundsd',
 'roundsd',
+'crc32',
 'pcmpestri',
 'pcmpestri',
 'pcmpestrm',
 'pcmpestrm',
 'pcmpistri',
 'pcmpistri',

+ 2 - 0
compiler/i386/i386atts.inc

@@ -530,6 +530,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufNONE,
 attsufNONE,
 attsufINT,
 attsufINT,
@@ -666,6 +667,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufINT,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,

+ 2 - 0
compiler/i386/i386int.inc

@@ -512,6 +512,7 @@
 'cmpltpd',
 'cmpltpd',
 'cmpltsd',
 'cmpltsd',
 'cmpneqpd',
 'cmpneqpd',
+'cmpneqsd',
 'cmpnlepd',
 'cmpnlepd',
 'cmpnlesd',
 'cmpnlesd',
 'cmpnltpd',
 'cmpnltpd',
@@ -666,6 +667,7 @@
 'roundpd',
 'roundpd',
 'roundss',
 'roundss',
 'roundsd',
 'roundsd',
+'crc32',
 'pcmpestri',
 'pcmpestri',
 'pcmpestrm',
 'pcmpestrm',
 'pcmpistri',
 'pcmpistri',

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
 { don't edit, this file is generated from x86ins.dat }
-1560;
+1215;

+ 2 - 0
compiler/i386/i386op.inc

@@ -512,6 +512,7 @@ A_CMPLESD,
 A_CMPLTPD,
 A_CMPLTPD,
 A_CMPLTSD,
 A_CMPLTSD,
 A_CMPNEQPD,
 A_CMPNEQPD,
+A_CMPNEQSD,
 A_CMPNLEPD,
 A_CMPNLEPD,
 A_CMPNLESD,
 A_CMPNLESD,
 A_CMPNLTPD,
 A_CMPNLTPD,
@@ -666,6 +667,7 @@ A_ROUNDPS,
 A_ROUNDPD,
 A_ROUNDPD,
 A_ROUNDSS,
 A_ROUNDSS,
 A_ROUNDSD,
 A_ROUNDSD,
+A_CRC32,
 A_PCMPESTRI,
 A_PCMPESTRI,
 A_PCMPESTRM,
 A_PCMPESTRM,
 A_PCMPISTRI,
 A_PCMPISTRI,

+ 2 - 0
compiler/i386/i386prop.inc

@@ -522,6 +522,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
@@ -666,6 +667,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_Mop1, Ch_Rop2, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),

+ 2939 - 5354
compiler/i386/i386tab.inc

@@ -619,16 +619,9 @@
   (
   (
     opcode  : A_CMPSD;
     opcode  : A_CMPSD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#242#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#242#193#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #220#2#15#194#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_CMPSW;
     opcode  : A_CMPSW;
@@ -3119,7 +3112,7 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#110#72;
+    code    : #2#15#110#72;
     flags   : if_pent or if_mmx or if_sd
     flags   : if_pent or if_mmx or if_sd
   ),
   ),
   (
   (
@@ -3133,7 +3126,7 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_mmxreg,ot_none);
     optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #192#2#15#126#65;
+    code    : #2#15#126#65;
     flags   : if_pent or if_mmx or if_sd
     flags   : if_pent or if_mmx or if_sd
   ),
   ),
   (
   (
@@ -3147,35 +3140,35 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_reg32,ot_none);
     optypes : (ot_xmmreg,ot_reg32,ot_none);
-    code    : #1#102#211#2#15#110#72;
+    code    : #241#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_xmmreg,ot_none);
     optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#126#65;
+    code    : #241#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#213#2#15#126#65;
+    code    : #241#213#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#213#2#15#110#72;
+    code    : #241#213#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#111#72;
+    code    : #2#15#111#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
@@ -3189,7 +3182,7 @@
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_mmxreg,ot_none);
     optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #192#2#15#127#65;
+    code    : #2#15#127#65;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
@@ -3203,42 +3196,42 @@
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#126#72;
+    code    : #219#2#15#126#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#214#72;
+    code    : #241#2#15#214#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#214#65;
+    code    : #241#2#15#214#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#126#72;
+    code    : #219#2#15#126#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_reg64,ot_none);
     optypes : (ot_xmmreg,ot_reg64,ot_none);
-    code    : #1#102#214#2#15#110#72;
+    code    : #241#214#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg64,ot_xmmreg,ot_none);
     optypes : (ot_reg64,ot_xmmreg,ot_none);
-    code    : #1#102#214#2#15#126#65;
+    code    : #241#214#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
@@ -3259,28 +3252,28 @@
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#16#72;
+    code    : #220#2#15#16#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#17#72;
+    code    : #220#2#15#17#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#242#211#2#15#17#65;
+    code    : #220#2#15#17#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#16#72;
+    code    : #220#2#15#16#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
@@ -3524,7400 +3517,4992 @@
   (
   (
     opcode  : A_PACKSSDW;
     opcode  : A_PACKSSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#107#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKSSDW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#107#72;
     code    : #2#15#107#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKSSDW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#107#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSDW;
     opcode  : A_PACKSSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#107#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#107#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSWB;
     opcode  : A_PACKSSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#99#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKSSWB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#99#72;
     code    : #2#15#99#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKSSWB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#99#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSWB;
     opcode  : A_PACKSSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#99#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#99#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKUSWB;
     opcode  : A_PACKUSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#103#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKUSWB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#103#72;
     code    : #2#15#103#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKUSWB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#103#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKUSWB;
     opcode  : A_PACKUSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#103#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#103#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDB;
     opcode  : A_PADDB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#252#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#252#72;
     code    : #2#15#252#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PADDB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#252#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDB;
     opcode  : A_PADDB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#252#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#252#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDD;
     opcode  : A_PADDD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#254#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#254#72;
     code    : #2#15#254#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PADDD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#254#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDD;
     opcode  : A_PADDD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#254#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#254#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSB;
     opcode  : A_PADDSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#236#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#236#72;
     code    : #2#15#236#72;
-    flags   : if_pent or if_mmx
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSB;
     opcode  : A_PADDSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#236#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#236#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
-  (
-    opcode  : A_PADDSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#236#72;
-    flags   : if_willamette or if_sse2
-  ),
   (
   (
     opcode  : A_PADDSIW;
     opcode  : A_PADDSIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#81#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#81#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PADDSIW;
+    opcode  : A_PADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#81#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#237#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSW;
     opcode  : A_PADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#237#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#237#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#237#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#220#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#237#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#220#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#237#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#221#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#220#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#221#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#220#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#253#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#220#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#253#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PAND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#220#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#219#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PAND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#221#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#219#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PANDN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#221#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#223#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PANDN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#221#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#223#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PAVEB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#221#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#80#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PAVGUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#253#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#191;
+    flags   : if_pent or if_3dnow or if_sm
+  ),
+  (
+    opcode  : A_PCMPEQB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#116#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#253#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#116#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#253#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#118#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#253#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#118#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPEQW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#219#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#117#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPEQW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#219#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#117#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPGTB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#219#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#100#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPGTB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#219#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#100#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#223#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#102#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#223#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#102#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#223#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#101#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#223#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#101#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVEB;
+    opcode  : A_PDISTIB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#80#72;
+    code    : #2#15#84#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PAVEB;
+    opcode  : A_PF2ID;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#80#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#29;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGUSB;
+    opcode  : A_PFACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#191;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#174;
     flags   : if_pent or if_3dnow or if_sm
     flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGUSB;
+    opcode  : A_PFADD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#191;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#158;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPEQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#116#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#176;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPGE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#116#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#144;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPGT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#116#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#160;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFMAX;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#116#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#164;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFMIN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#118#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#148;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFMUL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#118#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#180;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFRCP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#118#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#150;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFRCPIT1;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#118#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#166;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRCPIT2;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#117#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#182;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRSQIT1;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#117#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#167;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRSQRT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#117#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#151;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFSUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#117#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#154;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PFSUBR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#100#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#170;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PI2FD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#100#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#13;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PMACHRIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#100#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #2#15#94#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PMADDWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#100#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#245#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMADDWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#102#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#245#72;
+    flags   : if_willamette or if_sm or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMAGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#102#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#82#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMULHRIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#102#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#93#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMULHRWA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#102#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#183;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULHRWC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#101#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#89#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
+  ),
+  (
+    opcode  : A_PMULHW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#229#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULHW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#101#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#229#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#101#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#213#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#101#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#213#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PDISTIB;
+    opcode  : A_PMVGEZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#84#72;
+    code    : #2#15#92#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PF2ID;
+    opcode  : A_PMVLZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#29;
-    flags   : if_pent or if_3dnow or if_sm
+    code    : #2#15#91#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PF2ID;
+    opcode  : A_PMVNZB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#29;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #2#15#90#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PFACC;
+    opcode  : A_PMVZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#174;
-    flags   : if_pent or if_3dnow or if_sm
+    code    : #2#15#88#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PFACC;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#174;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#8#88#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PFADD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#158;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#1#143#128#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PFADD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#158;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg_cs,ot_none,ot_none);
+    code    : #1#15;
+    flags   : if_8086 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PFCMPEQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#176;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg_dess,ot_none,ot_none);
+    code    : #4;
+    flags   : if_8086 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPEQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#176;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg_fsgs,ot_none,ot_none);
+    code    : #1#15#5#221;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGE;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#144;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POPA;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #215#1#97;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGE;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#144;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POPAD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#97;
+    flags   : if_386 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGT;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#160;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POPAW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#97;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGT;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#160;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POPF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #215#1#157;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFMAX;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#164;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POPFD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#157;
+    flags   : if_386 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFMAX;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#164;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POPFW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#157;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PFMIN;
+    opcode  : A_POR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#148;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#235#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMIN;
+    opcode  : A_POR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#148;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#235#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMUL;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#180;
+    opcode  : A_PREFETCH;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #2#15#13#128;
     flags   : if_pent or if_3dnow or if_sm
     flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMUL;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#180;
-    flags   : if_pent or if_3dnow
+    opcode  : A_PREFETCHW;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #2#15#13#129;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCP;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#150;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#242#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCP;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#150;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT1;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#166;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#242#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT1;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#166;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT2;
+    opcode  : A_PSLLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#182;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#135#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT2;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#182;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#243#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRSQIT1;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#167;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#115#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRSQIT1;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#167;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#243#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRSQRT;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#151;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRSQRT;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#151;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#241#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFSUB;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#154;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFSUB;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#154;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#241#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFSUBR;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#170;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFSUBR;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#170;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#226#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PI2FD;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#13;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#132#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PI2FD;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#13;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#226#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMACHRIW;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#94#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#132#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#245#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#225#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#245#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#132#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#245#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#225#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#245#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#132#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMAGW;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#82#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#210#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAGW;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#82#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRIW;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#93#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#210#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRIW;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#93#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWA;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#183;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#211#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWA;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#183;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#115#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWC;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#89#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#211#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWC;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#89#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#229#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#209#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#229#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#229#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#209#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#229#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#213#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#248#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#213#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#248#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#213#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#250#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#213#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#250#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVGEZB;
+    opcode  : A_PSUBSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#92#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#232#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVLZB;
+    opcode  : A_PSUBSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#91#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#232#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVNZB;
+    opcode  : A_PSUBSIW;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#90#72;
+    code    : #2#15#85#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PMVZB;
+    opcode  : A_PSUBSIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#88#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#8#88#221;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#1#143#128#221;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg_cs,ot_none,ot_none);
-    code    : #1#15;
-    flags   : if_8086 or if_undoc
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg_dess,ot_none,ot_none);
-    code    : #4;
-    flags   : if_8086 or if_nox86_64
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg_fsgs,ot_none,ot_none);
-    code    : #1#15#5#221;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_POPA;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #215#1#97;
-    flags   : if_186 or if_nox86_64
-  ),
-  (
-    opcode  : A_POPAD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#97;
-    flags   : if_386 or if_nox86_64
-  ),
-  (
-    opcode  : A_POPAW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#97;
-    flags   : if_186 or if_nox86_64
-  ),
-  (
-    opcode  : A_POPF;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #215#1#157;
-    flags   : if_186 or if_nox86_64
-  ),
-  (
-    opcode  : A_POPFD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#157;
-    flags   : if_386 or if_nox86_64
-  ),
-  (
-    opcode  : A_POPFW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#157;
-    flags   : if_186 or if_nox86_64
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#85#72;
+    flags   : if_pent or if_mmx or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#235#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#233#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#235#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_POR;
+    opcode  : A_PSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#235#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#233#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PSUBUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#235#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PREFETCH;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #2#15#13#128;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#216#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PREFETCHW;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #2#15#13#129;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_PSUBUSB;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#216#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PSUBUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#242#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#217#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PSUBUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#242#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#217#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PSUBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#134#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#249#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PSUBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#242#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#249#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#242#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PSLLD;
+    opcode  : A_PUNPCKHBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#104#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLDQ;
+    opcode  : A_PUNPCKHBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#135#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#104#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKHDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#243#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#106#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKHDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#243#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#106#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKHWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#115#134#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#105#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKHWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#243#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#105#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKLBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#243#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#96#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PUNPCKLBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#96#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_PUNPCKLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#241#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#98#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_PUNPCKLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#241#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#98#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_PUNPCKLWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#134#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#97#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_PUNPCKLWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#241#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#97#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#241#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PSLLW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#8#80#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#226#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#1#255#134#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#226#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits32,ot_none,ot_none);
+    code    : #213#1#104#32#221;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#132#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits16,ot_none,ot_none);
+    code    : #212#1#104#24#221;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#226#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
+    code    : #1#106#12#221;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#226#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_reg_fsgs,ot_none,ot_none);
+    code    : #1#15#7#221;
+    flags   : if_386 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#132#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_reg_sreg,ot_none,ot_none);
+    code    : #6;
+    flags   : if_8086 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#225#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_PUSHA;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #215#1#96;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#225#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSHAD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#96;
+    flags   : if_386 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#132#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSHAW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#96;
+    flags   : if_186 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#225#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PUSHF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #215#1#156;
+    flags   : if_186
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#225#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PUSHFD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#156;
+    flags   : if_386 or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#132#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_PUSHFW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#156;
+    flags   : if_186
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_PXOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#210#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#239#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_PXOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#210#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#239#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#130#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#210#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#210#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#130#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#211#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#211#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#130#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#115#130#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#211#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#211#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#131#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#209#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#209#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#131#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#130#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_RDSHR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#54;
+    flags   : if_p6 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#209#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RDMSR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#50;
+    flags   : if_pent or if_priv
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#209#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RDPMC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#51;
+    flags   : if_p6
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_RDTSC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#49;
+    flags   : if_pent
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#248#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_REP;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#248#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_REPE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#248#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSUBB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#248#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_REPNE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#250#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_REPNZ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#250#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_REPZ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#250#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RET;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#195;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#250#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RET;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#194#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#232#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_RETF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#203;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#232#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_RETF;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#202#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#232#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RETN;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#195;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#232#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RETN;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#194#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSUBSIW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#85#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSIW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#85#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#233#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#128#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#233#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#233#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#233#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#128#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#216#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#216#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#216#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#129#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#216#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#217#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#217#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#129#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_RSDC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#217#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg_sreg,ot_memory or ot_bits80,ot_none);
+    code    : #193#2#15#121#65;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#217#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RSLDT;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
+    code    : #192#2#15#123#128;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#249#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_RSM;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#170;
+    flags   : if_pent or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#249#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_SAHF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#158;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#249#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#249#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#104#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#132#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#104#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#104#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#104#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#132#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#106#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#106#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#106#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_SALC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#214;
+    flags   : if_8086 or if_undoc or if_nox86_64
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#106#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#105#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#105#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#135#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#105#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#105#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#96#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#135#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#96#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#25#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#96#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#27#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#96#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#131#13;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#98#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#24#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#98#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#26#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#98#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#29#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#98#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#131#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#97#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#29#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#97#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#208#1#129#131#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#97#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#28#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#97#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#8#80#221;
-    flags   : if_8086
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#128#131#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#1#255#134#221;
+    opcode  : A_SCASB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#1#174;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_immediate or ot_bits32,ot_none,ot_none);
-    code    : #213#1#104#32#221;
+    opcode  : A_SCASD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#213#1#175;
     flags   : if_386
     flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_immediate or ot_bits16,ot_none,ot_none);
-    code    : #212#1#104#24#221;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
-    code    : #1#106#12#221;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_reg_fsgs,ot_none,ot_none);
-    code    : #1#15#7#221;
-    flags   : if_386 or if_nox86_64
-  ),
-  (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_reg_sreg,ot_none,ot_none);
-    code    : #6;
-    flags   : if_8086 or if_nox86_64
+    opcode  : A_SCASW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#212#1#175;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUSHA;
+    opcode  : A_SEGCS;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #215#1#96;
-    flags   : if_186 or if_nox86_64
+    code    : #1#46;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUSHAD;
+    opcode  : A_SEGDS;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#96;
-    flags   : if_386 or if_nox86_64
+    code    : #1#62;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUSHAW;
+    opcode  : A_SEGES;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#96;
-    flags   : if_186 or if_nox86_64
+    code    : #1#38;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUSHF;
+    opcode  : A_SEGFS;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #215#1#156;
-    flags   : if_186
+    code    : #1#100;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUSHFD;
+    opcode  : A_SEGGS;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#156;
-    flags   : if_386 or if_nox86_64
+    code    : #1#101;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUSHFW;
+    opcode  : A_SEGSS;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#156;
-    flags   : if_186
+    code    : #1#54;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#239#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_SGDT;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#1#128;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#239#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#239#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#239#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#130;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_RCL;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#130;
+    code    : #192#208#1#211#132;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#130#21;
-    flags   : if_8086 or if_sb
+    code    : #192#208#1#193#132#21;
+    flags   : if_186 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_RCL;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#130;
+    code    : #192#211#1#208#132;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#130;
+    code    : #192#211#1#210#132;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#130#21;
+    code    : #192#211#1#192#132#21;
     flags   : if_186 or if_sb
     flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHLD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
+    code    : #192#209#2#15#164#65#22;
+    flags   : if_386 or if_sm2 or if_sb or if_ar2
+  ),
+  (
+    opcode  : A_SHLD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
+    code    : #192#209#2#15#165#65;
+    flags   : if_386 or if_sm
+  ),
+  (
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#131;
+    code    : #192#208#1#209#133;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#131;
+    code    : #192#208#1#211#133;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
     optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#131#21;
-    flags   : if_8086 or if_sb
+    code    : #192#208#1#193#133#21;
+    flags   : if_186 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#131;
+    code    : #192#211#1#208#133;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#131;
+    code    : #192#211#1#210#133;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#131#21;
+    code    : #192#211#1#192#133#21;
     flags   : if_186 or if_sb
     flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_RDSHR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#54;
-    flags   : if_p6 or if_cyrix or if_smm
+    opcode  : A_SHRD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
+    code    : #192#209#2#15#172#65#22;
+    flags   : if_386 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_RDMSR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#50;
-    flags   : if_pent or if_priv
+    opcode  : A_SHRD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
+    code    : #192#209#2#15#173#65;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_RDPMC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#51;
-    flags   : if_p6
+    opcode  : A_SIDT;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#1#129;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_RDTSC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#49;
-    flags   : if_pent
+    opcode  : A_SLDT;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#128;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_REP;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    opcode  : A_SLDT;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#2#15#0#128;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_REPE;
+    opcode  : A_SMI;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    code    : #1#241;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_REPNE;
+    opcode  : A_SMINT;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : if_8086 or if_pre
+    code    : #2#15#56;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_REPNZ;
+    opcode  : A_SMINTOLD;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : if_8086 or if_pre
+    code    : #2#15#126;
+    flags   : if_486 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_REPZ;
+    opcode  : A_SMSW;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#2#15#1#132;
+    flags   : if_286
+  ),
+  (
+    opcode  : A_STC;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    code    : #1#249;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RET;
+    opcode  : A_STD;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#195;
+    code    : #1#253;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RET;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#194#24;
-    flags   : if_8086 or if_sw
+    opcode  : A_STI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#251;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RETF;
+    opcode  : A_STOSB;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#203;
+    code    : #1#170;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RETF;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#202#24;
-    flags   : if_8086 or if_sw
+    opcode  : A_STOSD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#171;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_RETN;
+    opcode  : A_STOSW;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#195;
+    code    : #212#1#171;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RETN;
+    opcode  : A_STR;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#194#24;
-    flags   : if_8086 or if_sw
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#129;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#128;
-    flags   : if_8086
+    opcode  : A_STR;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#2#15#0#129;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_ROL;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#128;
-    flags   : if_8086
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#41#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ROL;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#128#21;
-    flags   : if_8086 or if_sb
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#43#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ROL;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#128;
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#40#65;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_ROL;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#128;
-    flags   : if_8086
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#42#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ROL;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#128#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#133#13;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#129;
-    flags   : if_8086
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#45#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#129;
-    flags   : if_8086
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#133#33;
+    flags   : if_8086 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#129#21;
-    flags   : if_8086 or if_sb
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#45#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#129;
-    flags   : if_8086
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#129#133#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#129;
-    flags   : if_8086
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#44#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_ROR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
     optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#129#21;
-    flags   : if_186 or if_sb
+    code    : #192#211#1#128#133#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_RSDC;
+    opcode  : A_SVDC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_sreg,ot_memory or ot_bits80,ot_none);
-    code    : #193#2#15#121#65;
+    optypes : (ot_memory or ot_bits80,ot_reg_sreg,ot_none);
+    code    : #192#2#15#120#65;
     flags   : if_486 or if_cyrix or if_smm
     flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_RSLDT;
+    opcode  : A_SVLDT;
     ops     : 1;
     ops     : 1;
     optypes : (ot_memory or ot_bits80,ot_none,ot_none);
     optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#123#128;
+    code    : #192#2#15#122#128;
     flags   : if_486 or if_cyrix or if_smm
     flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_RSM;
+    opcode  : A_SVTS;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
+    code    : #192#2#15#124#128;
+    flags   : if_486 or if_cyrix or if_smm
+  ),
+  (
+    opcode  : A_SYSCALL;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#170;
-    flags   : if_pent or if_smm
+    code    : #2#15#5;
+    flags   : if_p6 or if_amd
   ),
   ),
   (
   (
-    opcode  : A_SAHF;
+    opcode  : A_SYSENTER;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#158;
-    flags   : if_8086
+    code    : #2#15#52;
+    flags   : if_p6
   ),
   ),
   (
   (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#132;
-    flags   : if_8086
+    opcode  : A_SYSEXIT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#53;
+    flags   : if_p6 or if_priv
   ),
   ),
   (
   (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#132;
-    flags   : if_8086
+    opcode  : A_SYSRET;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#7;
+    flags   : if_p6 or if_priv or if_amd
   ),
   ),
   (
   (
-    opcode  : A_SAL;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#132#21;
-    flags   : if_8086 or if_sb
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#133#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAL;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#132;
-    flags   : if_8086
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
+    code    : #193#208#1#133#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAL;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#132;
+    optypes : (ot_reg8,ot_reg8,ot_none);
+    code    : #192#211#1#132#65;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SAL;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#132#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #193#211#1#132#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SALC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#214;
-    flags   : if_8086 or if_undoc or if_nox86_64
+    opcode  : A_TEST;
+    ops     : 2;
+    optypes : (ot_reg_eax,ot_immediate,ot_none);
+    code    : #213#1#169#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#135;
-    flags   : if_8086
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#169#25;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#135;
-    flags   : if_8086
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#168#17;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#135#21;
-    flags   : if_8086 or if_sb
+    optypes : (ot_regmem or ot_bits32,ot_immediate,ot_none);
+    code    : #213#192#1#247#128#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#135;
-    flags   : if_8086
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#247#128#25;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#135;
-    flags   : if_8086
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#246#128#17;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SAR;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#135#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_memory,ot_immediate or ot_bits32,ot_none);
+    code    : #213#192#1#247#128#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#25#65;
+    optypes : (ot_memory,ot_immediate or ot_bits16,ot_none);
+    code    : #192#212#1#247#128#25;
     flags   : if_8086 or if_sm
     flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#27#72;
+    optypes : (ot_memory,ot_immediate or ot_bits8,ot_none);
+    code    : #192#1#246#128#17;
     flags   : if_8086 or if_sm
     flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#131#13;
-    flags   : if_8086
+    opcode  : A_UD1;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#185;
+    flags   : if_286 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#24#65;
-    flags   : if_8086
+    opcode  : A_UD2;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#11;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#26#72;
-    flags   : if_8086 or if_sm
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#17#65;
+    flags   : if_386 or if_undoc or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#29#33;
-    flags   : if_386 or if_sd
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
+    code    : #193#208#2#15#19#72;
+    flags   : if_386 or if_undoc or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#131#33;
-    flags   : if_386 or if_sd
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#2#15#16#65;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SBB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#29#25;
-    flags   : if_8086 or if_sw
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#2#15#18#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#208#1#129#131#25;
-    flags   : if_8086 or if_sw
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#28#17;
-    flags   : if_8086 or if_sb
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#131#17;
-    flags   : if_8086 or if_sb
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_reg16,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SCASB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#1#174;
-    flags   : if_8086
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SCASD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#213#1#175;
-    flags   : if_386
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SCASW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#212#1#175;
-    flags   : if_8086
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_reg16,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_SEGCS;
+    opcode  : A_WAIT;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#46;
-    flags   : if_8086 or if_pre
+    code    : #1#155;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SEGDS;
+    opcode  : A_WBINVD;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#62;
-    flags   : if_8086 or if_pre
+    code    : #2#15#9;
+    flags   : if_486 or if_priv
   ),
   ),
   (
   (
-    opcode  : A_SEGES;
+    opcode  : A_WRSHR;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#38;
-    flags   : if_8086 or if_pre
+    code    : #2#15#55;
+    flags   : if_p6 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_SEGFS;
+    opcode  : A_WRMSR;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#100;
-    flags   : if_8086 or if_pre
+    code    : #2#15#48;
+    flags   : if_pent or if_priv
   ),
   ),
   (
   (
-    opcode  : A_SEGGS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#101;
-    flags   : if_8086 or if_pre
+    opcode  : A_XADD;
+    ops     : 2;
+    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#193#65;
+    flags   : if_486 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SEGSS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#54;
-    flags   : if_8086 or if_pre
+    opcode  : A_XADD;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#2#15#192#65;
+    flags   : if_486
   ),
   ),
   (
   (
-    opcode  : A_SGDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#1#128;
-    flags   : if_286
+    opcode  : A_XBTS;
+    ops     : 2;
+    optypes : (ot_reg16,ot_memory,ot_none);
+    code    : #193#212#2#15#166#72;
+    flags   : if_386 or if_sw or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#132;
-    flags   : if_8086
+    optypes : (ot_reg16,ot_reg16,ot_none);
+    code    : #193#212#2#15#166#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#132;
-    flags   : if_8086
+    optypes : (ot_reg32,ot_memory,ot_none);
+    code    : #213#193#2#15#166#72;
+    flags   : if_386 or if_sd or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#132#21;
-    flags   : if_186 or if_sw
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #213#193#2#15#166#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#132;
+    optypes : (ot_reg_ax,ot_reg16,ot_none);
+    code    : #212#9#144;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#132;
-    flags   : if_8086
+    optypes : (ot_reg_eax,ot_reg32,ot_none);
+    code    : #213#9#144;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_SHL;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#132#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_reg16,ot_reg_ax,ot_none);
+    code    : #212#8#144;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHLD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
-    code    : #192#209#2#15#164#65#22;
-    flags   : if_386 or if_sm2 or if_sb or if_ar2
+    opcode  : A_XCHG;
+    ops     : 2;
+    optypes : (ot_reg32,ot_reg_eax,ot_none);
+    code    : #213#8#144;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_SHLD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
-    code    : #192#209#2#15#165#65;
-    flags   : if_386 or if_sm
+    opcode  : A_XCHG;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#135#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SHR;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#133;
-    flags   : if_8086
+    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#135#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SHR;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#133;
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#134#72;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHR;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#133#21;
-    flags   : if_186 or if_sw
+    optypes : (ot_memory or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#134#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#133;
+    opcode  : A_XLAT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#215;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#133;
+    opcode  : A_XLATB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#215;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SHR;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#133#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#49#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SHRD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
-    code    : #192#209#2#15#172#65#22;
-    flags   : if_386 or if_sm2 or if_sb or if_ar2
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#51#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SHRD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
-    code    : #192#209#2#15#173#65;
-    flags   : if_386 or if_sm
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#48#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SIDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#1#129;
-    flags   : if_286
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#50#72;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SLDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#128;
-    flags   : if_286
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#134#13;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SLDT;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#2#15#0#128;
-    flags   : if_286
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#53#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_SMI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#241;
-    flags   : if_386 or if_undoc
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#134#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_SMINT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#56;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#53#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_SMINTOLD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#126;
-    flags   : if_486 or if_cyrix
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#129#134#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_SMSW;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#2#15#1#132;
-    flags   : if_286
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#52#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_STC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#249;
-    flags   : if_8086
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#128#134#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_STD;
+    opcode  : A_XSTORE;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#253;
-    flags   : if_8086
+    code    : #3#15#167#192;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_STI;
+    opcode  : A_XCRYPTECB;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#251;
-    flags   : if_8086
+    code    : #219#3#15#167#200;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_STOSB;
+    opcode  : A_XCRYPTCBC;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#170;
-    flags   : if_8086
+    code    : #219#3#15#167#208;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_STOSD;
+    opcode  : A_XCRYPTCFB;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#171;
-    flags   : if_386
+    code    : #219#3#15#167#224;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_STOSW;
+    opcode  : A_XCRYPTOFB;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#171;
+    code    : #219#3#15#167#232;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_CMOVcc;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#15#11#64#72;
+    flags   : if_p6 or if_sm
+  ),
+  (
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits8,ot_none,ot_none);
+    code    : #11#112#40;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_STR;
+    opcode  : A_Jcc;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#129;
-    flags   : if_286 or if_prot
+    optypes : (ot_immediate or ot_bits16 or ot_bits32,ot_none,ot_none);
+    code    : #208#1#15#11#128#52;
+    flags   : if_386 or if_pass2
   ),
   ),
   (
   (
-    opcode  : A_STR;
+    opcode  : A_Jcc;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#2#15#0#129;
-    flags   : if_286 or if_prot
+    optypes : (ot_immediate or ot_short,ot_none,ot_none);
+    code    : #11#112#40;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#41#65;
-    flags   : if_8086 or if_sm
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_near,ot_none,ot_none);
+    code    : #208#1#15#11#128#52;
+    flags   : if_386 or if_pass2
   ),
   ),
   (
   (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#43#72;
-    flags   : if_8086 or if_sm
+    opcode  : A_SETcc;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits8,ot_none,ot_none);
+    code    : #192#211#1#15#11#144#128;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_ADDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#40#65;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#88#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_ADDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#42#72;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#88#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_ANDNPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#133#13;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#85#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_ANDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#45#33;
-    flags   : if_386 or if_sd
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#84#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_CMPEQPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#133#33;
-    flags   : if_8086 or if_sd
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#0;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_CMPEQSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#45#25;
-    flags   : if_8086 or if_sw
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#0;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_CMPLEPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#129#133#25;
-    flags   : if_8086 or if_sw
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#2;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_CMPLESS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#44#17;
-    flags   : if_8086 or if_sb
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#2;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SUB;
+    opcode  : A_CMPLTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#133#17;
-    flags   : if_8086 or if_sb
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#1;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SVDC;
+    opcode  : A_CMPLTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory or ot_bits80,ot_reg_sreg,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_486 or if_cyrix or if_smm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#1;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SVLDT;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#122#128;
-    flags   : if_486 or if_cyrix or if_smm
+    opcode  : A_CMPNEQPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#4;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SVTS;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#124#128;
-    flags   : if_486 or if_cyrix or if_smm
+    opcode  : A_CMPNEQSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#4;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SYSCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#5;
-    flags   : if_p6 or if_amd
+    opcode  : A_CMPNLEPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#6;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SYSENTER;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#52;
-    flags   : if_p6
+    opcode  : A_CMPNLESS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#6;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SYSEXIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#53;
-    flags   : if_p6 or if_priv
+    opcode  : A_CMPNLTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#5;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_SYSRET;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#7;
-    flags   : if_p6 or if_priv or if_amd
+    opcode  : A_CMPNLTSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#5;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CMPORDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#133#65;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#7;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CMPORDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#208#1#133#72;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#7;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CMPUNORDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_reg8,ot_none);
-    code    : #192#211#1#132#65;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#3;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CMPUNORDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #193#211#1#132#65;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#3;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg_eax,ot_immediate,ot_none);
-    code    : #213#1#169#33;
-    flags   : if_386 or if_sm
+    opcode  : A_CMPPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #217#2#15#194#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#169#25;
-    flags   : if_8086 or if_sm
+    opcode  : A_CMPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #219#2#15#194#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_COMISS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#168#17;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#47#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTPI2PS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits32,ot_immediate,ot_none);
-    code    : #213#192#1#247#128#33;
-    flags   : if_386 or if_sm
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #217#2#15#42#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTPI2PS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#247#128#25;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
+    code    : #211#217#2#15#42#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#246#128#17;
-    flags   : if_8086 or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #217#2#15#45#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits32,ot_none);
-    code    : #213#192#1#247#128#33;
-    flags   : if_386 or if_sm
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #211#217#2#15#45#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTSI2SS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits16,ot_none);
-    code    : #192#212#1#247#128#25;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #219#209#2#15#42#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_TEST;
+    opcode  : A_CVTSI2SS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits8,ot_none);
-    code    : #192#1#246#128#17;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_UD1;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#185;
-    flags   : if_286 or if_undoc
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
+    code    : #219#209#2#15#42#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_UD2;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#11;
-    flags   : if_286
+    opcode  : A_CVTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #219#208#2#15#45#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_UMOV;
+    opcode  : A_CVTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#17#65;
-    flags   : if_386 or if_undoc or if_sm
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #219#208#2#15#45#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_UMOV;
+    opcode  : A_CVTTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#208#2#15#19#72;
-    flags   : if_386 or if_undoc or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #217#2#15#44#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_UMOV;
+    opcode  : A_CVTTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#2#15#16#65;
-    flags   : if_386 or if_undoc
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #211#217#2#15#44#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_UMOV;
+    opcode  : A_CVTTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#2#15#18#72;
-    flags   : if_386 or if_undoc
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #219#208#2#15#44#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
+    opcode  : A_CVTTSS2SI;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #219#208#2#15#44#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
+    opcode  : A_DIVPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#94#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
+    opcode  : A_DIVSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#94#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_VERW;
+    opcode  : A_LDMXCSR;
     ops     : 1;
     ops     : 1;
     optypes : (ot_memory,ot_none,ot_none);
     optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
+    code    : #211#2#15#174#130;
+    flags   : if_katmai or if_sse or if_sd
   ),
   ),
   (
   (
-    opcode  : A_VERW;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
+    opcode  : A_MAXPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#95#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_VERW;
-    ops     : 1;
-    optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
+    opcode  : A_MAXSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#95#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_WAIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#155;
-    flags   : if_8086
+    opcode  : A_MINPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#93#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_WBINVD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#9;
-    flags   : if_486 or if_priv
+    opcode  : A_MINSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#93#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_WRSHR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#55;
-    flags   : if_p6 or if_cyrix or if_smm
+    opcode  : A_MOVAPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#40#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_WRMSR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#48;
-    flags   : if_pent or if_priv
+    opcode  : A_MOVAPS;
+    ops     : 2;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #211#2#15#41#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XADD;
+    opcode  : A_MOVHPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#193#65;
-    flags   : if_486 or if_sm
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #211#2#15#22#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XADD;
+    opcode  : A_MOVHPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#2#15#192#65;
-    flags   : if_486
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#23#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XBTS;
+    opcode  : A_MOVLHPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16,ot_memory,ot_none);
-    code    : #193#212#2#15#166#72;
-    flags   : if_386 or if_sw or if_undoc
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #211#2#15#22#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XBTS;
+    opcode  : A_MOVLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16,ot_reg16,ot_none);
-    code    : #193#212#2#15#166#72;
-    flags   : if_386 or if_undoc
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #211#2#15#18#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XBTS;
+    opcode  : A_MOVLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_memory,ot_none);
-    code    : #213#193#2#15#166#72;
-    flags   : if_386 or if_sd or if_undoc
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#19#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XBTS;
+    opcode  : A_MOVHLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #213#193#2#15#166#72;
-    flags   : if_386 or if_undoc
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #211#2#15#18#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVMSKPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_ax,ot_reg16,ot_none);
-    code    : #212#9#144;
-    flags   : if_8086
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #211#2#15#80#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVNTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_eax,ot_reg32,ot_none);
-    code    : #213#9#144;
-    flags   : if_386
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#43#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16,ot_reg_ax,ot_none);
-    code    : #212#8#144;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#16#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_reg_eax,ot_none);
-    code    : #213#8#144;
-    flags   : if_386
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #219#2#15#17#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVUPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#135#72;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#16#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MOVUPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#135#65;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #217#2#15#17#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MULPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#134#72;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#89#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCHG;
+    opcode  : A_MULSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#134#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XLAT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#215;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XLATB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#215;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#89#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_ORPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#49#65;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#86#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_RCPPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#51#72;
-    flags   : if_8086 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#83#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_RCPSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#48#65;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#83#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_RSQRTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#50#72;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#82#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_RSQRTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#134#13;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#82#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#53#33;
-    flags   : if_386 or if_sd
+    opcode  : A_SHUFPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #211#2#15#198#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_SQRTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#134#33;
-    flags   : if_386 or if_sd
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#81#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_SQRTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#53#25;
-    flags   : if_8086 or if_sw
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#81#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#129#134#25;
-    flags   : if_8086 or if_sw
+    opcode  : A_STMXCSR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #211#2#15#174#131;
+    flags   : if_katmai or if_sse or if_sd
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_SUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#52#17;
-    flags   : if_8086 or if_sb
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#92#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XOR;
+    opcode  : A_SUBSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#134#17;
-    flags   : if_8086 or if_sb
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#92#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XSTORE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#167#192;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_UCOMISS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#46#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCRYPTECB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#200;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_UNPCKHPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#21#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCRYPTCBC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#208;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_UNPCKLPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#20#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCRYPTCFB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#224;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_XORPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#87#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_XCRYPTOFB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#232;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_FXRSTOR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#174#129;
+    flags   : if_p6 or if_sse or if_fpu
   ),
   ),
   (
   (
-    opcode  : A_CMOVcc;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#15#11#64#72;
-    flags   : if_p6 or if_sm
+    opcode  : A_FXSAVE;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#174#128;
+    flags   : if_p6 or if_sse or if_fpu
   ),
   ),
   (
   (
-    opcode  : A_Jcc;
+    opcode  : A_PREFETCHNTA;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_bits8,ot_none,ot_none);
-    code    : #11#112#40;
-    flags   : if_8086
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#128;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_Jcc;
+    opcode  : A_PREFETCHT0;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_bits16 or ot_bits32,ot_none,ot_none);
-    code    : #208#1#15#11#128#52;
-    flags   : if_386 or if_pass2
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#129;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_Jcc;
+    opcode  : A_PREFETCHT1;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_short,ot_none,ot_none);
-    code    : #11#112#40;
-    flags   : if_8086
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#130;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_Jcc;
+    opcode  : A_PREFETCHT2;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_near,ot_none,ot_none);
-    code    : #208#1#15#11#128#52;
-    flags   : if_386 or if_pass2
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#131;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_SETcc;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits8,ot_none,ot_none);
-    code    : #192#211#1#15#11#144#128;
-    flags   : if_386
+    opcode  : A_SFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#248;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_ADDPS;
+    opcode  : A_MASKMOVQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#88#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#247#72;
+    flags   : if_katmai or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_ADDPS;
+    opcode  : A_MOVNTQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #217#2#15#88#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_memory,ot_mmxreg,ot_none);
+    code    : #2#15#231#65;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ADDSS;
+    opcode  : A_PAVGB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#88#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#224#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ADDSS;
+    opcode  : A_PAVGB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#2#15#88#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#224#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ANDNPS;
+    opcode  : A_PAVGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#85#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#227#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ANDNPS;
+    opcode  : A_PAVGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#85#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#227#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ANDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#84#72;
-    flags   : if_katmai or if_sse
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_reg32,ot_mmxreg,ot_immediate);
+    code    : #2#15#197#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ANDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#84#72;
-    flags   : if_katmai or if_sse
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
+    code    : #241#2#15#197#72#22;
+    flags   : if_sse41
   ),
   ),
   (
   (
-    opcode  : A_CMPEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#21#65#22;
+    flags   : if_sse41
   ),
   ),
   (
   (
-    opcode  : A_CMPEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_reg16,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_reg32,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_memory,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_memory or ot_bits16,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg16,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPLTPS;
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+  ),
+  (
+    opcode  : A_PMAXSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#238#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPLTPS;
+    opcode  : A_PMAXSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#238#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPLTSS;
+    opcode  : A_PMAXUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#222#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPLTSS;
+    opcode  : A_PMAXUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#222#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPS;
+    opcode  : A_PMINSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#234#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPS;
+    opcode  : A_PMINSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#234#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQSS;
+    opcode  : A_PMINUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#218#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQSS;
+    opcode  : A_PMINUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#218#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNLEPS;
+    opcode  : A_PMOVMSKB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32,ot_mmxreg,ot_none);
+    code    : #2#15#215#72;
+    flags   : if_katmai or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CMPNLEPS;
+    opcode  : A_PMOVMSKB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #241#2#15#215#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CMPNLESS;
+    opcode  : A_PMULHUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#228#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNLESS;
+    opcode  : A_PMULHUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#228#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTPS;
+    opcode  : A_PSADBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#246#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTPS;
+    opcode  : A_PSADBW;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
+    code    : #241#2#15#246#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
+    opcode  : A_PSHUFW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_immediate);
+    code    : #2#15#112#72#18;
+    flags   : if_katmai or if_mmx or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTSS;
+    opcode  : A_PFNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#138;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPORDPS;
+    opcode  : A_PFNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#138;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_CMPORDPS;
+    opcode  : A_PFPNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#142;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPORDSS;
+    opcode  : A_PFPNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#142;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_CMPORDSS;
+    opcode  : A_PI2FW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#12;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDPS;
+    opcode  : A_PI2FW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#12;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDPS;
+    opcode  : A_PF2IW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#28;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDSS;
+    opcode  : A_PF2IW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#28;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDSS;
+    opcode  : A_PSWAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#187;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#217#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_PSWAPD;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#187;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #211#217#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_FFREEP;
+    ops     : 1;
+    optypes : (ot_fpureg,ot_none,ot_none);
+    code    : #1#223#8#192;
+    flags   : if_pent or if_3dnow or if_fpu
   ),
   ),
   (
   (
-    opcode  : A_CMPSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #219#193#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_MASKMOVDQU;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#247#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CMPSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #219#211#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_CLFLUSH;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#174#135;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_COMISS;
+    opcode  : A_MOVNTDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#47#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#231#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_COMISS;
+    opcode  : A_MOVNTI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#47#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_memory,ot_reg32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#195#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTPI2PS;
+    opcode  : A_MOVNTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#42#72;
-    flags   : if_katmai or if_sse or if_mmx
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#43#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTPI2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #211#217#2#15#42#72;
-    flags   : if_katmai or if_sse or if_mmx
+    opcode  : A_PAUSE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#1#144;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#2#15#45#72;
-    flags   : if_katmai or if_sse or if_mmx
+    opcode  : A_LFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#232;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#45#72;
-    flags   : if_katmai or if_sse or if_mmx
+    opcode  : A_MFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#240;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CVTSI2SS;
+    opcode  : A_MOVDQA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#209#2#15#42#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#127#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSI2SS;
+    opcode  : A_MOVDQA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
-    code    : #219#211#209#2#15#42#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#111#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSS2SI;
+    opcode  : A_MOVDQU;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #219#193#208#2#15#45#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #219#2#15#127#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSS2SI;
+    opcode  : A_MOVDQU;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #219#211#208#2#15#45#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#111#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTTPS2PI;
+    opcode  : A_MOVDQ2Q;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#2#15#44#72;
-    flags   : if_katmai or if_sse or if_mmx
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #220#2#15#214#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CVTTPS2PI;
+    opcode  : A_MOVQ2DQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#44#72;
-    flags   : if_katmai or if_sse or if_mmx
+    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
+    code    : #219#2#15#214#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CVTTSS2SI;
+    opcode  : A_PADDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #219#193#208#2#15#44#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#212#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTTSS2SI;
+    opcode  : A_PADDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #219#211#208#2#15#44#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#212#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DIVPS;
+    opcode  : A_PMULUDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#94#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#244#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DIVPS;
+    opcode  : A_PMULUDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#94#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#244#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DIVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#94#72;
-    flags   : if_katmai or if_sse
+    opcode  : A_PSHUFD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DIVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#94#72;
-    flags   : if_katmai or if_sse
+    opcode  : A_PSHUFHW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #219#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_LDMXCSR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#130;
-    flags   : if_katmai or if_sse or if_sd
+    opcode  : A_PSHUFLW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #220#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_MAXPS;
+    opcode  : A_PSRLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#95#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#131#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_MAXPS;
+    opcode  : A_PSUBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#95#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#251#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MAXSS;
+    opcode  : A_PSUBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#95#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#251#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MAXSS;
+    opcode  : A_PUNPCKHQDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#95#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#109#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINPS;
+    opcode  : A_PUNPCKLQDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#93#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#108#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINPS;
+    opcode  : A_ADDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#93#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#88#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINSS;
+    opcode  : A_ADDSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#93#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#88#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MINSS;
+    opcode  : A_ANDNPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#93#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#85#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVAPS;
+    opcode  : A_ANDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#40#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#84#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVAPS;
+    opcode  : A_CMPEQPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#41#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#0;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVAPS;
+    opcode  : A_CMPEQSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#40#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#0;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVAPS;
+    opcode  : A_CMPLEPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#41#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#2;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVHPS;
+    opcode  : A_CMPLESD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#22#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#2;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVHPS;
+    opcode  : A_CMPLTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#23#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#1;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVLHPS;
+    opcode  : A_CMPLTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#22#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#1;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVLPS;
+    opcode  : A_CMPNEQPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#18#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#4;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVLPS;
+    opcode  : A_CMPNEQSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#19#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#4;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVHLPS;
+    opcode  : A_CMPNLEPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#18#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#6;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVMSKPS;
+    opcode  : A_CMPNLESD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #211#2#15#80#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#6;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVNTPS;
+    opcode  : A_CMPNLTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #211#2#15#43#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#5;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVSS;
+    opcode  : A_CMPNLTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#16#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#5;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSS;
+    opcode  : A_CMPORDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#17#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#7;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVSS;
+    opcode  : A_CMPORDSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#16#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#7;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSS;
+    opcode  : A_CMPUNORDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#17#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#3;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVUPS;
+    opcode  : A_CMPUNORDSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#16#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#3;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVUPS;
+    opcode  : A_CMPPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#194#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
+  ),
+  (
+    opcode  : A_COMISD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#217#2#15#17#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#47#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVUPS;
+    opcode  : A_CVTDQ2PD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#16#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#230#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVUPS;
+    opcode  : A_CVTDQ2PS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#17#65;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MULPS;
+    opcode  : A_CVTPD2DQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#89#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#230#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MULPS;
+    opcode  : A_CVTPD2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#89#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MULSS;
+    opcode  : A_CVTPD2PS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#89#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#90#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MULSS;
+    opcode  : A_CVTPI2PD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#89#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_mmxrm,ot_none);
+    code    : #241#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_ORPS;
+    opcode  : A_CVTPS2DQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#86#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ORPS;
+    opcode  : A_CVTPS2PD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#86#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RCPPS;
+    opcode  : A_CVTSD2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#83#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #220#208#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RCPPS;
+    opcode  : A_CVTSD2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#83#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #220#208#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RCPSS;
+    opcode  : A_CVTSD2SS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#83#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RCPSS;
+    opcode  : A_CVTSI2SD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#83#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
+    code    : #220#209#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RSQRTPS;
+    opcode  : A_CVTSI2SD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#82#72;
-    flags   : if_katmai or if_sse
+    code    : #220#209#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RSQRTPS;
+    opcode  : A_CVTSS2SD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#82#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RSQRTSS;
+    opcode  : A_CVTTPD2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#82#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RSQRTSS;
+    opcode  : A_CVTTPD2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#82#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #241#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SHUFPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#211#2#15#198#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_CVTTPD2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#230#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SHUFPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #211#2#15#198#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
+    opcode  : A_CVTTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SQRTPS;
+    opcode  : A_CVTTSD2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#81#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #220#208#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SQRTPS;
+    opcode  : A_CVTTSD2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#81#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #220#208#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SQRTSS;
+    opcode  : A_DIVPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#81#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#94#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SQRTSS;
+    opcode  : A_DIVSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#81#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#94#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_STMXCSR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#131;
-    flags   : if_katmai or if_sse or if_sd
+    opcode  : A_MAXPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #193#241#2#15#95#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SUBPS;
+    opcode  : A_MAXSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#92#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#95#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SUBPS;
+    opcode  : A_MINPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#92#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #193#241#2#15#93#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SUBSS;
+    opcode  : A_MINSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#92#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#93#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SUBSS;
+    opcode  : A_MOVAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#92#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#41#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_UCOMISS;
+    opcode  : A_MOVAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#46#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#40#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_UCOMISS;
+    opcode  : A_MOVHPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#46#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#23#65;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKHPS;
+    opcode  : A_MOVHPD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#21#72;
-    flags   : if_katmai or if_sse
+    code    : #241#2#15#22#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKHPS;
+    opcode  : A_MOVLPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#21#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#19#65;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKLPS;
+    opcode  : A_MOVLPD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#20#72;
-    flags   : if_katmai or if_sse
+    code    : #241#2#15#18#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKLPS;
+    opcode  : A_MOVMSKPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#20#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #241#2#15#80#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_XORPS;
+    opcode  : A_MOVUPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#87#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#17#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_XORPS;
+    opcode  : A_MOVUPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#87#72;
-    flags   : if_katmai or if_sse
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#16#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_FXRSTOR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#174#129;
-    flags   : if_p6 or if_sse or if_fpu
+    opcode  : A_MULPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#89#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_FXSAVE;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#174#128;
-    flags   : if_p6 or if_sse or if_fpu
-  ),
-  (
-    opcode  : A_PREFETCHNTA;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#128;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT0;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#129;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT1;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#130;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT2;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#131;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_SFENCE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#248;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_MASKMOVQ;
+    opcode  : A_MULSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#247#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#89#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVNTQ;
+    opcode  : A_ORPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #2#15#231#65;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#86#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#224#72;
-    flags   : if_katmai or if_mmx
+    opcode  : A_SHUFPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#198#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PAVGB;
+    opcode  : A_SQRTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#224#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#81#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGB;
+    opcode  : A_SQRTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#224#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#81#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PAVGB;
+    opcode  : A_SUBPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#224#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#92#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#227#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PAVGW;
+    opcode  : A_SUBSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#227#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#92#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PAVGW;
+    opcode  : A_UCOMISD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#227#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#46#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PAVGW;
+    opcode  : A_UNPCKHPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#227#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#21#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_mmxreg,ot_immediate);
-    code    : #2#15#197#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#197#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#21#65#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_reg16,ot_immediate);
-    code    : #2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_reg32,ot_immediate);
-    code    : #2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory or ot_bits16,ot_immediate);
-    code    : #193#2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg16,ot_immediate);
-    code    : #3#102#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#211#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_immediate);
-    code    : #1#102#193#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    opcode  : A_UNPCKLPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#20#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_XORPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#238#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#87#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_ADDSUBPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#238#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#208#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_ADDSUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#238#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#208#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_HADDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#238#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#124#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_HADDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#222#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#124#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_HSUBPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#222#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#125#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_HSUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#222#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#125#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_LDDQU;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#222#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    code    : #220#2#15#240#72;
+    flags   : if_prescott or if_sse3
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_MOVDDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#234#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#18#72;
+    flags   : if_prescott or if_sse3
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_MOVSHDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#234#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#22#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_MOVSLDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#234#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#18#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_VMREAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#234#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #192#2#15#120#65;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
+    opcode  : A_VMREAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#218#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_memory,ot_reg32,ot_none);
+    code    : #192#2#15#120#65;
+    flags   : if_386 or if_priv or if_prot or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
+    opcode  : A_VMWRITE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#218#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #193#2#15#121#72;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
+    opcode  : A_VMWRITE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#218#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg32,ot_memory,ot_none);
+    code    : #193#2#15#121#72;
+    flags   : if_386 or if_priv or if_prot or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#218#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_VMCALL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#193;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg32,ot_mmxreg,ot_none);
-    code    : #2#15#215#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PMOVMSKB;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#215#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#228#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#228#72;
-    flags   : if_katmai or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#228#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#228#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#246#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#246#72;
-    flags   : if_katmai or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#246#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#246#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSHUFW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_immediate);
-    code    : #2#15#112#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#2#15#112#72#18;
-    flags   : if_katmai or if_mmx or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PFNACC;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#138;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PFNACC;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#138;
-    flags   : if_pent or if_3dnow
-  ),
-  (
-    opcode  : A_PFPNACC;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#142;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PFPNACC;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#142;
-    flags   : if_pent or if_3dnow
-  ),
-  (
-    opcode  : A_PI2FW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#12;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PI2FW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#12;
-    flags   : if_pent or if_3dnow
-  ),
-  (
-    opcode  : A_PF2IW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#28;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PF2IW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#28;
-    flags   : if_pent or if_3dnow
-  ),
-  (
-    opcode  : A_PSWAPD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#187;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PSWAPD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#187;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_FFREEP;
-    ops     : 1;
-    optypes : (ot_fpureg,ot_none,ot_none);
-    code    : #1#223#8#192;
-    flags   : if_pent or if_3dnow or if_fpu
-  ),
-  (
-    opcode  : A_MASKMOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#247#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CLFLUSH;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#135;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVNTDQ;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#231#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVNTI;
-    ops     : 2;
-    optypes : (ot_memory,ot_reg32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#195#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVNTPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#43#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PAUSE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#1#144;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_LFENCE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#232;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MFENCE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#240;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#111#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVDQA;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#127#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#111#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVDQA;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#127#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#111#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVDQU;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#127#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#111#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#127#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVDQ2Q;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#214#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVQ2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #219#211#2#15#214#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#212#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#212#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#212#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#212#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PMULUDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#244#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PMULUDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#244#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PMULUDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#244#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PMULUDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#244#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSHUFD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFHW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #219#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFHW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #219#193#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFLW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#242#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSHUFLW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#1#242#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PSRLDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#131#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
-  ),
-  (
-    opcode  : A_PSUBQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#251#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PSUBQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#251#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSUBQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#251#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PSUBQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#251#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PUNPCKHQDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#109#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PUNPCKHQDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#109#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PUNPCKLQDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#108#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PUNPCKLQDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#108#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_ADDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ADDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#88#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_ADDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ADDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ANDNPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#85#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ANDNPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#85#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_ANDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#84#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ANDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#84#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPEQSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPEQSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLEPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPLEPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLESD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLESD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPLTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPLTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPNEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNEQPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLEPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPNLEPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLESD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLESD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPNLTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPORDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPORDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPORDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPORDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPUNORDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CMPUNORDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPUNORDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPUNORDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#217#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#217#1#102#211#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_COMISD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#47#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_COMISD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#47#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTDQ2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#2#15#230#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTDQ2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTDQ2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#91#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTDQ2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#230#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTPD2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#45#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPD2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#45#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPD2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPD2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#90#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTPI2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #1#102#211#2#15#42#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPI2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#42#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#91#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTPS2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTPS2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #1#242#208#2#15#45#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#1#242#208#2#15#45#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSD2SS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSD2SS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSI2SD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
-    code    : #1#242#209#2#15#42#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSI2SD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#209#2#15#42#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSS2SD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTSS2SD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTPD2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#44#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTPD2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#44#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#230#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#91#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_CVTTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #1#242#208#2#15#44#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CVTTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#1#242#208#2#15#44#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_DIVPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_DIVPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#94#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_DIVSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_DIVSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MAXPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MAXPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#95#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MAXSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MAXSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MINPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MINPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#93#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MINSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MINSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVAPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#40#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVAPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#41#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVAPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#41#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVAPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#40#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVHPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#23#65;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVHPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#22#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVLPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#19#65;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVLPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#18#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVMSKPD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #211#1#102#211#2#15#80#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#16#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#17#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVUPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#17#65;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MOVUPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#16#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MULPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MULPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#89#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_MULSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MULSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_ORPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#86#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_ORPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#86#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SHUFPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#198#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SHUFPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#1#102#211#2#15#198#72#22;
-    flags   : if_willamette or if_sse2 or if_sm or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SQRTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#81#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SQRTPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#81#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_SQRTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#81#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SQRTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#81#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#92#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#92#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_SUBSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#92#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_SUBSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#92#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UCOMISD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#46#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UCOMISD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#46#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UNPCKHPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#21#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UNPCKHPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#21#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_UNPCKLPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#20#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UNPCKLPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#20#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_XORPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#87#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_XORPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#87#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_ADDSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#208#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_ADDSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#208#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_ADDSUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#208#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_ADDSUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#208#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_HADDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#124#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_HADDPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#124#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_HADDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#124#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_HADDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#124#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_HSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#125#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_HSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#125#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_HSUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#125#72;
-    flags   : if_prescott or if_sse3 or if_sm
-  ),
-  (
-    opcode  : A_HSUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#125#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_LDDQU;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #211#1#242#211#2#15#240#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVDDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVDDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVSHDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#243#211#2#15#22#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVSHDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#3#243#15#22#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVSLDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#243#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_MOVSLDUP;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#3#243#15#18#72;
-    flags   : if_prescott or if_sse3
-  ),
-  (
-    opcode  : A_VMREAD;
-    ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMREAD;
-    ops     : 2;
-    optypes : (ot_memory,ot_reg32,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_386 or if_priv or if_prot or if_sm
-  ),
-  (
-    opcode  : A_VMWRITE;
-    ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #193#2#15#121#72;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMWRITE;
-    ops     : 2;
-    optypes : (ot_reg32,ot_memory,ot_none);
-    code    : #193#2#15#121#72;
-    flags   : if_386 or if_priv or if_prot or if_sm
-  ),
-  (
-    opcode  : A_VMCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#193;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMLAUNCH;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#194;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMRESUME;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#195;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMXOFF;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#196;
-    flags   : if_386 or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMXON;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #219#192#2#15#199#134;
-    flags   : if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMCLEAR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #1#102#192#2#15#199#134;
-    flags   : if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMPTRLD;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#199#134;
-    flags   : if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMPTRST;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#199#135;
-    flags   : if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMRUN;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#216;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMMCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#217;
-    flags   : if_386 or if_svm
-  ),
-  (
-    opcode  : A_VMLOAD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#218;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_VMSAVE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#219;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_STGI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#220;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_CLGI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#221;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_SKINIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#222;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_INVLPGA;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#223;
-    flags   : if_386 or if_svm or if_priv or if_prot
-  ),
-  (
-    opcode  : A_MONTMUL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#192;
-    flags   : if_centaur
-  ),
-  (
-    opcode  : A_XSHA1;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#200;
-    flags   : if_centaur
-  ),
-  (
-    opcode  : A_XSHA256;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#208;
-    flags   : if_centaur
-  ),
-  (
-    opcode  : A_DMINT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#57;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_RDM;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#58;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_MOVNTSS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#43#65;
-    flags   : if_sse4 or if_sd
-  ),
-  (
-    opcode  : A_MOVNTSD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#220#213#211#2#15#43#65;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_INSERTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#211#2#15#121#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_EXTRQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_immediate,ot_immediate);
-    code    : #222#211#2#15#120#128#253#17#253#18;
-    flags   : if_sse4 or if_sb
-  ),
-  (
-    opcode  : A_EXTRQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #222#211#2#15#121#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_LZCNT;
-    ops     : 2;
-    optypes : (ot_reg16,ot_regmem,ot_none);
-    code    : #208#219#193#211#2#15#189#72;
-    flags   : if_386 or if_sm or if_sse4
-  ),
-  (
-    opcode  : A_LZCNT;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_regmem,ot_none);
-    code    : #209#219#193#211#2#15#189#72;
-    flags   : if_386 or if_sm or if_sse4
-  ),
-  (
-    opcode  : A_PABSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#28#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#28#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#28#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#28#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#29#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#29#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#29#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#29#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#30#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#30#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#30#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PABSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#30#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_immediate);
-    code    : #217#3#15#58#15#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#217#3#15#58#15#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#15#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#15#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#1#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#1#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#1#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#1#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#2#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#2#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#2#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#2#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#3#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#3#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#3#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHADDSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#3#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#5#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#5#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#5#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#5#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#6#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#6#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#6#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#6#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMLAUNCH;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#194;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMRESUME;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#195;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMXOFF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#196;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMXON;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #219#192#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMCLEAR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #241#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMPTRLD;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMPTRST;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#199#135;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMRUN;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#216;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_VMMCALL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#217;
+    flags   : if_386 or if_svm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_VMLOAD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#218;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_VMSAVE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#219;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_STGI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#220;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_CLGI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#221;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_SKINIT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#222;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_INVLPGA;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#223;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_MONTMUL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#192;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#8#72;
-    flags   : if_sse4
+    opcode  : A_XSHA1;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#200;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#8#72;
-    flags   : if_sse4
+    opcode  : A_XSHA256;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#208;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#8#72;
-    flags   : if_sse4
+    opcode  : A_DMINT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#57;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#8#72;
-    flags   : if_sse4
+    opcode  : A_RDM;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#58;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
+    opcode  : A_MOVNTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#9#72;
-    flags   : if_sse4
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #219#2#15#43#65;
+    flags   : if_sse4 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
+    opcode  : A_MOVNTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#9#72;
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #220#213#2#15#43#65;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
+    opcode  : A_INSERTQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#9#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PSIGNW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#9#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PSIGND;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#10#72;
+    code    : #220#2#15#121#72;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#10#72;
-    flags   : if_sse4
+    opcode  : A_EXTRQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_immediate,ot_immediate);
+    code    : #222#211#2#15#120#128#253#17#253#18;
+    flags   : if_sse4 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
+    opcode  : A_EXTRQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#10#72;
+    code    : #222#211#2#15#121#72;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
+    opcode  : A_LZCNT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#10#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_BLENDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#12#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_BLENDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#12#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_BLENDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#2#15#58#253#1#13#72#22;
-    flags   : if_sse4
+    optypes : (ot_reg16,ot_regmem,ot_none);
+    code    : #208#219#2#15#189#72;
+    flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
-    opcode  : A_BLENDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#2#15#58#253#1#13#72#22;
-    flags   : if_sse4
+    opcode  : A_LZCNT;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_regmem,ot_none);
+    code    : #209#219#2#15#189#72;
+    flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPS;
+    opcode  : A_PABSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#20#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#28#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPS;
+    opcode  : A_PABSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#20#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#28#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPD;
+    opcode  : A_PABSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#21#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#29#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPD;
+    opcode  : A_PABSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#21#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#29#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#64#72#22;
-    flags   : if_sse4
+    opcode  : A_PABSD;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#30#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#64#72#22;
-    flags   : if_sse4
+    opcode  : A_PABSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#30#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DPPD;
+    opcode  : A_PALIGNR;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#65#72#22;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_immediate);
+    code    : #217#3#15#58#15#72#22;
+    flags   : if_ssse3 or if_mmx or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DPPD;
+    opcode  : A_PALIGNR;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#65#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#15#72#22;
+    flags   : if_ssse3 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_EXTRACTPS;
-    ops     : 3;
-    optypes : (ot_memory,ot_xmmreg,ot_immediate);
-    code    : #1#102#213#3#15#58#23#65#22;
-    flags   : if_sse4
+    opcode  : A_PHADDW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#1#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_EXTRACTPS;
-    ops     : 3;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#3#15#58#23#65#22;
-    flags   : if_sse4
+    opcode  : A_PHADDW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#1#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_INSERTPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#33#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDD;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#2#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_INSERTPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#33#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#2#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVNTDQA;
+    opcode  : A_PHADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#42#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#3#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MPSADBW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#66#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDSW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#3#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MPSADBW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#66#72#22;
-    flags   : if_sse4
+    opcode  : A_PHSUBW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#5#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PACKUSDW;
+    opcode  : A_PHSUBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#43#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#5#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PACKUSDW;
+    opcode  : A_PHSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#43#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#6#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDVB;
+    opcode  : A_PHSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#16#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#6#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDVB;
+    opcode  : A_PHSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#16#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#7#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#14#72#22;
-    flags   : if_sse4
+    opcode  : A_PHSUBSW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#7#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#14#72#22;
-    flags   : if_sse4
+    opcode  : A_PMADDUBSW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#4#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQQ;
+    opcode  : A_PMADDUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#41#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#4#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQQ;
+    opcode  : A_PMULHRSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#41#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#11#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRB;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#3#15#58#20#65#22;
-    flags   : if_sse4
+    opcode  : A_PMULHRSW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#11#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRB;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#20#65#22;
-    flags   : if_sse4
+    opcode  : A_PSHUFB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#0#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRD;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSHUFB;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#0#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRD;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#8#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRQ;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate);
-    code    : #1#102#214#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNB;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#8#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRQ;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#214#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#9#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHMINPOSUW;
+    opcode  : A_PSIGNW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#65#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#9#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHMINPOSUW;
+    opcode  : A_PSIGND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#65#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#10#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRB;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#217#3#15#58#32#72#22;
-    flags   : if_sse4
+    opcode  : A_PSIGND;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#10#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRB;
+    opcode  : A_BLENDPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_immediate);
-    code    : #1#102#193#217#3#15#58#32#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#12#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PINSRD;
+    opcode  : A_BLENDPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#217#3#15#58#34#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#13#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PINSRD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_immediate);
-    code    : #1#102#193#217#3#15#58#34#72#22;
-    flags   : if_sse4
+    opcode  : A_BLENDVPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#20#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg64,ot_immediate);
-    code    : #1#102#214#3#15#58#34#72#22;
-    flags   : if_sse4
+    opcode  : A_BLENDVPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#21#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRQ;
+    opcode  : A_DPPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_immediate);
-    code    : #1#102#193#214#3#15#58#34#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#64#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#60#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PMAXSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#60#72;
-    flags   : if_sse4
+    opcode  : A_DPPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#65#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#61#72;
-    flags   : if_sse4
+    opcode  : A_EXTRACTPS;
+    ops     : 3;
+    optypes : (ot_memory,ot_xmmreg,ot_immediate);
+    code    : #241#213#3#15#58#23#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#61#72;
-    flags   : if_sse4
+    opcode  : A_EXTRACTPS;
+    ops     : 3;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#23#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXUD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#63#72;
-    flags   : if_sse4
+    opcode  : A_INSERTPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#33#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXUD;
+    opcode  : A_MOVNTDQA;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#63#72;
-    flags   : if_sse4
+    code    : #241#3#15#56#42#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#62#72;
-    flags   : if_sse4
+    opcode  : A_MPSADBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#66#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXUW;
+    opcode  : A_PACKUSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#62#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#43#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSB;
+    opcode  : A_PBLENDVB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#56#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#16#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#56#72;
-    flags   : if_sse4
+    opcode  : A_PBLENDW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#14#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINSD;
+    opcode  : A_PCMPEQQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#57#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#41#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#57#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRB;
+    ops     : 3;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#20#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#58#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRB;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#20#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#58#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRD;
+    ops     : 3;
+    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#22#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#59#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#22#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUD;
+    opcode  : A_PHMINPOSUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#59#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#65#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#32#72;
-    flags   : if_sse4
+    opcode  : A_PINSRB;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_immediate);
+    code    : #241#3#15#58#32#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#32#72;
-    flags   : if_sse4
+    opcode  : A_PINSRB;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_immediate);
+    code    : #241#3#15#58#32#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#33#72;
-    flags   : if_sse4
+    opcode  : A_PINSRD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
+    code    : #241#3#15#58#34#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#33#72;
-    flags   : if_sse4
+    opcode  : A_PINSRD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_immediate);
+    code    : #241#3#15#58#34#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBQ;
+    opcode  : A_PMAXSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#34#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#60#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBQ;
+    opcode  : A_PMAXSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#34#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#61#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWD;
+    opcode  : A_PMAXUD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#35#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#63#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWD;
+    opcode  : A_PMAXUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#35#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#62#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWQ;
+    opcode  : A_PMINSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#36#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#56#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWQ;
+    opcode  : A_PMINSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#36#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#57#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXDQ;
+    opcode  : A_PMINUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#37#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#58#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXDQ;
+    opcode  : A_PMINUD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#37#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#59#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBW;
+    opcode  : A_PMOVSXBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#48#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#32#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBW;
+    opcode  : A_PMOVSXBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#48#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#33#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBD;
+    opcode  : A_PMOVSXBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#49#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#34#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBD;
+    opcode  : A_PMOVSXWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#49#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#35#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBQ;
+    opcode  : A_PMOVSXWQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#50#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#36#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBQ;
+    opcode  : A_PMOVSXDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#50#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#37#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWD;
+    opcode  : A_PMOVZXBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#51#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#48#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWD;
+    opcode  : A_PMOVZXBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#51#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#49#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWQ;
+    opcode  : A_PMOVZXBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#52#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#50#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWQ;
+    opcode  : A_PMOVZXWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#52#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#51#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXDQ;
+    opcode  : A_PMOVZXWQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#53#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#52#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PMOVZXDQ;
     opcode  : A_PMOVZXDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#53#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PMULDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#40#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#53#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PMULDQ;
     opcode  : A_PMULDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#40#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#40#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PTEST;
     opcode  : A_PTEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#23#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#8#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#23#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_ROUNDPS;
     opcode  : A_ROUNDPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#8#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#9#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#8#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDPD;
     opcode  : A_ROUNDPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#9#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#10#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#9#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDSS;
     opcode  : A_ROUNDSS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#10#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#10#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDSD;
     opcode  : A_ROUNDSD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#11#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#11#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ROUNDSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#11#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg32,ot_regmem or ot_bits8,ot_none);
+    code    : #220#3#15#56#240#72;
+    flags   : if_sse42
   ),
   ),
   (
   (
-    opcode  : A_PCMPESTRI;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#97#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg32,ot_regmem or ot_bits16 or ot_bits32,ot_none);
+    code    : #209#220#3#15#56#241#72;
+    flags   : if_sse42
   ),
   ),
   (
   (
     opcode  : A_PCMPESTRI;
     opcode  : A_PCMPESTRI;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#97#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPESTRM;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#96#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#97#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPESTRM;
     opcode  : A_PCMPESTRM;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#96#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPISTRI;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#99#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#96#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPISTRI;
     opcode  : A_PCMPISTRI;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#99#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPISTRM;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#98#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#99#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPISTRM;
     opcode  : A_PCMPISTRM;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#98#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPGTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#55#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#98#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPGTQ;
     opcode  : A_PCMPGTQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#55#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#55#72;
+    flags   : if_sse42 or if_sm
   ),
   ),
   (
   (
     opcode  : A_POPCNT;
     opcode  : A_POPCNT;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg16,ot_regmem or ot_bits16,ot_none);
     optypes : (ot_reg16,ot_regmem or ot_bits16,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
+    code    : #219#208#2#15#184#72;
     flags   : if_386 or if_sm or if_sse4
     flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
     opcode  : A_POPCNT;
     opcode  : A_POPCNT;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_regmem or ot_bits32,ot_none);
     optypes : (ot_reg32,ot_regmem or ot_bits32,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
-    flags   : if_386 or if_sm or if_sse4
-  ),
-  (
-    opcode  : A_POPCNT;
-    ops     : 2;
-    optypes : (ot_reg64,ot_regmem or ot_bits64,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
+    code    : #219#208#2#15#184#72;
     flags   : if_386 or if_sm or if_sse4
     flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
     opcode  : A_AESENC;
     opcode  : A_AESENC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#220#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESENC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#220#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESENCLAST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#221#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#220#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESENCLAST;
     opcode  : A_AESENCLAST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#221#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESDEC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#222#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#221#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESDEC;
     opcode  : A_AESDEC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#222#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESDECLAST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#223#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#222#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESDECLAST;
     opcode  : A_AESDECLAST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#223#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESIMC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#219#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#223#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESIMC;
     opcode  : A_AESIMC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#219#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESKEYGENASSIST;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#223#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#219#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESKEYGENASSIST;
     opcode  : A_AESKEYGENASSIST;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#223#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#223#72#22;
+    flags   : if_sse4 or if_sb or if_ar2
   )
   )
 );
 );

文件差異過大導致無法顯示
+ 221 - 385
compiler/x86/x86ins.dat


+ 2 - 0
compiler/x86_64/x8664ats.inc

@@ -530,6 +530,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufINT,
 attsufINT,
 attsufNONE,
 attsufNONE,
 attsufINT,
 attsufINT,
@@ -666,6 +667,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufINT,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,

+ 2 - 0
compiler/x86_64/x8664att.inc

@@ -512,6 +512,7 @@
 'cmpltpd',
 'cmpltpd',
 'cmpltsd',
 'cmpltsd',
 'cmpneqpd',
 'cmpneqpd',
+'cmpneqsd',
 'cmpnlepd',
 'cmpnlepd',
 'cmpnlesd',
 'cmpnlesd',
 'cmpnltpd',
 'cmpnltpd',
@@ -666,6 +667,7 @@
 'roundpd',
 'roundpd',
 'roundss',
 'roundss',
 'roundsd',
 'roundsd',
+'crc32',
 'pcmpestri',
 'pcmpestri',
 'pcmpestrm',
 'pcmpestrm',
 'pcmpistri',
 'pcmpistri',

+ 2 - 0
compiler/x86_64/x8664int.inc

@@ -512,6 +512,7 @@
 'cmpltpd',
 'cmpltpd',
 'cmpltsd',
 'cmpltsd',
 'cmpneqpd',
 'cmpneqpd',
+'cmpneqsd',
 'cmpnlepd',
 'cmpnlepd',
 'cmpnlesd',
 'cmpnlesd',
 'cmpnltpd',
 'cmpnltpd',
@@ -666,6 +667,7 @@
 'roundpd',
 'roundpd',
 'roundss',
 'roundss',
 'roundsd',
 'roundsd',
+'crc32',
 'pcmpestri',
 'pcmpestri',
 'pcmpestrm',
 'pcmpestrm',
 'pcmpistri',
 'pcmpistri',

+ 1 - 1
compiler/x86_64/x8664nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
 { don't edit, this file is generated from x86ins.dat }
-1526;
+1188;

+ 2 - 0
compiler/x86_64/x8664op.inc

@@ -512,6 +512,7 @@ A_CMPLESD,
 A_CMPLTPD,
 A_CMPLTPD,
 A_CMPLTSD,
 A_CMPLTSD,
 A_CMPNEQPD,
 A_CMPNEQPD,
+A_CMPNEQSD,
 A_CMPNLEPD,
 A_CMPNLEPD,
 A_CMPNLESD,
 A_CMPNLESD,
 A_CMPNLTPD,
 A_CMPNLTPD,
@@ -666,6 +667,7 @@ A_ROUNDPS,
 A_ROUNDPD,
 A_ROUNDPD,
 A_ROUNDSS,
 A_ROUNDSS,
 A_ROUNDSD,
 A_ROUNDSD,
+A_CRC32,
 A_PCMPESTRI,
 A_PCMPESTRI,
 A_PCMPESTRM,
 A_PCMPESTRM,
 A_PCMPISTRI,
 A_PCMPISTRI,

+ 2 - 0
compiler/x86_64/x8664pro.inc

@@ -522,6 +522,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
@@ -666,6 +667,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_Mop1, Ch_Rop2, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),

+ 3047 - 5413
compiler/x86_64/x8664tab.inc

@@ -514,16 +514,9 @@
   (
   (
     opcode  : A_CMPSD;
     opcode  : A_CMPSD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#242#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#242#193#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #220#2#15#194#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_CMPSW;
     opcode  : A_CMPSW;
@@ -2867,7 +2860,7 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#110#72;
+    code    : #2#15#110#72;
     flags   : if_pent or if_mmx or if_sd
     flags   : if_pent or if_mmx or if_sd
   ),
   ),
   (
   (
@@ -2881,7 +2874,7 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_mmxreg,ot_none);
     optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #192#2#15#126#65;
+    code    : #2#15#126#65;
     flags   : if_pent or if_mmx or if_sd
     flags   : if_pent or if_mmx or if_sd
   ),
   ),
   (
   (
@@ -2895,35 +2888,35 @@
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_reg32,ot_none);
     optypes : (ot_xmmreg,ot_reg32,ot_none);
-    code    : #1#102#211#2#15#110#72;
+    code    : #241#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_xmmreg,ot_none);
     optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#126#65;
+    code    : #241#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#213#2#15#126#65;
+    code    : #241#213#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVD;
     opcode  : A_MOVD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#213#2#15#110#72;
+    code    : #241#213#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#111#72;
+    code    : #2#15#111#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
@@ -2937,7 +2930,7 @@
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_mmxreg,ot_none);
     optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #192#2#15#127#65;
+    code    : #2#15#127#65;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
@@ -2951,42 +2944,42 @@
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#126#72;
+    code    : #219#2#15#126#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#214#72;
+    code    : #241#2#15#214#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#214#65;
+    code    : #241#2#15#214#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#126#72;
+    code    : #219#2#15#126#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_reg64,ot_none);
     optypes : (ot_xmmreg,ot_reg64,ot_none);
-    code    : #1#102#214#2#15#110#72;
+    code    : #241#214#2#15#110#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVQ;
     opcode  : A_MOVQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg64,ot_xmmreg,ot_none);
     optypes : (ot_reg64,ot_xmmreg,ot_none);
-    code    : #1#102#214#2#15#126#65;
+    code    : #241#214#2#15#126#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
@@ -3007,28 +3000,28 @@
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#16#72;
+    code    : #220#2#15#16#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#17#72;
+    code    : #220#2#15#17#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_memory,ot_xmmreg,ot_none);
     optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#242#211#2#15#17#65;
+    code    : #220#2#15#17#65;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
     opcode  : A_MOVSD;
     opcode  : A_MOVSD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#16#72;
+    code    : #220#2#15#16#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
@@ -3279,7387 +3272,5028 @@
   (
   (
     opcode  : A_PACKSSDW;
     opcode  : A_PACKSSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#107#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKSSDW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#107#72;
     code    : #2#15#107#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKSSDW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#107#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSDW;
     opcode  : A_PACKSSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#107#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#107#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSWB;
     opcode  : A_PACKSSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#99#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKSSWB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#99#72;
     code    : #2#15#99#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKSSWB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#99#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKSSWB;
     opcode  : A_PACKSSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#99#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#99#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKUSWB;
     opcode  : A_PACKUSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#103#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PACKUSWB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#103#72;
     code    : #2#15#103#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PACKUSWB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#103#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PACKUSWB;
     opcode  : A_PACKUSWB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#103#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#103#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDB;
     opcode  : A_PADDB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#252#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#252#72;
     code    : #2#15#252#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PADDB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#252#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDB;
     opcode  : A_PADDB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#252#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#252#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDD;
     opcode  : A_PADDD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#254#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#254#72;
     code    : #2#15#254#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PADDD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#254#72;
-    flags   : if_willamette or if_sse2
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDD;
     opcode  : A_PADDD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#254#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#254#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSB;
     opcode  : A_PADDSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#236#72;
-    flags   : if_pent or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PADDSB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
     code    : #2#15#236#72;
     code    : #2#15#236#72;
-    flags   : if_pent or if_mmx
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSB;
     opcode  : A_PADDSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#236#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#236#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
-  (
-    opcode  : A_PADDSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#236#72;
-    flags   : if_willamette or if_sse2
-  ),
   (
   (
     opcode  : A_PADDSIW;
     opcode  : A_PADDSIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#81#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#81#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PADDSIW;
+    opcode  : A_PADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#81#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#237#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
     opcode  : A_PADDSW;
     opcode  : A_PADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#237#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#237#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#237#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#220#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#237#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#220#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDSW;
+    opcode  : A_PADDUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#237#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#221#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDUSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#220#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#221#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#220#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#253#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PADDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#220#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#253#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSB;
+    opcode  : A_PAND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#220#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#219#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PAND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#221#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#219#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PANDN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#221#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#223#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PANDN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#221#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#223#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDUSW;
+    opcode  : A_PAVEB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#221#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#80#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PAVGUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#253#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#191;
+    flags   : if_pent or if_3dnow or if_sm
+  ),
+  (
+    opcode  : A_PCMPEQB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#116#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#253#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#116#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#253#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#118#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PADDW;
+    opcode  : A_PCMPEQD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#253#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#118#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPEQW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#219#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#117#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPEQW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#219#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#117#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPGTB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#219#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#100#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAND;
+    opcode  : A_PCMPGTB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#219#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#100#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#223#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#102#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#223#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#102#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#223#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#101#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PANDN;
+    opcode  : A_PCMPGTW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#223#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#101#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVEB;
+    opcode  : A_PDISTIB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#80#72;
+    code    : #2#15#84#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PAVEB;
+    opcode  : A_PF2ID;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#80#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#29;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGUSB;
+    opcode  : A_PFACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#191;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#174;
     flags   : if_pent or if_3dnow or if_sm
     flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PAVGUSB;
+    opcode  : A_PFADD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#191;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#158;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPEQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#116#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#176;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPGE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#116#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#144;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFCMPGT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#116#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#160;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQB;
+    opcode  : A_PFMAX;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#116#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#164;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFMIN;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#118#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#148;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFMUL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#118#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#180;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFRCP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#118#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#150;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQD;
+    opcode  : A_PFRCPIT1;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#118#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#166;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRCPIT2;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#117#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#182;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRSQIT1;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#117#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#167;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFRSQRT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#117#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#151;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQW;
+    opcode  : A_PFSUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#117#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#154;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PFSUBR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#100#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#170;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PI2FD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#100#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#13;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PMACHRIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#100#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #2#15#94#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTB;
+    opcode  : A_PMADDWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#100#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#245#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMADDWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#102#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#245#72;
+    flags   : if_willamette or if_sm or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMAGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#102#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#82#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMULHRIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#102#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#93#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTD;
+    opcode  : A_PMULHRWA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#102#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#15#72#1#183;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULHRWC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#101#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#89#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
+  ),
+  (
+    opcode  : A_PMULHW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#229#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULHW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#101#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#229#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#101#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#213#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPGTW;
+    opcode  : A_PMULLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#101#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#213#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PDISTIB;
+    opcode  : A_PMVGEZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#84#72;
+    code    : #2#15#92#72;
     flags   : if_pent or if_mmx or if_sm or if_cyrix
     flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PF2ID;
+    opcode  : A_PMVLZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#29;
-    flags   : if_pent or if_3dnow or if_sm
-  ),
-  (
-    opcode  : A_PF2ID;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#29;
-    flags   : if_pent or if_3dnow
+    code    : #2#15#91#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PFACC;
+    opcode  : A_PMVNZB;
     ops     : 2;
     ops     : 2;
     optypes : (ot_mmxreg,ot_memory,ot_none);
     optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#174;
-    flags   : if_pent or if_3dnow or if_sm
+    code    : #2#15#90#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PFACC;
+    opcode  : A_PMVZB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#174;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #2#15#88#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PFADD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#158;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#8#88#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PFADD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#158;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#1#143#128#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PFCMPEQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#176;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg_cs,ot_none,ot_none);
+    code    : #1#15;
+    flags   : if_8086 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PFCMPEQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#176;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POP;
+    ops     : 1;
+    optypes : (ot_reg_fsgs,ot_none,ot_none);
+    code    : #1#15#5#221;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGE;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#144;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POPF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #214#1#157;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGE;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#144;
-    flags   : if_pent or if_3dnow
+    opcode  : A_POPFW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#157;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGT;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#160;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_POPFQ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #214#1#157;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PFCMPGT;
+    opcode  : A_POR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#160;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#235#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMAX;
+    opcode  : A_POR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#164;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#235#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMAX;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#164;
-    flags   : if_pent or if_3dnow
+    opcode  : A_PREFETCH;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #2#15#13#128;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMIN;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#148;
+    opcode  : A_PREFETCHW;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #2#15#13#129;
     flags   : if_pent or if_3dnow or if_sm
     flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMIN;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#148;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#242#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFMUL;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#180;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFMUL;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#180;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#242#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCP;
+    opcode  : A_PSLLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#150;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCP;
+    opcode  : A_PSLLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#150;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#135#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT1;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#166;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#243#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT1;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#166;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#115#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT2;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#182;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#243#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRCPIT2;
+    opcode  : A_PSLLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#182;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRSQIT1;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#167;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#241#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRSQIT1;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#167;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#134#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFRSQRT;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#151;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#241#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFRSQRT;
+    opcode  : A_PSLLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#151;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#134#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFSUB;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#154;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#226#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFSUB;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#154;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#132#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PFSUBR;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#170;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#226#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFSUBR;
+    opcode  : A_PSRAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#170;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#132#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PI2FD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#13;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#225#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PI2FD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#13;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#132#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMACHRIW;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#94#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#225#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRAW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#245#72;
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#132#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+  ),
+  (
+    opcode  : A_PSRLD;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#210#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#245#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#114#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#245#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#210#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMADDWD;
+    opcode  : A_PSRLD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#245#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#114#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMAGW;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#82#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#211#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAGW;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#82#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#115#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRIW;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#93#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#211#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRIW;
+    opcode  : A_PSRLQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#93#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWA;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#183;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#209#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWA;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#183;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_mmxreg,ot_immediate,ot_none);
+    code    : #2#15#113#130#21;
+    flags   : if_pent or if_mmx or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWC;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#89#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#209#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHRWC;
+    opcode  : A_PSRLW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#89#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#113#130#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSUBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#229#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#248#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSUBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#229#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#248#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#229#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#250#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULHW;
+    opcode  : A_PSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#229#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#250#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#213#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#232#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#213#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#232#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBSIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#213#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #2#15#85#72;
+    flags   : if_pent or if_mmx or if_sm or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PMULLW;
+    opcode  : A_PSUBSIW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#213#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#85#72;
+    flags   : if_pent or if_mmx or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PMVGEZB;
+    opcode  : A_PSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#92#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#233#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVLZB;
+    opcode  : A_PSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#91#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#233#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVNZB;
+    opcode  : A_PSUBUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#90#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#216#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMVZB;
+    opcode  : A_PSUBUSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#88#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
-  ),
-  (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#8#88#221;
-    flags   : if_8086
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#216#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#1#143#128#221;
-    flags   : if_8086
+    opcode  : A_PSUBUSW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#217#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg_cs,ot_none,ot_none);
-    code    : #1#15;
-    flags   : if_8086 or if_undoc
+    opcode  : A_PSUBUSW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#217#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POP;
-    ops     : 1;
-    optypes : (ot_reg_fsgs,ot_none,ot_none);
-    code    : #1#15#5#221;
-    flags   : if_386
+    opcode  : A_PSUBW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#249#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POPF;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #214#1#157;
-    flags   : if_x86_64
+    opcode  : A_PSUBW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#249#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POPFW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#157;
-    flags   : if_x86_64
+    opcode  : A_PUNPCKHBW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#104#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POPFQ;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #214#1#157;
-    flags   : if_x86_64
+    opcode  : A_PUNPCKHBW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#104#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PUNPCKHDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#235#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#106#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PUNPCKHDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#235#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#106#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PUNPCKHWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#235#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#105#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_POR;
+    opcode  : A_PUNPCKHWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#235#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#105#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PREFETCH;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #2#15#13#128;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_PUNPCKLBW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#96#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PREFETCHW;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #2#15#13#129;
-    flags   : if_pent or if_3dnow or if_sm
+    opcode  : A_PUNPCKLBW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#96#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PUNPCKLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#242#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#98#72;
     flags   : if_pent or if_mmx or if_sm
     flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PUNPCKLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#242#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#98#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PUNPCKLWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#134#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#97#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
+    opcode  : A_PUNPCKLWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#242#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#97#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#242#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#8#80#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSLLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#1#255#134#221;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSLLDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#135#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits32,ot_none,ot_none);
+    code    : #213#1#104#32#221;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#243#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits16,ot_none,ot_none);
+    code    : #212#1#104#24#221;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#243#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSH;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
+    code    : #1#106#12#221;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#115#134#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_PUSHF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #215#1#156;
+    flags   : if_186
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#243#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PUSHFW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#156;
+    flags   : if_186
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#243#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PUSHFQ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #214#1#156;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSLLQ;
+    opcode  : A_PXOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#239#72;
+    flags   : if_pent or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_PXOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#241#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#239#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#241#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#134#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#241#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#130#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#241#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSLLW;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#134#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#130;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#226#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#130#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#226#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#132#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#226#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#131#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#226#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAD;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#132#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#131;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
+    opcode  : A_RCR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#225#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#131#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#225#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_RDSHR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#54;
+    flags   : if_p6 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#132#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_RDMSR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#50;
+    flags   : if_pent or if_priv
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#225#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RDPMC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#51;
+    flags   : if_p6
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#225#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RDTSC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#49;
+    flags   : if_pent
   ),
   ),
   (
   (
-    opcode  : A_PSRAW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#132#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_REP;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#210#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_REPE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#210#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_REPNE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#114#130#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_REPNZ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#242;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#210#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_REPZ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#243;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#210#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_RET;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#195;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#114#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    opcode  : A_RET;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#194#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#211#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_RETF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#203;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#211#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_RETF;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#202#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#115#130#21;
-    flags   : if_pent or if_mmx
+    opcode  : A_RETN;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#195;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#211#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RETN;
+    ops     : 1;
+    optypes : (ot_immediate,ot_none,ot_none);
+    code    : #1#194#24;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#211#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLQ;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#209#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#128#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#209#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_immediate,ot_none);
-    code    : #2#15#113#130#21;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#128;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#209#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#128#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#209#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSRLW;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#113#130#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#248#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#129#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#248#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#248#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#129;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBB;
+    opcode  : A_ROR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#248#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#129#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
+    opcode  : A_RSDC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#250#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_reg_sreg,ot_memory or ot_bits80,ot_none);
+    code    : #193#2#15#121#65;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#250#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_RSLDT;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
+    code    : #192#2#15#123#128;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#250#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_RSM;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#170;
+    flags   : if_pent or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#250#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SAHF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#158;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#232#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#232#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#232#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#132#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBSB;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#232#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSIW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#85#72;
-    flags   : if_pent or if_mmx or if_sm or if_cyrix
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSIW;
+    opcode  : A_SAL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#85#72;
-    flags   : if_pent or if_mmx or if_cyrix
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#132#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#233#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#233#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#233#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#135#21;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBSW;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#233#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#216#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#135;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_SAR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#216#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#135#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#216#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#25#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSB;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#216#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#27#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#217#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#131#13;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#217#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#24#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#217#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#26#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PSUBUSW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#217#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#29#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#249#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#131#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#249#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#29#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#249#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#208#1#129#131#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PSUBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#249#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#28#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
+    opcode  : A_SBB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#104#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#128#131#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#104#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_SCASB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#1#174;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#104#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_SCASD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#213#1#175;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#104#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SCASQ;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#214#1#175;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#106#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_SCASW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #218#212#1#175;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#106#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_SEGCS;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#46;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#106#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_SEGDS;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#62;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#106#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SEGES;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#38;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#105#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_SEGFS;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#100;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#105#72;
-    flags   : if_pent or if_mmx
+    opcode  : A_SEGGS;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#101;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#105#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_SEGSS;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#54;
+    flags   : if_8086 or if_pre
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHWD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#105#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SGDT;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#1#128;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#96#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#96#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#96#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#132#21;
+    flags   : if_186 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLBW;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#96#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#98#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#132;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SHL;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#98#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#132#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SHLD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
+    code    : #192#209#2#15#164#65#22;
+    flags   : if_386 or if_sm2 or if_sb or if_ar2
+  ),
+  (
+    opcode  : A_SHLD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
+    code    : #192#209#2#15#165#65;
+    flags   : if_386 or if_sm
+  ),
+  (
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#98#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
+    code    : #192#208#1#209#133;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLDQ;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#98#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
+    code    : #192#208#1#211#133;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#97#72;
-    flags   : if_pent or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#193#133#21;
+    flags   : if_186 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#97#72;
-    flags   : if_pent or if_mmx
+    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
+    code    : #192#211#1#208#133;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#97#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
+    code    : #192#211#1#210#133;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLWD;
+    opcode  : A_SHR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#97#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#192#133#21;
+    flags   : if_186 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#8#80#221;
-    flags   : if_8086
+    opcode  : A_SHRD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
+    code    : #192#209#2#15#172#65#22;
+    flags   : if_386 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#1#255#134#221;
-    flags   : if_8086
+    opcode  : A_SHRD;
+    ops     : 3;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
+    code    : #192#209#2#15#173#65;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
+    opcode  : A_SIDT;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_bits32,ot_none,ot_none);
-    code    : #213#1#104#32#221;
-    flags   : if_386
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#1#129;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
+    opcode  : A_SLDT;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_bits16,ot_none,ot_none);
-    code    : #212#1#104#24#221;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#128;
     flags   : if_286
     flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PUSH;
+    opcode  : A_SLDT;
     ops     : 1;
     ops     : 1;
-    optypes : (ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
-    code    : #1#106#12#221;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#2#15#0#128;
     flags   : if_286
     flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PUSHF;
+    opcode  : A_SMI;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #215#1#156;
-    flags   : if_186
+    code    : #1#241;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PUSHFW;
+    opcode  : A_SMINT;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#156;
-    flags   : if_186
+    code    : #2#15#56;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PUSHFQ;
+    opcode  : A_SMINTOLD;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #214#1#156;
-    flags   : if_x86_64
+    code    : #2#15#126;
+    flags   : if_486 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#239#72;
-    flags   : if_pent or if_mmx or if_sm
+    opcode  : A_SMSW;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #192#208#2#15#1#132;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#239#72;
-    flags   : if_pent or if_mmx
-  ),
-  (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#239#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_STC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#249;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PXOR;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#239#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_STD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#253;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#130;
+    opcode  : A_STI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#251;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#130;
+    opcode  : A_STOSB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#170;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#130#21;
-    flags   : if_8086 or if_sb
+    opcode  : A_STOSD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #213#1#171;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#130;
+    opcode  : A_STOSW;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #212#1#171;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#130;
-    flags   : if_8086
+    opcode  : A_STR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#129;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_RCL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#130#21;
-    flags   : if_186 or if_sb
+    opcode  : A_STR;
+    ops     : 1;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
+    code    : #208#2#15#0#129;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#131;
-    flags   : if_8086
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#41#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#131;
-    flags   : if_8086
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#43#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#131#21;
-    flags   : if_8086 or if_sb
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#40#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#131;
-    flags   : if_8086
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#42#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#131;
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#133#13;
     flags   : if_8086
     flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_RCR;
+    opcode  : A_SUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#131#21;
-    flags   : if_186 or if_sb
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#45#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_RDSHR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#54;
-    flags   : if_p6 or if_cyrix or if_smm
+    opcode  : A_SUB;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#133#33;
+    flags   : if_8086 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_RDMSR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#50;
-    flags   : if_pent or if_priv
+    opcode  : A_SUB;
+    ops     : 2;
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#45#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_RDPMC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#51;
-    flags   : if_p6
+    opcode  : A_SUB;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#129#133#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_RDTSC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#49;
-    flags   : if_pent
+    opcode  : A_SUB;
+    ops     : 2;
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#44#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_REP;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    opcode  : A_SUB;
+    ops     : 2;
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#128#133#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_REPE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    opcode  : A_SVDC;
+    ops     : 2;
+    optypes : (ot_memory or ot_bits80,ot_reg_sreg,ot_none);
+    code    : #192#2#15#120#65;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_REPNE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : if_8086 or if_pre
+    opcode  : A_SVLDT;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
+    code    : #192#2#15#122#128;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_REPNZ;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#242;
-    flags   : if_8086 or if_pre
+    opcode  : A_SVTS;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
+    code    : #192#2#15#124#128;
+    flags   : if_486 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_REPZ;
+    opcode  : A_SYSCALL;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#243;
-    flags   : if_8086 or if_pre
+    code    : #2#15#5;
+    flags   : if_p6 or if_amd
   ),
   ),
   (
   (
-    opcode  : A_RET;
+    opcode  : A_SYSENTER;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#195;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_RET;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#194#24;
-    flags   : if_8086 or if_sw
+    code    : #2#15#52;
+    flags   : if_p6
   ),
   ),
   (
   (
-    opcode  : A_RETF;
+    opcode  : A_SYSEXIT;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #1#203;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_RETF;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#202#24;
-    flags   : if_8086 or if_sw
+    code    : #2#15#53;
+    flags   : if_p6 or if_priv
   ),
   ),
   (
   (
-    opcode  : A_RETN;
+    opcode  : A_SYSRET;
     ops     : 0;
     ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#195;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_RETN;
-    ops     : 1;
-    optypes : (ot_immediate,ot_none,ot_none);
-    code    : #1#194#24;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#128;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#128;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#128#21;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#128;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#128;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#128#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#129;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#129;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#129#21;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#129;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#129;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_ROR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#129#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_RSDC;
-    ops     : 2;
-    optypes : (ot_reg_sreg,ot_memory or ot_bits80,ot_none);
-    code    : #193#2#15#121#65;
-    flags   : if_486 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_RSLDT;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#123#128;
-    flags   : if_486 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_RSM;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#170;
-    flags   : if_pent or if_smm
-  ),
-  (
-    opcode  : A_SAHF;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#158;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#132#21;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#132#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#135;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#135;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#135#21;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#135;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#135;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SAR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#135#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#25#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#27#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#131#13;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#24#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#26#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#29#33;
-    flags   : if_386 or if_sd
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#131#33;
-    flags   : if_386 or if_sd
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#29#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#208#1#129#131#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#28#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SBB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#131#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SCASB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#1#174;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SCASD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#213#1#175;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_SCASQ;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#214#1#175;
-    flags   : if_x86_64
-  ),
-  (
-    opcode  : A_SCASW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #218#212#1#175;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SEGCS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#46;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SEGDS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#62;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SEGES;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#38;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SEGFS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#100;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SEGGS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#101;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SEGSS;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#54;
-    flags   : if_8086 or if_pre
-  ),
-  (
-    opcode  : A_SGDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#1#128;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#132#21;
-    flags   : if_186 or if_sw
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#132;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHL;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#132#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_SHLD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
-    code    : #192#209#2#15#164#65#22;
-    flags   : if_386 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SHLD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
-    code    : #192#209#2#15#165#65;
-    flags   : if_386 or if_sm
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_unity,ot_none);
-    code    : #192#208#1#209#133;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg_cl,ot_none);
-    code    : #192#208#1#211#133;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#193#133#21;
-    flags   : if_186 or if_sw
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_unity,ot_none);
-    code    : #192#211#1#208#133;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg_cl,ot_none);
-    code    : #192#211#1#210#133;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SHR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#192#133#21;
-    flags   : if_186 or if_sb
-  ),
-  (
-    opcode  : A_SHRD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_immediate);
-    code    : #192#209#2#15#172#65#22;
-    flags   : if_386 or if_sm2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SHRD;
-    ops     : 3;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_reg16 or ot_bits32 or ot_bits64,ot_reg_cl);
-    code    : #192#209#2#15#173#65;
-    flags   : if_386 or if_sm
-  ),
-  (
-    opcode  : A_SIDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#1#129;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_SLDT;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#128;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_SLDT;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#2#15#0#128;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_SMI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#241;
-    flags   : if_386 or if_undoc
-  ),
-  (
-    opcode  : A_SMINT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#56;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_SMINTOLD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#126;
-    flags   : if_486 or if_cyrix
-  ),
-  (
-    opcode  : A_SMSW;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #192#208#2#15#1#132;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_STC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#249;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_STD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#253;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_STI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#251;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_STOSB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#170;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_STOSD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #213#1#171;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_STOSW;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #212#1#171;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_STR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#129;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_STR;
-    ops     : 1;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_none,ot_none);
-    code    : #208#2#15#0#129;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#41#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#43#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#40#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#42#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#133#13;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#45#33;
-    flags   : if_386 or if_sd
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#133#33;
-    flags   : if_8086 or if_sd
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#45#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#129#133#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#44#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SUB;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#133#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_SVDC;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits80,ot_reg_sreg,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_486 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_SVLDT;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#122#128;
-    flags   : if_486 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_SVTS;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits80,ot_none,ot_none);
-    code    : #192#2#15#124#128;
-    flags   : if_486 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_SYSCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#5;
-    flags   : if_p6 or if_amd
-  ),
-  (
-    opcode  : A_SYSENTER;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#52;
-    flags   : if_p6
-  ),
-  (
-    opcode  : A_SYSEXIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#53;
-    flags   : if_p6 or if_priv
-  ),
-  (
-    opcode  : A_SYSRET;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#7;
-    flags   : if_p6 or if_priv or if_amd
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#133#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#208#1#133#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg8,ot_reg8,ot_none);
-    code    : #192#211#1#132#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #193#211#1#132#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg_eax,ot_immediate,ot_none);
-    code    : #213#1#169#33;
-    flags   : if_386 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#169#25;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#168#17;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits32,ot_immediate,ot_none);
-    code    : #213#192#1#247#128#33;
-    flags   : if_386 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#247#128#25;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#246#128#17;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits32,ot_none);
-    code    : #213#192#1#247#128#33;
-    flags   : if_386 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits16,ot_none);
-    code    : #192#212#1#247#128#25;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_TEST;
-    ops     : 2;
-    optypes : (ot_memory,ot_immediate or ot_bits8,ot_none);
-    code    : #192#1#246#128#17;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_UD1;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#185;
-    flags   : if_286 or if_undoc
-  ),
-  (
-    opcode  : A_UD2;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#11;
-    flags   : if_286
-  ),
-  (
-    opcode  : A_UMOV;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#17#65;
-    flags   : if_386 or if_undoc or if_sm
-  ),
-  (
-    opcode  : A_UMOV;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#208#2#15#19#72;
-    flags   : if_386 or if_undoc or if_sm
-  ),
-  (
-    opcode  : A_UMOV;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#2#15#16#65;
-    flags   : if_386 or if_undoc
-  ),
-  (
-    opcode  : A_UMOV;
-    ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#2#15#18#72;
-    flags   : if_386 or if_undoc
-  ),
-  (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_VERR;
-    ops     : 1;
-    optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#2#15#0#132;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_VERW;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_VERW;
-    ops     : 1;
-    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_VERW;
-    ops     : 1;
-    optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#2#15#0#133;
-    flags   : if_286 or if_prot
-  ),
-  (
-    opcode  : A_WAIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#155;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_WBINVD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#9;
-    flags   : if_486 or if_priv
-  ),
-  (
-    opcode  : A_WRSHR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#55;
-    flags   : if_p6 or if_cyrix or if_smm
-  ),
-  (
-    opcode  : A_WRMSR;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#48;
-    flags   : if_pent or if_priv
-  ),
-  (
-    opcode  : A_XADD;
-    ops     : 2;
-    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#193#65;
-    flags   : if_486 or if_sm
-  ),
-  (
-    opcode  : A_XADD;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#2#15#192#65;
-    flags   : if_486
-  ),
-  (
-    opcode  : A_XBTS;
-    ops     : 2;
-    optypes : (ot_reg16,ot_memory,ot_none);
-    code    : #193#212#2#15#166#72;
-    flags   : if_386 or if_sw or if_undoc
-  ),
-  (
-    opcode  : A_XBTS;
-    ops     : 2;
-    optypes : (ot_reg16,ot_reg16,ot_none);
-    code    : #193#212#2#15#166#72;
-    flags   : if_386 or if_undoc
-  ),
-  (
-    opcode  : A_XBTS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_memory,ot_none);
-    code    : #213#193#2#15#166#72;
-    flags   : if_386 or if_sd or if_undoc
-  ),
-  (
-    opcode  : A_XBTS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #213#193#2#15#166#72;
-    flags   : if_386 or if_undoc
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_reg16,ot_none);
-    code    : #212#9#144;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg_eax,ot_reg32,ot_none);
-    code    : #213#9#144;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg_rax,ot_reg64,ot_none);
-    code    : #214#9#144;
-    flags   : if_x86_64
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg16,ot_reg_ax,ot_none);
-    code    : #212#8#144;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg32,ot_reg_eax,ot_none);
-    code    : #213#8#144;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg64,ot_reg_rax,ot_none);
-    code    : #214#8#144;
-    flags   : if_x86_64
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#135#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#135#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#134#72;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XCHG;
-    ops     : 2;
-    optypes : (ot_memory or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#134#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XLAT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#215;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XLATB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #1#215;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
-    code    : #192#208#1#49#65;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#51#72;
-    flags   : if_8086 or if_sm
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
-    code    : #192#211#1#48#65;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
-    code    : #193#211#1#50#72;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
-    code    : #192#208#1#131#134#13;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
-    code    : #208#1#53#33;
-    flags   : if_386 or if_sd
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
-    code    : #192#208#1#129#134#33;
-    flags   : if_386 or if_sd
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg_ax,ot_immediate,ot_none);
-    code    : #212#1#53#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
-    code    : #192#212#1#129#134#25;
-    flags   : if_8086 or if_sw
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_reg_al,ot_immediate,ot_none);
-    code    : #1#52#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_XOR;
-    ops     : 2;
-    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
-    code    : #192#211#1#128#134#17;
-    flags   : if_8086 or if_sb
-  ),
-  (
-    opcode  : A_XSTORE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#167#192;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_XCRYPTECB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#200;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_XCRYPTCBC;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#208;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_XCRYPTCFB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#224;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_XCRYPTOFB;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#167#232;
-    flags   : if_p6 or if_cyrix
-  ),
-  (
-    opcode  : A_CMOVcc;
-    ops     : 2;
-    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
-    code    : #193#208#1#15#11#64#72;
-    flags   : if_p6 or if_sm
-  ),
-  (
-    opcode  : A_Jcc;
-    ops     : 1;
-    optypes : (ot_immediate or ot_bits8,ot_none,ot_none);
-    code    : #11#112#40;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_Jcc;
-    ops     : 1;
-    optypes : (ot_immediate or ot_bits16 or ot_bits32,ot_none,ot_none);
-    code    : #208#1#15#11#128#52;
-    flags   : if_386 or if_pass2
-  ),
-  (
-    opcode  : A_Jcc;
-    ops     : 1;
-    optypes : (ot_immediate or ot_short,ot_none,ot_none);
-    code    : #11#112#40;
-    flags   : if_8086
-  ),
-  (
-    opcode  : A_Jcc;
-    ops     : 1;
-    optypes : (ot_immediate or ot_near,ot_none,ot_none);
-    code    : #208#1#15#11#128#52;
-    flags   : if_386 or if_pass2
-  ),
-  (
-    opcode  : A_SETcc;
-    ops     : 1;
-    optypes : (ot_regmem or ot_bits8,ot_none,ot_none);
-    code    : #192#211#1#15#11#144#128;
-    flags   : if_386
-  ),
-  (
-    opcode  : A_ADDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#88#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ADDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #217#2#15#88#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ADDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#88#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ADDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#2#15#88#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ANDNPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#85#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ANDNPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#85#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ANDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#84#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ANDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#84#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#0;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#2;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPLTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#1;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNEQPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNEQSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#4;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLEPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLESS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#6;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPNLTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#5;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPORDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPORDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPORDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPORDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#7;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPUNORDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPUNORDPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPUNORDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPUNORDSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#194#72#1#3;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CMPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#217#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #211#217#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #219#193#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_CMPSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #219#211#2#15#194#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_COMISS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#47#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_COMISS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#47#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTPI2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#42#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTPI2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #211#217#2#15#42#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#2#15#45#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#45#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTSI2SS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#209#2#15#42#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTSI2SS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
-    code    : #219#211#209#2#15#42#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTSS2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #219#193#208#2#15#45#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTSS2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #219#211#208#2#15#45#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#2#15#44#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTTPS2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#44#72;
-    flags   : if_katmai or if_sse or if_mmx
-  ),
-  (
-    opcode  : A_CVTTSS2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #219#193#208#2#15#44#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_CVTTSS2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #219#211#208#2#15#44#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_DIVPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#94#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_DIVPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#94#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_DIVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#94#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_DIVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#94#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_LDMXCSR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#130;
-    flags   : if_katmai or if_sse or if_sd
-  ),
-  (
-    opcode  : A_MAXPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#95#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MAXPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#95#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MAXSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#95#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MAXSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#95#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MINPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#93#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MINPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#93#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MINSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#93#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MINSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#93#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVAPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#40#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVAPS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#41#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVAPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#40#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVAPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#41#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVHPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#22#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVHPS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#23#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVLHPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#22#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVLPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#18#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVLPS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#211#2#15#19#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVHLPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#18#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVMSKPS;
-    ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #211#2#15#80#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVNTPS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #211#2#15#43#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#16#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVSS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#17#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#16#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#17#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#16#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVUPS;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#217#2#15#17#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#16#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MOVUPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#17#65;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MULPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#89#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MULPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#89#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MULSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#89#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_MULSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#89#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ORPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#86#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_ORPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#86#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RCPPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#83#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RCPPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#83#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RCPSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#83#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RCPSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#83#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#82#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RSQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#82#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RSQRTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#82#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_RSQRTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#82#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SHUFPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#211#2#15#198#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SHUFPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #211#2#15#198#72#18;
-    flags   : if_katmai or if_sse or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_SQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#81#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SQRTPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#81#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SQRTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#81#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SQRTSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#81#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_STMXCSR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#131;
-    flags   : if_katmai or if_sse or if_sd
-  ),
-  (
-    opcode  : A_SUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#2#15#92#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#217#2#15#92#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SUBSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#92#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_SUBSS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#92#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UCOMISS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#46#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UCOMISS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#46#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UNPCKHPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#21#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UNPCKHPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#21#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UNPCKLPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#20#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_UNPCKLPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#20#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_XORPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#87#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_XORPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#87#72;
-    flags   : if_katmai or if_sse
-  ),
-  (
-    opcode  : A_FXRSTOR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#174#129;
-    flags   : if_p6 or if_sse or if_fpu
-  ),
-  (
-    opcode  : A_FXSAVE;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#174#128;
-    flags   : if_p6 or if_sse or if_fpu
-  ),
-  (
-    opcode  : A_PREFETCHNTA;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#128;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT0;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#129;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT1;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#130;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_PREFETCHT2;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#24#131;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_SFENCE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#248;
-    flags   : if_katmai
-  ),
-  (
-    opcode  : A_MASKMOVQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#247#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_MOVNTQ;
-    ops     : 2;
-    optypes : (ot_memory,ot_mmxreg,ot_none);
-    code    : #2#15#231#65;
-    flags   : if_katmai or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PAVGB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#224#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PAVGB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#224#72;
-    flags   : if_katmai or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PAVGB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#224#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PAVGB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#224#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PAVGW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#227#72;
-    flags   : if_katmai or if_mmx
-  ),
-  (
-    opcode  : A_PAVGW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#227#72;
-    flags   : if_katmai or if_mmx or if_sm
-  ),
-  (
-    opcode  : A_PAVGW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#227#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_PAVGW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#227#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_mmxreg,ot_immediate);
-    code    : #2#15#197#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#197#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PEXTRW;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#21#65#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_reg16,ot_immediate);
-    code    : #2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_reg32,ot_immediate);
-    code    : #2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory or ot_bits16,ot_immediate);
-    code    : #193#2#15#196#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg16,ot_immediate);
-    code    : #3#102#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#211#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
-  ),
-  (
-    opcode  : A_PINSRW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_immediate);
-    code    : #1#102#193#2#15#196#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#7;
+    flags   : if_p6 or if_priv or if_amd
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#238#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#133#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#238#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
+    code    : #193#208#1#133#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#238#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg8,ot_reg8,ot_none);
+    code    : #192#211#1#132#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PMAXSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#238#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #193#211#1#132#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#222#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_reg_eax,ot_immediate,ot_none);
+    code    : #213#1#169#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#222#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#169#25;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#222#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#168#17;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#222#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits32,ot_immediate,ot_none);
+    code    : #213#192#1#247#128#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#234#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#247#128#25;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#234#72;
-    flags   : if_katmai or if_mmx or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#246#128#17;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#234#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_memory,ot_immediate or ot_bits32,ot_none);
+    code    : #213#192#1#247#128#33;
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSW;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#234#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_memory,ot_immediate or ot_bits16,ot_none);
+    code    : #192#212#1#247#128#25;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
+    opcode  : A_TEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#218#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_memory,ot_immediate or ot_bits8,ot_none);
+    code    : #192#1#246#128#17;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#218#72;
-    flags   : if_katmai or if_mmx or if_sm
+    opcode  : A_UD1;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#185;
+    flags   : if_286 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#218#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_UD2;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#11;
+    flags   : if_286
   ),
   ),
   (
   (
-    opcode  : A_PMINUB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#218#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#17#65;
+    flags   : if_386 or if_undoc or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVMSKB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_mmxreg,ot_none);
-    code    : #2#15#215#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_memory,ot_none);
+    code    : #193#208#2#15#19#72;
+    flags   : if_386 or if_undoc or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVMSKB;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#215#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#2#15#16#65;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PMULHUW;
+    opcode  : A_UMOV;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#228#72;
-    flags   : if_katmai or if_mmx
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#2#15#18#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#228#72;
-    flags   : if_katmai or if_mmx or if_sm
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#228#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#228#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_VERR;
+    ops     : 1;
+    optypes : (ot_reg16,ot_none,ot_none);
+    code    : #192#2#15#0#132;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#246#72;
-    flags   : if_katmai or if_mmx
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#246#72;
-    flags   : if_katmai or if_mmx or if_sm
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_memory or ot_bits16,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#246#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_VERW;
+    ops     : 1;
+    optypes : (ot_reg16,ot_none,ot_none);
+    code    : #192#2#15#0#133;
+    flags   : if_286 or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSADBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#2#15#246#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_WAIT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #1#155;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PSHUFW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_immediate);
-    code    : #2#15#112#72#18;
-    flags   : if_katmai or if_mmx or if_sb or if_ar2
+    opcode  : A_WBINVD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#9;
+    flags   : if_486 or if_priv
   ),
   ),
   (
   (
-    opcode  : A_PSHUFW;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#2#15#112#72#18;
-    flags   : if_katmai or if_mmx or if_sm2 or if_sb or if_ar2
+    opcode  : A_WRSHR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#55;
+    flags   : if_p6 or if_cyrix or if_smm
   ),
   ),
   (
   (
-    opcode  : A_PFNACC;
+    opcode  : A_WRMSR;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#48;
+    flags   : if_pent or if_priv
+  ),
+  (
+    opcode  : A_XADD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#138;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#193#65;
+    flags   : if_486 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PFNACC;
+    opcode  : A_XADD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#138;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#2#15#192#65;
+    flags   : if_486
   ),
   ),
   (
   (
-    opcode  : A_PFPNACC;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#142;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_reg16,ot_memory,ot_none);
+    code    : #193#212#2#15#166#72;
+    flags   : if_386 or if_sw or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PFPNACC;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#142;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_reg16,ot_reg16,ot_none);
+    code    : #193#212#2#15#166#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PI2FW;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#12;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_reg32,ot_memory,ot_none);
+    code    : #213#193#2#15#166#72;
+    flags   : if_386 or if_sd or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PI2FW;
+    opcode  : A_XBTS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#12;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #213#193#2#15#166#72;
+    flags   : if_386 or if_undoc
   ),
   ),
   (
   (
-    opcode  : A_PF2IW;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#28;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_reg_ax,ot_reg16,ot_none);
+    code    : #212#9#144;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PF2IW;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#28;
-    flags   : if_pent or if_3dnow
+    optypes : (ot_reg_eax,ot_reg32,ot_none);
+    code    : #213#9#144;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PSWAPD;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#15#72#1#187;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_reg_rax,ot_reg64,ot_none);
+    code    : #214#9#144;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSWAPD;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#15#72#1#187;
-    flags   : if_pent or if_3dnow or if_sm
+    optypes : (ot_reg16,ot_reg_ax,ot_none);
+    code    : #212#8#144;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_FFREEP;
-    ops     : 1;
-    optypes : (ot_fpureg,ot_none,ot_none);
-    code    : #1#223#8#192;
-    flags   : if_pent or if_3dnow or if_fpu
+    opcode  : A_XCHG;
+    ops     : 2;
+    optypes : (ot_reg32,ot_reg_eax,ot_none);
+    code    : #213#8#144;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_MASKMOVDQU;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#247#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg64,ot_reg_rax,ot_none);
+    code    : #214#8#144;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_CLFLUSH;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#211#2#15#174#135;
-    flags   : if_willamette or if_sse2
+    opcode  : A_XCHG;
+    ops     : 2;
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#135#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVNTDQ;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#231#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_memory,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#135#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVNTI;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_reg32 or ot_bits64,ot_none);
-    code    : #192#208#2#15#195#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#134#72;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_MOVNTPD;
+    opcode  : A_XCHG;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#43#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_memory or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#134#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PAUSE;
+    opcode  : A_XLAT;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #219#1#144;
-    flags   : if_willamette or if_sse2
+    code    : #1#215;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_LFENCE;
+    opcode  : A_XLATB;
     ops     : 0;
     ops     : 0;
     optypes : (ot_none,ot_none,ot_none);
     optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#232;
-    flags   : if_willamette or if_sse2
+    code    : #1#215;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_MFENCE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#174#240;
-    flags   : if_willamette or if_sse2
+    opcode  : A_XOR;
+    ops     : 2;
+    optypes : (ot_regmem,ot_reg16 or ot_bits32 or ot_bits64,ot_none);
+    code    : #192#208#1#49#65;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVDQA;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#111#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#51#72;
+    flags   : if_8086 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVDQA;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #1#102#192#211#2#15#127#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits8,ot_reg8,ot_none);
+    code    : #192#211#1#48#65;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_MOVDQA;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#111#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg8,ot_regmem or ot_bits8,ot_none);
+    code    : #193#211#1#50#72;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_MOVDQA;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#127#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16 or ot_bits32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none);
+    code    : #192#208#1#131#134#13;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_MOVDQU;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#111#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg_eax or ot_bits64,ot_immediate,ot_none);
+    code    : #208#1#53#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_MOVDQU;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#127#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_regmem or ot_bits32 or ot_bits64,ot_immediate,ot_none);
+    code    : #192#208#1#129#134#33;
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_MOVDQU;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#111#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg_ax,ot_immediate,ot_none);
+    code    : #212#1#53#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_MOVDQU;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#127#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits16,ot_immediate,ot_none);
+    code    : #192#212#1#129#134#25;
+    flags   : if_8086 or if_sw
   ),
   ),
   (
   (
-    opcode  : A_MOVDQ2Q;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#214#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg_al,ot_immediate,ot_none);
+    code    : #1#52#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_MOVQ2DQ;
+    opcode  : A_XOR;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #219#211#2#15#214#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_regmem or ot_bits8,ot_immediate,ot_none);
+    code    : #192#211#1#128#134#17;
+    flags   : if_8086 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PADDQ;
+    opcode  : A_XSTORE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#167#192;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_XCRYPTECB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#167#200;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_XCRYPTCBC;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#167#208;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_XCRYPTCFB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#167#224;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_XCRYPTOFB;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#167#232;
+    flags   : if_p6 or if_cyrix
+  ),
+  (
+    opcode  : A_CMOVcc;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#212#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg16 or ot_bits32 or ot_bits64,ot_regmem,ot_none);
+    code    : #193#208#1#15#11#64#72;
+    flags   : if_p6 or if_sm
+  ),
+  (
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits8,ot_none,ot_none);
+    code    : #11#112#40;
+    flags   : if_8086
+  ),
+  (
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_bits16 or ot_bits32,ot_none,ot_none);
+    code    : #208#1#15#11#128#52;
+    flags   : if_386 or if_pass2
   ),
   ),
   (
   (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#212#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_short,ot_none,ot_none);
+    code    : #11#112#40;
+    flags   : if_8086
   ),
   ),
   (
   (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#212#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_Jcc;
+    ops     : 1;
+    optypes : (ot_immediate or ot_near,ot_none,ot_none);
+    code    : #208#1#15#11#128#52;
+    flags   : if_386 or if_pass2
   ),
   ),
   (
   (
-    opcode  : A_PADDQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#212#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_SETcc;
+    ops     : 1;
+    optypes : (ot_regmem or ot_bits8,ot_none,ot_none);
+    code    : #192#211#1#15#11#144#128;
+    flags   : if_386
   ),
   ),
   (
   (
-    opcode  : A_PMULUDQ;
+    opcode  : A_ADDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#244#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#88#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PMULUDQ;
+    opcode  : A_ADDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#244#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#88#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PMULUDQ;
+    opcode  : A_ANDNPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#244#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#85#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PMULUDQ;
+    opcode  : A_ANDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#244#72;
-    flags   : if_willamette or if_sse2 or if_sm
-  ),
-  (
-    opcode  : A_PSHUFD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#84#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSHUFD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
+    opcode  : A_CMPEQPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#0;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSHUFHW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #219#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    opcode  : A_CMPEQSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#0;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSHUFHW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #219#193#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
+    opcode  : A_CMPLEPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#2;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSHUFLW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#242#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    opcode  : A_CMPLESS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#2;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSHUFLW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#1#242#211#2#15#112#72#18;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
+    opcode  : A_CMPLTPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#1;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSRLDQ;
+    opcode  : A_CMPLTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_immediate,ot_none);
-    code    : #1#102#211#2#15#115#131#21;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar1
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#1;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSUBQ;
+    opcode  : A_CMPNEQPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #2#15#251#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#4;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSUBQ;
+    opcode  : A_CMPNEQSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#2#15#251#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#4;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSUBQ;
+    opcode  : A_CMPNLEPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#251#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#6;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PSUBQ;
+    opcode  : A_CMPNLESS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#251#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#6;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHQDQ;
+    opcode  : A_CMPNLTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#109#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#5;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKHQDQ;
+    opcode  : A_CMPNLTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#109#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#5;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLQDQ;
+    opcode  : A_CMPORDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#108#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#7;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_PUNPCKLQDQ;
+    opcode  : A_CMPORDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#108#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#7;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_ADDPD;
+    opcode  : A_CMPUNORDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#194#72#1#3;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_ADDPD;
+    opcode  : A_CMPUNORDSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#88#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#194#72#1#3;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_ADDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_CMPPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #217#2#15#194#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ADDSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#88#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_CMPSS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #219#2#15#194#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ANDNPD;
+    opcode  : A_COMISS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#85#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#47#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_ANDNPD;
+    opcode  : A_CVTPI2PS;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#85#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    code    : #217#2#15#42#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_ANDPD;
+    opcode  : A_CVTPI2PS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#84#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
+    code    : #211#217#2#15#42#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_ANDPD;
+    opcode  : A_CVTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#84#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #217#2#15#45#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CMPEQPD;
+    opcode  : A_CVTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #211#217#2#15#45#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CMPEQPD;
+    opcode  : A_CVTSI2SS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #219#209#2#15#42#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPEQSD;
+    opcode  : A_CVTSI2SS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
+    code    : #219#209#2#15#42#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPEQSD;
+    opcode  : A_CVTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#0;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #219#208#2#15#45#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLEPD;
+    opcode  : A_CVTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #219#208#2#15#45#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLEPD;
+    opcode  : A_CVTTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #217#2#15#44#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CMPLESD;
+    opcode  : A_CVTTPS2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #211#217#2#15#44#72;
+    flags   : if_katmai or if_sse or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CMPLESD;
+    opcode  : A_CVTTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#2;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #219#208#2#15#44#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLTPD;
+    opcode  : A_CVTTSS2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #219#208#2#15#44#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLTPD;
+    opcode  : A_DIVPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#94#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLTSD;
+    opcode  : A_DIVSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#242#193#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#94#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPLTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#1;
-    flags   : if_willamette or if_sse2
+    opcode  : A_LDMXCSR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #211#2#15#174#130;
+    flags   : if_katmai or if_sse or if_sd
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPD;
+    opcode  : A_MAXPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#95#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPD;
+    opcode  : A_MAXSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#95#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPD;
+    opcode  : A_MINPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#93#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNEQPD;
+    opcode  : A_MINSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#4;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#93#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLEPD;
+    opcode  : A_MOVAPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#40#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLEPD;
+    opcode  : A_MOVAPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #211#2#15#41#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLESD;
+    opcode  : A_MOVHPS;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_CMPNLESD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#6;
-    flags   : if_willamette or if_sse2
+    code    : #211#2#15#22#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTPD;
+    opcode  : A_MOVHPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#23#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTPD;
+    opcode  : A_MOVLHPS;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
+    code    : #211#2#15#22#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTSD;
+    opcode  : A_MOVLPS;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
+    code    : #211#2#15#18#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPNLTSD;
+    opcode  : A_MOVLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#5;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#19#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPORDPD;
+    opcode  : A_MOVHLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #211#2#15#18#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPORDPD;
+    opcode  : A_MOVMSKPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #211#2#15#80#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPORDSD;
+    opcode  : A_MOVNTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #211#2#15#43#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPORDSD;
+    opcode  : A_MOVSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#217#2#15#194#72#1#7;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#16#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDPD;
+    opcode  : A_MOVSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#102#211#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #219#2#15#17#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDPD;
+    opcode  : A_MOVUPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#217#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #217#2#15#16#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDSD;
+    opcode  : A_MOVUPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#217#1#242#211#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #217#2#15#17#65;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPUNORDSD;
+    opcode  : A_MULPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#217#2#15#194#72#1#3;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#89#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    opcode  : A_MULSS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#89#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CMPPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#217#1#102#211#2#15#194#72#22;
-    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
+    opcode  : A_ORPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#86#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_COMISD;
+    opcode  : A_RCPPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#47#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#83#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_COMISD;
+    opcode  : A_RCPSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#211#2#15#47#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#83#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTDQ2PD;
+    opcode  : A_RSQRTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#2#15#230#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#82#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTDQ2PD;
+    opcode  : A_RSQRTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#82#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTDQ2PS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#91#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SHUFPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #211#2#15#198#72#18;
+    flags   : if_katmai or if_sse or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CVTDQ2PS;
+    opcode  : A_SQRTPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#81#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2DQ;
+    opcode  : A_SQRTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#81#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#230#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_STMXCSR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #211#2#15#174#131;
+    flags   : if_katmai or if_sse or if_sd
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2PI;
+    opcode  : A_SUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#45#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#217#2#15#92#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2PI;
+    opcode  : A_SUBSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#45#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#92#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2PS;
+    opcode  : A_UCOMISS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#46#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPD2PS;
+    opcode  : A_UNPCKHPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#90#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#21#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPI2PD;
+    opcode  : A_UNPCKLPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
-    code    : #1#102#211#2#15#42#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#20#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPI2PD;
+    opcode  : A_XORPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#42#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#87#72;
+    flags   : if_katmai or if_sse
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#91#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_FXRSTOR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#174#129;
+    flags   : if_p6 or if_sse or if_fpu
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_FXSAVE;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#174#128;
+    flags   : if_p6 or if_sse or if_fpu
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PREFETCHNTA;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#128;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_CVTPS2PD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PREFETCHT0;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#129;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_CVTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #1#242#208#2#15#45#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PREFETCHT1;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#130;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_CVTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#1#242#208#2#15#45#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PREFETCHT2;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#24#131;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_CVTSD2SS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_SFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#248;
+    flags   : if_katmai
   ),
   ),
   (
   (
-    opcode  : A_CVTSD2SS;
+    opcode  : A_MASKMOVQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#247#72;
+    flags   : if_katmai or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_CVTSI2SD;
+    opcode  : A_MOVNTQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
-    code    : #1#242#209#2#15#42#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_memory,ot_mmxreg,ot_none);
+    code    : #2#15#231#65;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSI2SD;
+    opcode  : A_PAVGB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#209#2#15#42#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#224#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSS2SD;
+    opcode  : A_PAVGB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#224#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTSS2SD;
+    opcode  : A_PAVGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#211#2#15#90#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#227#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTTPD2PI;
+    opcode  : A_PAVGW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#44#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#227#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CVTTPD2PI;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#44#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_reg32,ot_mmxreg,ot_immediate);
+    code    : #2#15#197#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CVTTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#230#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
+    code    : #241#2#15#197#72#22;
+    flags   : if_sse41
   ),
   ),
   (
   (
-    opcode  : A_CVTTPD2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#230#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PEXTRW;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#21#65#22;
+    flags   : if_sse41
   ),
   ),
   (
   (
-    opcode  : A_CVTTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #219#211#2#15#91#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_reg16,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CVTTPS2DQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #219#193#2#15#91#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_reg32,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CVTTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
-    code    : #1#242#208#2#15#44#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_memory,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_CVTTSD2SI;
-    ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
-    code    : #193#1#242#208#2#15#44#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_memory or ot_bits16,ot_immediate);
+    code    : #2#15#196#72#18;
+    flags   : if_katmai or if_mmx or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DIVPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg16,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DIVPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#94#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DIVSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DIVSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#94#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PINSRW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits16,ot_immediate);
+    code    : #241#2#15#196#72#22;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_MAXPD;
+    opcode  : A_PMAXSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#238#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MAXPD;
+    opcode  : A_PMAXSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#95#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#238#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MAXSD;
+    opcode  : A_PMAXUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#222#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MAXSD;
+    opcode  : A_PMAXUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#95#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#222#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINPD;
+    opcode  : A_PMINSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#234#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINPD;
+    opcode  : A_PMINSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#93#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#234#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINSD;
+    opcode  : A_PMINUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#218#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MINSD;
+    opcode  : A_PMINUB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#93#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#218#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVAPD;
+    opcode  : A_PMOVMSKB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#40#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_reg32,ot_mmxreg,ot_none);
+    code    : #2#15#215#72;
+    flags   : if_katmai or if_mmx
   ),
   ),
   (
   (
-    opcode  : A_MOVAPD;
+    opcode  : A_PMOVMSKB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#41#72;
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #241#2#15#215#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVAPD;
+    opcode  : A_PMULHUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#41#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#228#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVAPD;
+    opcode  : A_PMULHUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#40#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#228#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVHPD;
-    ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#23#65;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_MOVHPD;
+    opcode  : A_PSADBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#22#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#246#72;
+    flags   : if_katmai or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVLPD;
+    opcode  : A_PSADBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#19#65;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#246#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVLPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#18#72;
-    flags   : if_willamette or if_sse2
+    opcode  : A_PSHUFW;
+    ops     : 3;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_immediate);
+    code    : #2#15#112#72#18;
+    flags   : if_katmai or if_mmx or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_MOVMSKPD;
+    opcode  : A_PFNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_xmmreg,ot_none);
-    code    : #211#1#102#211#2#15#80#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#138;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVUPD;
+    opcode  : A_PFNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#16#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#138;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_MOVUPD;
+    opcode  : A_PFPNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#17#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#142;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVUPD;
+    opcode  : A_PFPNACC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#17#65;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#142;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_MOVUPD;
+    opcode  : A_PI2FW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#16#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#12;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MULPD;
+    opcode  : A_PI2FW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#12;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_MULPD;
+    opcode  : A_PF2IW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#89#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#28;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MULSD;
+    opcode  : A_PF2IW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#28;
+    flags   : if_pent or if_3dnow
   ),
   ),
   (
   (
-    opcode  : A_MULSD;
+    opcode  : A_PSWAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#89#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #193#2#15#15#72#1#187;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ORPD;
+    opcode  : A_PSWAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#86#72;
-    flags   : if_willamette or if_sse2 or if_sm
+    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
+    code    : #2#15#15#72#1#187;
+    flags   : if_pent or if_3dnow or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ORPD;
+    opcode  : A_FFREEP;
+    ops     : 1;
+    optypes : (ot_fpureg,ot_none,ot_none);
+    code    : #1#223#8#192;
+    flags   : if_pent or if_3dnow or if_fpu
+  ),
+  (
+    opcode  : A_MASKMOVDQU;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#86#72;
+    code    : #241#2#15#247#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SHUFPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#2#15#198#72#22;
-    flags   : if_willamette or if_sse2 or if_sb or if_ar2
+    opcode  : A_CLFLUSH;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#211#2#15#174#135;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SHUFPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #193#1#102#211#2#15#198#72#22;
-    flags   : if_willamette or if_sse2 or if_sm or if_sb or if_ar2
+    opcode  : A_MOVNTDQ;
+    ops     : 2;
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#231#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SQRTPD;
+    opcode  : A_MOVNTI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#81#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_memory,ot_reg32 or ot_bits64,ot_none);
+    code    : #192#208#2#15#195#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SQRTPD;
+    opcode  : A_MOVNTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#81#72;
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#43#65;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SQRTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#81#72;
+    opcode  : A_PAUSE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#1#144;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SQRTSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#81#72;
+    opcode  : A_LFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#232;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#92#72;
+    opcode  : A_MFENCE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#174#240;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_SUBPD;
+    opcode  : A_MOVDQA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#92#72;
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#127#65;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SUBSD;
+    opcode  : A_MOVDQA;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#92#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#111#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SUBSD;
+    opcode  : A_MOVDQU;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#92#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #219#2#15#127#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_UCOMISD;
+    opcode  : A_MOVDQU;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#46#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#111#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_UCOMISD;
+    opcode  : A_MOVDQ2Q;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#46#72;
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #220#2#15#214#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKHPD;
+    opcode  : A_MOVQ2DQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#21#72;
+    optypes : (ot_xmmreg,ot_mmxreg,ot_none);
+    code    : #219#2#15#214#72;
     flags   : if_willamette or if_sse2
     flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_UNPCKHPD;
+    opcode  : A_PADDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#1#102#211#2#15#21#72;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#212#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_UNPCKLPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#20#72;
-    flags   : if_willamette or if_sse2
-  ),
-  (
-    opcode  : A_UNPCKLPD;
+    opcode  : A_PADDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#20#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#212#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_XORPD;
+    opcode  : A_PMULUDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#87#72;
-    flags   : if_willamette or if_sse2
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#244#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_XORPD;
+    opcode  : A_PMULUDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#87#72;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#244#72;
     flags   : if_willamette or if_sse2 or if_sm
     flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_ADDSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#208#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    opcode  : A_PSHUFD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ADDSUBPD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#208#72;
-    flags   : if_prescott or if_sse3
+    opcode  : A_PSHUFHW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #219#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ADDSUBPS;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#208#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    opcode  : A_PSHUFLW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #220#2#15#112#72#18;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ADDSUBPS;
+    opcode  : A_PSRLDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#208#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_immediate,ot_none);
+    code    : #241#2#15#115#131#21;
+    flags   : if_willamette or if_sse2 or if_sb or if_ar1
   ),
   ),
   (
   (
-    opcode  : A_HADDPD;
+    opcode  : A_PSUBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#124#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #2#15#251#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HADDPD;
+    opcode  : A_PSUBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#124#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#251#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HADDPS;
+    opcode  : A_PUNPCKHQDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#124#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#109#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HADDPS;
+    opcode  : A_PUNPCKLQDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#124#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#108#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HSUBPD;
+    opcode  : A_ADDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#102#211#2#15#125#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#88#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HSUBPD;
+    opcode  : A_ADDSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#211#2#15#125#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#88#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_HSUBPS;
+    opcode  : A_ANDNPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#125#72;
-    flags   : if_prescott or if_sse3 or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#85#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_HSUBPS;
+    opcode  : A_ANDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#125#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#84#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_LDDQU;
+    opcode  : A_CMPEQPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #211#1#242#211#2#15#240#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#0;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVDDUP;
+    opcode  : A_CMPEQSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#242#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#0;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVDDUP;
+    opcode  : A_CMPLEPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#242#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#2;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVSHDUP;
+    opcode  : A_CMPLESD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#243#211#2#15#22#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#2;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSHDUP;
+    opcode  : A_CMPLTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#3#243#15#22#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#1;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVSLDUP;
+    opcode  : A_CMPLTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #193#1#243#211#2#15#18#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#1;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSLDUP;
+    opcode  : A_CMPNEQPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #211#3#243#15#18#72;
-    flags   : if_prescott or if_sse3
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#4;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMREAD;
+    opcode  : A_CMPNEQSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_386 or if_priv or if_prot
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#4;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMREAD;
+    opcode  : A_CMPNLEPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_reg32,ot_none);
-    code    : #192#2#15#120#65;
-    flags   : if_386 or if_priv or if_prot or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#6;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMWRITE;
+    opcode  : A_CMPNLESD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_reg32,ot_none);
-    code    : #193#2#15#121#72;
-    flags   : if_386 or if_priv or if_prot
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#6;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMWRITE;
+    opcode  : A_CMPNLTPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_memory,ot_none);
-    code    : #193#2#15#121#72;
-    flags   : if_386 or if_priv or if_prot or if_sm
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#5;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#193;
-    flags   : if_386 or if_priv or if_prot
+    opcode  : A_CMPNLTSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#5;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMLAUNCH;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#194;
-    flags   : if_386 or if_priv or if_prot
+    opcode  : A_CMPORDPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#7;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMRESUME;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#195;
-    flags   : if_386 or if_priv or if_prot
+    opcode  : A_CMPORDSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#7;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMXOFF;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#196;
-    flags   : if_386 or if_priv or if_prot
+    opcode  : A_CMPUNORDPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#194#72#1#3;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMXON;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #219#192#2#15#199#134;
-    flags   : if_priv or if_prot
+    opcode  : A_CMPUNORDSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#194#72#1#3;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMCLEAR;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #1#102#192#2#15#199#134;
-    flags   : if_priv or if_prot
+    opcode  : A_CMPPD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#194#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_VMPTRLD;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#199#134;
-    flags   : if_priv or if_prot
+    opcode  : A_COMISD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#47#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMPTRST;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #192#2#15#199#135;
-    flags   : if_priv or if_prot
+    opcode  : A_CVTDQ2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#230#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMRUN;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#216;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTDQ2PS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMMCALL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#217;
-    flags   : if_386 or if_svm
+    opcode  : A_CVTPD2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#230#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_VMLOAD;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#218;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTPD2PI;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_VMSAVE;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#219;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTPD2PS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#90#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_STGI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#220;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTPI2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_mmxrm,ot_none);
+    code    : #241#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_CLGI;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#221;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_SKINIT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#222;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTPS2PD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #211#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_INVLPGA;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #3#15#1#223;
-    flags   : if_386 or if_svm or if_priv or if_prot
+    opcode  : A_CVTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #220#208#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MONTMUL;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#192;
-    flags   : if_centaur
+    opcode  : A_CVTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #220#208#2#15#45#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_XSHA1;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#200;
-    flags   : if_centaur
+    opcode  : A_CVTSD2SS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_XSHA256;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #219#3#15#166#208;
-    flags   : if_centaur
+    opcode  : A_CVTSI2SD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_none);
+    code    : #220#209#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_DMINT;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#57;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_CVTSI2SD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #220#209#2#15#42#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_RDM;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #2#15#58;
-    flags   : if_p6 or if_cyrix
+    opcode  : A_CVTSS2SD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#90#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVABS;
+    opcode  : A_CVTTPD2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32,ot_immediate,ot_none);
-    code    : #213#8#184#33;
-    flags   : if_x86_64
+    optypes : (ot_mmxreg,ot_xmmreg,ot_none);
+    code    : #241#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSXD;
+    opcode  : A_CVTTPD2PI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg64,ot_memory,ot_none);
-    code    : #214#193#1#99#72;
-    flags   : if_x86_64
+    optypes : (ot_mmxreg,ot_memory,ot_none);
+    code    : #241#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVSXD;
+    opcode  : A_CVTTPD2DQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg64,ot_reg32,ot_none);
-    code    : #214#193#1#99#72;
-    flags   : if_x86_64
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#230#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CQO;
-    ops     : 0;
-    optypes : (ot_none,ot_none,ot_none);
-    code    : #214#1#153;
-    flags   : if_x86_64
+    opcode  : A_CVTTPS2DQ;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#91#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_CMPXCHG16B;
-    ops     : 1;
-    optypes : (ot_memory,ot_none,ot_none);
-    code    : #214#2#15#199#129;
-    flags   : if_x86_64
+    opcode  : A_CVTTSD2SI;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_none);
+    code    : #220#208#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVNTSS;
+    opcode  : A_CVTTSD2SI;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #219#192#211#2#15#43#65;
-    flags   : if_sse4 or if_sd
+    optypes : (ot_reg32 or ot_bits64,ot_memory,ot_none);
+    code    : #220#208#2#15#44#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_MOVNTSD;
+    opcode  : A_DIVPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_memory,ot_xmmreg,ot_none);
-    code    : #192#220#213#211#2#15#43#65;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#94#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_INSERTQ;
+    opcode  : A_DIVSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #220#211#2#15#121#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#94#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_EXTRQ;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_immediate,ot_immediate);
-    code    : #222#211#2#15#120#128#253#17#253#18;
-    flags   : if_sse4 or if_sb
+    opcode  : A_MAXPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #193#241#2#15#95#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_EXTRQ;
+    opcode  : A_MAXSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #222#211#2#15#121#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#95#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_LZCNT;
+    opcode  : A_MINPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg16,ot_regmem,ot_none);
-    code    : #208#219#193#211#2#15#189#72;
-    flags   : if_386 or if_sm or if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #193#241#2#15#93#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_LZCNT;
+    opcode  : A_MINSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_reg32 or ot_bits64,ot_regmem,ot_none);
-    code    : #209#219#193#211#2#15#189#72;
-    flags   : if_386 or if_sm or if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#93#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSB;
+    opcode  : A_MOVAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#28#72;
-    flags   : if_sse4
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#41#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PABSB;
+    opcode  : A_MOVAPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#28#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#40#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PABSB;
+    opcode  : A_MOVHPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#28#72;
-    flags   : if_sse4
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#23#65;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSB;
+    opcode  : A_MOVHPD;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#28#72;
-    flags   : if_sse4
+    code    : #241#2#15#22#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSW;
+    opcode  : A_MOVLPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#29#72;
-    flags   : if_sse4
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #241#2#15#19#65;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSW;
+    opcode  : A_MOVLPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#29#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_memory,ot_none);
+    code    : #241#2#15#18#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSW;
+    opcode  : A_MOVMSKPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#29#72;
-    flags   : if_sse4
+    optypes : (ot_reg32,ot_xmmreg,ot_none);
+    code    : #241#2#15#80#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSW;
+    opcode  : A_MOVUPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#29#72;
-    flags   : if_sse4
+    optypes : (ot_xmmrm,ot_xmmreg,ot_none);
+    code    : #241#2#15#17#65;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PABSD;
+    opcode  : A_MOVUPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#30#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#16#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PABSD;
+    opcode  : A_MULPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#30#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#89#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PABSD;
+    opcode  : A_MULSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#30#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#89#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PABSD;
+    opcode  : A_ORPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#30#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#86#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PALIGNR;
+    opcode  : A_SHUFPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_immediate);
-    code    : #217#3#15#58#15#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#2#15#198#72#22;
+    flags   : if_willamette or if_sse2 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_mmxreg,ot_memory,ot_immediate);
-    code    : #193#217#3#15#58#15#72#22;
-    flags   : if_sse4
+    opcode  : A_SQRTPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#81#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#15#72#22;
-    flags   : if_sse4
+    opcode  : A_SQRTSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#81#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PALIGNR;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#15#72#22;
-    flags   : if_sse4
+    opcode  : A_SUBPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#92#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDW;
+    opcode  : A_SUBSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#1#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#92#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PHADDW;
+    opcode  : A_UCOMISD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#1#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#46#72;
+    flags   : if_willamette or if_sse2
   ),
   ),
   (
   (
-    opcode  : A_PHADDW;
+    opcode  : A_UNPCKHPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#1#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#21#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDW;
+    opcode  : A_UNPCKLPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#1#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#20#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDD;
+    opcode  : A_XORPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#2#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#87#72;
+    flags   : if_willamette or if_sse2 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDD;
+    opcode  : A_ADDSUBPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#2#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#208#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDD;
+    opcode  : A_ADDSUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#2#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#208#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDD;
+    opcode  : A_HADDPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#2#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#124#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDSW;
+    opcode  : A_HADDPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#3#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#124#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDSW;
+    opcode  : A_HSUBPD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#3#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#2#15#125#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDSW;
+    opcode  : A_HSUBPS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#3#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#125#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHADDSW;
+    opcode  : A_LDDQU;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#3#72;
-    flags   : if_sse4
+    code    : #220#2#15#240#72;
+    flags   : if_prescott or if_sse3
   ),
   ),
   (
   (
-    opcode  : A_PHSUBW;
+    opcode  : A_MOVDDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#5#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #220#2#15#18#72;
+    flags   : if_prescott or if_sse3
   ),
   ),
   (
   (
-    opcode  : A_PHSUBW;
+    opcode  : A_MOVSHDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#5#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#22#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHSUBW;
+    opcode  : A_MOVSLDUP;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#5#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #219#2#15#18#72;
+    flags   : if_prescott or if_sse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHSUBW;
+    opcode  : A_VMREAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#5#72;
-    flags   : if_sse4
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #192#2#15#120#65;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBD;
+    opcode  : A_VMREAD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#6#72;
-    flags   : if_sse4
+    optypes : (ot_memory,ot_reg32,ot_none);
+    code    : #192#2#15#120#65;
+    flags   : if_386 or if_priv or if_prot or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHSUBD;
+    opcode  : A_VMWRITE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#6#72;
-    flags   : if_sse4
+    optypes : (ot_reg32,ot_reg32,ot_none);
+    code    : #193#2#15#121#72;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBD;
+    opcode  : A_VMWRITE;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#6#72;
-    flags   : if_sse4
+    optypes : (ot_reg32,ot_memory,ot_none);
+    code    : #193#2#15#121#72;
+    flags   : if_386 or if_priv or if_prot or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHSUBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#6#72;
-    flags   : if_sse4
+    opcode  : A_VMCALL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#193;
+    flags   : if_386 or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMLAUNCH;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#194;
+    flags   : if_386 or if_priv or if_prot
+  ),
+  (
+    opcode  : A_VMRESUME;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#195;
+    flags   : if_386 or if_priv or if_prot
+  ),
+  (
+    opcode  : A_VMXOFF;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#196;
+    flags   : if_386 or if_priv or if_prot
+  ),
+  (
+    opcode  : A_VMXON;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #219#192#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMCLEAR;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #241#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMPTRLD;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#199#134;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PHSUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#7#72;
-    flags   : if_sse4
+    opcode  : A_VMPTRST;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #192#2#15#199#135;
+    flags   : if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMRUN;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#216;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMMCALL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#217;
+    flags   : if_386 or if_svm
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMLOAD;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#218;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMADDUBSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#4#72;
-    flags   : if_sse4
+    opcode  : A_VMSAVE;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#219;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_STGI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#220;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_CLGI;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#221;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_SKINIT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#222;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PMULHRSW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#11#72;
-    flags   : if_sse4
+    opcode  : A_INVLPGA;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #3#15#1#223;
+    flags   : if_386 or if_svm or if_priv or if_prot
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_MONTMUL;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#192;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_XSHA1;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#200;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_XSHA256;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #219#3#15#166#208;
+    flags   : if_centaur
   ),
   ),
   (
   (
-    opcode  : A_PSHUFB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#0#72;
-    flags   : if_sse4
+    opcode  : A_DMINT;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#57;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#8#72;
-    flags   : if_sse4
+    opcode  : A_RDM;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #2#15#58;
+    flags   : if_p6 or if_cyrix
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
+    opcode  : A_MOVABS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#8#72;
-    flags   : if_sse4
+    optypes : (ot_reg32,ot_immediate,ot_none);
+    code    : #213#8#184#33;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
+    opcode  : A_MOVSXD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#8#72;
-    flags   : if_sse4
+    optypes : (ot_reg64,ot_memory,ot_none);
+    code    : #214#193#1#99#72;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSIGNB;
+    opcode  : A_MOVSXD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#8#72;
-    flags   : if_sse4
+    optypes : (ot_reg64,ot_reg32,ot_none);
+    code    : #214#193#1#99#72;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#9#72;
-    flags   : if_sse4
+    opcode  : A_CQO;
+    ops     : 0;
+    optypes : (ot_none,ot_none,ot_none);
+    code    : #214#1#153;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#9#72;
-    flags   : if_sse4
+    opcode  : A_CMPXCHG16B;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #214#2#15#199#129;
+    flags   : if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
+    opcode  : A_MOVNTSS;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#9#72;
-    flags   : if_sse4
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #219#2#15#43#65;
+    flags   : if_sse4 or if_sd
   ),
   ),
   (
   (
-    opcode  : A_PSIGNW;
+    opcode  : A_MOVNTSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#9#72;
+    optypes : (ot_memory,ot_xmmreg,ot_none);
+    code    : #220#213#2#15#43#65;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
+    opcode  : A_INSERTQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_mmxreg,ot_mmxreg,ot_none);
-    code    : #217#3#15#56#10#72;
+    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
+    code    : #220#2#15#121#72;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
-    ops     : 2;
-    optypes : (ot_mmxreg,ot_memory,ot_none);
-    code    : #193#217#3#15#56#10#72;
-    flags   : if_sse4
+    opcode  : A_EXTRQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_immediate,ot_immediate);
+    code    : #222#211#2#15#120#128#253#17#253#18;
+    flags   : if_sse4 or if_sb
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
+    opcode  : A_EXTRQ;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
     optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#10#72;
+    code    : #222#211#2#15#121#72;
     flags   : if_sse4
     flags   : if_sse4
   ),
   ),
   (
   (
-    opcode  : A_PSIGND;
+    opcode  : A_LZCNT;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#10#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_BLENDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#12#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_BLENDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#12#72#22;
-    flags   : if_sse4
+    optypes : (ot_reg16,ot_regmem,ot_none);
+    code    : #208#219#2#15#189#72;
+    flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
-    opcode  : A_BLENDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#2#15#58#253#1#13#72#22;
-    flags   : if_sse4
+    opcode  : A_LZCNT;
+    ops     : 2;
+    optypes : (ot_reg32 or ot_bits64,ot_regmem,ot_none);
+    code    : #209#219#2#15#189#72;
+    flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
-    opcode  : A_BLENDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#2#15#58#253#1#13#72#22;
-    flags   : if_sse4
+    opcode  : A_PABSB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#28#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPS;
+    opcode  : A_PABSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#20#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#28#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPS;
+    opcode  : A_PABSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#20#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#29#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPD;
+    opcode  : A_PABSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#21#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#29#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_BLENDVPD;
+    opcode  : A_PABSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#21#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#30#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DPPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#64#72#22;
-    flags   : if_sse4
+    opcode  : A_PABSD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#30#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_DPPS;
+    opcode  : A_PALIGNR;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#64#72#22;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_immediate);
+    code    : #217#3#15#58#15#72#22;
+    flags   : if_ssse3 or if_mmx or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DPPD;
+    opcode  : A_PALIGNR;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#65#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#15#72#22;
+    flags   : if_ssse3 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_DPPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#65#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#1#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_EXTRACTPS;
-    ops     : 3;
-    optypes : (ot_memory,ot_xmmreg,ot_immediate);
-    code    : #1#102#213#3#15#58#23#65#22;
-    flags   : if_sse4
+    opcode  : A_PHADDW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#1#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_EXTRACTPS;
-    ops     : 3;
-    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#3#15#58#23#65#22;
-    flags   : if_sse4
+    opcode  : A_PHADDD;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#2#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_INSERTPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#33#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#2#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_INSERTPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#33#72#22;
-    flags   : if_sse4
+    opcode  : A_PHADDSW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#3#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MOVNTDQA;
+    opcode  : A_PHADDSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#42#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#3#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MPSADBW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#66#72#22;
-    flags   : if_sse4
+    opcode  : A_PHSUBW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#5#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_MPSADBW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#66#72#22;
-    flags   : if_sse4
+    opcode  : A_PHSUBW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#5#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PACKUSDW;
+    opcode  : A_PHSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#43#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#6#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PACKUSDW;
+    opcode  : A_PHSUBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#43#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#6#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDVB;
+    opcode  : A_PHSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#16#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#7#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDVB;
+    opcode  : A_PHSUBSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#16#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#7#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#14#72#22;
-    flags   : if_sse4
+    opcode  : A_PMADDUBSW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#4#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PBLENDW;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#14#72#22;
-    flags   : if_sse4
+    opcode  : A_PMADDUBSW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#4#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQQ;
+    opcode  : A_PMULHRSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#41#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#11#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PCMPEQQ;
+    opcode  : A_PMULHRSW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#41#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#11#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRB;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#3#15#58#20#65#22;
-    flags   : if_sse4
+    opcode  : A_PSHUFB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#0#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRB;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#20#65#22;
-    flags   : if_sse4
+    opcode  : A_PSHUFB;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#0#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRD;
-    ops     : 3;
-    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
-    code    : #1#102#211#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNB;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#8#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRD;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#211#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNB;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#8#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRQ;
-    ops     : 3;
-    optypes : (ot_reg64,ot_xmmreg,ot_immediate);
-    code    : #1#102#214#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNW;
+    ops     : 2;
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#9#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PEXTRQ;
-    ops     : 3;
-    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_immediate);
-    code    : #1#102#192#214#3#15#58#22#65#22;
-    flags   : if_sse4
+    opcode  : A_PSIGNW;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#9#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHMINPOSUW;
+    opcode  : A_PSIGND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#65#72;
-    flags   : if_sse4
+    optypes : (ot_mmxreg,ot_mmxrm,ot_none);
+    code    : #217#3#15#56#10#72;
+    flags   : if_ssse3 or if_mmx or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PHMINPOSUW;
+    opcode  : A_PSIGND;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#65#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#10#72;
+    flags   : if_ssse3 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRB;
+    opcode  : A_BLENDPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#217#3#15#58#32#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#12#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PINSRB;
+    opcode  : A_BLENDPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_immediate);
-    code    : #1#102#193#217#3#15#58#32#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#13#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PINSRD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
-    code    : #1#102#217#3#15#58#34#72#22;
-    flags   : if_sse4
+    opcode  : A_BLENDVPS;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#20#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_immediate);
-    code    : #1#102#193#217#3#15#58#34#72#22;
-    flags   : if_sse4
+    opcode  : A_BLENDVPD;
+    ops     : 2;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#21#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PINSRQ;
+    opcode  : A_DPPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_reg64,ot_immediate);
-    code    : #1#102#214#3#15#58#34#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#64#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PINSRQ;
+    opcode  : A_DPPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_immediate);
-    code    : #1#102#193#214#3#15#58#34#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#65#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#60#72;
-    flags   : if_sse4
+    opcode  : A_EXTRACTPS;
+    ops     : 3;
+    optypes : (ot_memory,ot_xmmreg,ot_immediate);
+    code    : #241#213#3#15#58#23#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#60#72;
-    flags   : if_sse4
+    opcode  : A_EXTRACTPS;
+    ops     : 3;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#23#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#61#72;
-    flags   : if_sse4
+    opcode  : A_INSERTPS;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#33#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXSD;
+    opcode  : A_MOVNTDQA;
     ops     : 2;
     ops     : 2;
     optypes : (ot_xmmreg,ot_memory,ot_none);
     optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#61#72;
-    flags   : if_sse4
+    code    : #241#3#15#56#42#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#63#72;
-    flags   : if_sse4
+    opcode  : A_MPSADBW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#66#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMAXUD;
+    opcode  : A_PACKUSDW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#63#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#43#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUW;
+    opcode  : A_PBLENDVB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#62#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#16#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMAXUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#62#72;
-    flags   : if_sse4
+    opcode  : A_PBLENDW;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#14#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINSB;
+    opcode  : A_PCMPEQQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#56#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#41#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINSB;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#56#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRB;
+    ops     : 3;
+    optypes : (ot_reg32 or ot_bits64,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#20#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#57#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRB;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits8,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#20#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINSD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#57#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRD;
+    ops     : 3;
+    optypes : (ot_reg32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#22#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
+  ),
+  (
+    opcode  : A_PEXTRD;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits32,ot_xmmreg,ot_immediate);
+    code    : #241#3#15#58#22#65#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#58#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRQ;
+    ops     : 3;
+    optypes : (ot_reg64,ot_xmmreg,ot_immediate);
+    code    : #241#214#3#15#58#22#65#22;
+    flags   : if_sse41 or if_x86_64 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#58#72;
-    flags   : if_sse4
+    opcode  : A_PEXTRQ;
+    ops     : 3;
+    optypes : (ot_memory or ot_bits64,ot_xmmreg,ot_immediate);
+    code    : #241#214#3#15#58#22#65#22;
+    flags   : if_sse41 or if_x86_64 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMINUD;
+    opcode  : A_PHMINPOSUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#59#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#65#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMINUD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#59#72;
-    flags   : if_sse4
+    opcode  : A_PINSRB;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32 or ot_bits64,ot_immediate);
+    code    : #241#3#15#58#32#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#32#72;
-    flags   : if_sse4
+    opcode  : A_PINSRB;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits8,ot_immediate);
+    code    : #241#3#15#58#32#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBW;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#32#72;
-    flags   : if_sse4
+    opcode  : A_PINSRD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg32,ot_immediate);
+    code    : #241#3#15#58#34#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#33#72;
-    flags   : if_sse4
+    opcode  : A_PINSRD;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits32,ot_immediate);
+    code    : #241#3#15#58#34#72#22;
+    flags   : if_sse41 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBD;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#33#72;
-    flags   : if_sse4
+    opcode  : A_PINSRQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_reg64,ot_immediate);
+    code    : #241#214#3#15#58#34#72#22;
+    flags   : if_sse41 or if_x86_64 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#34#72;
-    flags   : if_sse4
+    opcode  : A_PINSRQ;
+    ops     : 3;
+    optypes : (ot_xmmreg,ot_memory or ot_bits64,ot_immediate);
+    code    : #241#214#3#15#58#34#72#22;
+    flags   : if_sse41 or if_x86_64 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXBQ;
+    opcode  : A_PMAXSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#34#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#60#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWD;
+    opcode  : A_PMAXSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#35#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#61#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWD;
+    opcode  : A_PMAXUD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#35#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#63#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWQ;
+    opcode  : A_PMAXUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#36#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#62#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXWQ;
+    opcode  : A_PMINSB;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#36#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#56#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXDQ;
+    opcode  : A_PMINSD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#37#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#57#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVSXDQ;
+    opcode  : A_PMINUW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#37#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#58#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBW;
+    opcode  : A_PMINUD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#48#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#59#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBW;
+    opcode  : A_PMOVSXBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#48#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#32#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBD;
+    opcode  : A_PMOVSXBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#49#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#33#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBD;
+    opcode  : A_PMOVSXBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#49#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#34#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBQ;
+    opcode  : A_PMOVSXWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#50#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#35#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXBQ;
+    opcode  : A_PMOVSXWQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#50#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#36#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWD;
+    opcode  : A_PMOVSXDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#51#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#37#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWD;
+    opcode  : A_PMOVZXBW;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#51#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#48#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWQ;
+    opcode  : A_PMOVZXBD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#52#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#49#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXWQ;
+    opcode  : A_PMOVZXBQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#52#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#50#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXDQ;
+    opcode  : A_PMOVZXWD;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#53#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#51#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMOVZXDQ;
+    opcode  : A_PMOVZXWQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#53#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#52#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
-    opcode  : A_PMULDQ;
+    opcode  : A_PMOVZXDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#40#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#53#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PMULDQ;
     opcode  : A_PMULDQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#40#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#40#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_PTEST;
     opcode  : A_PTEST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#23#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDPS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#8#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#23#72;
+    flags   : if_sse41 or if_sm
   ),
   ),
   (
   (
     opcode  : A_ROUNDPS;
     opcode  : A_ROUNDPS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#8#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDPD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#9#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#8#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDPD;
     opcode  : A_ROUNDPD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#9#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_ROUNDSS;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#10#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#9#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDSS;
     opcode  : A_ROUNDSS;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#10#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#10#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_ROUNDSD;
     opcode  : A_ROUNDSD;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#11#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#11#72#22;
+    flags   : if_sse41 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_ROUNDSD;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#11#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg32,ot_regmem or ot_bits8,ot_none);
+    code    : #220#3#15#56#240#72;
+    flags   : if_sse42
   ),
   ),
   (
   (
-    opcode  : A_PCMPESTRI;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#97#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg32,ot_regmem or ot_bits16 or ot_bits32,ot_none);
+    code    : #209#220#3#15#56#241#72;
+    flags   : if_sse42
   ),
   ),
   (
   (
-    opcode  : A_PCMPESTRI;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#97#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg64,ot_regmem or ot_bits8,ot_none);
+    code    : #220#214#3#15#56#240#72;
+    flags   : if_sse42 or if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PCMPESTRM;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#96#72#22;
-    flags   : if_sse4
+    opcode  : A_CRC32;
+    ops     : 2;
+    optypes : (ot_reg64,ot_regmem or ot_bits64,ot_none);
+    code    : #220#214#3#15#56#241#72;
+    flags   : if_sse42 or if_x86_64
   ),
   ),
   (
   (
-    opcode  : A_PCMPESTRM;
+    opcode  : A_PCMPESTRI;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#96#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#97#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
-    opcode  : A_PCMPISTRI;
+    opcode  : A_PCMPESTRM;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#99#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#96#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPISTRI;
     opcode  : A_PCMPISTRI;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#99#72#22;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPISTRM;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#98#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#99#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPISTRM;
     opcode  : A_PCMPISTRM;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#98#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#98#72#22;
+    flags   : if_sse42 or if_sm2 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_PCMPGTQ;
     opcode  : A_PCMPGTQ;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#55#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_PCMPGTQ;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#55#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#55#72;
+    flags   : if_sse42 or if_sm
   ),
   ),
   (
   (
     opcode  : A_POPCNT;
     opcode  : A_POPCNT;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg16,ot_regmem or ot_bits16,ot_none);
     optypes : (ot_reg16,ot_regmem or ot_bits16,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
+    code    : #219#208#2#15#184#72;
     flags   : if_386 or if_sm or if_sse4
     flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
     opcode  : A_POPCNT;
     opcode  : A_POPCNT;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_regmem or ot_bits32,ot_none);
     optypes : (ot_reg32,ot_regmem or ot_bits32,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
+    code    : #219#208#2#15#184#72;
     flags   : if_386 or if_sm or if_sse4
     flags   : if_386 or if_sm or if_sse4
   ),
   ),
   (
   (
     opcode  : A_POPCNT;
     opcode  : A_POPCNT;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg64,ot_regmem or ot_bits64,ot_none);
     optypes : (ot_reg64,ot_regmem or ot_bits64,ot_none);
-    code    : #1#243#193#208#2#15#184#72;
-    flags   : if_386 or if_sm or if_sse4
-  ),
-  (
-    opcode  : A_AESENC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#220#72;
-    flags   : if_sse4
+    code    : #219#208#2#15#184#72;
+    flags   : if_386 or if_sm or if_sse4 or if_x86_64
   ),
   ),
   (
   (
     opcode  : A_AESENC;
     opcode  : A_AESENC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#220#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESENCLAST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#221#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#220#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESENCLAST;
     opcode  : A_AESENCLAST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#221#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESDEC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#222#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#221#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESDEC;
     opcode  : A_AESDEC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#222#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESDECLAST;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#223#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#222#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESDECLAST;
     opcode  : A_AESDECLAST;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#223#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESIMC;
-    ops     : 2;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_none);
-    code    : #1#102#217#3#15#56#219#72;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#223#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESIMC;
     opcode  : A_AESIMC;
     ops     : 2;
     ops     : 2;
-    optypes : (ot_xmmreg,ot_memory,ot_none);
-    code    : #1#102#193#217#3#15#56#219#72;
-    flags   : if_sse4
-  ),
-  (
-    opcode  : A_AESKEYGENASSIST;
-    ops     : 3;
-    optypes : (ot_xmmreg,ot_xmmreg,ot_immediate);
-    code    : #1#102#217#3#15#58#223#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_none);
+    code    : #241#3#15#56#219#72;
+    flags   : if_sse4 or if_sm
   ),
   ),
   (
   (
     opcode  : A_AESKEYGENASSIST;
     opcode  : A_AESKEYGENASSIST;
     ops     : 3;
     ops     : 3;
-    optypes : (ot_xmmreg,ot_memory,ot_immediate);
-    code    : #1#102#193#217#3#15#58#223#72#22;
-    flags   : if_sse4
+    optypes : (ot_xmmreg,ot_xmmrm,ot_immediate);
+    code    : #241#3#15#58#223#72#22;
+    flags   : if_sse4 or if_sb or if_ar2
   ),
   ),
   (
   (
     opcode  : A_STOSQ;
     opcode  : A_STOSQ;

部分文件因文件數量過多而無法顯示