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