diff --git a/decoder.k b/decoder.k
index e7eba84113dc0a680f6bce8013facd4bab735563..b05ac65bceeab41336f22f2b77e06fa768699576 100644
--- a/decoder.k
+++ b/decoder.k
@@ -23,6 +23,7 @@ require "registers.k"
 require "decoder-configuration.k"
 require "generated_decoder_rules.k"
 require "semantics-glue.k"
+require "inum-to-opcode.k"
 require "x86-syntax.k"
 
 module DECODER
@@ -33,6 +34,7 @@ module DECODER
   imports DECODER-CONFIGURATION
   imports GENERATED-DECODER-RULES
   imports SEMANTICS-GLUE
+  imports INUM-TO-OPCODE-FUNCTION
   imports X86-SYNTAX
 
   syntax K ::= "SetMode" | "DecodePrefixes" | "ScanForVEX" | "ScanForEVEX" | "ScanForOpcode" | "ScanForMODRM" | "ScanForSIB" | "Disassemble" | "OutputDisassembly" | "IncrementInstruction"
@@ -91,10 +93,11 @@ module DECODER
        <decoderBuffer> _ => B </decoderBuffer>
        <instructionpointer> _ => A </instructionpointer>
 
-  rule <k> OutputDisassembly => DecodedInstruction(Q, S, DisassemblyToOpcode(R, N, SF) .Operands) ... </k>
+  rule <k> OutputDisassembly => DecodedInstruction(Q, S, INumOSZToOpcode(N, O) .Operands) ... </k>
        <ilen> Q </ilen>
        <REP> R </REP>
-       <INAME> N </INAME>
+       <INUM> N </INUM>
+       <OSZ> O </OSZ>
        <suffix> SF </suffix>
        <disassemblerOut> S </disassemblerOut>
 
diff --git a/generator/datafiles/inum-opcode-map-groups.csv b/generator/datafiles/inum-opcode-map-groups.csv
index 8cd0eb65fe545194a9be86400dcec310bd2de727..09d558804dbdf4e6b8610429391d8fcddad7d24a 100644
--- a/generator/datafiles/inum-opcode-map-groups.csv
+++ b/generator/datafiles/inum-opcode-map-groups.csv
@@ -350,10 +350,16 @@
 311,sall
 311,salq
 311,salw
+311,shll
+311,shlq
+311,shlw
 
 312,sall
 312,salq
 312,salw
+312,shll
+312,shlq
+312,shlw
 
 313,sarl
 313,sarq
@@ -372,8 +378,10 @@
 318,rcrb
 
 319,salb
+319,shlb
 
 320,salb
+320,shlb
 
 321,shrb
 
@@ -402,10 +410,16 @@
 331,sall
 331,salq
 331,salw
+331,shll
+331,shlq
+331,shlw
 
 332,sall
 332,salq
 332,salw
+332,shll
+332,shlq
+332,shlw
 
 333,shrl
 333,shrq
@@ -1125,31 +1139,67 @@
 930,cmovbl
 930,cmovbq
 930,cmovbw
+930,cmovcl
+930,cmovcq
+930,cmovcw
+930,cmovnael
+930,cmovnaeq
+930,cmovnaew
 
 931,cmovbl
 931,cmovbq
 931,cmovbw
-
+931,cmovcl
+931,cmovcq
+931,cmovcw
+931,cmovnael
+931,cmovnaeq
+931,cmovnaew
+
+932,cmovael
+932,cmovaeq
+932,cmovaew
 932,cmovnbl
 932,cmovnbq
 932,cmovnbw
+932,cmovncl
+932,cmovncq
+932,cmovncw
 
+933,cmovael
+933,cmovaeq
+933,cmovaew
 933,cmovnbl
 933,cmovnbq
 933,cmovnbw
+933,cmovncl
+933,cmovncq
+933,cmovncw
 
+934,cmovel
+934,cmoveq
+934,cmovew
 934,cmovzl
 934,cmovzq
 934,cmovzw
 
+935,cmovel
+935,cmoveq
+935,cmovew
 935,cmovzl
 935,cmovzq
 935,cmovzw
 
+936,cmovnel
+936,cmovneq
+936,cmovnew
 936,cmovnzl
 936,cmovnzq
 936,cmovnzw
 
+937,cmovnel
+937,cmovneq
+937,cmovnew
 937,cmovnzl
 937,cmovnzq
 937,cmovnzw
@@ -1157,15 +1207,27 @@
 938,cmovbel
 938,cmovbeq
 938,cmovbew
+938,cmovnal
+938,cmovnaq
+938,cmovnaw
 
 939,cmovbel
 939,cmovbeq
 939,cmovbew
+939,cmovnal
+939,cmovnaq
+939,cmovnaw
 
+940,cmoval
+940,cmovaq
+940,cmovaw
 940,cmovnbel
 940,cmovnbeq
 940,cmovnbew
 
+941,cmoval
+941,cmovaq
+941,cmovaw
 941,cmovnbel
 941,cmovnbeq
 941,cmovnbew
@@ -1299,15 +1361,23 @@
 1032,jno
 
 1034,jb
+1034,jc
+1034,jnae
 
+1036,jae
 1036,jnb
+1036,jnc
 
+1038,je
 1038,jz
 
+1040,jne
 1040,jnz
 
 1042,jbe
+1042,jna
 
+1044,ja
 1044,jnbe
 
 1045,seto
@@ -1319,27 +1389,43 @@
 1048,setno
 
 1049,setb
+1049,setc
+1049,setnae
 
 1050,setb
+1050,setc
+1050,setnae
 
+1051,setae
 1051,setnb
+1051,setnc
 
+1052,setae
 1052,setnb
+1052,setnc
 
+1053,sete
 1053,setz
 
+1054,sete
 1054,setz
 
+1055,setne
 1055,setnz
 
+1056,setne
 1056,setnz
 
 1057,setbe
+1057,setna
 
 1058,setbe
+1058,setna
 
+1059,seta
 1059,setnbe
 
+1060,seta
 1060,setnbe
 
 1064,btl
@@ -1631,31 +1717,55 @@
 1260,cmovpel
 1260,cmovpeq
 1260,cmovpew
+1260,cmovpl
+1260,cmovpq
+1260,cmovpw
 
 1261,cmovpel
 1261,cmovpeq
 1261,cmovpew
+1261,cmovpl
+1261,cmovpq
+1261,cmovpw
 
 1262,cmovnpl
 1262,cmovnpq
 1262,cmovnpw
+1262,cmovpol
+1262,cmovpoq
+1262,cmovpow
 
 1263,cmovnpl
 1263,cmovnpq
 1263,cmovnpw
+1263,cmovpol
+1263,cmovpoq
+1263,cmovpow
 
 1264,cmovll
 1264,cmovlq
 1264,cmovlw
+1264,cmovngel
+1264,cmovngeq
+1264,cmovngew
 
 1265,cmovll
 1265,cmovlq
 1265,cmovlw
+1265,cmovngel
+1265,cmovngeq
+1265,cmovngew
 
+1266,cmovgel
+1266,cmovgeq
+1266,cmovgew
 1266,cmovnll
 1266,cmovnlq
 1266,cmovnlw
 
+1267,cmovgel
+1267,cmovgeq
+1267,cmovgew
 1267,cmovnll
 1267,cmovnlq
 1267,cmovnlw
@@ -1663,15 +1773,27 @@
 1268,cmovlel
 1268,cmovleq
 1268,cmovlew
+1268,cmovngl
+1268,cmovngq
+1268,cmovngw
 
 1269,cmovlel
 1269,cmovleq
 1269,cmovlew
+1269,cmovngl
+1269,cmovngq
+1269,cmovngw
 
+1270,cmovgl
+1270,cmovgq
+1270,cmovgw
 1270,cmovnlel
 1270,cmovnleq
 1270,cmovnlew
 
+1271,cmovgl
+1271,cmovgq
+1271,cmovgw
 1271,cmovnlel
 1271,cmovnleq
 1271,cmovnlew
@@ -1875,15 +1997,21 @@
 1413,jns
 
 1415,jp
+1415,jpe
 
 1417,jnp
+1417,jpo
 
 1419,jl
+1419,jnge
 
+1421,jge
 1421,jnl
 
+1423,jle
 1423,jng
 
+1425,jg
 1425,jnle
 
 1426,sets
@@ -1895,27 +2023,39 @@
 1429,setns
 
 1430,setp
+1430,setpe
 
 1431,setp
+1431,setpe
 
 1432,setnp
+1432,setpo
 
 1433,setnp
+1433,setpo
 
 1434,setl
+1434,setnge
 
 1435,setl
+1435,setnge
 
+1436,setge
 1436,setnl
 
+1437,setge
 1437,setnl
 
 1438,setle
+1438,setng
 
 1439,setle
+1439,setng
 
+1440,setg
 1440,setnle
 
+1441,setg
 1441,setnle
 
 1446,btsl
diff --git a/generator/generate-opcode-decoder.py b/generator/generate-opcode-decoder.py
new file mode 100755
index 0000000000000000000000000000000000000000..4c1cd6084572496d86078495a9f20f02a77d53cb
--- /dev/null
+++ b/generator/generate-opcode-decoder.py
@@ -0,0 +1,69 @@
+#!/usr/bin/python3
+import kcodegen
+
+inum_lookup_table = {}
+
+osz_suffixes = ["b", "w", "l", "q", "x", "y", "z"]
+
+with open("datafiles/inum-opcode-map-groups.csv", "r") as f:
+    for line in f.readlines():
+
+        line = line.strip()
+        comment_start = line.find("#")
+        if comment_start > 0:
+            line = line[:(comment_start - 1)]
+        elif comment_start == 0:
+            continue
+
+        sections = line.split(",")
+
+        assert len(sections) <= 2
+        if len(sections) < 2:
+            continue # Not a declaration line
+
+        inum = int(sections[0])
+        opcode = sections[1]
+        
+        assert len(opcode) > 0
+
+        existing = inum_lookup_table.get(inum, list())
+        existing.append(opcode)
+        inum_lookup_table[inum] = existing
+
+rules = []
+
+rule_template = "rule INumOSZToOpcode({0}, {1}) => {2}"
+
+for (inum, opcodes) in inum_lookup_table.items():
+    opcode_group = opcodes
+    if len(opcodes) > 1:
+        first_opcode = opcodes[0]
+        has_osz_suffix = first_opcode[-1] in osz_suffixes
+        no_suffix = first_opcode[:-1]
+        opcode_group = [first_opcode]
+        if has_osz_suffix:
+            for other_opcode in opcodes[1:]:
+                if other_opcode[-1] in osz_suffixes and no_suffix == other_opcode[:-1]:
+                    opcode_group.append(other_opcode)
+        if len(opcode_group) > 1:
+            opcode_group.sort(key=lambda x: osz_suffixes.index(x[-1]))
+        assert len(opcode_group) <= 3, "Too many opcodes: {0}".format(','.join(opcode_group))
+
+    if len(opcode_group) == 1:
+        rules.append(rule_template.format(inum, "_", opcode_group[0]))
+    else:
+        for opcode in opcode_group:
+            suffix = opcode[-1]
+            assert suffix in osz_suffixes
+            rules.append(rule_template.format(inum, osz_suffixes.index(suffix) - 1, opcode))
+
+
+
+
+print("""require "x86-syntax.k"
+module INUM-TO-OPCODE-FUNCTION
+    imports X86-SYNTAX
+    syntax Opcode ::= INumOSZToOpcode(Int, Int) [function]
+{0}
+endmodule""".format('\n'.join(['    ' + rule for rule in rules])))
+
diff --git a/inum-to-opcode.k b/inum-to-opcode.k
new file mode 100644
index 0000000000000000000000000000000000000000..c5851a41566ad40b727c97b2acfbf0b2c5278455
--- /dev/null
+++ b/inum-to-opcode.k
@@ -0,0 +1,2636 @@
+require "x86-syntax.k"
+module INUM-TO-OPCODE-FUNCTION
+    imports X86-SYNTAX
+    syntax Opcode ::= INumOSZToOpcode(Int, Int) [function]
+    rule INumOSZToOpcode(150, _) => addb
+    rule INumOSZToOpcode(151, _) => addb
+    rule INumOSZToOpcode(153, _) => orb
+    rule INumOSZToOpcode(154, _) => orb
+    rule INumOSZToOpcode(156, _) => adcb
+    rule INumOSZToOpcode(157, _) => adcb
+    rule INumOSZToOpcode(159, _) => sbbb
+    rule INumOSZToOpcode(160, _) => sbbb
+    rule INumOSZToOpcode(162, _) => andb
+    rule INumOSZToOpcode(163, _) => andb
+    rule INumOSZToOpcode(165, _) => subb
+    rule INumOSZToOpcode(166, _) => subb
+    rule INumOSZToOpcode(168, _) => xorb
+    rule INumOSZToOpcode(169, _) => xorb
+    rule INumOSZToOpcode(170, _) => cmpb
+    rule INumOSZToOpcode(171, _) => cmpb
+    rule INumOSZToOpcode(173, 0) => addw
+    rule INumOSZToOpcode(173, 1) => addl
+    rule INumOSZToOpcode(173, 2) => addq
+    rule INumOSZToOpcode(174, 0) => addw
+    rule INumOSZToOpcode(174, 1) => addl
+    rule INumOSZToOpcode(174, 2) => addq
+    rule INumOSZToOpcode(176, 0) => orw
+    rule INumOSZToOpcode(176, 1) => orl
+    rule INumOSZToOpcode(176, 2) => orq
+    rule INumOSZToOpcode(177, 0) => orw
+    rule INumOSZToOpcode(177, 1) => orl
+    rule INumOSZToOpcode(177, 2) => orq
+    rule INumOSZToOpcode(179, 0) => adcw
+    rule INumOSZToOpcode(179, 1) => adcl
+    rule INumOSZToOpcode(179, 2) => adcq
+    rule INumOSZToOpcode(180, 0) => adcw
+    rule INumOSZToOpcode(180, 1) => adcl
+    rule INumOSZToOpcode(180, 2) => adcq
+    rule INumOSZToOpcode(182, 0) => sbbw
+    rule INumOSZToOpcode(182, 1) => sbbl
+    rule INumOSZToOpcode(182, 2) => sbbq
+    rule INumOSZToOpcode(183, 0) => sbbw
+    rule INumOSZToOpcode(183, 1) => sbbl
+    rule INumOSZToOpcode(183, 2) => sbbq
+    rule INumOSZToOpcode(185, 0) => andw
+    rule INumOSZToOpcode(185, 1) => andl
+    rule INumOSZToOpcode(185, 2) => andq
+    rule INumOSZToOpcode(186, 0) => andw
+    rule INumOSZToOpcode(186, 1) => andl
+    rule INumOSZToOpcode(186, 2) => andq
+    rule INumOSZToOpcode(188, 0) => subw
+    rule INumOSZToOpcode(188, 1) => subl
+    rule INumOSZToOpcode(188, 2) => subq
+    rule INumOSZToOpcode(189, 0) => subw
+    rule INumOSZToOpcode(189, 1) => subl
+    rule INumOSZToOpcode(189, 2) => subq
+    rule INumOSZToOpcode(191, 0) => xorw
+    rule INumOSZToOpcode(191, 1) => xorl
+    rule INumOSZToOpcode(191, 2) => xorq
+    rule INumOSZToOpcode(192, 0) => xorw
+    rule INumOSZToOpcode(192, 1) => xorl
+    rule INumOSZToOpcode(192, 2) => xorq
+    rule INumOSZToOpcode(193, 0) => cmpw
+    rule INumOSZToOpcode(193, 1) => cmpl
+    rule INumOSZToOpcode(193, 2) => cmpq
+    rule INumOSZToOpcode(194, 0) => cmpw
+    rule INumOSZToOpcode(194, 1) => cmpl
+    rule INumOSZToOpcode(194, 2) => cmpq
+    rule INumOSZToOpcode(219, 0) => addw
+    rule INumOSZToOpcode(219, 1) => addl
+    rule INumOSZToOpcode(219, 2) => addq
+    rule INumOSZToOpcode(220, 0) => addw
+    rule INumOSZToOpcode(220, 1) => addl
+    rule INumOSZToOpcode(220, 2) => addq
+    rule INumOSZToOpcode(222, 0) => orw
+    rule INumOSZToOpcode(222, 1) => orl
+    rule INumOSZToOpcode(222, 2) => orq
+    rule INumOSZToOpcode(223, 0) => orw
+    rule INumOSZToOpcode(223, 1) => orl
+    rule INumOSZToOpcode(223, 2) => orq
+    rule INumOSZToOpcode(225, 0) => adcw
+    rule INumOSZToOpcode(225, 1) => adcl
+    rule INumOSZToOpcode(225, 2) => adcq
+    rule INumOSZToOpcode(226, 0) => adcw
+    rule INumOSZToOpcode(226, 1) => adcl
+    rule INumOSZToOpcode(226, 2) => adcq
+    rule INumOSZToOpcode(228, 0) => sbbw
+    rule INumOSZToOpcode(228, 1) => sbbl
+    rule INumOSZToOpcode(228, 2) => sbbq
+    rule INumOSZToOpcode(229, 0) => sbbw
+    rule INumOSZToOpcode(229, 1) => sbbl
+    rule INumOSZToOpcode(229, 2) => sbbq
+    rule INumOSZToOpcode(231, 0) => andw
+    rule INumOSZToOpcode(231, 1) => andl
+    rule INumOSZToOpcode(231, 2) => andq
+    rule INumOSZToOpcode(232, 0) => andw
+    rule INumOSZToOpcode(232, 1) => andl
+    rule INumOSZToOpcode(232, 2) => andq
+    rule INumOSZToOpcode(234, 0) => subw
+    rule INumOSZToOpcode(234, 1) => subl
+    rule INumOSZToOpcode(234, 2) => subq
+    rule INumOSZToOpcode(235, 0) => subw
+    rule INumOSZToOpcode(235, 1) => subl
+    rule INumOSZToOpcode(235, 2) => subq
+    rule INumOSZToOpcode(237, 0) => xorw
+    rule INumOSZToOpcode(237, 1) => xorl
+    rule INumOSZToOpcode(237, 2) => xorq
+    rule INumOSZToOpcode(238, 0) => xorw
+    rule INumOSZToOpcode(238, 1) => xorl
+    rule INumOSZToOpcode(238, 2) => xorq
+    rule INumOSZToOpcode(239, 0) => cmpw
+    rule INumOSZToOpcode(239, 1) => cmpl
+    rule INumOSZToOpcode(239, 2) => cmpq
+    rule INumOSZToOpcode(240, 0) => cmpw
+    rule INumOSZToOpcode(240, 1) => cmpl
+    rule INumOSZToOpcode(240, 2) => cmpq
+    rule INumOSZToOpcode(241, 0) => popw
+    rule INumOSZToOpcode(241, 2) => popq
+    rule INumOSZToOpcode(243, _) => rolb
+    rule INumOSZToOpcode(244, _) => rolb
+    rule INumOSZToOpcode(245, 0) => rolw
+    rule INumOSZToOpcode(245, 1) => roll
+    rule INumOSZToOpcode(245, 2) => rolq
+    rule INumOSZToOpcode(246, 0) => rolw
+    rule INumOSZToOpcode(246, 1) => roll
+    rule INumOSZToOpcode(246, 2) => rolq
+    rule INumOSZToOpcode(247, _) => rorb
+    rule INumOSZToOpcode(248, _) => rorb
+    rule INumOSZToOpcode(249, 0) => rorw
+    rule INumOSZToOpcode(249, 1) => rorl
+    rule INumOSZToOpcode(249, 2) => rorq
+    rule INumOSZToOpcode(250, 0) => rorw
+    rule INumOSZToOpcode(250, 1) => rorl
+    rule INumOSZToOpcode(250, 2) => rorq
+    rule INumOSZToOpcode(251, _) => rorb
+    rule INumOSZToOpcode(252, _) => rorb
+    rule INumOSZToOpcode(253, 0) => rorw
+    rule INumOSZToOpcode(253, 1) => rorl
+    rule INumOSZToOpcode(253, 2) => rorq
+    rule INumOSZToOpcode(254, 0) => rorw
+    rule INumOSZToOpcode(254, 1) => rorl
+    rule INumOSZToOpcode(254, 2) => rorq
+    rule INumOSZToOpcode(255, _) => rorb
+    rule INumOSZToOpcode(256, _) => rorb
+    rule INumOSZToOpcode(257, 0) => rorw
+    rule INumOSZToOpcode(257, 1) => rorl
+    rule INumOSZToOpcode(257, 2) => rorq
+    rule INumOSZToOpcode(258, 0) => rorw
+    rule INumOSZToOpcode(258, 1) => rorl
+    rule INumOSZToOpcode(258, 2) => rorq
+    rule INumOSZToOpcode(259, _) => rolb
+    rule INumOSZToOpcode(260, _) => rolb
+    rule INumOSZToOpcode(261, 0) => rolw
+    rule INumOSZToOpcode(261, 1) => roll
+    rule INumOSZToOpcode(261, 2) => rolq
+    rule INumOSZToOpcode(262, 0) => rolw
+    rule INumOSZToOpcode(262, 1) => roll
+    rule INumOSZToOpcode(262, 2) => rolq
+    rule INumOSZToOpcode(263, _) => rolb
+    rule INumOSZToOpcode(264, _) => rolb
+    rule INumOSZToOpcode(265, 0) => rolw
+    rule INumOSZToOpcode(265, 1) => roll
+    rule INumOSZToOpcode(265, 2) => rolq
+    rule INumOSZToOpcode(266, 0) => rolw
+    rule INumOSZToOpcode(266, 1) => roll
+    rule INumOSZToOpcode(266, 2) => rolq
+    rule INumOSZToOpcode(267, _) => rclb
+    rule INumOSZToOpcode(268, _) => rclb
+    rule INumOSZToOpcode(269, _) => rcrb
+    rule INumOSZToOpcode(270, _) => rcrb
+    rule INumOSZToOpcode(271, _) => salb
+    rule INumOSZToOpcode(272, _) => salb
+    rule INumOSZToOpcode(273, _) => shrb
+    rule INumOSZToOpcode(274, _) => shrb
+    rule INumOSZToOpcode(277, _) => sarb
+    rule INumOSZToOpcode(278, _) => sarb
+    rule INumOSZToOpcode(279, 0) => rclw
+    rule INumOSZToOpcode(279, 1) => rcll
+    rule INumOSZToOpcode(279, 2) => rclq
+    rule INumOSZToOpcode(280, 0) => rclw
+    rule INumOSZToOpcode(280, 1) => rcll
+    rule INumOSZToOpcode(280, 2) => rclq
+    rule INumOSZToOpcode(281, 0) => rcrw
+    rule INumOSZToOpcode(281, 1) => rcrl
+    rule INumOSZToOpcode(281, 2) => rcrq
+    rule INumOSZToOpcode(282, 0) => rcrw
+    rule INumOSZToOpcode(282, 1) => rcrl
+    rule INumOSZToOpcode(282, 2) => rcrq
+    rule INumOSZToOpcode(283, 0) => salw
+    rule INumOSZToOpcode(283, 1) => sall
+    rule INumOSZToOpcode(283, 2) => salq
+    rule INumOSZToOpcode(284, 0) => salw
+    rule INumOSZToOpcode(284, 1) => sall
+    rule INumOSZToOpcode(284, 2) => salq
+    rule INumOSZToOpcode(285, 0) => shrw
+    rule INumOSZToOpcode(285, 1) => shrl
+    rule INumOSZToOpcode(285, 2) => shrq
+    rule INumOSZToOpcode(286, 0) => shrw
+    rule INumOSZToOpcode(286, 1) => shrl
+    rule INumOSZToOpcode(286, 2) => shrq
+    rule INumOSZToOpcode(289, 0) => sarw
+    rule INumOSZToOpcode(289, 1) => sarl
+    rule INumOSZToOpcode(289, 2) => sarq
+    rule INumOSZToOpcode(290, 0) => sarw
+    rule INumOSZToOpcode(290, 1) => sarl
+    rule INumOSZToOpcode(290, 2) => sarq
+    rule INumOSZToOpcode(291, _) => rclb
+    rule INumOSZToOpcode(292, _) => rclb
+    rule INumOSZToOpcode(293, _) => rcrb
+    rule INumOSZToOpcode(294, _) => rcrb
+    rule INumOSZToOpcode(295, _) => salb
+    rule INumOSZToOpcode(296, _) => salb
+    rule INumOSZToOpcode(299, _) => shrb
+    rule INumOSZToOpcode(300, _) => shrb
+    rule INumOSZToOpcode(301, _) => sarb
+    rule INumOSZToOpcode(302, _) => sarb
+    rule INumOSZToOpcode(303, 0) => rclw
+    rule INumOSZToOpcode(303, 1) => rcll
+    rule INumOSZToOpcode(303, 2) => rclq
+    rule INumOSZToOpcode(304, 0) => rclw
+    rule INumOSZToOpcode(304, 1) => rcll
+    rule INumOSZToOpcode(304, 2) => rclq
+    rule INumOSZToOpcode(305, 0) => rcrw
+    rule INumOSZToOpcode(305, 1) => rcrl
+    rule INumOSZToOpcode(305, 2) => rcrq
+    rule INumOSZToOpcode(306, 0) => rcrw
+    rule INumOSZToOpcode(306, 1) => rcrl
+    rule INumOSZToOpcode(306, 2) => rcrq
+    rule INumOSZToOpcode(307, 0) => shrw
+    rule INumOSZToOpcode(307, 1) => shrl
+    rule INumOSZToOpcode(307, 2) => shrq
+    rule INumOSZToOpcode(308, 0) => shrw
+    rule INumOSZToOpcode(308, 1) => shrl
+    rule INumOSZToOpcode(308, 2) => shrq
+    rule INumOSZToOpcode(311, 0) => salw
+    rule INumOSZToOpcode(311, 1) => sall
+    rule INumOSZToOpcode(311, 2) => salq
+    rule INumOSZToOpcode(312, 0) => salw
+    rule INumOSZToOpcode(312, 1) => sall
+    rule INumOSZToOpcode(312, 2) => salq
+    rule INumOSZToOpcode(313, 0) => sarw
+    rule INumOSZToOpcode(313, 1) => sarl
+    rule INumOSZToOpcode(313, 2) => sarq
+    rule INumOSZToOpcode(314, 0) => sarw
+    rule INumOSZToOpcode(314, 1) => sarl
+    rule INumOSZToOpcode(314, 2) => sarq
+    rule INumOSZToOpcode(315, _) => rclb
+    rule INumOSZToOpcode(316, _) => rclb
+    rule INumOSZToOpcode(317, _) => rcrb
+    rule INumOSZToOpcode(318, _) => rcrb
+    rule INumOSZToOpcode(319, _) => salb
+    rule INumOSZToOpcode(320, _) => salb
+    rule INumOSZToOpcode(321, _) => shrb
+    rule INumOSZToOpcode(322, _) => shrb
+    rule INumOSZToOpcode(325, _) => sarb
+    rule INumOSZToOpcode(326, _) => sarb
+    rule INumOSZToOpcode(327, 0) => rclw
+    rule INumOSZToOpcode(327, 1) => rcll
+    rule INumOSZToOpcode(327, 2) => rclq
+    rule INumOSZToOpcode(328, 0) => rclw
+    rule INumOSZToOpcode(328, 1) => rcll
+    rule INumOSZToOpcode(328, 2) => rclq
+    rule INumOSZToOpcode(329, 0) => rcrw
+    rule INumOSZToOpcode(329, 1) => rcrl
+    rule INumOSZToOpcode(329, 2) => rcrq
+    rule INumOSZToOpcode(330, 0) => rcrw
+    rule INumOSZToOpcode(330, 1) => rcrl
+    rule INumOSZToOpcode(330, 2) => rcrq
+    rule INumOSZToOpcode(331, 0) => salw
+    rule INumOSZToOpcode(331, 1) => sall
+    rule INumOSZToOpcode(331, 2) => salq
+    rule INumOSZToOpcode(332, 0) => salw
+    rule INumOSZToOpcode(332, 1) => sall
+    rule INumOSZToOpcode(332, 2) => salq
+    rule INumOSZToOpcode(333, 0) => shrw
+    rule INumOSZToOpcode(333, 1) => shrl
+    rule INumOSZToOpcode(333, 2) => shrq
+    rule INumOSZToOpcode(334, 0) => shrw
+    rule INumOSZToOpcode(334, 1) => shrl
+    rule INumOSZToOpcode(334, 2) => shrq
+    rule INumOSZToOpcode(337, 0) => sarw
+    rule INumOSZToOpcode(337, 1) => sarl
+    rule INumOSZToOpcode(337, 2) => sarq
+    rule INumOSZToOpcode(338, 0) => sarw
+    rule INumOSZToOpcode(338, 1) => sarl
+    rule INumOSZToOpcode(338, 2) => sarq
+    rule INumOSZToOpcode(339, _) => testb
+    rule INumOSZToOpcode(341, _) => testb
+    rule INumOSZToOpcode(344, _) => notb
+    rule INumOSZToOpcode(345, _) => notb
+    rule INumOSZToOpcode(347, _) => negb
+    rule INumOSZToOpcode(348, _) => negb
+    rule INumOSZToOpcode(349, _) => mulb
+    rule INumOSZToOpcode(350, _) => mulb
+    rule INumOSZToOpcode(351, _) => imulb
+    rule INumOSZToOpcode(352, _) => imulb
+    rule INumOSZToOpcode(353, _) => divb
+    rule INumOSZToOpcode(354, _) => divb
+    rule INumOSZToOpcode(355, _) => idivb
+    rule INumOSZToOpcode(356, _) => idivb
+    rule INumOSZToOpcode(357, 0) => testw
+    rule INumOSZToOpcode(357, 1) => testl
+    rule INumOSZToOpcode(357, 2) => testq
+    rule INumOSZToOpcode(359, 0) => testw
+    rule INumOSZToOpcode(359, 1) => testl
+    rule INumOSZToOpcode(359, 2) => testq
+    rule INumOSZToOpcode(362, 0) => notw
+    rule INumOSZToOpcode(362, 1) => notl
+    rule INumOSZToOpcode(362, 2) => notq
+    rule INumOSZToOpcode(363, 0) => notw
+    rule INumOSZToOpcode(363, 1) => notl
+    rule INumOSZToOpcode(363, 2) => notq
+    rule INumOSZToOpcode(365, 0) => negw
+    rule INumOSZToOpcode(365, 1) => negl
+    rule INumOSZToOpcode(365, 2) => negq
+    rule INumOSZToOpcode(366, 0) => negw
+    rule INumOSZToOpcode(366, 1) => negl
+    rule INumOSZToOpcode(366, 2) => negq
+    rule INumOSZToOpcode(367, 0) => mulw
+    rule INumOSZToOpcode(367, 1) => mull
+    rule INumOSZToOpcode(367, 2) => mulq
+    rule INumOSZToOpcode(368, 0) => mulw
+    rule INumOSZToOpcode(368, 1) => mull
+    rule INumOSZToOpcode(368, 2) => mulq
+    rule INumOSZToOpcode(369, 0) => imulw
+    rule INumOSZToOpcode(369, 1) => imull
+    rule INumOSZToOpcode(369, 2) => imulq
+    rule INumOSZToOpcode(370, 0) => imulw
+    rule INumOSZToOpcode(370, 1) => imull
+    rule INumOSZToOpcode(370, 2) => imulq
+    rule INumOSZToOpcode(371, 0) => divw
+    rule INumOSZToOpcode(371, 1) => divl
+    rule INumOSZToOpcode(371, 2) => divq
+    rule INumOSZToOpcode(372, 0) => divw
+    rule INumOSZToOpcode(372, 1) => divl
+    rule INumOSZToOpcode(372, 2) => divq
+    rule INumOSZToOpcode(373, 0) => idivw
+    rule INumOSZToOpcode(373, 1) => idivl
+    rule INumOSZToOpcode(373, 2) => idivq
+    rule INumOSZToOpcode(374, 0) => idivw
+    rule INumOSZToOpcode(374, 1) => idivl
+    rule INumOSZToOpcode(374, 2) => idivq
+    rule INumOSZToOpcode(376, _) => incb
+    rule INumOSZToOpcode(377, _) => incb
+    rule INumOSZToOpcode(379, _) => decb
+    rule INumOSZToOpcode(380, _) => decb
+    rule INumOSZToOpcode(382, 0) => incw
+    rule INumOSZToOpcode(382, 1) => incl
+    rule INumOSZToOpcode(382, 2) => incq
+    rule INumOSZToOpcode(383, 0) => incw
+    rule INumOSZToOpcode(383, 1) => incl
+    rule INumOSZToOpcode(383, 2) => incq
+    rule INumOSZToOpcode(385, 0) => decw
+    rule INumOSZToOpcode(385, 1) => decl
+    rule INumOSZToOpcode(385, 2) => decq
+    rule INumOSZToOpcode(386, 0) => decw
+    rule INumOSZToOpcode(386, 1) => decl
+    rule INumOSZToOpcode(386, 2) => decq
+    rule INumOSZToOpcode(387, _) => callq
+    rule INumOSZToOpcode(388, _) => callq
+    rule INumOSZToOpcode(390, _) => callq
+    rule INumOSZToOpcode(391, _) => jmp
+    rule INumOSZToOpcode(392, _) => jmp
+    rule INumOSZToOpcode(394, 0) => pushw
+    rule INumOSZToOpcode(394, 2) => pushq
+    rule INumOSZToOpcode(414, 0) => btw
+    rule INumOSZToOpcode(414, 1) => btl
+    rule INumOSZToOpcode(414, 2) => btq
+    rule INumOSZToOpcode(415, 0) => btw
+    rule INumOSZToOpcode(415, 1) => btl
+    rule INumOSZToOpcode(415, 2) => btq
+    rule INumOSZToOpcode(417, 0) => btsw
+    rule INumOSZToOpcode(417, 1) => btsl
+    rule INumOSZToOpcode(417, 2) => btsq
+    rule INumOSZToOpcode(418, 0) => btsw
+    rule INumOSZToOpcode(418, 1) => btsl
+    rule INumOSZToOpcode(418, 2) => btsq
+    rule INumOSZToOpcode(420, 0) => btrw
+    rule INumOSZToOpcode(420, 1) => btrl
+    rule INumOSZToOpcode(420, 2) => btrq
+    rule INumOSZToOpcode(421, 0) => btrw
+    rule INumOSZToOpcode(421, 1) => btrl
+    rule INumOSZToOpcode(421, 2) => btrq
+    rule INumOSZToOpcode(6869, _) => movb
+    rule INumOSZToOpcode(423, 0) => btcw
+    rule INumOSZToOpcode(423, 1) => btcl
+    rule INumOSZToOpcode(423, 2) => btcq
+    rule INumOSZToOpcode(424, 0) => btcw
+    rule INumOSZToOpcode(424, 1) => btcl
+    rule INumOSZToOpcode(424, 2) => btcq
+    rule INumOSZToOpcode(432, _) => cmpxchg8b
+    rule INumOSZToOpcode(434, _) => cmpxchg16b
+    rule INumOSZToOpcode(436, _) => movb
+    rule INumOSZToOpcode(437, _) => movq
+    rule INumOSZToOpcode(438, 0) => movw
+    rule INumOSZToOpcode(438, 1) => movl
+    rule INumOSZToOpcode(438, 2) => movq
+    rule INumOSZToOpcode(442, _) => psrlw
+    rule INumOSZToOpcode(443, _) => psraw
+    rule INumOSZToOpcode(444, _) => psllw
+    rule INumOSZToOpcode(448, _) => psrld
+    rule INumOSZToOpcode(449, _) => psrad
+    rule INumOSZToOpcode(450, _) => pslld
+    rule INumOSZToOpcode(453, _) => psrlq
+    rule INumOSZToOpcode(454, _) => psrldq
+    rule INumOSZToOpcode(455, _) => psllq
+    rule INumOSZToOpcode(456, _) => pslldq
+    rule INumOSZToOpcode(491, 0) => nopw
+    rule INumOSZToOpcode(491, 1) => nopl
+    rule INumOSZToOpcode(492, 0) => nopw
+    rule INumOSZToOpcode(492, 1) => nopl
+    rule INumOSZToOpcode(515, _) => movhlps
+    rule INumOSZToOpcode(516, _) => movlps
+    rule INumOSZToOpcode(517, _) => movlhps
+    rule INumOSZToOpcode(518, _) => movhps
+    rule INumOSZToOpcode(520, _) => addb
+    rule INumOSZToOpcode(521, _) => addb
+    rule INumOSZToOpcode(523, 0) => addw
+    rule INumOSZToOpcode(523, 1) => addl
+    rule INumOSZToOpcode(523, 2) => addq
+    rule INumOSZToOpcode(524, 0) => addw
+    rule INumOSZToOpcode(524, 1) => addl
+    rule INumOSZToOpcode(524, 2) => addq
+    rule INumOSZToOpcode(525, _) => addb
+    rule INumOSZToOpcode(527, 0) => addw
+    rule INumOSZToOpcode(527, 1) => addl
+    rule INumOSZToOpcode(527, 2) => addq
+    rule INumOSZToOpcode(529, _) => addb
+    rule INumOSZToOpcode(530, 0) => addw
+    rule INumOSZToOpcode(530, 1) => addl
+    rule INumOSZToOpcode(530, 2) => addq
+    rule INumOSZToOpcode(534, _) => orb
+    rule INumOSZToOpcode(535, _) => orb
+    rule INumOSZToOpcode(537, 0) => orw
+    rule INumOSZToOpcode(537, 1) => orl
+    rule INumOSZToOpcode(537, 2) => orq
+    rule INumOSZToOpcode(538, 0) => orw
+    rule INumOSZToOpcode(538, 1) => orl
+    rule INumOSZToOpcode(538, 2) => orq
+    rule INumOSZToOpcode(539, _) => orb
+    rule INumOSZToOpcode(541, 0) => orw
+    rule INumOSZToOpcode(541, 1) => orl
+    rule INumOSZToOpcode(541, 2) => orq
+    rule INumOSZToOpcode(543, _) => orb
+    rule INumOSZToOpcode(544, 0) => orw
+    rule INumOSZToOpcode(544, 1) => orl
+    rule INumOSZToOpcode(544, 2) => orq
+    rule INumOSZToOpcode(547, _) => adcb
+    rule INumOSZToOpcode(548, _) => adcb
+    rule INumOSZToOpcode(550, 0) => adcw
+    rule INumOSZToOpcode(550, 1) => adcl
+    rule INumOSZToOpcode(550, 2) => adcq
+    rule INumOSZToOpcode(551, 0) => adcw
+    rule INumOSZToOpcode(551, 1) => adcl
+    rule INumOSZToOpcode(551, 2) => adcq
+    rule INumOSZToOpcode(552, _) => adcb
+    rule INumOSZToOpcode(554, 0) => adcw
+    rule INumOSZToOpcode(554, 1) => adcl
+    rule INumOSZToOpcode(554, 2) => adcq
+    rule INumOSZToOpcode(556, _) => adcb
+    rule INumOSZToOpcode(557, 0) => adcw
+    rule INumOSZToOpcode(557, 1) => adcl
+    rule INumOSZToOpcode(557, 2) => adcq
+    rule INumOSZToOpcode(561, _) => sbbb
+    rule INumOSZToOpcode(562, _) => sbbb
+    rule INumOSZToOpcode(564, 0) => sbbw
+    rule INumOSZToOpcode(564, 1) => sbbl
+    rule INumOSZToOpcode(564, 2) => sbbq
+    rule INumOSZToOpcode(565, 0) => sbbw
+    rule INumOSZToOpcode(565, 1) => sbbl
+    rule INumOSZToOpcode(565, 2) => sbbq
+    rule INumOSZToOpcode(567, _) => sbbb
+    rule INumOSZToOpcode(569, 0) => sbbw
+    rule INumOSZToOpcode(569, 1) => sbbl
+    rule INumOSZToOpcode(569, 2) => sbbq
+    rule INumOSZToOpcode(570, _) => sbbb
+    rule INumOSZToOpcode(571, 0) => sbbw
+    rule INumOSZToOpcode(571, 1) => sbbl
+    rule INumOSZToOpcode(571, 2) => sbbq
+    rule INumOSZToOpcode(575, _) => andb
+    rule INumOSZToOpcode(576, _) => andb
+    rule INumOSZToOpcode(578, 0) => andw
+    rule INumOSZToOpcode(578, 1) => andl
+    rule INumOSZToOpcode(578, 2) => andq
+    rule INumOSZToOpcode(579, 0) => andw
+    rule INumOSZToOpcode(579, 1) => andl
+    rule INumOSZToOpcode(579, 2) => andq
+    rule INumOSZToOpcode(581, _) => andb
+    rule INumOSZToOpcode(583, 0) => andw
+    rule INumOSZToOpcode(583, 1) => andl
+    rule INumOSZToOpcode(583, 2) => andq
+    rule INumOSZToOpcode(584, _) => andb
+    rule INumOSZToOpcode(585, 0) => andw
+    rule INumOSZToOpcode(585, 1) => andl
+    rule INumOSZToOpcode(585, 2) => andq
+    rule INumOSZToOpcode(588, _) => subb
+    rule INumOSZToOpcode(589, _) => subb
+    rule INumOSZToOpcode(591, 0) => subw
+    rule INumOSZToOpcode(591, 1) => subl
+    rule INumOSZToOpcode(591, 2) => subq
+    rule INumOSZToOpcode(592, 0) => subw
+    rule INumOSZToOpcode(592, 1) => subl
+    rule INumOSZToOpcode(592, 2) => subq
+    rule INumOSZToOpcode(594, _) => subb
+    rule INumOSZToOpcode(596, 0) => subw
+    rule INumOSZToOpcode(596, 1) => subl
+    rule INumOSZToOpcode(596, 2) => subq
+    rule INumOSZToOpcode(597, _) => subb
+    rule INumOSZToOpcode(598, 0) => subw
+    rule INumOSZToOpcode(598, 1) => subl
+    rule INumOSZToOpcode(598, 2) => subq
+    rule INumOSZToOpcode(601, _) => xorb
+    rule INumOSZToOpcode(602, _) => xorb
+    rule INumOSZToOpcode(604, 0) => xorw
+    rule INumOSZToOpcode(604, 1) => xorl
+    rule INumOSZToOpcode(604, 2) => xorq
+    rule INumOSZToOpcode(605, 0) => xorw
+    rule INumOSZToOpcode(605, 1) => xorl
+    rule INumOSZToOpcode(605, 2) => xorq
+    rule INumOSZToOpcode(607, _) => xorb
+    rule INumOSZToOpcode(609, 0) => xorw
+    rule INumOSZToOpcode(609, 1) => xorl
+    rule INumOSZToOpcode(609, 2) => xorq
+    rule INumOSZToOpcode(610, _) => xorb
+    rule INumOSZToOpcode(611, 0) => xorw
+    rule INumOSZToOpcode(611, 1) => xorl
+    rule INumOSZToOpcode(611, 2) => xorq
+    rule INumOSZToOpcode(613, _) => cmpb
+    rule INumOSZToOpcode(614, _) => cmpb
+    rule INumOSZToOpcode(615, 0) => cmpw
+    rule INumOSZToOpcode(615, 1) => cmpl
+    rule INumOSZToOpcode(615, 2) => cmpq
+    rule INumOSZToOpcode(616, 0) => cmpw
+    rule INumOSZToOpcode(616, 1) => cmpl
+    rule INumOSZToOpcode(616, 2) => cmpq
+    rule INumOSZToOpcode(617, _) => cmpb
+    rule INumOSZToOpcode(619, 0) => cmpw
+    rule INumOSZToOpcode(619, 1) => cmpl
+    rule INumOSZToOpcode(619, 2) => cmpq
+    rule INumOSZToOpcode(621, _) => cmpb
+    rule INumOSZToOpcode(622, 0) => cmpw
+    rule INumOSZToOpcode(622, 1) => cmpl
+    rule INumOSZToOpcode(622, 2) => cmpq
+    rule INumOSZToOpcode(636, _) => movslq
+    rule INumOSZToOpcode(637, _) => movslq
+    rule INumOSZToOpcode(638, _) => pushq
+    rule INumOSZToOpcode(639, 0) => imulw
+    rule INumOSZToOpcode(639, 1) => imull
+    rule INumOSZToOpcode(639, 2) => imulq
+    rule INumOSZToOpcode(640, 0) => imulw
+    rule INumOSZToOpcode(640, 1) => imull
+    rule INumOSZToOpcode(640, 2) => imulq
+    rule INumOSZToOpcode(641, _) => pushq
+    rule INumOSZToOpcode(642, 0) => imulw
+    rule INumOSZToOpcode(642, 1) => imull
+    rule INumOSZToOpcode(642, 2) => imulq
+    rule INumOSZToOpcode(643, 0) => imulw
+    rule INumOSZToOpcode(643, 1) => imull
+    rule INumOSZToOpcode(643, 2) => imulq
+    rule INumOSZToOpcode(700, _) => testb
+    rule INumOSZToOpcode(701, _) => testb
+    rule INumOSZToOpcode(702, 0) => testw
+    rule INumOSZToOpcode(702, 1) => testl
+    rule INumOSZToOpcode(702, 2) => testq
+    rule INumOSZToOpcode(703, 0) => testw
+    rule INumOSZToOpcode(703, 1) => testl
+    rule INumOSZToOpcode(703, 2) => testq
+    rule INumOSZToOpcode(705, _) => xchgb
+    rule INumOSZToOpcode(706, _) => xchgb
+    rule INumOSZToOpcode(708, 0) => xchgw
+    rule INumOSZToOpcode(708, 1) => xchgl
+    rule INumOSZToOpcode(708, 2) => xchgq
+    rule INumOSZToOpcode(709, 0) => xchgw
+    rule INumOSZToOpcode(709, 1) => xchgl
+    rule INumOSZToOpcode(709, 2) => xchgq
+    rule INumOSZToOpcode(710, _) => movb
+    rule INumOSZToOpcode(711, _) => movb
+    rule INumOSZToOpcode(712, 0) => movw
+    rule INumOSZToOpcode(712, 1) => movl
+    rule INumOSZToOpcode(712, 2) => movq
+    rule INumOSZToOpcode(713, 0) => movw
+    rule INumOSZToOpcode(713, 1) => movl
+    rule INumOSZToOpcode(713, 2) => movq
+    rule INumOSZToOpcode(714, _) => movb
+    rule INumOSZToOpcode(716, 0) => movw
+    rule INumOSZToOpcode(716, 1) => movl
+    rule INumOSZToOpcode(716, 2) => movq
+    rule INumOSZToOpcode(720, 0) => leaw
+    rule INumOSZToOpcode(720, 1) => leal
+    rule INumOSZToOpcode(720, 2) => leaq
+    rule INumOSZToOpcode(728, _) => cbtw
+    rule INumOSZToOpcode(729, _) => cltq
+    rule INumOSZToOpcode(730, _) => cwtl
+    rule INumOSZToOpcode(731, _) => cwtd
+    rule INumOSZToOpcode(732, _) => cqto
+    rule INumOSZToOpcode(733, _) => cltd
+    rule INumOSZToOpcode(749, _) => rep movsb
+    rule INumOSZToOpcode(751, _) => movsb
+    rule INumOSZToOpcode(752, _) => rep movsw
+    rule INumOSZToOpcode(754, _) => movsw
+    rule INumOSZToOpcode(755, _) => rep movsl
+    rule INumOSZToOpcode(757, _) => movsl
+    rule INumOSZToOpcode(758, _) => rep movsq
+    rule INumOSZToOpcode(760, _) => movsq
+    rule INumOSZToOpcode(761, _) => repe cmpsb
+    rule INumOSZToOpcode(762, _) => repne cmpsb
+    rule INumOSZToOpcode(763, _) => cmpsb
+    rule INumOSZToOpcode(764, _) => repe cmpsw
+    rule INumOSZToOpcode(765, _) => repne cmpsw
+    rule INumOSZToOpcode(766, _) => cmpsw
+    rule INumOSZToOpcode(767, _) => repe cmpsl
+    rule INumOSZToOpcode(768, _) => repne cmpsl
+    rule INumOSZToOpcode(769, _) => cmpsl
+    rule INumOSZToOpcode(770, _) => repe cmpsq
+    rule INumOSZToOpcode(771, _) => repne cmpsq
+    rule INumOSZToOpcode(772, _) => cmpsq
+    rule INumOSZToOpcode(773, _) => testb
+    rule INumOSZToOpcode(774, 0) => testw
+    rule INumOSZToOpcode(774, 1) => testl
+    rule INumOSZToOpcode(774, 2) => testq
+    rule INumOSZToOpcode(775, _) => rep stosb
+    rule INumOSZToOpcode(777, _) => stosb
+    rule INumOSZToOpcode(778, _) => rep stosw
+    rule INumOSZToOpcode(780, _) => stosw
+    rule INumOSZToOpcode(781, _) => rep stosl
+    rule INumOSZToOpcode(783, _) => stosl
+    rule INumOSZToOpcode(784, _) => rep stosq
+    rule INumOSZToOpcode(786, _) => stosq
+    rule INumOSZToOpcode(787, _) => rep lodsb
+    rule INumOSZToOpcode(789, _) => lodsb
+    rule INumOSZToOpcode(790, _) => rep lodsw
+    rule INumOSZToOpcode(792, _) => lodsw
+    rule INumOSZToOpcode(793, _) => rep lodsl
+    rule INumOSZToOpcode(795, _) => lodsl
+    rule INumOSZToOpcode(796, _) => rep lodsq
+    rule INumOSZToOpcode(798, _) => lodsq
+    rule INumOSZToOpcode(799, _) => repe scasb
+    rule INumOSZToOpcode(800, _) => repne scasb
+    rule INumOSZToOpcode(801, _) => scasb
+    rule INumOSZToOpcode(802, _) => repe scasw
+    rule INumOSZToOpcode(803, _) => repne scasw
+    rule INumOSZToOpcode(804, _) => scasw
+    rule INumOSZToOpcode(805, _) => repe scasl
+    rule INumOSZToOpcode(806, _) => repne scasl
+    rule INumOSZToOpcode(807, _) => scasl
+    rule INumOSZToOpcode(808, _) => repe scasq
+    rule INumOSZToOpcode(809, _) => repne scasq
+    rule INumOSZToOpcode(810, _) => scasq
+    rule INumOSZToOpcode(814, _) => retq
+    rule INumOSZToOpcode(818, _) => leaveq
+    rule INumOSZToOpcode(833, _) => loopne
+    rule INumOSZToOpcode(837, _) => loope
+    rule INumOSZToOpcode(839, _) => loop
+    rule INumOSZToOpcode(842, _) => jecxz
+    rule INumOSZToOpcode(843, _) => jrcxz
+    rule INumOSZToOpcode(849, _) => jmp
+    rule INumOSZToOpcode(859, _) => cmc
+    rule INumOSZToOpcode(860, _) => clc
+    rule INumOSZToOpcode(861, _) => stc
+    rule INumOSZToOpcode(864, _) => cld
+    rule INumOSZToOpcode(865, _) => std
+    rule INumOSZToOpcode(874, _) => movups
+    rule INumOSZToOpcode(875, _) => movups
+    rule INumOSZToOpcode(876, _) => movups
+    rule INumOSZToOpcode(878, _) => movlps
+    rule INumOSZToOpcode(879, _) => unpcklps
+    rule INumOSZToOpcode(880, _) => unpcklps
+    rule INumOSZToOpcode(881, _) => unpckhps
+    rule INumOSZToOpcode(882, _) => unpckhps
+    rule INumOSZToOpcode(883, _) => movhps
+    rule INumOSZToOpcode(884, _) => movss
+    rule INumOSZToOpcode(885, _) => movss
+    rule INumOSZToOpcode(886, _) => movss
+    rule INumOSZToOpcode(888, _) => movsldup
+    rule INumOSZToOpcode(889, _) => movsldup
+    rule INumOSZToOpcode(890, _) => movshdup
+    rule INumOSZToOpcode(891, _) => movshdup
+    rule INumOSZToOpcode(892, _) => movupd
+    rule INumOSZToOpcode(893, _) => movupd
+    rule INumOSZToOpcode(894, _) => movupd
+    rule INumOSZToOpcode(896, _) => movlpd
+    rule INumOSZToOpcode(897, _) => movlpd
+    rule INumOSZToOpcode(898, _) => unpcklpd
+    rule INumOSZToOpcode(899, _) => unpcklpd
+    rule INumOSZToOpcode(900, _) => unpckhpd
+    rule INumOSZToOpcode(901, _) => unpckhpd
+    rule INumOSZToOpcode(902, _) => movhpd
+    rule INumOSZToOpcode(903, _) => movhpd
+    rule INumOSZToOpcode(904, _) => movsd
+    rule INumOSZToOpcode(905, _) => movsd
+    rule INumOSZToOpcode(906, _) => movsd
+    rule INumOSZToOpcode(908, _) => movddup
+    rule INumOSZToOpcode(909, _) => movddup
+    rule INumOSZToOpcode(926, 0) => cmovow
+    rule INumOSZToOpcode(926, 1) => cmovol
+    rule INumOSZToOpcode(926, 2) => cmovoq
+    rule INumOSZToOpcode(927, 0) => cmovow
+    rule INumOSZToOpcode(927, 1) => cmovol
+    rule INumOSZToOpcode(927, 2) => cmovoq
+    rule INumOSZToOpcode(928, 0) => cmovnow
+    rule INumOSZToOpcode(928, 1) => cmovnol
+    rule INumOSZToOpcode(928, 2) => cmovnoq
+    rule INumOSZToOpcode(929, 0) => cmovnow
+    rule INumOSZToOpcode(929, 1) => cmovnol
+    rule INumOSZToOpcode(929, 2) => cmovnoq
+    rule INumOSZToOpcode(930, 0) => cmovbw
+    rule INumOSZToOpcode(930, 1) => cmovbl
+    rule INumOSZToOpcode(930, 2) => cmovbq
+    rule INumOSZToOpcode(931, 0) => cmovbw
+    rule INumOSZToOpcode(931, 1) => cmovbl
+    rule INumOSZToOpcode(931, 2) => cmovbq
+    rule INumOSZToOpcode(932, 0) => cmovaew
+    rule INumOSZToOpcode(932, 1) => cmovael
+    rule INumOSZToOpcode(932, 2) => cmovaeq
+    rule INumOSZToOpcode(933, 0) => cmovaew
+    rule INumOSZToOpcode(933, 1) => cmovael
+    rule INumOSZToOpcode(933, 2) => cmovaeq
+    rule INumOSZToOpcode(934, 0) => cmovew
+    rule INumOSZToOpcode(934, 1) => cmovel
+    rule INumOSZToOpcode(934, 2) => cmoveq
+    rule INumOSZToOpcode(935, 0) => cmovew
+    rule INumOSZToOpcode(935, 1) => cmovel
+    rule INumOSZToOpcode(935, 2) => cmoveq
+    rule INumOSZToOpcode(936, 0) => cmovnew
+    rule INumOSZToOpcode(936, 1) => cmovnel
+    rule INumOSZToOpcode(936, 2) => cmovneq
+    rule INumOSZToOpcode(937, 0) => cmovnew
+    rule INumOSZToOpcode(937, 1) => cmovnel
+    rule INumOSZToOpcode(937, 2) => cmovneq
+    rule INumOSZToOpcode(938, 0) => cmovbew
+    rule INumOSZToOpcode(938, 1) => cmovbel
+    rule INumOSZToOpcode(938, 2) => cmovbeq
+    rule INumOSZToOpcode(939, 0) => cmovbew
+    rule INumOSZToOpcode(939, 1) => cmovbel
+    rule INumOSZToOpcode(939, 2) => cmovbeq
+    rule INumOSZToOpcode(940, 0) => cmovaw
+    rule INumOSZToOpcode(940, 1) => cmoval
+    rule INumOSZToOpcode(940, 2) => cmovaq
+    rule INumOSZToOpcode(941, 0) => cmovaw
+    rule INumOSZToOpcode(941, 1) => cmoval
+    rule INumOSZToOpcode(941, 2) => cmovaq
+    rule INumOSZToOpcode(942, _) => movmskps
+    rule INumOSZToOpcode(943, _) => sqrtps
+    rule INumOSZToOpcode(944, _) => sqrtps
+    rule INumOSZToOpcode(945, _) => rsqrtps
+    rule INumOSZToOpcode(946, _) => rsqrtps
+    rule INumOSZToOpcode(947, _) => rcpps
+    rule INumOSZToOpcode(948, _) => rcpps
+    rule INumOSZToOpcode(949, _) => andps
+    rule INumOSZToOpcode(950, _) => andps
+    rule INumOSZToOpcode(951, _) => andnps
+    rule INumOSZToOpcode(952, _) => andnps
+    rule INumOSZToOpcode(953, _) => orps
+    rule INumOSZToOpcode(954, _) => orps
+    rule INumOSZToOpcode(955, _) => xorps
+    rule INumOSZToOpcode(956, _) => xorps
+    rule INumOSZToOpcode(957, _) => sqrtss
+    rule INumOSZToOpcode(958, _) => sqrtss
+    rule INumOSZToOpcode(959, _) => rsqrtss
+    rule INumOSZToOpcode(960, _) => rsqrtss
+    rule INumOSZToOpcode(961, _) => rcpss
+    rule INumOSZToOpcode(962, _) => rcpss
+    rule INumOSZToOpcode(963, _) => movmskpd
+    rule INumOSZToOpcode(964, _) => sqrtpd
+    rule INumOSZToOpcode(965, _) => sqrtpd
+    rule INumOSZToOpcode(966, _) => andpd
+    rule INumOSZToOpcode(967, _) => andpd
+    rule INumOSZToOpcode(968, _) => andnpd
+    rule INumOSZToOpcode(969, _) => andnpd
+    rule INumOSZToOpcode(970, _) => orpd
+    rule INumOSZToOpcode(971, _) => orpd
+    rule INumOSZToOpcode(972, _) => xorpd
+    rule INumOSZToOpcode(973, _) => xorpd
+    rule INumOSZToOpcode(974, _) => sqrtsd
+    rule INumOSZToOpcode(975, _) => sqrtsd
+    rule INumOSZToOpcode(992, _) => punpcklbw
+    rule INumOSZToOpcode(993, _) => punpcklbw
+    rule INumOSZToOpcode(994, _) => punpcklwd
+    rule INumOSZToOpcode(995, _) => punpcklwd
+    rule INumOSZToOpcode(996, _) => punpckldq
+    rule INumOSZToOpcode(997, _) => punpckldq
+    rule INumOSZToOpcode(998, _) => packsswb
+    rule INumOSZToOpcode(999, _) => packsswb
+    rule INumOSZToOpcode(1000, _) => pcmpgtb
+    rule INumOSZToOpcode(1001, _) => pcmpgtb
+    rule INumOSZToOpcode(1002, _) => pcmpgtw
+    rule INumOSZToOpcode(1003, _) => pcmpgtw
+    rule INumOSZToOpcode(1004, _) => pcmpgtd
+    rule INumOSZToOpcode(1005, _) => pcmpgtd
+    rule INumOSZToOpcode(1006, _) => packuswb
+    rule INumOSZToOpcode(1007, _) => packuswb
+    rule INumOSZToOpcode(6853, 0) => xchgw
+    rule INumOSZToOpcode(6853, 1) => xchgl
+    rule INumOSZToOpcode(6853, 2) => xchgq
+    rule INumOSZToOpcode(1017, _) => pshufd
+    rule INumOSZToOpcode(1018, _) => pshufd
+    rule INumOSZToOpcode(1019, _) => pcmpeqb
+    rule INumOSZToOpcode(1020, _) => pcmpeqb
+    rule INumOSZToOpcode(1021, _) => pcmpeqw
+    rule INumOSZToOpcode(1022, _) => pcmpeqw
+    rule INumOSZToOpcode(1023, _) => pcmpeqd
+    rule INumOSZToOpcode(1024, _) => pcmpeqd
+    rule INumOSZToOpcode(1025, _) => pshuflw
+    rule INumOSZToOpcode(1026, _) => pshuflw
+    rule INumOSZToOpcode(1027, _) => pshufhw
+    rule INumOSZToOpcode(1028, _) => pshufhw
+    rule INumOSZToOpcode(1029, _) => jo
+    rule INumOSZToOpcode(1032, _) => jno
+    rule INumOSZToOpcode(1034, _) => jb
+    rule INumOSZToOpcode(1036, _) => jae
+    rule INumOSZToOpcode(1038, _) => je
+    rule INumOSZToOpcode(1040, _) => jne
+    rule INumOSZToOpcode(1042, _) => jbe
+    rule INumOSZToOpcode(1044, _) => ja
+    rule INumOSZToOpcode(1045, _) => seto
+    rule INumOSZToOpcode(1046, _) => seto
+    rule INumOSZToOpcode(1047, _) => setno
+    rule INumOSZToOpcode(1048, _) => setno
+    rule INumOSZToOpcode(1049, _) => setb
+    rule INumOSZToOpcode(1050, _) => setb
+    rule INumOSZToOpcode(1051, _) => setae
+    rule INumOSZToOpcode(1052, _) => setae
+    rule INumOSZToOpcode(1053, _) => sete
+    rule INumOSZToOpcode(1054, _) => sete
+    rule INumOSZToOpcode(1055, _) => setne
+    rule INumOSZToOpcode(1056, _) => setne
+    rule INumOSZToOpcode(1057, _) => setbe
+    rule INumOSZToOpcode(1058, _) => setbe
+    rule INumOSZToOpcode(1059, _) => seta
+    rule INumOSZToOpcode(1060, _) => seta
+    rule INumOSZToOpcode(1064, 0) => btw
+    rule INumOSZToOpcode(1064, 1) => btl
+    rule INumOSZToOpcode(1064, 2) => btq
+    rule INumOSZToOpcode(1065, 0) => btw
+    rule INumOSZToOpcode(1065, 1) => btl
+    rule INumOSZToOpcode(1065, 2) => btq
+    rule INumOSZToOpcode(1067, _) => cmpxchgb
+    rule INumOSZToOpcode(1068, _) => cmpxchgb
+    rule INumOSZToOpcode(1070, 0) => cmpxchgw
+    rule INumOSZToOpcode(1070, 1) => cmpxchgl
+    rule INumOSZToOpcode(1070, 2) => cmpxchgq
+    rule INumOSZToOpcode(1071, 0) => cmpxchgw
+    rule INumOSZToOpcode(1071, 1) => cmpxchgl
+    rule INumOSZToOpcode(1071, 2) => cmpxchgq
+    rule INumOSZToOpcode(1074, 0) => btrw
+    rule INumOSZToOpcode(1074, 1) => btrl
+    rule INumOSZToOpcode(1074, 2) => btrq
+    rule INumOSZToOpcode(1075, 0) => btrw
+    rule INumOSZToOpcode(1075, 1) => btrl
+    rule INumOSZToOpcode(1075, 2) => btrq
+    rule INumOSZToOpcode(1078, 0) => movzbw
+    rule INumOSZToOpcode(1078, 1) => movzbl
+    rule INumOSZToOpcode(1078, 2) => movzbq
+    rule INumOSZToOpcode(1079, 0) => movzbw
+    rule INumOSZToOpcode(1079, 1) => movzbl
+    rule INumOSZToOpcode(1079, 2) => movzbq
+    rule INumOSZToOpcode(1080, 1) => movzwl
+    rule INumOSZToOpcode(1080, 2) => movzwq
+    rule INumOSZToOpcode(1081, 1) => movzwl
+    rule INumOSZToOpcode(1081, 2) => movzwq
+    rule INumOSZToOpcode(1083, _) => xaddb
+    rule INumOSZToOpcode(1084, _) => xaddb
+    rule INumOSZToOpcode(1086, 0) => xaddw
+    rule INumOSZToOpcode(1086, 1) => xaddl
+    rule INumOSZToOpcode(1086, 2) => xaddq
+    rule INumOSZToOpcode(1087, 0) => xaddw
+    rule INumOSZToOpcode(1087, 1) => xaddl
+    rule INumOSZToOpcode(1087, 2) => xaddq
+    rule INumOSZToOpcode(1088, _) => cmpps
+    rule INumOSZToOpcode(1089, _) => cmpps
+    rule INumOSZToOpcode(1090, _) => movnti
+    rule INumOSZToOpcode(1091, _) => movnti
+    rule INumOSZToOpcode(1095, _) => shufps
+    rule INumOSZToOpcode(1096, _) => shufps
+    rule INumOSZToOpcode(1097, _) => cmpss
+    rule INumOSZToOpcode(1098, _) => cmpss
+    rule INumOSZToOpcode(1099, _) => cmppd
+    rule INumOSZToOpcode(1100, _) => cmppd
+    rule INumOSZToOpcode(1101, _) => pinsrw
+    rule INumOSZToOpcode(1102, _) => pinsrw
+    rule INumOSZToOpcode(1103, _) => pextrw
+    rule INumOSZToOpcode(1104, _) => shufpd
+    rule INumOSZToOpcode(1105, _) => shufpd
+    rule INumOSZToOpcode(1106, _) => cmpsd
+    rule INumOSZToOpcode(1107, _) => cmpsd
+    rule INumOSZToOpcode(1119, _) => addsubpd
+    rule INumOSZToOpcode(1120, _) => addsubpd
+    rule INumOSZToOpcode(1121, _) => psrlw
+    rule INumOSZToOpcode(1122, _) => psrlw
+    rule INumOSZToOpcode(1123, _) => psrld
+    rule INumOSZToOpcode(1124, _) => psrld
+    rule INumOSZToOpcode(1125, _) => psrlq
+    rule INumOSZToOpcode(1126, _) => psrlq
+    rule INumOSZToOpcode(1127, _) => paddq
+    rule INumOSZToOpcode(1128, _) => paddq
+    rule INumOSZToOpcode(1129, _) => pmullw
+    rule INumOSZToOpcode(1130, _) => pmullw
+    rule INumOSZToOpcode(1131, _) => pmovmskb
+    rule INumOSZToOpcode(1133, _) => addsubps
+    rule INumOSZToOpcode(1134, _) => addsubps
+    rule INumOSZToOpcode(1149, _) => pavgb
+    rule INumOSZToOpcode(1150, _) => pavgb
+    rule INumOSZToOpcode(1151, _) => psraw
+    rule INumOSZToOpcode(1152, _) => psraw
+    rule INumOSZToOpcode(1153, _) => psrad
+    rule INumOSZToOpcode(1154, _) => psrad
+    rule INumOSZToOpcode(1155, _) => pavgw
+    rule INumOSZToOpcode(1156, _) => pavgw
+    rule INumOSZToOpcode(1157, _) => pmulhuw
+    rule INumOSZToOpcode(1158, _) => pmulhuw
+    rule INumOSZToOpcode(1159, _) => pmulhw
+    rule INumOSZToOpcode(1160, _) => pmulhw
+    rule INumOSZToOpcode(1161, _) => cvttpd2dq
+    rule INumOSZToOpcode(1162, _) => cvttpd2dq
+    rule INumOSZToOpcode(1163, _) => movntdq
+    rule INumOSZToOpcode(1164, _) => cvtdq2pd
+    rule INumOSZToOpcode(1165, _) => cvtdq2pd
+    rule INumOSZToOpcode(1166, _) => cvtpd2dq
+    rule INumOSZToOpcode(1167, _) => cvtpd2dq
+    rule INumOSZToOpcode(1181, _) => psllw
+    rule INumOSZToOpcode(1182, _) => psllw
+    rule INumOSZToOpcode(1183, _) => pslld
+    rule INumOSZToOpcode(1184, _) => pslld
+    rule INumOSZToOpcode(1185, _) => psllq
+    rule INumOSZToOpcode(1186, _) => psllq
+    rule INumOSZToOpcode(1187, _) => pmuludq
+    rule INumOSZToOpcode(1188, _) => pmuludq
+    rule INumOSZToOpcode(1189, _) => pmaddwd
+    rule INumOSZToOpcode(1190, _) => pmaddwd
+    rule INumOSZToOpcode(1191, _) => psadbw
+    rule INumOSZToOpcode(1192, _) => psadbw
+    rule INumOSZToOpcode(1193, _) => maskmovdqu
+    rule INumOSZToOpcode(1194, _) => lddqu
+    rule INumOSZToOpcode(1201, _) => ud2
+    rule INumOSZToOpcode(1202, _) => movaps
+    rule INumOSZToOpcode(1203, _) => movaps
+    rule INumOSZToOpcode(1204, _) => movaps
+    rule INumOSZToOpcode(1206, _) => cvtpi2ps
+    rule INumOSZToOpcode(1208, _) => movntps
+    rule INumOSZToOpcode(1213, _) => ucomiss
+    rule INumOSZToOpcode(1214, _) => ucomiss
+    rule INumOSZToOpcode(1215, _) => comiss
+    rule INumOSZToOpcode(1216, _) => comiss
+    rule INumOSZToOpcode(1217, _) => cvtsi2ssl
+    rule INumOSZToOpcode(1218, _) => cvtsi2ssl
+    rule INumOSZToOpcode(1219, _) => cvtsi2ssq
+    rule INumOSZToOpcode(1220, _) => cvtsi2ssq
+    rule INumOSZToOpcode(1221, _) => cvttss2si
+    rule INumOSZToOpcode(1222, _) => cvttss2si
+    rule INumOSZToOpcode(1223, _) => cvttss2si
+    rule INumOSZToOpcode(1224, _) => cvttss2si
+    rule INumOSZToOpcode(1225, _) => cvtss2si
+    rule INumOSZToOpcode(1226, _) => cvtss2si
+    rule INumOSZToOpcode(1227, _) => cvtss2si
+    rule INumOSZToOpcode(1228, _) => cvtss2si
+    rule INumOSZToOpcode(1229, _) => movapd
+    rule INumOSZToOpcode(1230, _) => movapd
+    rule INumOSZToOpcode(1231, _) => movapd
+    rule INumOSZToOpcode(1233, _) => cvtpi2pd
+    rule INumOSZToOpcode(1235, _) => movntpd
+    rule INumOSZToOpcode(1240, _) => ucomisd
+    rule INumOSZToOpcode(1241, _) => ucomisd
+    rule INumOSZToOpcode(1242, _) => comisd
+    rule INumOSZToOpcode(1243, _) => comisd
+    rule INumOSZToOpcode(1244, _) => cvtsi2sdl
+    rule INumOSZToOpcode(1245, _) => cvtsi2sdl
+    rule INumOSZToOpcode(1246, _) => cvtsi2sdq
+    rule INumOSZToOpcode(1247, _) => cvtsi2sdq
+    rule INumOSZToOpcode(1248, _) => cvttsd2si
+    rule INumOSZToOpcode(1249, _) => cvttsd2si
+    rule INumOSZToOpcode(1250, _) => cvttsd2si
+    rule INumOSZToOpcode(1251, _) => cvttsd2si
+    rule INumOSZToOpcode(1252, _) => cvtsd2si
+    rule INumOSZToOpcode(1253, _) => cvtsd2si
+    rule INumOSZToOpcode(1254, _) => cvtsd2si
+    rule INumOSZToOpcode(1255, _) => cvtsd2si
+    rule INumOSZToOpcode(1256, 0) => cmovsw
+    rule INumOSZToOpcode(1256, 1) => cmovsl
+    rule INumOSZToOpcode(1256, 2) => cmovsq
+    rule INumOSZToOpcode(1257, 0) => cmovsw
+    rule INumOSZToOpcode(1257, 1) => cmovsl
+    rule INumOSZToOpcode(1257, 2) => cmovsq
+    rule INumOSZToOpcode(1258, 0) => cmovnsw
+    rule INumOSZToOpcode(1258, 1) => cmovnsl
+    rule INumOSZToOpcode(1258, 2) => cmovnsq
+    rule INumOSZToOpcode(1259, 0) => cmovnsw
+    rule INumOSZToOpcode(1259, 1) => cmovnsl
+    rule INumOSZToOpcode(1259, 2) => cmovnsq
+    rule INumOSZToOpcode(1260, 0) => cmovpew
+    rule INumOSZToOpcode(1260, 1) => cmovpel
+    rule INumOSZToOpcode(1260, 2) => cmovpeq
+    rule INumOSZToOpcode(1261, 0) => cmovpew
+    rule INumOSZToOpcode(1261, 1) => cmovpel
+    rule INumOSZToOpcode(1261, 2) => cmovpeq
+    rule INumOSZToOpcode(1262, 0) => cmovnpw
+    rule INumOSZToOpcode(1262, 1) => cmovnpl
+    rule INumOSZToOpcode(1262, 2) => cmovnpq
+    rule INumOSZToOpcode(1263, 0) => cmovnpw
+    rule INumOSZToOpcode(1263, 1) => cmovnpl
+    rule INumOSZToOpcode(1263, 2) => cmovnpq
+    rule INumOSZToOpcode(1264, 0) => cmovlw
+    rule INumOSZToOpcode(1264, 1) => cmovll
+    rule INumOSZToOpcode(1264, 2) => cmovlq
+    rule INumOSZToOpcode(1265, 0) => cmovlw
+    rule INumOSZToOpcode(1265, 1) => cmovll
+    rule INumOSZToOpcode(1265, 2) => cmovlq
+    rule INumOSZToOpcode(1266, 0) => cmovgew
+    rule INumOSZToOpcode(1266, 1) => cmovgel
+    rule INumOSZToOpcode(1266, 2) => cmovgeq
+    rule INumOSZToOpcode(1267, 0) => cmovgew
+    rule INumOSZToOpcode(1267, 1) => cmovgel
+    rule INumOSZToOpcode(1267, 2) => cmovgeq
+    rule INumOSZToOpcode(1268, 0) => cmovlew
+    rule INumOSZToOpcode(1268, 1) => cmovlel
+    rule INumOSZToOpcode(1268, 2) => cmovleq
+    rule INumOSZToOpcode(1269, 0) => cmovlew
+    rule INumOSZToOpcode(1269, 1) => cmovlel
+    rule INumOSZToOpcode(1269, 2) => cmovleq
+    rule INumOSZToOpcode(1270, 0) => cmovgw
+    rule INumOSZToOpcode(1270, 1) => cmovgl
+    rule INumOSZToOpcode(1270, 2) => cmovgq
+    rule INumOSZToOpcode(1271, 0) => cmovgw
+    rule INumOSZToOpcode(1271, 1) => cmovgl
+    rule INumOSZToOpcode(1271, 2) => cmovgq
+    rule INumOSZToOpcode(1272, _) => addps
+    rule INumOSZToOpcode(1273, _) => addps
+    rule INumOSZToOpcode(1274, _) => mulps
+    rule INumOSZToOpcode(1275, _) => mulps
+    rule INumOSZToOpcode(1276, _) => cvtps2pd
+    rule INumOSZToOpcode(1277, _) => cvtps2pd
+    rule INumOSZToOpcode(1278, _) => cvtdq2ps
+    rule INumOSZToOpcode(1279, _) => cvtdq2ps
+    rule INumOSZToOpcode(1280, _) => subps
+    rule INumOSZToOpcode(1281, _) => subps
+    rule INumOSZToOpcode(1282, _) => minps
+    rule INumOSZToOpcode(1283, _) => minps
+    rule INumOSZToOpcode(1284, _) => divps
+    rule INumOSZToOpcode(1285, _) => divps
+    rule INumOSZToOpcode(1286, _) => maxps
+    rule INumOSZToOpcode(1287, _) => maxps
+    rule INumOSZToOpcode(1288, _) => addss
+    rule INumOSZToOpcode(1289, _) => addss
+    rule INumOSZToOpcode(1290, _) => mulss
+    rule INumOSZToOpcode(1291, _) => mulss
+    rule INumOSZToOpcode(1292, _) => cvtss2sd
+    rule INumOSZToOpcode(1293, _) => cvtss2sd
+    rule INumOSZToOpcode(1294, _) => cvttps2dq
+    rule INumOSZToOpcode(1295, _) => cvttps2dq
+    rule INumOSZToOpcode(1296, _) => subss
+    rule INumOSZToOpcode(1297, _) => subss
+    rule INumOSZToOpcode(1298, _) => minss
+    rule INumOSZToOpcode(1299, _) => minss
+    rule INumOSZToOpcode(1300, _) => divss
+    rule INumOSZToOpcode(1301, _) => divss
+    rule INumOSZToOpcode(1302, _) => maxss
+    rule INumOSZToOpcode(1303, _) => maxss
+    rule INumOSZToOpcode(1304, _) => addpd
+    rule INumOSZToOpcode(1305, _) => addpd
+    rule INumOSZToOpcode(1306, _) => mulpd
+    rule INumOSZToOpcode(1307, _) => mulpd
+    rule INumOSZToOpcode(1308, _) => cvtpd2ps
+    rule INumOSZToOpcode(1309, _) => cvtpd2ps
+    rule INumOSZToOpcode(1310, _) => cvtps2dq
+    rule INumOSZToOpcode(1311, _) => cvtps2dq
+    rule INumOSZToOpcode(1312, _) => subpd
+    rule INumOSZToOpcode(1313, _) => subpd
+    rule INumOSZToOpcode(1314, _) => minpd
+    rule INumOSZToOpcode(1315, _) => minpd
+    rule INumOSZToOpcode(1316, _) => divpd
+    rule INumOSZToOpcode(1317, _) => divpd
+    rule INumOSZToOpcode(1318, _) => maxpd
+    rule INumOSZToOpcode(1319, _) => maxpd
+    rule INumOSZToOpcode(1320, _) => addsd
+    rule INumOSZToOpcode(1321, _) => addsd
+    rule INumOSZToOpcode(1322, _) => mulsd
+    rule INumOSZToOpcode(1323, _) => mulsd
+    rule INumOSZToOpcode(1324, _) => cvtsd2ss
+    rule INumOSZToOpcode(1325, _) => cvtsd2ss
+    rule INumOSZToOpcode(1326, _) => subsd
+    rule INumOSZToOpcode(1327, _) => subsd
+    rule INumOSZToOpcode(1328, _) => minsd
+    rule INumOSZToOpcode(1329, _) => minsd
+    rule INumOSZToOpcode(1330, _) => divsd
+    rule INumOSZToOpcode(1331, _) => divsd
+    rule INumOSZToOpcode(1332, _) => maxsd
+    rule INumOSZToOpcode(1333, _) => maxsd
+    rule INumOSZToOpcode(1342, _) => movd
+    rule INumOSZToOpcode(1343, _) => movd
+    rule INumOSZToOpcode(1346, _) => movd
+    rule INumOSZToOpcode(1347, _) => movd
+    rule INumOSZToOpcode(1359, _) => movq
+    rule INumOSZToOpcode(1361, _) => movq
+    rule INumOSZToOpcode(1362, _) => movq
+    rule INumOSZToOpcode(1364, _) => movq
+    rule INumOSZToOpcode(1365, _) => movq
+    rule INumOSZToOpcode(1374, _) => punpckhbw
+    rule INumOSZToOpcode(1375, _) => punpckhbw
+    rule INumOSZToOpcode(1376, _) => punpckhwd
+    rule INumOSZToOpcode(1377, _) => punpckhwd
+    rule INumOSZToOpcode(1378, _) => punpckhdq
+    rule INumOSZToOpcode(1379, _) => punpckhdq
+    rule INumOSZToOpcode(1380, _) => packssdw
+    rule INumOSZToOpcode(1381, _) => packssdw
+    rule INumOSZToOpcode(1382, _) => punpcklqdq
+    rule INumOSZToOpcode(1383, _) => punpcklqdq
+    rule INumOSZToOpcode(1384, _) => punpckhqdq
+    rule INumOSZToOpcode(1385, _) => punpckhqdq
+    rule INumOSZToOpcode(1386, _) => movdqu
+    rule INumOSZToOpcode(1387, _) => movdqu
+    rule INumOSZToOpcode(1388, _) => movdqu
+    rule INumOSZToOpcode(1398, _) => haddpd
+    rule INumOSZToOpcode(1399, _) => haddpd
+    rule INumOSZToOpcode(1400, _) => hsubpd
+    rule INumOSZToOpcode(1401, _) => hsubpd
+    rule INumOSZToOpcode(1402, _) => movdqa
+    rule INumOSZToOpcode(1404, _) => movdqa
+    rule INumOSZToOpcode(1405, _) => movdqa
+    rule INumOSZToOpcode(1406, _) => haddps
+    rule INumOSZToOpcode(1407, _) => haddps
+    rule INumOSZToOpcode(1408, _) => hsubps
+    rule INumOSZToOpcode(1409, _) => hsubps
+    rule INumOSZToOpcode(1411, _) => js
+    rule INumOSZToOpcode(1413, _) => jns
+    rule INumOSZToOpcode(1415, _) => jp
+    rule INumOSZToOpcode(1417, _) => jnp
+    rule INumOSZToOpcode(1419, _) => jl
+    rule INumOSZToOpcode(1421, _) => jge
+    rule INumOSZToOpcode(1423, _) => jle
+    rule INumOSZToOpcode(1425, _) => jg
+    rule INumOSZToOpcode(1426, _) => sets
+    rule INumOSZToOpcode(1427, _) => sets
+    rule INumOSZToOpcode(1428, _) => setns
+    rule INumOSZToOpcode(1429, _) => setns
+    rule INumOSZToOpcode(1430, _) => setp
+    rule INumOSZToOpcode(1431, _) => setp
+    rule INumOSZToOpcode(1432, _) => setnp
+    rule INumOSZToOpcode(1433, _) => setnp
+    rule INumOSZToOpcode(1434, _) => setl
+    rule INumOSZToOpcode(1435, _) => setl
+    rule INumOSZToOpcode(1436, _) => setge
+    rule INumOSZToOpcode(1437, _) => setge
+    rule INumOSZToOpcode(1438, _) => setle
+    rule INumOSZToOpcode(1439, _) => setle
+    rule INumOSZToOpcode(1440, _) => setg
+    rule INumOSZToOpcode(1441, _) => setg
+    rule INumOSZToOpcode(1446, 0) => btsw
+    rule INumOSZToOpcode(1446, 1) => btsl
+    rule INumOSZToOpcode(1446, 2) => btsq
+    rule INumOSZToOpcode(1447, 0) => btsw
+    rule INumOSZToOpcode(1447, 1) => btsl
+    rule INumOSZToOpcode(1447, 2) => btsq
+    rule INumOSZToOpcode(1448, 0) => shrdw
+    rule INumOSZToOpcode(1448, 1) => shrdl
+    rule INumOSZToOpcode(1448, 2) => shrdq
+    rule INumOSZToOpcode(1449, 0) => shrdw
+    rule INumOSZToOpcode(1449, 1) => shrdl
+    rule INumOSZToOpcode(1449, 2) => shrdq
+    rule INumOSZToOpcode(1450, 0) => shrdw
+    rule INumOSZToOpcode(1450, 1) => shrdl
+    rule INumOSZToOpcode(1450, 2) => shrdq
+    rule INumOSZToOpcode(1451, 0) => shrdw
+    rule INumOSZToOpcode(1451, 1) => shrdl
+    rule INumOSZToOpcode(1451, 2) => shrdq
+    rule INumOSZToOpcode(1452, 0) => shldw
+    rule INumOSZToOpcode(1452, 1) => shldl
+    rule INumOSZToOpcode(1452, 2) => shldq
+    rule INumOSZToOpcode(1453, 0) => shldw
+    rule INumOSZToOpcode(1453, 1) => shldl
+    rule INumOSZToOpcode(1453, 2) => shldq
+    rule INumOSZToOpcode(1454, 0) => shldw
+    rule INumOSZToOpcode(1454, 1) => shldl
+    rule INumOSZToOpcode(1454, 2) => shldq
+    rule INumOSZToOpcode(1455, 0) => shldw
+    rule INumOSZToOpcode(1455, 1) => shldl
+    rule INumOSZToOpcode(1455, 2) => shldq
+    rule INumOSZToOpcode(1456, 0) => imulw
+    rule INumOSZToOpcode(1456, 1) => imull
+    rule INumOSZToOpcode(1456, 2) => imulq
+    rule INumOSZToOpcode(1457, 0) => imulw
+    rule INumOSZToOpcode(1457, 1) => imull
+    rule INumOSZToOpcode(1457, 2) => imulq
+    rule INumOSZToOpcode(1459, 0) => btcw
+    rule INumOSZToOpcode(1459, 1) => btcl
+    rule INumOSZToOpcode(1459, 2) => btcq
+    rule INumOSZToOpcode(1460, 0) => btcw
+    rule INumOSZToOpcode(1460, 1) => btcl
+    rule INumOSZToOpcode(1460, 2) => btcq
+    rule INumOSZToOpcode(1461, 0) => movsbw
+    rule INumOSZToOpcode(1461, 1) => movsbl
+    rule INumOSZToOpcode(1461, 2) => movsbq
+    rule INumOSZToOpcode(1462, 0) => movsbw
+    rule INumOSZToOpcode(1462, 1) => movsbl
+    rule INumOSZToOpcode(1462, 2) => movsbq
+    rule INumOSZToOpcode(1463, 1) => movswl
+    rule INumOSZToOpcode(1463, 2) => movswq
+    rule INumOSZToOpcode(1464, 1) => movswl
+    rule INumOSZToOpcode(1464, 2) => movswq
+    rule INumOSZToOpcode(1482, _) => psubusb
+    rule INumOSZToOpcode(1483, _) => psubusb
+    rule INumOSZToOpcode(1484, _) => psubusw
+    rule INumOSZToOpcode(1485, _) => psubusw
+    rule INumOSZToOpcode(1486, _) => pminub
+    rule INumOSZToOpcode(1487, _) => pminub
+    rule INumOSZToOpcode(1488, _) => pand
+    rule INumOSZToOpcode(1489, _) => pand
+    rule INumOSZToOpcode(1490, _) => paddusb
+    rule INumOSZToOpcode(1491, _) => paddusb
+    rule INumOSZToOpcode(1492, _) => paddusw
+    rule INumOSZToOpcode(1493, _) => paddusw
+    rule INumOSZToOpcode(1494, _) => pmaxub
+    rule INumOSZToOpcode(1495, _) => pmaxub
+    rule INumOSZToOpcode(1496, _) => pandn
+    rule INumOSZToOpcode(1497, _) => pandn
+    rule INumOSZToOpcode(1514, _) => psubsb
+    rule INumOSZToOpcode(1515, _) => psubsb
+    rule INumOSZToOpcode(1516, _) => psubsw
+    rule INumOSZToOpcode(1517, _) => psubsw
+    rule INumOSZToOpcode(1518, _) => pminsw
+    rule INumOSZToOpcode(1519, _) => pminsw
+    rule INumOSZToOpcode(1520, _) => por
+    rule INumOSZToOpcode(1521, _) => por
+    rule INumOSZToOpcode(1522, _) => paddsb
+    rule INumOSZToOpcode(1523, _) => paddsb
+    rule INumOSZToOpcode(1524, _) => paddsw
+    rule INumOSZToOpcode(1525, _) => paddsw
+    rule INumOSZToOpcode(1526, _) => pmaxsw
+    rule INumOSZToOpcode(1527, _) => pmaxsw
+    rule INumOSZToOpcode(1528, _) => pxor
+    rule INumOSZToOpcode(1529, _) => pxor
+    rule INumOSZToOpcode(1544, _) => psubb
+    rule INumOSZToOpcode(1545, _) => psubb
+    rule INumOSZToOpcode(1546, _) => psubw
+    rule INumOSZToOpcode(1547, _) => psubw
+    rule INumOSZToOpcode(1548, _) => psubd
+    rule INumOSZToOpcode(1549, _) => psubd
+    rule INumOSZToOpcode(1550, _) => psubq
+    rule INumOSZToOpcode(1551, _) => psubq
+    rule INumOSZToOpcode(1552, _) => paddb
+    rule INumOSZToOpcode(1553, _) => paddb
+    rule INumOSZToOpcode(1554, _) => paddw
+    rule INumOSZToOpcode(1555, _) => paddw
+    rule INumOSZToOpcode(1556, _) => paddd
+    rule INumOSZToOpcode(1557, _) => paddd
+    rule INumOSZToOpcode(1560, _) => phaddw
+    rule INumOSZToOpcode(1561, _) => phaddw
+    rule INumOSZToOpcode(1564, _) => phaddd
+    rule INumOSZToOpcode(1565, _) => phaddd
+    rule INumOSZToOpcode(1568, _) => phaddsw
+    rule INumOSZToOpcode(1569, _) => phaddsw
+    rule INumOSZToOpcode(1572, _) => phsubw
+    rule INumOSZToOpcode(1573, _) => phsubw
+    rule INumOSZToOpcode(1576, _) => phsubd
+    rule INumOSZToOpcode(1577, _) => phsubd
+    rule INumOSZToOpcode(1580, _) => phsubsw
+    rule INumOSZToOpcode(1581, _) => phsubsw
+    rule INumOSZToOpcode(1584, _) => pmaddubsw
+    rule INumOSZToOpcode(1585, _) => pmaddubsw
+    rule INumOSZToOpcode(1588, _) => pmulhrsw
+    rule INumOSZToOpcode(1589, _) => pmulhrsw
+    rule INumOSZToOpcode(1592, _) => pshufb
+    rule INumOSZToOpcode(1593, _) => pshufb
+    rule INumOSZToOpcode(1596, _) => psignb
+    rule INumOSZToOpcode(1597, _) => psignb
+    rule INumOSZToOpcode(1600, _) => psignw
+    rule INumOSZToOpcode(1601, _) => psignw
+    rule INumOSZToOpcode(1604, _) => psignd
+    rule INumOSZToOpcode(1605, _) => psignd
+    rule INumOSZToOpcode(1608, _) => palignr
+    rule INumOSZToOpcode(1609, _) => palignr
+    rule INumOSZToOpcode(6873, _) => movb
+    rule INumOSZToOpcode(1612, _) => pabsb
+    rule INumOSZToOpcode(1613, _) => pabsb
+    rule INumOSZToOpcode(1616, _) => pabsw
+    rule INumOSZToOpcode(1617, _) => pabsw
+    rule INumOSZToOpcode(1620, _) => pabsd
+    rule INumOSZToOpcode(1621, _) => pabsd
+    rule INumOSZToOpcode(1622, 0) => popcntw
+    rule INumOSZToOpcode(1622, 1) => popcntl
+    rule INumOSZToOpcode(1622, 2) => popcntq
+    rule INumOSZToOpcode(1623, 0) => popcntw
+    rule INumOSZToOpcode(1623, 1) => popcntl
+    rule INumOSZToOpcode(1623, 2) => popcntq
+    rule INumOSZToOpcode(1624, _) => pcmpgtq
+    rule INumOSZToOpcode(1625, _) => pcmpgtq
+    rule INumOSZToOpcode(1630, _) => blendpd
+    rule INumOSZToOpcode(1631, _) => blendpd
+    rule INumOSZToOpcode(1632, _) => blendps
+    rule INumOSZToOpcode(1633, _) => blendps
+    rule INumOSZToOpcode(1634, _) => blendvpd
+    rule INumOSZToOpcode(1635, _) => blendvpd
+    rule INumOSZToOpcode(1636, _) => blendvps
+    rule INumOSZToOpcode(1637, _) => blendvps
+    rule INumOSZToOpcode(1638, _) => pcmpeqq
+    rule INumOSZToOpcode(1639, _) => pcmpeqq
+    rule INumOSZToOpcode(1640, _) => dppd
+    rule INumOSZToOpcode(1641, _) => dppd
+    rule INumOSZToOpcode(1642, _) => dpps
+    rule INumOSZToOpcode(1643, _) => dpps
+    rule INumOSZToOpcode(1644, _) => movntdqa
+    rule INumOSZToOpcode(1645, _) => extractps
+    rule INumOSZToOpcode(1646, _) => extractps
+    rule INumOSZToOpcode(1647, _) => insertps
+    rule INumOSZToOpcode(1648, _) => insertps
+    rule INumOSZToOpcode(1649, _) => mpsadbw
+    rule INumOSZToOpcode(1650, _) => mpsadbw
+    rule INumOSZToOpcode(1651, _) => packusdw
+    rule INumOSZToOpcode(1652, _) => packusdw
+    rule INumOSZToOpcode(1653, _) => pblendw
+    rule INumOSZToOpcode(1654, _) => pblendw
+    rule INumOSZToOpcode(1655, _) => pblendvb
+    rule INumOSZToOpcode(1656, _) => pblendvb
+    rule INumOSZToOpcode(1657, _) => pextrb
+    rule INumOSZToOpcode(1658, _) => pextrb
+    rule INumOSZToOpcode(1659, _) => pextrw
+    rule INumOSZToOpcode(1661, _) => pextrq
+    rule INumOSZToOpcode(1662, _) => pextrq
+    rule INumOSZToOpcode(1663, _) => pextrd
+    rule INumOSZToOpcode(1664, _) => pextrd
+    rule INumOSZToOpcode(1665, _) => pinsrb
+    rule INumOSZToOpcode(1666, _) => pinsrb
+    rule INumOSZToOpcode(1667, _) => pinsrd
+    rule INumOSZToOpcode(1668, _) => pinsrd
+    rule INumOSZToOpcode(1669, _) => pinsrq
+    rule INumOSZToOpcode(1670, _) => pinsrq
+    rule INumOSZToOpcode(1671, _) => roundpd
+    rule INumOSZToOpcode(1672, _) => roundpd
+    rule INumOSZToOpcode(1673, _) => roundps
+    rule INumOSZToOpcode(1674, _) => roundps
+    rule INumOSZToOpcode(1675, _) => roundsd
+    rule INumOSZToOpcode(1676, _) => roundsd
+    rule INumOSZToOpcode(1677, _) => roundss
+    rule INumOSZToOpcode(1678, _) => roundss
+    rule INumOSZToOpcode(1679, _) => ptest
+    rule INumOSZToOpcode(1680, _) => ptest
+    rule INumOSZToOpcode(1681, _) => phminposuw
+    rule INumOSZToOpcode(1682, _) => phminposuw
+    rule INumOSZToOpcode(1683, _) => pmaxsb
+    rule INumOSZToOpcode(1684, _) => pmaxsb
+    rule INumOSZToOpcode(1685, _) => pmaxsd
+    rule INumOSZToOpcode(1686, _) => pmaxsd
+    rule INumOSZToOpcode(1687, _) => pmaxud
+    rule INumOSZToOpcode(1688, _) => pmaxud
+    rule INumOSZToOpcode(1689, _) => pmaxuw
+    rule INumOSZToOpcode(1690, _) => pmaxuw
+    rule INumOSZToOpcode(1691, _) => pminsb
+    rule INumOSZToOpcode(1692, _) => pminsb
+    rule INumOSZToOpcode(1693, _) => pminsd
+    rule INumOSZToOpcode(1694, _) => pminsd
+    rule INumOSZToOpcode(1695, _) => pminud
+    rule INumOSZToOpcode(1696, _) => pminud
+    rule INumOSZToOpcode(1697, _) => pminuw
+    rule INumOSZToOpcode(1698, _) => pminuw
+    rule INumOSZToOpcode(1699, _) => pmulld
+    rule INumOSZToOpcode(1700, _) => pmulld
+    rule INumOSZToOpcode(1701, _) => pmuldq
+    rule INumOSZToOpcode(1702, _) => pmuldq
+    rule INumOSZToOpcode(1703, _) => pmovsxbw
+    rule INumOSZToOpcode(1704, _) => pmovsxbw
+    rule INumOSZToOpcode(1705, _) => pmovsxbd
+    rule INumOSZToOpcode(1706, _) => pmovsxbd
+    rule INumOSZToOpcode(1707, _) => pmovsxbq
+    rule INumOSZToOpcode(1708, _) => pmovsxbq
+    rule INumOSZToOpcode(1709, _) => pmovsxwd
+    rule INumOSZToOpcode(1710, _) => pmovsxwd
+    rule INumOSZToOpcode(1711, _) => pmovsxwq
+    rule INumOSZToOpcode(1712, _) => pmovsxwq
+    rule INumOSZToOpcode(1713, _) => pmovsxdq
+    rule INumOSZToOpcode(1714, _) => pmovsxdq
+    rule INumOSZToOpcode(1715, _) => pmovzxbw
+    rule INumOSZToOpcode(1716, _) => pmovzxbw
+    rule INumOSZToOpcode(1717, _) => pmovzxbd
+    rule INumOSZToOpcode(1718, _) => pmovzxbd
+    rule INumOSZToOpcode(1719, _) => pmovzxbq
+    rule INumOSZToOpcode(1720, _) => pmovzxbq
+    rule INumOSZToOpcode(1721, _) => pmovzxwd
+    rule INumOSZToOpcode(1722, _) => pmovzxwd
+    rule INumOSZToOpcode(1723, _) => pmovzxwq
+    rule INumOSZToOpcode(1724, _) => pmovzxwq
+    rule INumOSZToOpcode(1725, _) => pmovzxdq
+    rule INumOSZToOpcode(1726, _) => pmovzxdq
+    rule INumOSZToOpcode(1727, _) => pcmpestri
+    rule INumOSZToOpcode(1728, _) => pcmpestri
+    rule INumOSZToOpcode(6877, 0) => movw
+    rule INumOSZToOpcode(6877, 1) => movl
+    rule INumOSZToOpcode(6877, 2) => movq
+    rule INumOSZToOpcode(1731, _) => pcmpistri
+    rule INumOSZToOpcode(1732, _) => pcmpistri
+    rule INumOSZToOpcode(1735, _) => pcmpestrm
+    rule INumOSZToOpcode(1736, _) => pcmpestrm
+    rule INumOSZToOpcode(1739, _) => pcmpistrm
+    rule INumOSZToOpcode(1740, _) => pcmpistrm
+    rule INumOSZToOpcode(1747, 0) => movbew
+    rule INumOSZToOpcode(1747, 1) => movbel
+    rule INumOSZToOpcode(1747, 2) => movbeq
+    rule INumOSZToOpcode(1748, 0) => movbew
+    rule INumOSZToOpcode(1748, 1) => movbel
+    rule INumOSZToOpcode(1748, 2) => movbeq
+    rule INumOSZToOpcode(1762, _) => pclmulqdq
+    rule INumOSZToOpcode(1763, _) => pclmulqdq
+    rule INumOSZToOpcode(1842, 0) => lzcntw
+    rule INumOSZToOpcode(1842, 1) => lzcntl
+    rule INumOSZToOpcode(1842, 2) => lzcntq
+    rule INumOSZToOpcode(1844, 0) => bsrw
+    rule INumOSZToOpcode(1844, 1) => bsrl
+    rule INumOSZToOpcode(1844, 2) => bsrq
+    rule INumOSZToOpcode(6885, _) => bswap
+    rule INumOSZToOpcode(2319, _) => vaddpd
+    rule INumOSZToOpcode(2320, _) => vaddpd
+    rule INumOSZToOpcode(2321, _) => vaddpd
+    rule INumOSZToOpcode(2322, _) => vaddpd
+    rule INumOSZToOpcode(2323, _) => vaddps
+    rule INumOSZToOpcode(2324, _) => vaddps
+    rule INumOSZToOpcode(2325, _) => vaddps
+    rule INumOSZToOpcode(2326, _) => vaddps
+    rule INumOSZToOpcode(2327, _) => vaddsd
+    rule INumOSZToOpcode(2328, _) => vaddsd
+    rule INumOSZToOpcode(2329, _) => vaddss
+    rule INumOSZToOpcode(2330, _) => vaddss
+    rule INumOSZToOpcode(2331, _) => vaddsubpd
+    rule INumOSZToOpcode(2332, _) => vaddsubpd
+    rule INumOSZToOpcode(2333, _) => vaddsubpd
+    rule INumOSZToOpcode(2334, _) => vaddsubpd
+    rule INumOSZToOpcode(2335, _) => vaddsubps
+    rule INumOSZToOpcode(2336, _) => vaddsubps
+    rule INumOSZToOpcode(2337, _) => vaddsubps
+    rule INumOSZToOpcode(2338, _) => vaddsubps
+    rule INumOSZToOpcode(2339, _) => vandpd
+    rule INumOSZToOpcode(2340, _) => vandpd
+    rule INumOSZToOpcode(2341, _) => vandpd
+    rule INumOSZToOpcode(2342, _) => vandpd
+    rule INumOSZToOpcode(2343, _) => vandps
+    rule INumOSZToOpcode(2344, _) => vandps
+    rule INumOSZToOpcode(2345, _) => vandps
+    rule INumOSZToOpcode(2346, _) => vandps
+    rule INumOSZToOpcode(2347, _) => vandnpd
+    rule INumOSZToOpcode(2348, _) => vandnpd
+    rule INumOSZToOpcode(2349, _) => vandnpd
+    rule INumOSZToOpcode(2350, _) => vandnpd
+    rule INumOSZToOpcode(2351, _) => vandnps
+    rule INumOSZToOpcode(2352, _) => vandnps
+    rule INumOSZToOpcode(2353, _) => vandnps
+    rule INumOSZToOpcode(2354, _) => vandnps
+    rule INumOSZToOpcode(2355, _) => vblendpd
+    rule INumOSZToOpcode(2356, _) => vblendpd
+    rule INumOSZToOpcode(2357, _) => vblendpd
+    rule INumOSZToOpcode(2358, _) => vblendpd
+    rule INumOSZToOpcode(2359, _) => vblendps
+    rule INumOSZToOpcode(2360, _) => vblendps
+    rule INumOSZToOpcode(2361, _) => vblendps
+    rule INumOSZToOpcode(2362, _) => vblendps
+    rule INumOSZToOpcode(2363, _) => vcmppd
+    rule INumOSZToOpcode(2364, _) => vcmppd
+    rule INumOSZToOpcode(2365, _) => vcmppd
+    rule INumOSZToOpcode(2366, _) => vcmppd
+    rule INumOSZToOpcode(2367, _) => vcmpps
+    rule INumOSZToOpcode(2368, _) => vcmpps
+    rule INumOSZToOpcode(2369, _) => vcmpps
+    rule INumOSZToOpcode(2370, _) => vcmpps
+    rule INumOSZToOpcode(2371, _) => vcmpsd
+    rule INumOSZToOpcode(2372, _) => vcmpsd
+    rule INumOSZToOpcode(2373, _) => vcmpss
+    rule INumOSZToOpcode(2374, _) => vcmpss
+    rule INumOSZToOpcode(2375, _) => vcomisd
+    rule INumOSZToOpcode(2376, _) => vcomisd
+    rule INumOSZToOpcode(2377, _) => vcomiss
+    rule INumOSZToOpcode(2378, _) => vcomiss
+    rule INumOSZToOpcode(2379, _) => vcvtdq2pd
+    rule INumOSZToOpcode(2380, _) => vcvtdq2pd
+    rule INumOSZToOpcode(2381, _) => vcvtdq2pd
+    rule INumOSZToOpcode(2382, _) => vcvtdq2pd
+    rule INumOSZToOpcode(2383, _) => vcvtdq2ps
+    rule INumOSZToOpcode(2384, _) => vcvtdq2ps
+    rule INumOSZToOpcode(2385, _) => vcvtdq2ps
+    rule INumOSZToOpcode(2386, _) => vcvtdq2ps
+    rule INumOSZToOpcode(2387, _) => vcvtpd2dqx
+    rule INumOSZToOpcode(2388, _) => vcvtpd2dq
+    rule INumOSZToOpcode(2389, _) => vcvtpd2dqy
+    rule INumOSZToOpcode(2390, _) => vcvtpd2dq
+    rule INumOSZToOpcode(2391, _) => vcvttpd2dqx
+    rule INumOSZToOpcode(2392, _) => vcvttpd2dq
+    rule INumOSZToOpcode(2393, _) => vcvttpd2dqy
+    rule INumOSZToOpcode(2394, _) => vcvttpd2dq
+    rule INumOSZToOpcode(2395, _) => vcvtpd2psx
+    rule INumOSZToOpcode(2396, _) => vcvtpd2ps
+    rule INumOSZToOpcode(2397, _) => vcvtpd2psy
+    rule INumOSZToOpcode(2398, _) => vcvtpd2ps
+    rule INumOSZToOpcode(2399, _) => vcvtps2dq
+    rule INumOSZToOpcode(2400, _) => vcvtps2dq
+    rule INumOSZToOpcode(2401, _) => vcvtps2dq
+    rule INumOSZToOpcode(2402, _) => vcvtps2dq
+    rule INumOSZToOpcode(2403, _) => vcvttps2dq
+    rule INumOSZToOpcode(2404, _) => vcvttps2dq
+    rule INumOSZToOpcode(2405, _) => vcvttps2dq
+    rule INumOSZToOpcode(2406, _) => vcvttps2dq
+    rule INumOSZToOpcode(2407, _) => vcvtps2pd
+    rule INumOSZToOpcode(2408, _) => vcvtps2pd
+    rule INumOSZToOpcode(2409, _) => vcvtps2pd
+    rule INumOSZToOpcode(2410, _) => vcvtps2pd
+    rule INumOSZToOpcode(2413, _) => vcvtsd2si
+    rule INumOSZToOpcode(2414, _) => vcvtsd2si
+    rule INumOSZToOpcode(2415, _) => vcvtsd2si
+    rule INumOSZToOpcode(2416, _) => vcvtsd2si
+    rule INumOSZToOpcode(2419, _) => vcvttsd2si
+    rule INumOSZToOpcode(2420, _) => vcvttsd2si
+    rule INumOSZToOpcode(2421, _) => vcvttsd2si
+    rule INumOSZToOpcode(2422, _) => vcvttsd2si
+    rule INumOSZToOpcode(2425, _) => vcvtss2si
+    rule INumOSZToOpcode(2426, _) => vcvtss2si
+    rule INumOSZToOpcode(2427, _) => vcvtss2si
+    rule INumOSZToOpcode(2428, _) => vcvtss2si
+    rule INumOSZToOpcode(2431, _) => vcvttss2si
+    rule INumOSZToOpcode(2432, _) => vcvttss2si
+    rule INumOSZToOpcode(2433, _) => vcvttss2si
+    rule INumOSZToOpcode(2434, _) => vcvttss2si
+    rule INumOSZToOpcode(2435, _) => vcvtsd2ss
+    rule INumOSZToOpcode(2436, _) => vcvtsd2ss
+    rule INumOSZToOpcode(2439, _) => vcvtsi2sdl
+    rule INumOSZToOpcode(2440, _) => vcvtsi2sdl
+    rule INumOSZToOpcode(2441, _) => vcvtsi2sdq
+    rule INumOSZToOpcode(2442, _) => vcvtsi2sdq
+    rule INumOSZToOpcode(2445, _) => vcvtsi2ssl
+    rule INumOSZToOpcode(2446, _) => vcvtsi2ssl
+    rule INumOSZToOpcode(2447, _) => vcvtsi2ssq
+    rule INumOSZToOpcode(2448, _) => vcvtsi2ssq
+    rule INumOSZToOpcode(2449, _) => vcvtss2sd
+    rule INumOSZToOpcode(2450, _) => vcvtss2sd
+    rule INumOSZToOpcode(2451, _) => vdivpd
+    rule INumOSZToOpcode(2452, _) => vdivpd
+    rule INumOSZToOpcode(2453, _) => vdivpd
+    rule INumOSZToOpcode(2454, _) => vdivpd
+    rule INumOSZToOpcode(2455, _) => vdivps
+    rule INumOSZToOpcode(2456, _) => vdivps
+    rule INumOSZToOpcode(2457, _) => vdivps
+    rule INumOSZToOpcode(2458, _) => vdivps
+    rule INumOSZToOpcode(2459, _) => vdivsd
+    rule INumOSZToOpcode(2460, _) => vdivsd
+    rule INumOSZToOpcode(2461, _) => vdivss
+    rule INumOSZToOpcode(2462, _) => vdivss
+    rule INumOSZToOpcode(2463, _) => vextractf128
+    rule INumOSZToOpcode(2464, _) => vextractf128
+    rule INumOSZToOpcode(2465, _) => vdppd
+    rule INumOSZToOpcode(2466, _) => vdppd
+    rule INumOSZToOpcode(2467, _) => vdpps
+    rule INumOSZToOpcode(2468, _) => vdpps
+    rule INumOSZToOpcode(2469, _) => vdpps
+    rule INumOSZToOpcode(2470, _) => vdpps
+    rule INumOSZToOpcode(2471, _) => vextractps
+    rule INumOSZToOpcode(2472, _) => vextractps
+    rule INumOSZToOpcode(2473, _) => vzeroall
+    rule INumOSZToOpcode(2474, _) => vzeroupper
+    rule INumOSZToOpcode(2475, _) => vhaddpd
+    rule INumOSZToOpcode(2476, _) => vhaddpd
+    rule INumOSZToOpcode(2477, _) => vhaddpd
+    rule INumOSZToOpcode(2478, _) => vhaddpd
+    rule INumOSZToOpcode(2479, _) => vhaddps
+    rule INumOSZToOpcode(2480, _) => vhaddps
+    rule INumOSZToOpcode(2481, _) => vhaddps
+    rule INumOSZToOpcode(2482, _) => vhaddps
+    rule INumOSZToOpcode(2483, _) => vhsubpd
+    rule INumOSZToOpcode(2484, _) => vhsubpd
+    rule INumOSZToOpcode(2485, _) => vhsubpd
+    rule INumOSZToOpcode(2486, _) => vhsubpd
+    rule INumOSZToOpcode(2487, _) => vhsubps
+    rule INumOSZToOpcode(2488, _) => vhsubps
+    rule INumOSZToOpcode(2489, _) => vhsubps
+    rule INumOSZToOpcode(2490, _) => vhsubps
+    rule INumOSZToOpcode(2491, _) => vpermilpd
+    rule INumOSZToOpcode(2492, _) => vpermilpd
+    rule INumOSZToOpcode(2493, _) => vpermilpd
+    rule INumOSZToOpcode(2494, _) => vpermilpd
+    rule INumOSZToOpcode(2495, _) => vpermilpd
+    rule INumOSZToOpcode(2496, _) => vpermilpd
+    rule INumOSZToOpcode(2497, _) => vpermilpd
+    rule INumOSZToOpcode(2498, _) => vpermilpd
+    rule INumOSZToOpcode(2499, _) => vpermilps
+    rule INumOSZToOpcode(2500, _) => vpermilps
+    rule INumOSZToOpcode(2501, _) => vpermilps
+    rule INumOSZToOpcode(2502, _) => vpermilps
+    rule INumOSZToOpcode(2503, _) => vpermilps
+    rule INumOSZToOpcode(2504, _) => vpermilps
+    rule INumOSZToOpcode(2505, _) => vpermilps
+    rule INumOSZToOpcode(2506, _) => vpermilps
+    rule INumOSZToOpcode(2507, _) => vperm2f128
+    rule INumOSZToOpcode(2508, _) => vperm2f128
+    rule INumOSZToOpcode(2509, _) => vbroadcastss
+    rule INumOSZToOpcode(2510, _) => vbroadcastss
+    rule INumOSZToOpcode(2511, _) => vbroadcastsd
+    rule INumOSZToOpcode(2512, _) => vbroadcastf128
+    rule INumOSZToOpcode(2513, _) => vinsertf128
+    rule INumOSZToOpcode(2514, _) => vinsertf128
+    rule INumOSZToOpcode(2515, _) => vinsertps
+    rule INumOSZToOpcode(2516, _) => vinsertps
+    rule INumOSZToOpcode(2517, _) => vlddqu
+    rule INumOSZToOpcode(2518, _) => vlddqu
+    rule INumOSZToOpcode(2519, _) => vmaskmovps
+    rule INumOSZToOpcode(2520, _) => vmaskmovps
+    rule INumOSZToOpcode(2521, _) => vmaskmovps
+    rule INumOSZToOpcode(2522, _) => vmaskmovps
+    rule INumOSZToOpcode(2523, _) => vmaskmovpd
+    rule INumOSZToOpcode(2524, _) => vmaskmovpd
+    rule INumOSZToOpcode(2525, _) => vmaskmovpd
+    rule INumOSZToOpcode(2526, _) => vmaskmovpd
+    rule INumOSZToOpcode(2527, _) => vptest
+    rule INumOSZToOpcode(2528, _) => vptest
+    rule INumOSZToOpcode(2529, _) => vptest
+    rule INumOSZToOpcode(2530, _) => vptest
+    rule INumOSZToOpcode(2531, _) => vtestps
+    rule INumOSZToOpcode(2532, _) => vtestps
+    rule INumOSZToOpcode(2533, _) => vtestps
+    rule INumOSZToOpcode(2534, _) => vtestps
+    rule INumOSZToOpcode(2535, _) => vtestpd
+    rule INumOSZToOpcode(2536, _) => vtestpd
+    rule INumOSZToOpcode(2537, _) => vtestpd
+    rule INumOSZToOpcode(2538, _) => vtestpd
+    rule INumOSZToOpcode(2539, _) => vmaxpd
+    rule INumOSZToOpcode(2540, _) => vmaxpd
+    rule INumOSZToOpcode(2541, _) => vmaxpd
+    rule INumOSZToOpcode(2542, _) => vmaxpd
+    rule INumOSZToOpcode(2543, _) => vmaxps
+    rule INumOSZToOpcode(2544, _) => vmaxps
+    rule INumOSZToOpcode(2545, _) => vmaxps
+    rule INumOSZToOpcode(2546, _) => vmaxps
+    rule INumOSZToOpcode(2547, _) => vmaxsd
+    rule INumOSZToOpcode(2548, _) => vmaxsd
+    rule INumOSZToOpcode(2549, _) => vmaxss
+    rule INumOSZToOpcode(2550, _) => vmaxss
+    rule INumOSZToOpcode(2551, _) => vminpd
+    rule INumOSZToOpcode(2552, _) => vminpd
+    rule INumOSZToOpcode(2553, _) => vminpd
+    rule INumOSZToOpcode(2554, _) => vminpd
+    rule INumOSZToOpcode(2555, _) => vminps
+    rule INumOSZToOpcode(2556, _) => vminps
+    rule INumOSZToOpcode(2557, _) => vminps
+    rule INumOSZToOpcode(2558, _) => vminps
+    rule INumOSZToOpcode(2559, _) => vminsd
+    rule INumOSZToOpcode(2560, _) => vminsd
+    rule INumOSZToOpcode(2561, _) => vminss
+    rule INumOSZToOpcode(2562, _) => vminss
+    rule INumOSZToOpcode(2563, _) => vmovapd
+    rule INumOSZToOpcode(2564, _) => vmovapd
+    rule INumOSZToOpcode(2565, _) => vmovapd
+    rule INumOSZToOpcode(2567, _) => vmovapd
+    rule INumOSZToOpcode(2568, _) => vmovapd
+    rule INumOSZToOpcode(2569, _) => vmovapd
+    rule INumOSZToOpcode(2571, _) => vmovaps
+    rule INumOSZToOpcode(2572, _) => vmovaps
+    rule INumOSZToOpcode(2573, _) => vmovaps
+    rule INumOSZToOpcode(2575, _) => vmovaps
+    rule INumOSZToOpcode(2576, _) => vmovaps
+    rule INumOSZToOpcode(2577, _) => vmovaps
+    rule INumOSZToOpcode(2583, _) => vmovd
+    rule INumOSZToOpcode(2584, _) => vmovd
+    rule INumOSZToOpcode(2585, _) => vmovd
+    rule INumOSZToOpcode(2586, _) => vmovd
+    rule INumOSZToOpcode(2588, _) => vmovq
+    rule INumOSZToOpcode(2590, _) => vmovq
+    rule INumOSZToOpcode(2591, _) => vmovq
+    rule INumOSZToOpcode(2592, _) => vmovq
+    rule INumOSZToOpcode(2593, _) => vmovq
+    rule INumOSZToOpcode(2595, _) => vmovddup
+    rule INumOSZToOpcode(2596, _) => vmovddup
+    rule INumOSZToOpcode(2597, _) => vmovddup
+    rule INumOSZToOpcode(2598, _) => vmovddup
+    rule INumOSZToOpcode(2599, _) => vmovdqa
+    rule INumOSZToOpcode(2600, _) => vmovdqa
+    rule INumOSZToOpcode(2601, _) => vmovdqa
+    rule INumOSZToOpcode(2603, _) => vmovdqa
+    rule INumOSZToOpcode(2604, _) => vmovdqa
+    rule INumOSZToOpcode(2605, _) => vmovdqa
+    rule INumOSZToOpcode(2607, _) => vmovdqu
+    rule INumOSZToOpcode(2608, _) => vmovdqu
+    rule INumOSZToOpcode(2609, _) => vmovdqu
+    rule INumOSZToOpcode(2610, _) => vmovdqu
+    rule INumOSZToOpcode(2611, _) => vmovdqu
+    rule INumOSZToOpcode(2613, _) => vmovdqu
+    rule INumOSZToOpcode(2615, _) => vmovshdup
+    rule INumOSZToOpcode(2616, _) => vmovshdup
+    rule INumOSZToOpcode(2617, _) => vmovshdup
+    rule INumOSZToOpcode(2618, _) => vmovshdup
+    rule INumOSZToOpcode(2619, _) => vmovsldup
+    rule INumOSZToOpcode(2620, _) => vmovsldup
+    rule INumOSZToOpcode(2621, _) => vmovsldup
+    rule INumOSZToOpcode(2622, _) => vmovsldup
+    rule INumOSZToOpcode(2623, _) => vpor
+    rule INumOSZToOpcode(2624, _) => vpor
+    rule INumOSZToOpcode(2625, _) => vpand
+    rule INumOSZToOpcode(2626, _) => vpand
+    rule INumOSZToOpcode(2627, _) => vpandn
+    rule INumOSZToOpcode(2628, _) => vpandn
+    rule INumOSZToOpcode(2629, _) => vpxor
+    rule INumOSZToOpcode(2630, _) => vpxor
+    rule INumOSZToOpcode(2631, _) => vpabsb
+    rule INumOSZToOpcode(2632, _) => vpabsb
+    rule INumOSZToOpcode(2633, _) => vpabsw
+    rule INumOSZToOpcode(2634, _) => vpabsw
+    rule INumOSZToOpcode(2635, _) => vpabsd
+    rule INumOSZToOpcode(2636, _) => vpabsd
+    rule INumOSZToOpcode(2637, _) => vphminposuw
+    rule INumOSZToOpcode(2638, _) => vphminposuw
+    rule INumOSZToOpcode(2639, _) => vpshufd
+    rule INumOSZToOpcode(2640, _) => vpshufd
+    rule INumOSZToOpcode(2641, _) => vpshufhw
+    rule INumOSZToOpcode(2642, _) => vpshufhw
+    rule INumOSZToOpcode(2643, _) => vpshuflw
+    rule INumOSZToOpcode(2644, _) => vpshuflw
+    rule INumOSZToOpcode(2645, _) => vpacksswb
+    rule INumOSZToOpcode(2646, _) => vpacksswb
+    rule INumOSZToOpcode(2647, _) => vpackssdw
+    rule INumOSZToOpcode(2648, _) => vpackssdw
+    rule INumOSZToOpcode(2649, _) => vpackuswb
+    rule INumOSZToOpcode(2650, _) => vpackuswb
+    rule INumOSZToOpcode(2651, _) => vpackusdw
+    rule INumOSZToOpcode(2652, _) => vpackusdw
+    rule INumOSZToOpcode(2653, _) => vpsllw
+    rule INumOSZToOpcode(2654, _) => vpsllw
+    rule INumOSZToOpcode(2655, _) => vpslld
+    rule INumOSZToOpcode(2656, _) => vpslld
+    rule INumOSZToOpcode(2657, _) => vpsllq
+    rule INumOSZToOpcode(2658, _) => vpsllq
+    rule INumOSZToOpcode(2659, _) => vpsrlw
+    rule INumOSZToOpcode(2660, _) => vpsrlw
+    rule INumOSZToOpcode(2661, _) => vpsrld
+    rule INumOSZToOpcode(2662, _) => vpsrld
+    rule INumOSZToOpcode(2663, _) => vpsrlq
+    rule INumOSZToOpcode(2664, _) => vpsrlq
+    rule INumOSZToOpcode(2665, _) => vpsraw
+    rule INumOSZToOpcode(2666, _) => vpsraw
+    rule INumOSZToOpcode(2667, _) => vpsrad
+    rule INumOSZToOpcode(2668, _) => vpsrad
+    rule INumOSZToOpcode(2669, _) => vpaddb
+    rule INumOSZToOpcode(2670, _) => vpaddb
+    rule INumOSZToOpcode(2671, _) => vpaddw
+    rule INumOSZToOpcode(2672, _) => vpaddw
+    rule INumOSZToOpcode(2673, _) => vpaddd
+    rule INumOSZToOpcode(2674, _) => vpaddd
+    rule INumOSZToOpcode(2675, _) => vpaddq
+    rule INumOSZToOpcode(2676, _) => vpaddq
+    rule INumOSZToOpcode(2677, _) => vpaddsb
+    rule INumOSZToOpcode(2678, _) => vpaddsb
+    rule INumOSZToOpcode(2679, _) => vpaddsw
+    rule INumOSZToOpcode(2680, _) => vpaddsw
+    rule INumOSZToOpcode(2681, _) => vpaddusb
+    rule INumOSZToOpcode(2682, _) => vpaddusb
+    rule INumOSZToOpcode(2683, _) => vpaddusw
+    rule INumOSZToOpcode(2684, _) => vpaddusw
+    rule INumOSZToOpcode(2685, _) => vpavgb
+    rule INumOSZToOpcode(2686, _) => vpavgb
+    rule INumOSZToOpcode(2687, _) => vpavgw
+    rule INumOSZToOpcode(2688, _) => vpavgw
+    rule INumOSZToOpcode(2689, _) => vpcmpeqb
+    rule INumOSZToOpcode(2690, _) => vpcmpeqb
+    rule INumOSZToOpcode(2691, _) => vpcmpeqw
+    rule INumOSZToOpcode(2692, _) => vpcmpeqw
+    rule INumOSZToOpcode(2693, _) => vpcmpeqd
+    rule INumOSZToOpcode(2694, _) => vpcmpeqd
+    rule INumOSZToOpcode(2695, _) => vpcmpeqq
+    rule INumOSZToOpcode(2696, _) => vpcmpeqq
+    rule INumOSZToOpcode(2697, _) => vpcmpgtb
+    rule INumOSZToOpcode(2698, _) => vpcmpgtb
+    rule INumOSZToOpcode(2699, _) => vpcmpgtw
+    rule INumOSZToOpcode(2700, _) => vpcmpgtw
+    rule INumOSZToOpcode(2701, _) => vpcmpgtd
+    rule INumOSZToOpcode(2702, _) => vpcmpgtd
+    rule INumOSZToOpcode(2703, _) => vpcmpgtq
+    rule INumOSZToOpcode(2704, _) => vpcmpgtq
+    rule INumOSZToOpcode(2705, _) => vphaddw
+    rule INumOSZToOpcode(2706, _) => vphaddw
+    rule INumOSZToOpcode(2707, _) => vphaddd
+    rule INumOSZToOpcode(2708, _) => vphaddd
+    rule INumOSZToOpcode(2709, _) => vphaddsw
+    rule INumOSZToOpcode(2710, _) => vphaddsw
+    rule INumOSZToOpcode(2711, _) => vphsubw
+    rule INumOSZToOpcode(2712, _) => vphsubw
+    rule INumOSZToOpcode(2713, _) => vphsubd
+    rule INumOSZToOpcode(2714, _) => vphsubd
+    rule INumOSZToOpcode(2715, _) => vphsubsw
+    rule INumOSZToOpcode(2716, _) => vphsubsw
+    rule INumOSZToOpcode(2717, _) => vpmulhuw
+    rule INumOSZToOpcode(2718, _) => vpmulhuw
+    rule INumOSZToOpcode(2719, _) => vpmulhrsw
+    rule INumOSZToOpcode(2720, _) => vpmulhrsw
+    rule INumOSZToOpcode(2721, _) => vpmulhw
+    rule INumOSZToOpcode(2722, _) => vpmulhw
+    rule INumOSZToOpcode(2723, _) => vpmullw
+    rule INumOSZToOpcode(2724, _) => vpmullw
+    rule INumOSZToOpcode(2725, _) => vpmulld
+    rule INumOSZToOpcode(2726, _) => vpmulld
+    rule INumOSZToOpcode(2727, _) => vpmuludq
+    rule INumOSZToOpcode(2728, _) => vpmuludq
+    rule INumOSZToOpcode(2729, _) => vpmuldq
+    rule INumOSZToOpcode(2730, _) => vpmuldq
+    rule INumOSZToOpcode(2731, _) => vpsadbw
+    rule INumOSZToOpcode(2732, _) => vpsadbw
+    rule INumOSZToOpcode(2733, _) => vpshufb
+    rule INumOSZToOpcode(2734, _) => vpshufb
+    rule INumOSZToOpcode(2735, _) => vpsignb
+    rule INumOSZToOpcode(2736, _) => vpsignb
+    rule INumOSZToOpcode(2737, _) => vpsignw
+    rule INumOSZToOpcode(2738, _) => vpsignw
+    rule INumOSZToOpcode(2739, _) => vpsignd
+    rule INumOSZToOpcode(2740, _) => vpsignd
+    rule INumOSZToOpcode(2741, _) => vpsubsb
+    rule INumOSZToOpcode(2742, _) => vpsubsb
+    rule INumOSZToOpcode(2743, _) => vpsubsw
+    rule INumOSZToOpcode(2744, _) => vpsubsw
+    rule INumOSZToOpcode(2745, _) => vpsubusb
+    rule INumOSZToOpcode(2746, _) => vpsubusb
+    rule INumOSZToOpcode(2747, _) => vpsubusw
+    rule INumOSZToOpcode(2748, _) => vpsubusw
+    rule INumOSZToOpcode(2749, _) => vpsubb
+    rule INumOSZToOpcode(2750, _) => vpsubb
+    rule INumOSZToOpcode(2751, _) => vpsubw
+    rule INumOSZToOpcode(2752, _) => vpsubw
+    rule INumOSZToOpcode(2753, _) => vpsubd
+    rule INumOSZToOpcode(2754, _) => vpsubd
+    rule INumOSZToOpcode(2755, _) => vpsubq
+    rule INumOSZToOpcode(2756, _) => vpsubq
+    rule INumOSZToOpcode(2757, _) => vpunpckhbw
+    rule INumOSZToOpcode(2758, _) => vpunpckhbw
+    rule INumOSZToOpcode(2759, _) => vpunpckhwd
+    rule INumOSZToOpcode(2760, _) => vpunpckhwd
+    rule INumOSZToOpcode(2761, _) => vpunpckhdq
+    rule INumOSZToOpcode(2762, _) => vpunpckhdq
+    rule INumOSZToOpcode(2763, _) => vpunpckhqdq
+    rule INumOSZToOpcode(2764, _) => vpunpckhqdq
+    rule INumOSZToOpcode(2765, _) => vpunpcklbw
+    rule INumOSZToOpcode(2766, _) => vpunpcklbw
+    rule INumOSZToOpcode(2767, _) => vpunpcklwd
+    rule INumOSZToOpcode(2768, _) => vpunpcklwd
+    rule INumOSZToOpcode(2769, _) => vpunpckldq
+    rule INumOSZToOpcode(2770, _) => vpunpckldq
+    rule INumOSZToOpcode(2771, _) => vpunpcklqdq
+    rule INumOSZToOpcode(2772, _) => vpunpcklqdq
+    rule INumOSZToOpcode(2773, _) => vpsrldq
+    rule INumOSZToOpcode(2774, _) => vpslldq
+    rule INumOSZToOpcode(2775, _) => vmovlhps
+    rule INumOSZToOpcode(2776, _) => vmovhlps
+    rule INumOSZToOpcode(2777, _) => vpalignr
+    rule INumOSZToOpcode(2778, _) => vpalignr
+    rule INumOSZToOpcode(2779, _) => vpblendw
+    rule INumOSZToOpcode(2780, _) => vpblendw
+    rule INumOSZToOpcode(2781, _) => vroundpd
+    rule INumOSZToOpcode(2782, _) => vroundpd
+    rule INumOSZToOpcode(2783, _) => vroundpd
+    rule INumOSZToOpcode(2784, _) => vroundpd
+    rule INumOSZToOpcode(2785, _) => vroundps
+    rule INumOSZToOpcode(2786, _) => vroundps
+    rule INumOSZToOpcode(2787, _) => vroundps
+    rule INumOSZToOpcode(2788, _) => vroundps
+    rule INumOSZToOpcode(2789, _) => vroundsd
+    rule INumOSZToOpcode(2790, _) => vroundsd
+    rule INumOSZToOpcode(2791, _) => vroundss
+    rule INumOSZToOpcode(2792, _) => vroundss
+    rule INumOSZToOpcode(2793, _) => vshufpd
+    rule INumOSZToOpcode(2794, _) => vshufpd
+    rule INumOSZToOpcode(2795, _) => vshufpd
+    rule INumOSZToOpcode(2796, _) => vshufpd
+    rule INumOSZToOpcode(2797, _) => vshufps
+    rule INumOSZToOpcode(2798, _) => vshufps
+    rule INumOSZToOpcode(2799, _) => vshufps
+    rule INumOSZToOpcode(2800, _) => vshufps
+    rule INumOSZToOpcode(2801, _) => vrcpps
+    rule INumOSZToOpcode(2802, _) => vrcpps
+    rule INumOSZToOpcode(2803, _) => vrcpps
+    rule INumOSZToOpcode(2804, _) => vrcpps
+    rule INumOSZToOpcode(2805, _) => vrcpss
+    rule INumOSZToOpcode(2806, _) => vrcpss
+    rule INumOSZToOpcode(2807, _) => vrsqrtps
+    rule INumOSZToOpcode(2808, _) => vrsqrtps
+    rule INumOSZToOpcode(2809, _) => vrsqrtps
+    rule INumOSZToOpcode(2810, _) => vrsqrtps
+    rule INumOSZToOpcode(2811, _) => vrsqrtss
+    rule INumOSZToOpcode(2812, _) => vrsqrtss
+    rule INumOSZToOpcode(2813, _) => vsqrtpd
+    rule INumOSZToOpcode(2814, _) => vsqrtpd
+    rule INumOSZToOpcode(2815, _) => vsqrtpd
+    rule INumOSZToOpcode(2816, _) => vsqrtpd
+    rule INumOSZToOpcode(2817, _) => vsqrtps
+    rule INumOSZToOpcode(2818, _) => vsqrtps
+    rule INumOSZToOpcode(2819, _) => vsqrtps
+    rule INumOSZToOpcode(2820, _) => vsqrtps
+    rule INumOSZToOpcode(2821, _) => vsqrtsd
+    rule INumOSZToOpcode(2822, _) => vsqrtsd
+    rule INumOSZToOpcode(2823, _) => vsqrtss
+    rule INumOSZToOpcode(2824, _) => vsqrtss
+    rule INumOSZToOpcode(2825, _) => vunpckhpd
+    rule INumOSZToOpcode(2826, _) => vunpckhpd
+    rule INumOSZToOpcode(2827, _) => vunpckhpd
+    rule INumOSZToOpcode(2828, _) => vunpckhpd
+    rule INumOSZToOpcode(2829, _) => vunpckhps
+    rule INumOSZToOpcode(2830, _) => vunpckhps
+    rule INumOSZToOpcode(2831, _) => vunpckhps
+    rule INumOSZToOpcode(2832, _) => vunpckhps
+    rule INumOSZToOpcode(2833, _) => vsubpd
+    rule INumOSZToOpcode(2834, _) => vsubpd
+    rule INumOSZToOpcode(2835, _) => vsubpd
+    rule INumOSZToOpcode(2836, _) => vsubpd
+    rule INumOSZToOpcode(2837, _) => vsubps
+    rule INumOSZToOpcode(2838, _) => vsubps
+    rule INumOSZToOpcode(2839, _) => vsubps
+    rule INumOSZToOpcode(2840, _) => vsubps
+    rule INumOSZToOpcode(2841, _) => vsubsd
+    rule INumOSZToOpcode(2842, _) => vsubsd
+    rule INumOSZToOpcode(2843, _) => vsubss
+    rule INumOSZToOpcode(2844, _) => vsubss
+    rule INumOSZToOpcode(2845, _) => vmulpd
+    rule INumOSZToOpcode(2846, _) => vmulpd
+    rule INumOSZToOpcode(2847, _) => vmulpd
+    rule INumOSZToOpcode(2848, _) => vmulpd
+    rule INumOSZToOpcode(2849, _) => vmulps
+    rule INumOSZToOpcode(2850, _) => vmulps
+    rule INumOSZToOpcode(2851, _) => vmulps
+    rule INumOSZToOpcode(2852, _) => vmulps
+    rule INumOSZToOpcode(2853, _) => vmulsd
+    rule INumOSZToOpcode(2854, _) => vmulsd
+    rule INumOSZToOpcode(2855, _) => vmulss
+    rule INumOSZToOpcode(2856, _) => vmulss
+    rule INumOSZToOpcode(2857, _) => vorpd
+    rule INumOSZToOpcode(2858, _) => vorpd
+    rule INumOSZToOpcode(2859, _) => vorpd
+    rule INumOSZToOpcode(2860, _) => vorpd
+    rule INumOSZToOpcode(2861, _) => vorps
+    rule INumOSZToOpcode(2862, _) => vorps
+    rule INumOSZToOpcode(2863, _) => vorps
+    rule INumOSZToOpcode(2864, _) => vorps
+    rule INumOSZToOpcode(2865, _) => vpmaxsb
+    rule INumOSZToOpcode(2866, _) => vpmaxsb
+    rule INumOSZToOpcode(2867, _) => vpmaxsw
+    rule INumOSZToOpcode(2868, _) => vpmaxsw
+    rule INumOSZToOpcode(2869, _) => vpmaxsd
+    rule INumOSZToOpcode(2870, _) => vpmaxsd
+    rule INumOSZToOpcode(2871, _) => vpmaxub
+    rule INumOSZToOpcode(2872, _) => vpmaxub
+    rule INumOSZToOpcode(2873, _) => vpmaxuw
+    rule INumOSZToOpcode(2874, _) => vpmaxuw
+    rule INumOSZToOpcode(2875, _) => vpmaxud
+    rule INumOSZToOpcode(2876, _) => vpmaxud
+    rule INumOSZToOpcode(2877, _) => vpminsb
+    rule INumOSZToOpcode(2878, _) => vpminsb
+    rule INumOSZToOpcode(2879, _) => vpminsw
+    rule INumOSZToOpcode(2880, _) => vpminsw
+    rule INumOSZToOpcode(2881, _) => vpminsd
+    rule INumOSZToOpcode(2882, _) => vpminsd
+    rule INumOSZToOpcode(2883, _) => vpminub
+    rule INumOSZToOpcode(2884, _) => vpminub
+    rule INumOSZToOpcode(2885, _) => vpminuw
+    rule INumOSZToOpcode(2886, _) => vpminuw
+    rule INumOSZToOpcode(2887, _) => vpminud
+    rule INumOSZToOpcode(2888, _) => vpminud
+    rule INumOSZToOpcode(2889, _) => vpmaddwd
+    rule INumOSZToOpcode(2890, _) => vpmaddwd
+    rule INumOSZToOpcode(2891, _) => vpmaddubsw
+    rule INumOSZToOpcode(2892, _) => vpmaddubsw
+    rule INumOSZToOpcode(2893, _) => vmpsadbw
+    rule INumOSZToOpcode(2894, _) => vmpsadbw
+    rule INumOSZToOpcode(2895, _) => vpsllw
+    rule INumOSZToOpcode(2896, _) => vpslld
+    rule INumOSZToOpcode(2897, _) => vpsllq
+    rule INumOSZToOpcode(2898, _) => vpsraw
+    rule INumOSZToOpcode(2899, _) => vpsrad
+    rule INumOSZToOpcode(2900, _) => vpsrlw
+    rule INumOSZToOpcode(2901, _) => vpsrld
+    rule INumOSZToOpcode(2902, _) => vpsrlq
+    rule INumOSZToOpcode(2903, _) => vucomisd
+    rule INumOSZToOpcode(2904, _) => vucomisd
+    rule INumOSZToOpcode(2905, _) => vucomiss
+    rule INumOSZToOpcode(2906, _) => vucomiss
+    rule INumOSZToOpcode(2907, _) => vunpcklpd
+    rule INumOSZToOpcode(2908, _) => vunpcklpd
+    rule INumOSZToOpcode(2909, _) => vunpcklpd
+    rule INumOSZToOpcode(2910, _) => vunpcklpd
+    rule INumOSZToOpcode(2911, _) => vunpcklps
+    rule INumOSZToOpcode(2912, _) => vunpcklps
+    rule INumOSZToOpcode(2913, _) => vunpcklps
+    rule INumOSZToOpcode(2914, _) => vunpcklps
+    rule INumOSZToOpcode(2915, _) => vxorpd
+    rule INumOSZToOpcode(2916, _) => vxorpd
+    rule INumOSZToOpcode(2917, _) => vxorpd
+    rule INumOSZToOpcode(2918, _) => vxorpd
+    rule INumOSZToOpcode(2919, _) => vxorps
+    rule INumOSZToOpcode(2920, _) => vxorps
+    rule INumOSZToOpcode(2921, _) => vxorps
+    rule INumOSZToOpcode(2922, _) => vxorps
+    rule INumOSZToOpcode(2923, _) => vmovss
+    rule INumOSZToOpcode(2924, _) => vmovss
+    rule INumOSZToOpcode(2925, _) => vmovss
+    rule INumOSZToOpcode(2927, _) => vmovsd
+    rule INumOSZToOpcode(2928, _) => vmovsd
+    rule INumOSZToOpcode(2929, _) => vmovsd
+    rule INumOSZToOpcode(2931, _) => vmovupd
+    rule INumOSZToOpcode(2932, _) => vmovupd
+    rule INumOSZToOpcode(2933, _) => vmovupd
+    rule INumOSZToOpcode(2935, _) => vmovupd
+    rule INumOSZToOpcode(2936, _) => vmovupd
+    rule INumOSZToOpcode(2937, _) => vmovupd
+    rule INumOSZToOpcode(2939, _) => vmovups
+    rule INumOSZToOpcode(2940, _) => vmovups
+    rule INumOSZToOpcode(2941, _) => vmovups
+    rule INumOSZToOpcode(2943, _) => vmovups
+    rule INumOSZToOpcode(2944, _) => vmovups
+    rule INumOSZToOpcode(2945, _) => vmovups
+    rule INumOSZToOpcode(2947, _) => vmovlpd
+    rule INumOSZToOpcode(2948, _) => vmovlpd
+    rule INumOSZToOpcode(2949, _) => vmovlps
+    rule INumOSZToOpcode(2950, _) => vmovlps
+    rule INumOSZToOpcode(2951, _) => vmovhpd
+    rule INumOSZToOpcode(2952, _) => vmovhpd
+    rule INumOSZToOpcode(2953, _) => vmovhps
+    rule INumOSZToOpcode(2954, _) => vmovhps
+    rule INumOSZToOpcode(2955, _) => vmovmskpd
+    rule INumOSZToOpcode(2956, _) => vmovmskpd
+    rule INumOSZToOpcode(2957, _) => vmovmskps
+    rule INumOSZToOpcode(2958, _) => vmovmskps
+    rule INumOSZToOpcode(2959, _) => vpmovmskb
+    rule INumOSZToOpcode(2960, _) => vpmovsxbw
+    rule INumOSZToOpcode(2961, _) => vpmovsxbw
+    rule INumOSZToOpcode(2962, _) => vpmovsxbd
+    rule INumOSZToOpcode(2963, _) => vpmovsxbd
+    rule INumOSZToOpcode(2964, _) => vpmovsxbq
+    rule INumOSZToOpcode(2965, _) => vpmovsxbq
+    rule INumOSZToOpcode(2966, _) => vpmovsxwd
+    rule INumOSZToOpcode(2967, _) => vpmovsxwd
+    rule INumOSZToOpcode(2968, _) => vpmovsxwq
+    rule INumOSZToOpcode(2969, _) => vpmovsxwq
+    rule INumOSZToOpcode(2970, _) => vpmovsxdq
+    rule INumOSZToOpcode(2971, _) => vpmovsxdq
+    rule INumOSZToOpcode(2972, _) => vpmovzxbw
+    rule INumOSZToOpcode(2973, _) => vpmovzxbw
+    rule INumOSZToOpcode(2974, _) => vpmovzxbd
+    rule INumOSZToOpcode(2975, _) => vpmovzxbd
+    rule INumOSZToOpcode(2976, _) => vpmovzxbq
+    rule INumOSZToOpcode(2977, _) => vpmovzxbq
+    rule INumOSZToOpcode(2978, _) => vpmovzxwd
+    rule INumOSZToOpcode(2979, _) => vpmovzxwd
+    rule INumOSZToOpcode(2980, _) => vpmovzxwq
+    rule INumOSZToOpcode(2981, _) => vpmovzxwq
+    rule INumOSZToOpcode(2982, _) => vpmovzxdq
+    rule INumOSZToOpcode(2983, _) => vpmovzxdq
+    rule INumOSZToOpcode(2984, _) => vpextrb
+    rule INumOSZToOpcode(2985, _) => vpextrb
+    rule INumOSZToOpcode(2986, _) => vpextrw
+    rule INumOSZToOpcode(2988, _) => vpextrw
+    rule INumOSZToOpcode(2989, _) => vpextrq
+    rule INumOSZToOpcode(2990, _) => vpextrq
+    rule INumOSZToOpcode(2991, _) => vpextrd
+    rule INumOSZToOpcode(2992, _) => vpextrd
+    rule INumOSZToOpcode(2995, _) => vpinsrb
+    rule INumOSZToOpcode(2996, _) => vpinsrb
+    rule INumOSZToOpcode(2997, _) => vpinsrw
+    rule INumOSZToOpcode(2998, _) => vpinsrw
+    rule INumOSZToOpcode(2999, _) => vpinsrd
+    rule INumOSZToOpcode(3000, _) => vpinsrd
+    rule INumOSZToOpcode(3003, _) => vpinsrq
+    rule INumOSZToOpcode(3004, _) => vpinsrq
+    rule INumOSZToOpcode(3007, _) => vpcmpestri
+    rule INumOSZToOpcode(3008, _) => vpcmpestri
+    rule INumOSZToOpcode(3013, _) => vpcmpistri
+    rule INumOSZToOpcode(3014, _) => vpcmpistri
+    rule INumOSZToOpcode(3019, _) => vpcmpestrm
+    rule INumOSZToOpcode(3020, _) => vpcmpestrm
+    rule INumOSZToOpcode(3023, _) => vpcmpistrm
+    rule INumOSZToOpcode(3024, _) => vpcmpistrm
+    rule INumOSZToOpcode(3025, _) => vmaskmovdqu
+    rule INumOSZToOpcode(3028, _) => vpblendvb
+    rule INumOSZToOpcode(3029, _) => vpblendvb
+    rule INumOSZToOpcode(3030, _) => vblendvpd
+    rule INumOSZToOpcode(3031, _) => vblendvpd
+    rule INumOSZToOpcode(3032, _) => vblendvpd
+    rule INumOSZToOpcode(3033, _) => vblendvpd
+    rule INumOSZToOpcode(3034, _) => vblendvps
+    rule INumOSZToOpcode(3035, _) => vblendvps
+    rule INumOSZToOpcode(3036, _) => vblendvps
+    rule INumOSZToOpcode(3037, _) => vblendvps
+    rule INumOSZToOpcode(3038, _) => vmovntdqa
+    rule INumOSZToOpcode(3039, _) => vmovntdq
+    rule INumOSZToOpcode(3040, _) => vmovntpd
+    rule INumOSZToOpcode(3041, _) => vmovntps
+    rule INumOSZToOpcode(3042, _) => vmovntdq
+    rule INumOSZToOpcode(3043, _) => vmovntpd
+    rule INumOSZToOpcode(3044, _) => vmovntps
+    rule INumOSZToOpcode(3057, _) => vpclmulqdq
+    rule INumOSZToOpcode(3058, _) => vpclmulqdq
+    rule INumOSZToOpcode(3059, _) => vcvtph2ps
+    rule INumOSZToOpcode(3060, _) => vcvtph2ps
+    rule INumOSZToOpcode(3061, _) => vcvtph2ps
+    rule INumOSZToOpcode(3062, _) => vcvtph2ps
+    rule INumOSZToOpcode(3063, _) => vcvtps2ph
+    rule INumOSZToOpcode(3064, _) => vcvtps2ph
+    rule INumOSZToOpcode(3065, _) => vcvtps2ph
+    rule INumOSZToOpcode(3066, _) => vcvtps2ph
+    rule INumOSZToOpcode(3067, _) => vfmadd132pd
+    rule INumOSZToOpcode(3068, _) => vfmadd132pd
+    rule INumOSZToOpcode(3069, _) => vfmadd132pd
+    rule INumOSZToOpcode(3070, _) => vfmadd132pd
+    rule INumOSZToOpcode(3071, _) => vfmadd132ps
+    rule INumOSZToOpcode(3072, _) => vfmadd132ps
+    rule INumOSZToOpcode(3073, _) => vfmadd132ps
+    rule INumOSZToOpcode(3074, _) => vfmadd132ps
+    rule INumOSZToOpcode(3075, _) => vfmadd132sd
+    rule INumOSZToOpcode(3076, _) => vfmadd132sd
+    rule INumOSZToOpcode(3077, _) => vfmadd132ss
+    rule INumOSZToOpcode(3078, _) => vfmadd132ss
+    rule INumOSZToOpcode(3079, _) => vfmadd213pd
+    rule INumOSZToOpcode(3080, _) => vfmadd213pd
+    rule INumOSZToOpcode(3081, _) => vfmadd213pd
+    rule INumOSZToOpcode(3082, _) => vfmadd213pd
+    rule INumOSZToOpcode(3083, _) => vfmadd213ps
+    rule INumOSZToOpcode(3084, _) => vfmadd213ps
+    rule INumOSZToOpcode(3085, _) => vfmadd213ps
+    rule INumOSZToOpcode(3086, _) => vfmadd213ps
+    rule INumOSZToOpcode(3087, _) => vfmadd213sd
+    rule INumOSZToOpcode(3088, _) => vfmadd213sd
+    rule INumOSZToOpcode(3089, _) => vfmadd213ss
+    rule INumOSZToOpcode(3090, _) => vfmadd213ss
+    rule INumOSZToOpcode(3091, _) => vfmadd231pd
+    rule INumOSZToOpcode(3092, _) => vfmadd231pd
+    rule INumOSZToOpcode(3093, _) => vfmadd231pd
+    rule INumOSZToOpcode(3094, _) => vfmadd231pd
+    rule INumOSZToOpcode(3095, _) => vfmadd231ps
+    rule INumOSZToOpcode(3096, _) => vfmadd231ps
+    rule INumOSZToOpcode(3097, _) => vfmadd231ps
+    rule INumOSZToOpcode(3098, _) => vfmadd231ps
+    rule INumOSZToOpcode(3099, _) => vfmadd231sd
+    rule INumOSZToOpcode(3100, _) => vfmadd231sd
+    rule INumOSZToOpcode(3101, _) => vfmadd231ss
+    rule INumOSZToOpcode(3102, _) => vfmadd231ss
+    rule INumOSZToOpcode(3103, _) => vfmaddsub132pd
+    rule INumOSZToOpcode(3104, _) => vfmaddsub132pd
+    rule INumOSZToOpcode(3105, _) => vfmaddsub132pd
+    rule INumOSZToOpcode(3106, _) => vfmaddsub132pd
+    rule INumOSZToOpcode(3107, _) => vfmaddsub213pd
+    rule INumOSZToOpcode(3108, _) => vfmaddsub213pd
+    rule INumOSZToOpcode(3109, _) => vfmaddsub213pd
+    rule INumOSZToOpcode(3110, _) => vfmaddsub213pd
+    rule INumOSZToOpcode(3111, _) => vfmaddsub231pd
+    rule INumOSZToOpcode(3112, _) => vfmaddsub231pd
+    rule INumOSZToOpcode(3113, _) => vfmaddsub231pd
+    rule INumOSZToOpcode(3114, _) => vfmaddsub231pd
+    rule INumOSZToOpcode(3115, _) => vfmaddsub132ps
+    rule INumOSZToOpcode(3116, _) => vfmaddsub132ps
+    rule INumOSZToOpcode(3117, _) => vfmaddsub132ps
+    rule INumOSZToOpcode(3118, _) => vfmaddsub132ps
+    rule INumOSZToOpcode(3119, _) => vfmaddsub213ps
+    rule INumOSZToOpcode(3120, _) => vfmaddsub213ps
+    rule INumOSZToOpcode(3121, _) => vfmaddsub213ps
+    rule INumOSZToOpcode(3122, _) => vfmaddsub213ps
+    rule INumOSZToOpcode(3123, _) => vfmaddsub231ps
+    rule INumOSZToOpcode(3124, _) => vfmaddsub231ps
+    rule INumOSZToOpcode(3125, _) => vfmaddsub231ps
+    rule INumOSZToOpcode(3126, _) => vfmaddsub231ps
+    rule INumOSZToOpcode(3127, _) => vfmsubadd132pd
+    rule INumOSZToOpcode(3128, _) => vfmsubadd132pd
+    rule INumOSZToOpcode(3129, _) => vfmsubadd132pd
+    rule INumOSZToOpcode(3130, _) => vfmsubadd132pd
+    rule INumOSZToOpcode(3131, _) => vfmsubadd213pd
+    rule INumOSZToOpcode(3132, _) => vfmsubadd213pd
+    rule INumOSZToOpcode(3133, _) => vfmsubadd213pd
+    rule INumOSZToOpcode(3134, _) => vfmsubadd213pd
+    rule INumOSZToOpcode(3135, _) => vfmsubadd231pd
+    rule INumOSZToOpcode(3136, _) => vfmsubadd231pd
+    rule INumOSZToOpcode(3137, _) => vfmsubadd231pd
+    rule INumOSZToOpcode(3138, _) => vfmsubadd231pd
+    rule INumOSZToOpcode(3139, _) => vfmsubadd132ps
+    rule INumOSZToOpcode(3140, _) => vfmsubadd132ps
+    rule INumOSZToOpcode(3141, _) => vfmsubadd132ps
+    rule INumOSZToOpcode(3142, _) => vfmsubadd132ps
+    rule INumOSZToOpcode(3143, _) => vfmsubadd213ps
+    rule INumOSZToOpcode(3144, _) => vfmsubadd213ps
+    rule INumOSZToOpcode(3145, _) => vfmsubadd213ps
+    rule INumOSZToOpcode(3146, _) => vfmsubadd213ps
+    rule INumOSZToOpcode(3147, _) => vfmsubadd231ps
+    rule INumOSZToOpcode(3148, _) => vfmsubadd231ps
+    rule INumOSZToOpcode(3149, _) => vfmsubadd231ps
+    rule INumOSZToOpcode(3150, _) => vfmsubadd231ps
+    rule INumOSZToOpcode(3151, _) => vfmsub132pd
+    rule INumOSZToOpcode(3152, _) => vfmsub132pd
+    rule INumOSZToOpcode(3153, _) => vfmsub132pd
+    rule INumOSZToOpcode(3154, _) => vfmsub132pd
+    rule INumOSZToOpcode(3155, _) => vfmsub132ps
+    rule INumOSZToOpcode(3156, _) => vfmsub132ps
+    rule INumOSZToOpcode(3157, _) => vfmsub132ps
+    rule INumOSZToOpcode(3158, _) => vfmsub132ps
+    rule INumOSZToOpcode(3159, _) => vfmsub132sd
+    rule INumOSZToOpcode(3160, _) => vfmsub132sd
+    rule INumOSZToOpcode(3161, _) => vfmsub132ss
+    rule INumOSZToOpcode(3162, _) => vfmsub132ss
+    rule INumOSZToOpcode(3163, _) => vfmsub213pd
+    rule INumOSZToOpcode(3164, _) => vfmsub213pd
+    rule INumOSZToOpcode(3165, _) => vfmsub213pd
+    rule INumOSZToOpcode(3166, _) => vfmsub213pd
+    rule INumOSZToOpcode(3167, _) => vfmsub213ps
+    rule INumOSZToOpcode(3168, _) => vfmsub213ps
+    rule INumOSZToOpcode(3169, _) => vfmsub213ps
+    rule INumOSZToOpcode(3170, _) => vfmsub213ps
+    rule INumOSZToOpcode(3171, _) => vfmsub213sd
+    rule INumOSZToOpcode(3172, _) => vfmsub213sd
+    rule INumOSZToOpcode(3173, _) => vfmsub213ss
+    rule INumOSZToOpcode(3174, _) => vfmsub213ss
+    rule INumOSZToOpcode(3175, _) => vfmsub231pd
+    rule INumOSZToOpcode(3176, _) => vfmsub231pd
+    rule INumOSZToOpcode(3177, _) => vfmsub231pd
+    rule INumOSZToOpcode(3178, _) => vfmsub231pd
+    rule INumOSZToOpcode(3179, _) => vfmsub231ps
+    rule INumOSZToOpcode(3180, _) => vfmsub231ps
+    rule INumOSZToOpcode(3181, _) => vfmsub231ps
+    rule INumOSZToOpcode(3182, _) => vfmsub231ps
+    rule INumOSZToOpcode(3183, _) => vfmsub231sd
+    rule INumOSZToOpcode(3184, _) => vfmsub231sd
+    rule INumOSZToOpcode(3185, _) => vfmsub231ss
+    rule INumOSZToOpcode(3186, _) => vfmsub231ss
+    rule INumOSZToOpcode(3187, _) => vfnmadd132pd
+    rule INumOSZToOpcode(3188, _) => vfnmadd132pd
+    rule INumOSZToOpcode(3189, _) => vfnmadd132pd
+    rule INumOSZToOpcode(3190, _) => vfnmadd132pd
+    rule INumOSZToOpcode(3191, _) => vfnmadd132ps
+    rule INumOSZToOpcode(3192, _) => vfnmadd132ps
+    rule INumOSZToOpcode(3193, _) => vfnmadd132ps
+    rule INumOSZToOpcode(3194, _) => vfnmadd132ps
+    rule INumOSZToOpcode(3195, _) => vfnmadd132sd
+    rule INumOSZToOpcode(3196, _) => vfnmadd132sd
+    rule INumOSZToOpcode(3197, _) => vfnmadd132ss
+    rule INumOSZToOpcode(3198, _) => vfnmadd132ss
+    rule INumOSZToOpcode(3199, _) => vfnmadd213pd
+    rule INumOSZToOpcode(3200, _) => vfnmadd213pd
+    rule INumOSZToOpcode(3201, _) => vfnmadd213pd
+    rule INumOSZToOpcode(3202, _) => vfnmadd213pd
+    rule INumOSZToOpcode(3203, _) => vfnmadd213ps
+    rule INumOSZToOpcode(3204, _) => vfnmadd213ps
+    rule INumOSZToOpcode(3205, _) => vfnmadd213ps
+    rule INumOSZToOpcode(3206, _) => vfnmadd213ps
+    rule INumOSZToOpcode(3207, _) => vfnmadd213sd
+    rule INumOSZToOpcode(3208, _) => vfnmadd213sd
+    rule INumOSZToOpcode(3209, _) => vfnmadd213ss
+    rule INumOSZToOpcode(3210, _) => vfnmadd213ss
+    rule INumOSZToOpcode(3211, _) => vfnmadd231pd
+    rule INumOSZToOpcode(3212, _) => vfnmadd231pd
+    rule INumOSZToOpcode(3213, _) => vfnmadd231pd
+    rule INumOSZToOpcode(3214, _) => vfnmadd231pd
+    rule INumOSZToOpcode(3215, _) => vfnmadd231ps
+    rule INumOSZToOpcode(3216, _) => vfnmadd231ps
+    rule INumOSZToOpcode(3217, _) => vfnmadd231ps
+    rule INumOSZToOpcode(3218, _) => vfnmadd231ps
+    rule INumOSZToOpcode(3219, _) => vfnmadd231sd
+    rule INumOSZToOpcode(3220, _) => vfnmadd231sd
+    rule INumOSZToOpcode(3221, _) => vfnmadd231ss
+    rule INumOSZToOpcode(3222, _) => vfnmadd231ss
+    rule INumOSZToOpcode(3223, _) => vfnmsub132pd
+    rule INumOSZToOpcode(3224, _) => vfnmsub132pd
+    rule INumOSZToOpcode(3225, _) => vfnmsub132pd
+    rule INumOSZToOpcode(3226, _) => vfnmsub132pd
+    rule INumOSZToOpcode(3227, _) => vfnmsub132ps
+    rule INumOSZToOpcode(3228, _) => vfnmsub132ps
+    rule INumOSZToOpcode(3229, _) => vfnmsub132ps
+    rule INumOSZToOpcode(3230, _) => vfnmsub132ps
+    rule INumOSZToOpcode(3231, _) => vfnmsub132sd
+    rule INumOSZToOpcode(3232, _) => vfnmsub132sd
+    rule INumOSZToOpcode(3233, _) => vfnmsub132ss
+    rule INumOSZToOpcode(3234, _) => vfnmsub132ss
+    rule INumOSZToOpcode(3235, _) => vfnmsub213pd
+    rule INumOSZToOpcode(3236, _) => vfnmsub213pd
+    rule INumOSZToOpcode(3237, _) => vfnmsub213pd
+    rule INumOSZToOpcode(3238, _) => vfnmsub213pd
+    rule INumOSZToOpcode(3239, _) => vfnmsub213ps
+    rule INumOSZToOpcode(3240, _) => vfnmsub213ps
+    rule INumOSZToOpcode(3241, _) => vfnmsub213ps
+    rule INumOSZToOpcode(3242, _) => vfnmsub213ps
+    rule INumOSZToOpcode(3243, _) => vfnmsub213sd
+    rule INumOSZToOpcode(3244, _) => vfnmsub213sd
+    rule INumOSZToOpcode(3245, _) => vfnmsub213ss
+    rule INumOSZToOpcode(3246, _) => vfnmsub213ss
+    rule INumOSZToOpcode(3247, _) => vfnmsub231pd
+    rule INumOSZToOpcode(3248, _) => vfnmsub231pd
+    rule INumOSZToOpcode(3249, _) => vfnmsub231pd
+    rule INumOSZToOpcode(3250, _) => vfnmsub231pd
+    rule INumOSZToOpcode(3251, _) => vfnmsub231ps
+    rule INumOSZToOpcode(3252, _) => vfnmsub231ps
+    rule INumOSZToOpcode(3253, _) => vfnmsub231ps
+    rule INumOSZToOpcode(3254, _) => vfnmsub231ps
+    rule INumOSZToOpcode(3255, _) => vfnmsub231sd
+    rule INumOSZToOpcode(3256, _) => vfnmsub231sd
+    rule INumOSZToOpcode(3257, _) => vfnmsub231ss
+    rule INumOSZToOpcode(3258, _) => vfnmsub231ss
+    rule INumOSZToOpcode(3275, _) => vpabsb
+    rule INumOSZToOpcode(3276, _) => vpabsb
+    rule INumOSZToOpcode(3277, _) => vpabsw
+    rule INumOSZToOpcode(3278, _) => vpabsw
+    rule INumOSZToOpcode(3279, _) => vpabsd
+    rule INumOSZToOpcode(3280, _) => vpabsd
+    rule INumOSZToOpcode(3281, _) => vpacksswb
+    rule INumOSZToOpcode(3282, _) => vpacksswb
+    rule INumOSZToOpcode(3283, _) => vpackssdw
+    rule INumOSZToOpcode(3284, _) => vpackssdw
+    rule INumOSZToOpcode(3285, _) => vpackuswb
+    rule INumOSZToOpcode(3286, _) => vpackuswb
+    rule INumOSZToOpcode(3287, _) => vpackusdw
+    rule INumOSZToOpcode(3288, _) => vpackusdw
+    rule INumOSZToOpcode(3289, _) => vpsllw
+    rule INumOSZToOpcode(3290, _) => vpsllw
+    rule INumOSZToOpcode(3291, _) => vpslld
+    rule INumOSZToOpcode(3292, _) => vpslld
+    rule INumOSZToOpcode(3293, _) => vpsllq
+    rule INumOSZToOpcode(3294, _) => vpsllq
+    rule INumOSZToOpcode(3295, _) => vpsrlw
+    rule INumOSZToOpcode(3296, _) => vpsrlw
+    rule INumOSZToOpcode(3297, _) => vpsrld
+    rule INumOSZToOpcode(3298, _) => vpsrld
+    rule INumOSZToOpcode(3299, _) => vpsrlq
+    rule INumOSZToOpcode(3300, _) => vpsrlq
+    rule INumOSZToOpcode(3301, _) => vpsraw
+    rule INumOSZToOpcode(3302, _) => vpsraw
+    rule INumOSZToOpcode(3303, _) => vpsrad
+    rule INumOSZToOpcode(3304, _) => vpsrad
+    rule INumOSZToOpcode(3305, _) => vpaddb
+    rule INumOSZToOpcode(3306, _) => vpaddb
+    rule INumOSZToOpcode(3307, _) => vpaddw
+    rule INumOSZToOpcode(3308, _) => vpaddw
+    rule INumOSZToOpcode(3309, _) => vpaddd
+    rule INumOSZToOpcode(3310, _) => vpaddd
+    rule INumOSZToOpcode(3311, _) => vpaddq
+    rule INumOSZToOpcode(3312, _) => vpaddq
+    rule INumOSZToOpcode(3313, _) => vpaddsb
+    rule INumOSZToOpcode(3314, _) => vpaddsb
+    rule INumOSZToOpcode(3315, _) => vpaddsw
+    rule INumOSZToOpcode(3316, _) => vpaddsw
+    rule INumOSZToOpcode(3317, _) => vpaddusb
+    rule INumOSZToOpcode(3318, _) => vpaddusb
+    rule INumOSZToOpcode(3319, _) => vpaddusw
+    rule INumOSZToOpcode(3320, _) => vpaddusw
+    rule INumOSZToOpcode(3321, _) => vpavgb
+    rule INumOSZToOpcode(3322, _) => vpavgb
+    rule INumOSZToOpcode(3323, _) => vpavgw
+    rule INumOSZToOpcode(3324, _) => vpavgw
+    rule INumOSZToOpcode(3325, _) => vpcmpeqb
+    rule INumOSZToOpcode(3326, _) => vpcmpeqb
+    rule INumOSZToOpcode(3327, _) => vpcmpeqw
+    rule INumOSZToOpcode(3328, _) => vpcmpeqw
+    rule INumOSZToOpcode(3329, _) => vpcmpeqd
+    rule INumOSZToOpcode(3330, _) => vpcmpeqd
+    rule INumOSZToOpcode(3331, _) => vpcmpeqq
+    rule INumOSZToOpcode(3332, _) => vpcmpeqq
+    rule INumOSZToOpcode(3333, _) => vpcmpgtb
+    rule INumOSZToOpcode(3334, _) => vpcmpgtb
+    rule INumOSZToOpcode(3335, _) => vpcmpgtw
+    rule INumOSZToOpcode(3336, _) => vpcmpgtw
+    rule INumOSZToOpcode(3337, _) => vpcmpgtd
+    rule INumOSZToOpcode(3338, _) => vpcmpgtd
+    rule INumOSZToOpcode(3339, _) => vpcmpgtq
+    rule INumOSZToOpcode(3340, _) => vpcmpgtq
+    rule INumOSZToOpcode(3341, _) => vphaddw
+    rule INumOSZToOpcode(3342, _) => vphaddw
+    rule INumOSZToOpcode(3343, _) => vphaddd
+    rule INumOSZToOpcode(3344, _) => vphaddd
+    rule INumOSZToOpcode(3345, _) => vphaddsw
+    rule INumOSZToOpcode(3346, _) => vphaddsw
+    rule INumOSZToOpcode(3347, _) => vphsubw
+    rule INumOSZToOpcode(3348, _) => vphsubw
+    rule INumOSZToOpcode(3349, _) => vphsubd
+    rule INumOSZToOpcode(3350, _) => vphsubd
+    rule INumOSZToOpcode(3351, _) => vphsubsw
+    rule INumOSZToOpcode(3352, _) => vphsubsw
+    rule INumOSZToOpcode(3353, _) => vpmaddwd
+    rule INumOSZToOpcode(3354, _) => vpmaddwd
+    rule INumOSZToOpcode(3355, _) => vpmaddubsw
+    rule INumOSZToOpcode(3356, _) => vpmaddubsw
+    rule INumOSZToOpcode(3357, _) => vpmaxsb
+    rule INumOSZToOpcode(3358, _) => vpmaxsb
+    rule INumOSZToOpcode(3359, _) => vpmaxsw
+    rule INumOSZToOpcode(3360, _) => vpmaxsw
+    rule INumOSZToOpcode(3361, _) => vpmaxsd
+    rule INumOSZToOpcode(3362, _) => vpmaxsd
+    rule INumOSZToOpcode(3363, _) => vpmaxub
+    rule INumOSZToOpcode(3364, _) => vpmaxub
+    rule INumOSZToOpcode(3365, _) => vpmaxuw
+    rule INumOSZToOpcode(3366, _) => vpmaxuw
+    rule INumOSZToOpcode(3367, _) => vpmaxud
+    rule INumOSZToOpcode(3368, _) => vpmaxud
+    rule INumOSZToOpcode(3369, _) => vpminsb
+    rule INumOSZToOpcode(3370, _) => vpminsb
+    rule INumOSZToOpcode(3373, _) => vpminsd
+    rule INumOSZToOpcode(3374, _) => vpminsd
+    rule INumOSZToOpcode(3375, _) => vpminub
+    rule INumOSZToOpcode(3376, _) => vpminub
+    rule INumOSZToOpcode(3377, _) => vpminuw
+    rule INumOSZToOpcode(3378, _) => vpminuw
+    rule INumOSZToOpcode(3379, _) => vpminud
+    rule INumOSZToOpcode(3380, _) => vpminud
+    rule INumOSZToOpcode(3381, _) => vpmulhuw
+    rule INumOSZToOpcode(3382, _) => vpmulhuw
+    rule INumOSZToOpcode(3383, _) => vpmulhrsw
+    rule INumOSZToOpcode(3384, _) => vpmulhrsw
+    rule INumOSZToOpcode(3385, _) => vpmulhw
+    rule INumOSZToOpcode(3386, _) => vpmulhw
+    rule INumOSZToOpcode(3387, _) => vpmullw
+    rule INumOSZToOpcode(3388, _) => vpmullw
+    rule INumOSZToOpcode(3389, _) => vpmulld
+    rule INumOSZToOpcode(3390, _) => vpmulld
+    rule INumOSZToOpcode(3391, _) => vpmuludq
+    rule INumOSZToOpcode(3392, _) => vpmuludq
+    rule INumOSZToOpcode(3393, _) => vpmuldq
+    rule INumOSZToOpcode(3394, _) => vpmuldq
+    rule INumOSZToOpcode(3395, _) => vpsadbw
+    rule INumOSZToOpcode(3396, _) => vpsadbw
+    rule INumOSZToOpcode(3397, _) => vpshufb
+    rule INumOSZToOpcode(3398, _) => vpshufb
+    rule INumOSZToOpcode(3405, _) => vpsubsb
+    rule INumOSZToOpcode(3406, _) => vpsubsb
+    rule INumOSZToOpcode(3407, _) => vpsubsw
+    rule INumOSZToOpcode(3408, _) => vpsubsw
+    rule INumOSZToOpcode(3409, _) => vpsubusb
+    rule INumOSZToOpcode(3410, _) => vpsubusb
+    rule INumOSZToOpcode(3411, _) => vpsubusw
+    rule INumOSZToOpcode(3412, _) => vpsubusw
+    rule INumOSZToOpcode(3413, _) => vpsubb
+    rule INumOSZToOpcode(3414, _) => vpsubb
+    rule INumOSZToOpcode(3415, _) => vpsubw
+    rule INumOSZToOpcode(3416, _) => vpsubw
+    rule INumOSZToOpcode(3417, _) => vpsubd
+    rule INumOSZToOpcode(3418, _) => vpsubd
+    rule INumOSZToOpcode(3419, _) => vpsubq
+    rule INumOSZToOpcode(3420, _) => vpsubq
+    rule INumOSZToOpcode(3421, _) => vpunpckhbw
+    rule INumOSZToOpcode(3422, _) => vpunpckhbw
+    rule INumOSZToOpcode(3423, _) => vpunpckhwd
+    rule INumOSZToOpcode(3424, _) => vpunpckhwd
+    rule INumOSZToOpcode(3425, _) => vpunpckhdq
+    rule INumOSZToOpcode(3426, _) => vpunpckhdq
+    rule INumOSZToOpcode(3427, _) => vpunpckhqdq
+    rule INumOSZToOpcode(3428, _) => vpunpckhqdq
+    rule INumOSZToOpcode(3429, _) => vpunpcklbw
+    rule INumOSZToOpcode(3430, _) => vpunpcklbw
+    rule INumOSZToOpcode(3431, _) => vpunpcklwd
+    rule INumOSZToOpcode(3432, _) => vpunpcklwd
+    rule INumOSZToOpcode(3433, _) => vpunpckldq
+    rule INumOSZToOpcode(3434, _) => vpunpckldq
+    rule INumOSZToOpcode(3435, _) => vpunpcklqdq
+    rule INumOSZToOpcode(3436, _) => vpunpcklqdq
+    rule INumOSZToOpcode(3437, _) => vpalignr
+    rule INumOSZToOpcode(3438, _) => vpalignr
+    rule INumOSZToOpcode(3439, _) => vpblendw
+    rule INumOSZToOpcode(3440, _) => vpblendw
+    rule INumOSZToOpcode(3441, _) => vmpsadbw
+    rule INumOSZToOpcode(3442, _) => vmpsadbw
+    rule INumOSZToOpcode(3443, _) => vpor
+    rule INumOSZToOpcode(3444, _) => vpor
+    rule INumOSZToOpcode(3445, _) => vpand
+    rule INumOSZToOpcode(3446, _) => vpand
+    rule INumOSZToOpcode(3447, _) => vpandn
+    rule INumOSZToOpcode(3448, _) => vpandn
+    rule INumOSZToOpcode(3449, _) => vpxor
+    rule INumOSZToOpcode(3450, _) => vpxor
+    rule INumOSZToOpcode(3451, _) => vpblendvb
+    rule INumOSZToOpcode(3452, _) => vpblendvb
+    rule INumOSZToOpcode(3453, _) => vpmovmskb
+    rule INumOSZToOpcode(3454, _) => vpshufd
+    rule INumOSZToOpcode(3455, _) => vpshufd
+    rule INumOSZToOpcode(3456, _) => vpshufhw
+    rule INumOSZToOpcode(3457, _) => vpshufhw
+    rule INumOSZToOpcode(3458, _) => vpshuflw
+    rule INumOSZToOpcode(3459, _) => vpshuflw
+    rule INumOSZToOpcode(3460, _) => vpsrldq
+    rule INumOSZToOpcode(3461, _) => vpslldq
+    rule INumOSZToOpcode(3462, _) => vpsllw
+    rule INumOSZToOpcode(3463, _) => vpslld
+    rule INumOSZToOpcode(3464, _) => vpsllq
+    rule INumOSZToOpcode(3465, _) => vpsraw
+    rule INumOSZToOpcode(3466, _) => vpsrad
+    rule INumOSZToOpcode(3467, _) => vpsrlw
+    rule INumOSZToOpcode(3468, _) => vpsrld
+    rule INumOSZToOpcode(3469, _) => vpsrlq
+    rule INumOSZToOpcode(3470, _) => vpmovsxbw
+    rule INumOSZToOpcode(3471, _) => vpmovsxbw
+    rule INumOSZToOpcode(3472, _) => vpmovsxbd
+    rule INumOSZToOpcode(3473, _) => vpmovsxbd
+    rule INumOSZToOpcode(3474, _) => vpmovsxbq
+    rule INumOSZToOpcode(3475, _) => vpmovsxbq
+    rule INumOSZToOpcode(3476, _) => vpmovsxwd
+    rule INumOSZToOpcode(3477, _) => vpmovsxwd
+    rule INumOSZToOpcode(3478, _) => vpmovsxwq
+    rule INumOSZToOpcode(3479, _) => vpmovsxwq
+    rule INumOSZToOpcode(3480, _) => vpmovsxdq
+    rule INumOSZToOpcode(3481, _) => vpmovsxdq
+    rule INumOSZToOpcode(3482, _) => vpmovzxbw
+    rule INumOSZToOpcode(3483, _) => vpmovzxbw
+    rule INumOSZToOpcode(3484, _) => vpmovzxbd
+    rule INumOSZToOpcode(3485, _) => vpmovzxbd
+    rule INumOSZToOpcode(3486, _) => vpmovzxbq
+    rule INumOSZToOpcode(3487, _) => vpmovzxbq
+    rule INumOSZToOpcode(3488, _) => vpmovzxwd
+    rule INumOSZToOpcode(3489, _) => vpmovzxwd
+    rule INumOSZToOpcode(3490, _) => vpmovzxwq
+    rule INumOSZToOpcode(3491, _) => vpmovzxwq
+    rule INumOSZToOpcode(3492, _) => vpmovzxdq
+    rule INumOSZToOpcode(3493, _) => vpmovzxdq
+    rule INumOSZToOpcode(3494, _) => vinserti128
+    rule INumOSZToOpcode(3495, _) => vinserti128
+    rule INumOSZToOpcode(3496, _) => vextracti128
+    rule INumOSZToOpcode(3497, _) => vextracti128
+    rule INumOSZToOpcode(3498, _) => vpmaskmovd
+    rule INumOSZToOpcode(3499, _) => vpmaskmovd
+    rule INumOSZToOpcode(3500, _) => vpmaskmovq
+    rule INumOSZToOpcode(3501, _) => vpmaskmovq
+    rule INumOSZToOpcode(3502, _) => vpmaskmovd
+    rule INumOSZToOpcode(3503, _) => vpmaskmovd
+    rule INumOSZToOpcode(3504, _) => vpmaskmovq
+    rule INumOSZToOpcode(3505, _) => vpmaskmovq
+    rule INumOSZToOpcode(3506, _) => vperm2i128
+    rule INumOSZToOpcode(3507, _) => vperm2i128
+    rule INumOSZToOpcode(3508, _) => vpermq
+    rule INumOSZToOpcode(3509, _) => vpermq
+    rule INumOSZToOpcode(3510, _) => vpermpd
+    rule INumOSZToOpcode(3511, _) => vpermpd
+    rule INumOSZToOpcode(3512, _) => vpermd
+    rule INumOSZToOpcode(3513, _) => vpermd
+    rule INumOSZToOpcode(3514, _) => vpermps
+    rule INumOSZToOpcode(3515, _) => vpermps
+    rule INumOSZToOpcode(3516, _) => vpblendd
+    rule INumOSZToOpcode(3517, _) => vpblendd
+    rule INumOSZToOpcode(3518, _) => vpblendd
+    rule INumOSZToOpcode(3519, _) => vpblendd
+    rule INumOSZToOpcode(3520, _) => vpbroadcastb
+    rule INumOSZToOpcode(3521, _) => vpbroadcastb
+    rule INumOSZToOpcode(3522, _) => vpbroadcastb
+    rule INumOSZToOpcode(3523, _) => vpbroadcastb
+    rule INumOSZToOpcode(3524, _) => vpbroadcastw
+    rule INumOSZToOpcode(3525, _) => vpbroadcastw
+    rule INumOSZToOpcode(3526, _) => vpbroadcastw
+    rule INumOSZToOpcode(3527, _) => vpbroadcastw
+    rule INumOSZToOpcode(3528, _) => vpbroadcastd
+    rule INumOSZToOpcode(3529, _) => vpbroadcastd
+    rule INumOSZToOpcode(3530, _) => vpbroadcastd
+    rule INumOSZToOpcode(3531, _) => vpbroadcastd
+    rule INumOSZToOpcode(3532, _) => vpbroadcastq
+    rule INumOSZToOpcode(3533, _) => vpbroadcastq
+    rule INumOSZToOpcode(3534, _) => vpbroadcastq
+    rule INumOSZToOpcode(3535, _) => vpbroadcastq
+    rule INumOSZToOpcode(3536, _) => vbroadcastss
+    rule INumOSZToOpcode(3537, _) => vbroadcastss
+    rule INumOSZToOpcode(3538, _) => vbroadcastsd
+    rule INumOSZToOpcode(3539, _) => vbroadcasti128
+    rule INumOSZToOpcode(3540, _) => vpsllvd
+    rule INumOSZToOpcode(3541, _) => vpsllvd
+    rule INumOSZToOpcode(3542, _) => vpsllvd
+    rule INumOSZToOpcode(3543, _) => vpsllvd
+    rule INumOSZToOpcode(3544, _) => vpsllvq
+    rule INumOSZToOpcode(3545, _) => vpsllvq
+    rule INumOSZToOpcode(3546, _) => vpsllvq
+    rule INumOSZToOpcode(3547, _) => vpsllvq
+    rule INumOSZToOpcode(3548, _) => vpsrlvd
+    rule INumOSZToOpcode(3549, _) => vpsrlvd
+    rule INumOSZToOpcode(3550, _) => vpsrlvd
+    rule INumOSZToOpcode(3551, _) => vpsrlvd
+    rule INumOSZToOpcode(3552, _) => vpsrlvq
+    rule INumOSZToOpcode(3553, _) => vpsrlvq
+    rule INumOSZToOpcode(3554, _) => vpsrlvq
+    rule INumOSZToOpcode(3555, _) => vpsrlvq
+    rule INumOSZToOpcode(3556, _) => vpsravd
+    rule INumOSZToOpcode(3557, _) => vpsravd
+    rule INumOSZToOpcode(3558, _) => vpsravd
+    rule INumOSZToOpcode(3559, _) => vpsravd
+    rule INumOSZToOpcode(3560, _) => vmovntdqa
+    rule INumOSZToOpcode(3562, _) => pdepl
+    rule INumOSZToOpcode(3564, _) => pdepl
+    rule INumOSZToOpcode(3565, _) => pdepq
+    rule INumOSZToOpcode(3566, _) => pdepq
+    rule INumOSZToOpcode(3568, _) => pextl
+    rule INumOSZToOpcode(3570, _) => pextl
+    rule INumOSZToOpcode(3571, _) => pextq
+    rule INumOSZToOpcode(3572, _) => pextq
+    rule INumOSZToOpcode(3574, _) => andnl
+    rule INumOSZToOpcode(3576, _) => andnl
+    rule INumOSZToOpcode(3577, _) => andnq
+    rule INumOSZToOpcode(3578, _) => andnq
+    rule INumOSZToOpcode(3580, _) => blsrl
+    rule INumOSZToOpcode(3582, _) => blsrl
+    rule INumOSZToOpcode(3583, _) => blsrq
+    rule INumOSZToOpcode(3584, _) => blsrq
+    rule INumOSZToOpcode(3586, _) => blsmskl
+    rule INumOSZToOpcode(3588, _) => blsmskl
+    rule INumOSZToOpcode(3589, _) => blsmskq
+    rule INumOSZToOpcode(3590, _) => blsmskq
+    rule INumOSZToOpcode(3592, _) => blsil
+    rule INumOSZToOpcode(3594, _) => blsil
+    rule INumOSZToOpcode(3595, _) => blsiq
+    rule INumOSZToOpcode(3596, _) => blsiq
+    rule INumOSZToOpcode(3598, _) => bzhil
+    rule INumOSZToOpcode(3600, _) => bzhil
+    rule INumOSZToOpcode(3601, _) => bzhiq
+    rule INumOSZToOpcode(3602, _) => bzhiq
+    rule INumOSZToOpcode(3604, _) => bextrl
+    rule INumOSZToOpcode(3606, _) => bextrl
+    rule INumOSZToOpcode(3607, _) => bextrq
+    rule INumOSZToOpcode(3608, _) => bextrq
+    rule INumOSZToOpcode(3610, _) => shlxl
+    rule INumOSZToOpcode(3612, _) => shlxl
+    rule INumOSZToOpcode(3613, _) => shlxq
+    rule INumOSZToOpcode(3614, _) => shlxq
+    rule INumOSZToOpcode(3616, _) => sarxl
+    rule INumOSZToOpcode(3618, _) => sarxl
+    rule INumOSZToOpcode(3619, _) => sarxq
+    rule INumOSZToOpcode(3620, _) => sarxq
+    rule INumOSZToOpcode(3622, _) => shrxl
+    rule INumOSZToOpcode(3624, _) => shrxl
+    rule INumOSZToOpcode(3625, _) => shrxq
+    rule INumOSZToOpcode(3626, _) => shrxq
+    rule INumOSZToOpcode(3628, _) => mulxl
+    rule INumOSZToOpcode(3630, _) => mulxl
+    rule INumOSZToOpcode(3631, _) => mulxq
+    rule INumOSZToOpcode(3632, _) => mulxq
+    rule INumOSZToOpcode(3634, _) => rorxl
+    rule INumOSZToOpcode(3636, _) => rorxl
+    rule INumOSZToOpcode(3637, _) => rorxq
+    rule INumOSZToOpcode(3638, _) => rorxq
+    rule INumOSZToOpcode(3639, 0) => tzcntw
+    rule INumOSZToOpcode(3639, 1) => tzcntl
+    rule INumOSZToOpcode(3639, 2) => tzcntq
+    rule INumOSZToOpcode(3640, 0) => tzcntw
+    rule INumOSZToOpcode(3640, 1) => tzcntl
+    rule INumOSZToOpcode(3640, 2) => tzcntq
+    rule INumOSZToOpcode(3641, 0) => bsfw
+    rule INumOSZToOpcode(3641, 1) => bsfl
+    rule INumOSZToOpcode(3641, 2) => bsfq
+    rule INumOSZToOpcode(3642, 0) => bsfw
+    rule INumOSZToOpcode(3642, 1) => bsfl
+    rule INumOSZToOpcode(3642, 2) => bsfq
+    rule INumOSZToOpcode(3649, 0) => lzcntw
+    rule INumOSZToOpcode(3649, 1) => lzcntl
+    rule INumOSZToOpcode(3649, 2) => lzcntq
+    rule INumOSZToOpcode(3651, 0) => bsrw
+    rule INumOSZToOpcode(3651, 1) => bsrl
+    rule INumOSZToOpcode(3651, 2) => bsrq
+    rule INumOSZToOpcode(6813, 0) => pushw
+    rule INumOSZToOpcode(6813, 2) => pushq
+    rule INumOSZToOpcode(6821, 0) => popw
+    rule INumOSZToOpcode(6821, 2) => popq
+    rule INumOSZToOpcode(6826, _) => nop
+endmodule
diff --git a/semantics-glue.k b/semantics-glue.k
index 9aad67280bafef948d985586a5fbfbb3de615286..2311460a12df01f0aec35965f5121d2aeca5ff4b 100644
--- a/semantics-glue.k
+++ b/semantics-glue.k
@@ -10,9 +10,7 @@ module SEMANTICS-GLUE
 
     syntax Register ::= UnsupportedRegister
 
-
     syntax Register ::= DissassemblerRegisterToSemanticsRegister(K, Bool) [function]
-    syntax Opcode ::= DissassemblerToOpcode(Int, String, String) [function]
 
     rule DisassemblerRegisterToSemanticsRegister(REG_INVALID, _) => %invalid
     rule DisassemblerRegisterToSemanticsRegister(REG_BND0, _) => %bnd0
diff --git a/test-decoder.k b/test-decoder.k
index 66557548c67ad309aec8ddee33969c8bbb8d2e6b..900ef06d3f13584e37efa1d48355dcf26f80aac2 100644
--- a/test-decoder.k
+++ b/test-decoder.k
@@ -63,8 +63,10 @@ module TEST-DECODER
   syntax KResult ::= DecoderResult
   syntax K ::= CheckDecodeLen(K, Int) [strict]
 
+  syntax String ::= OpcodeToString(Opcode) [function, hook(STRING.token2string)]
+
   rule Disassemble(Addr:HexToken, Isn:HexToken) => CheckDecodeLen(Decode(HexTokenToInt(Addr), HexTokenToInts(Isn)), CountInInts(HexTokenToInts(Isn)))
  
-  rule <k> CheckDecodeLen(DecodedInstruction(I:Int, S:String, _:Instruction), I) => . ... </k>
-       <output> ... (.List => ListItem(S +String "\n")) </output>
+  rule <k> CheckDecodeLen(DecodedInstruction(I:Int, S:String, O:Opcode _:Operands), I) => . ... </k>
+       <output> ... (.List => ListItem(S +String " " +String OpcodeToString(O) +String "\n")) </output>
 endmodule