//===- TableGen'erated file -------------------------------------*- C++ -*-===// // // Assembly Matcher Source Fragment // // Automatically generated file, do not edit! // //===----------------------------------------------------------------------===// #ifdef GET_ASSEMBLER_HEADER #undef GET_ASSEMBLER_HEADER // This should be included into the middle of the declaration of // your subclasses implementation of MCTargetAsmParser. unsigned ComputeAvailableFeatures(uint64_t FeatureBits) const; bool ConvertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode, const SmallVectorImpl<MCParsedAsmOperand*> &Operands); bool MnemonicIsValid(StringRef Mnemonic); unsigned MatchInstructionImpl( const SmallVectorImpl<MCParsedAsmOperand*> &Operands, MCInst &Inst, unsigned &ErrorInfo); #endif // GET_ASSEMBLER_HEADER_INFO #ifdef GET_REGISTER_MATCHER #undef GET_REGISTER_MATCHER // Flags for subtarget features that participate in instruction matching. enum SubtargetFeatureFlag { Feature_In32BitMode = (1 << 0), Feature_In64BitMode = (1 << 1), Feature_IsNaCl = (1 << 2), Feature_IsNaCl32 = (1 << 3), Feature_IsNaCl64 = (1 << 4), Feature_NotNaCl = (1 << 5), Feature_None = 0 }; static unsigned MatchRegisterName(StringRef Name) { switch (Name.size()) { default: break; case 2: // 25 strings to match. switch (Name[0]) { default: break; case 'a': // 3 strings to match. switch (Name[1]) { default: break; case 'h': // 1 string to match. return 1; // "ah" case 'l': // 1 string to match. return 2; // "al" case 'x': // 1 string to match. return 3; // "ax" } break; case 'b': // 4 strings to match. switch (Name[1]) { default: break; case 'h': // 1 string to match. return 4; // "bh" case 'l': // 1 string to match. return 5; // "bl" case 'p': // 1 string to match. return 6; // "bp" case 'x': // 1 string to match. return 8; // "bx" } break; case 'c': // 4 strings to match. switch (Name[1]) { default: break; case 'h': // 1 string to match. return 9; // "ch" case 'l': // 1 string to match. return 10; // "cl" case 's': // 1 string to match. return 27; // "cs" case 'x': // 1 string to match. return 28; // "cx" } break; case 'd': // 5 strings to match. switch (Name[1]) { default: break; case 'h': // 1 string to match. return 29; // "dh" case 'i': // 1 string to match. return 30; // "di" case 'l': // 1 string to match. return 32; // "dl" case 's': // 1 string to match. return 41; // "ds" case 'x': // 1 string to match. return 42; // "dx" } break; case 'e': // 1 string to match. if (Name[1] != 's') break; return 52; // "es" case 'f': // 1 string to match. if (Name[1] != 's') break; return 62; // "fs" case 'g': // 1 string to match. if (Name[1] != 's') break; return 63; // "gs" case 'i': // 1 string to match. if (Name[1] != 'p') break; return 64; // "ip" case 'r': // 2 strings to match. switch (Name[1]) { default: break; case '8': // 1 string to match. return 73; // "r8" case '9': // 1 string to match. return 77; // "r9" } break; case 's': // 3 strings to match. switch (Name[1]) { default: break; case 'i': // 1 string to match. return 115; // "si" case 'p': // 1 string to match. return 117; // "sp" case 's': // 1 string to match. return 119; // "ss" } break; } break; case 3: // 69 strings to match. switch (Name[0]) { default: break; case 'b': // 1 string to match. if (Name.substr(1, 2) != "pl") break; return 7; // "bpl" case 'c': // 10 strings to match. if (Name[1] != 'r') break; switch (Name[2]) { default: break; case '0': // 1 string to match. return 11; // "cr0" case '1': // 1 string to match. return 12; // "cr1" case '2': // 1 string to match. return 13; // "cr2" case '3': // 1 string to match. return 14; // "cr3" case '4': // 1 string to match. return 15; // "cr4" case '5': // 1 string to match. return 16; // "cr5" case '6': // 1 string to match. return 17; // "cr6" case '7': // 1 string to match. return 18; // "cr7" case '8': // 1 string to match. return 19; // "cr8" case '9': // 1 string to match. return 20; // "cr9" } break; case 'd': // 9 strings to match. switch (Name[1]) { default: break; case 'i': // 1 string to match. if (Name[2] != 'l') break; return 31; // "dil" case 'r': // 8 strings to match. switch (Name[2]) { default: break; case '0': // 1 string to match. return 33; // "dr0" case '1': // 1 string to match. return 34; // "dr1" case '2': // 1 string to match. return 35; // "dr2" case '3': // 1 string to match. return 36; // "dr3" case '4': // 1 string to match. return 37; // "dr4" case '5': // 1 string to match. return 38; // "dr5" case '6': // 1 string to match. return 39; // "dr6" case '7': // 1 string to match. return 40; // "dr7" } break; } break; case 'e': // 10 strings to match. switch (Name[1]) { default: break; case 'a': // 1 string to match. if (Name[2] != 'x') break; return 43; // "eax" case 'b': // 2 strings to match. switch (Name[2]) { default: break; case 'p': // 1 string to match. return 44; // "ebp" case 'x': // 1 string to match. return 45; // "ebx" } break; case 'c': // 1 string to match. if (Name[2] != 'x') break; return 46; // "ecx" case 'd': // 2 strings to match. switch (Name[2]) { default: break; case 'i': // 1 string to match. return 47; // "edi" case 'x': // 1 string to match. return 48; // "edx" } break; case 'i': // 2 strings to match. switch (Name[2]) { default: break; case 'p': // 1 string to match. return 50; // "eip" case 'z': // 1 string to match. return 51; // "eiz" } break; case 's': // 2 strings to match. switch (Name[2]) { default: break; case 'i': // 1 string to match. return 53; // "esi" case 'p': // 1 string to match. return 54; // "esp" } break; } break; case 'f': // 7 strings to match. if (Name[1] != 'p') break; switch (Name[2]) { default: break; case '0': // 1 string to match. return 55; // "fp0" case '1': // 1 string to match. return 56; // "fp1" case '2': // 1 string to match. return 57; // "fp2" case '3': // 1 string to match. return 58; // "fp3" case '4': // 1 string to match. return 59; // "fp4" case '5': // 1 string to match. return 60; // "fp5" case '6': // 1 string to match. return 61; // "fp6" } break; case 'm': // 8 strings to match. if (Name[1] != 'm') break; switch (Name[2]) { default: break; case '0': // 1 string to match. return 65; // "mm0" case '1': // 1 string to match. return 66; // "mm1" case '2': // 1 string to match. return 67; // "mm2" case '3': // 1 string to match. return 68; // "mm3" case '4': // 1 string to match. return 69; // "mm4" case '5': // 1 string to match. return 70; // "mm5" case '6': // 1 string to match. return 71; // "mm6" case '7': // 1 string to match. return 72; // "mm7" } break; case 'r': // 22 strings to match. switch (Name[1]) { default: break; case '1': // 6 strings to match. switch (Name[2]) { default: break; case '0': // 1 string to match. return 81; // "r10" case '1': // 1 string to match. return 85; // "r11" case '2': // 1 string to match. return 89; // "r12" case '3': // 1 string to match. return 93; // "r13" case '4': // 1 string to match. return 97; // "r14" case '5': // 1 string to match. return 101; // "r15" } break; case '8': // 3 strings to match. switch (Name[2]) { default: break; case 'b': // 1 string to match. return 74; // "r8b" case 'd': // 1 string to match. return 75; // "r8d" case 'w': // 1 string to match. return 76; // "r8w" } break; case '9': // 3 strings to match. switch (Name[2]) { default: break; case 'b': // 1 string to match. return 78; // "r9b" case 'd': // 1 string to match. return 79; // "r9d" case 'w': // 1 string to match. return 80; // "r9w" } break; case 'a': // 1 string to match. if (Name[2] != 'x') break; return 105; // "rax" case 'b': // 2 strings to match. switch (Name[2]) { default: break; case 'p': // 1 string to match. return 106; // "rbp" case 'x': // 1 string to match. return 107; // "rbx" } break; case 'c': // 1 string to match. if (Name[2] != 'x') break; return 108; // "rcx" case 'd': // 2 strings to match. switch (Name[2]) { default: break; case 'i': // 1 string to match. return 109; // "rdi" case 'x': // 1 string to match. return 110; // "rdx" } break; case 'i': // 2 strings to match. switch (Name[2]) { default: break; case 'p': // 1 string to match. return 111; // "rip" case 'z': // 1 string to match. return 112; // "riz" } break; case 's': // 2 strings to match. switch (Name[2]) { default: break; case 'i': // 1 string to match. return 113; // "rsi" case 'p': // 1 string to match. return 114; // "rsp" } break; } break; case 's': // 2 strings to match. switch (Name[1]) { default: break; case 'i': // 1 string to match. if (Name[2] != 'l') break; return 116; // "sil" case 'p': // 1 string to match. if (Name[2] != 'l') break; return 118; // "spl" } break; } break; case 4: // 44 strings to match. switch (Name[0]) { default: break; case 'c': // 6 strings to match. if (Name.substr(1, 2) != "r1") break; switch (Name[3]) { default: break; case '0': // 1 string to match. return 21; // "cr10" case '1': // 1 string to match. return 22; // "cr11" case '2': // 1 string to match. return 23; // "cr12" case '3': // 1 string to match. return 24; // "cr13" case '4': // 1 string to match. return 25; // "cr14" case '5': // 1 string to match. return 26; // "cr15" } break; case 'r': // 18 strings to match. if (Name[1] != '1') break; switch (Name[2]) { default: break; case '0': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 82; // "r10b" case 'd': // 1 string to match. return 83; // "r10d" case 'w': // 1 string to match. return 84; // "r10w" } break; case '1': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 86; // "r11b" case 'd': // 1 string to match. return 87; // "r11d" case 'w': // 1 string to match. return 88; // "r11w" } break; case '2': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 90; // "r12b" case 'd': // 1 string to match. return 91; // "r12d" case 'w': // 1 string to match. return 92; // "r12w" } break; case '3': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 94; // "r13b" case 'd': // 1 string to match. return 95; // "r13d" case 'w': // 1 string to match. return 96; // "r13w" } break; case '4': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 98; // "r14b" case 'd': // 1 string to match. return 99; // "r14d" case 'w': // 1 string to match. return 100; // "r14w" } break; case '5': // 3 strings to match. switch (Name[3]) { default: break; case 'b': // 1 string to match. return 102; // "r15b" case 'd': // 1 string to match. return 103; // "r15d" case 'w': // 1 string to match. return 104; // "r15w" } break; } break; case 'x': // 10 strings to match. if (Name.substr(1, 2) != "mm") break; switch (Name[3]) { default: break; case '0': // 1 string to match. return 128; // "xmm0" case '1': // 1 string to match. return 129; // "xmm1" case '2': // 1 string to match. return 130; // "xmm2" case '3': // 1 string to match. return 131; // "xmm3" case '4': // 1 string to match. return 132; // "xmm4" case '5': // 1 string to match. return 133; // "xmm5" case '6': // 1 string to match. return 134; // "xmm6" case '7': // 1 string to match. return 135; // "xmm7" case '8': // 1 string to match. return 136; // "xmm8" case '9': // 1 string to match. return 137; // "xmm9" } break; case 'y': // 10 strings to match. if (Name.substr(1, 2) != "mm") break; switch (Name[3]) { default: break; case '0': // 1 string to match. return 144; // "ymm0" case '1': // 1 string to match. return 145; // "ymm1" case '2': // 1 string to match. return 146; // "ymm2" case '3': // 1 string to match. return 147; // "ymm3" case '4': // 1 string to match. return 148; // "ymm4" case '5': // 1 string to match. return 149; // "ymm5" case '6': // 1 string to match. return 150; // "ymm6" case '7': // 1 string to match. return 151; // "ymm7" case '8': // 1 string to match. return 152; // "ymm8" case '9': // 1 string to match. return 153; // "ymm9" } break; } break; case 5: // 21 strings to match. switch (Name[0]) { default: break; case 'f': // 1 string to match. if (Name.substr(1, 4) != "lags") break; return 49; // "flags" case 's': // 8 strings to match. if (Name.substr(1, 2) != "t(") break; switch (Name[3]) { default: break; case '0': // 1 string to match. if (Name[4] != ')') break; return 120; // "st(0)" case '1': // 1 string to match. if (Name[4] != ')') break; return 121; // "st(1)" case '2': // 1 string to match. if (Name[4] != ')') break; return 122; // "st(2)" case '3': // 1 string to match. if (Name[4] != ')') break; return 123; // "st(3)" case '4': // 1 string to match. if (Name[4] != ')') break; return 124; // "st(4)" case '5': // 1 string to match. if (Name[4] != ')') break; return 125; // "st(5)" case '6': // 1 string to match. if (Name[4] != ')') break; return 126; // "st(6)" case '7': // 1 string to match. if (Name[4] != ')') break; return 127; // "st(7)" } break; case 'x': // 6 strings to match. if (Name.substr(1, 3) != "mm1") break; switch (Name[4]) { default: break; case '0': // 1 string to match. return 138; // "xmm10" case '1': // 1 string to match. return 139; // "xmm11" case '2': // 1 string to match. return 140; // "xmm12" case '3': // 1 string to match. return 141; // "xmm13" case '4': // 1 string to match. return 142; // "xmm14" case '5': // 1 string to match. return 143; // "xmm15" } break; case 'y': // 6 strings to match. if (Name.substr(1, 3) != "mm1") break; switch (Name[4]) { default: break; case '0': // 1 string to match. return 154; // "ymm10" case '1': // 1 string to match. return 155; // "ymm11" case '2': // 1 string to match. return 156; // "ymm12" case '3': // 1 string to match. return 157; // "ymm13" case '4': // 1 string to match. return 158; // "ymm14" case '5': // 1 string to match. return 159; // "ymm15" } break; } break; } return 0; } #endif // GET_REGISTER_MATCHER #ifdef GET_MATCHER_IMPLEMENTATION #undef GET_MATCHER_IMPLEMENTATION static void ApplyMnemonicAliases(StringRef &Mnemonic, unsigned Features) { switch (Mnemonic.size()) { default: break; case 2: // 2 strings to match. if (Mnemonic[0] != 'j') break; switch (Mnemonic[1]) { default: break; case 'c': // 1 string to match. Mnemonic = "jb"; // "jc" return; case 'z': // 1 string to match. Mnemonic = "je"; // "jz" return; } break; case 3: // 12 strings to match. switch (Mnemonic[0]) { default: break; case 'c': // 3 strings to match. switch (Mnemonic[1]) { default: break; case 'b': // 1 string to match. if (Mnemonic[2] != 'w') break; Mnemonic = "cbtw"; // "cbw" return; case 'd': // 1 string to match. if (Mnemonic[2] != 'q') break; Mnemonic = "cltd"; // "cdq" return; case 'w': // 1 string to match. if (Mnemonic[2] != 'd') break; Mnemonic = "cwtd"; // "cwd" return; } break; case 'j': // 8 strings to match. switch (Mnemonic[1]) { default: break; case 'n': // 6 strings to match. switch (Mnemonic[2]) { default: break; case 'a': // 1 string to match. Mnemonic = "jbe"; // "jna" return; case 'b': // 1 string to match. Mnemonic = "jae"; // "jnb" return; case 'c': // 1 string to match. Mnemonic = "jae"; // "jnc" return; case 'g': // 1 string to match. Mnemonic = "jle"; // "jng" return; case 'l': // 1 string to match. Mnemonic = "jge"; // "jnl" return; case 'z': // 1 string to match. Mnemonic = "jne"; // "jnz" return; } break; case 'p': // 2 strings to match. switch (Mnemonic[2]) { default: break; case 'e': // 1 string to match. Mnemonic = "jp"; // "jpe" return; case 'o': // 1 string to match. Mnemonic = "jnp"; // "jpo" return; } break; } break; case 'p': // 1 string to match. if (Mnemonic.substr(1, 2) != "op") break; if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "pop" Mnemonic = "popl"; else if ((Features & Feature_In64BitMode) == Feature_In64BitMode) Mnemonic = "popq"; return; } break; case 4: // 22 strings to match. switch (Mnemonic[0]) { default: break; case 'c': // 3 strings to match. switch (Mnemonic[1]) { default: break; case 'a': // 1 string to match. if (Mnemonic.substr(2, 2) != "ll") break; if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "call" Mnemonic = "calll"; else if ((Features & Feature_In64BitMode) == Feature_In64BitMode) Mnemonic = "callq"; return; case 'd': // 1 string to match. if (Mnemonic.substr(2, 2) != "qe") break; Mnemonic = "cltq"; // "cdqe" return; case 'w': // 1 string to match. if (Mnemonic.substr(2, 2) != "de") break; Mnemonic = "cwtl"; // "cwde" return; } break; case 'i': // 1 string to match. if (Mnemonic.substr(1, 3) != "ret") break; Mnemonic = "iretl"; // "iret" return; case 'j': // 4 strings to match. if (Mnemonic[1] != 'n') break; switch (Mnemonic[2]) { default: break; case 'a': // 1 string to match. if (Mnemonic[3] != 'e') break; Mnemonic = "jb"; // "jnae" return; case 'b': // 1 string to match. if (Mnemonic[3] != 'e') break; Mnemonic = "ja"; // "jnbe" return; case 'g': // 1 string to match. if (Mnemonic[3] != 'e') break; Mnemonic = "jl"; // "jnge" return; case 'l': // 1 string to match. if (Mnemonic[3] != 'e') break; Mnemonic = "jg"; // "jnle" return; } break; case 'l': // 1 string to match. if (Mnemonic.substr(1, 3) != "ret") break; Mnemonic = "lretl"; // "lret" return; case 'p': // 2 strings to match. switch (Mnemonic[1]) { default: break; case 'o': // 1 string to match. if (Mnemonic.substr(2, 2) != "pf") break; if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "popf" Mnemonic = "popfl"; else if ((Features & Feature_In64BitMode) == Feature_In64BitMode) Mnemonic = "popfq"; return; case 'u': // 1 string to match. if (Mnemonic.substr(2, 2) != "sh") break; if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "push" Mnemonic = "pushl"; else if ((Features & Feature_In64BitMode) == Feature_In64BitMode) Mnemonic = "pushq"; return; } break; case 'r': // 4 strings to match. if (Mnemonic[1] != 'e') break; switch (Mnemonic[2]) { default: break; case 'p': // 2 strings to match. switch (Mnemonic[3]) { default: break; case 'e': // 1 string to match. Mnemonic = "rep"; // "repe" return; case 'z': // 1 string to match. Mnemonic = "rep"; // "repz" return; } break; case 't': // 2 strings to match. switch (Mnemonic[3]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "retl" Mnemonic = "ret"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "retq" Mnemonic = "ret"; return; } break; } break; case 's': // 6 strings to match. switch (Mnemonic[1]) { default: break; case 'a': // 4 strings to match. if (Mnemonic[2] != 'l') break; switch (Mnemonic[3]) { default: break; case 'b': // 1 string to match. Mnemonic = "shlb"; // "salb" return; case 'l': // 1 string to match. Mnemonic = "shll"; // "sall" return; case 'q': // 1 string to match. Mnemonic = "shlq"; // "salq" return; case 'w': // 1 string to match. Mnemonic = "shlw"; // "salw" return; } break; case 'e': // 2 strings to match. if (Mnemonic[2] != 't') break; switch (Mnemonic[3]) { default: break; case 'c': // 1 string to match. Mnemonic = "setb"; // "setc" return; case 'z': // 1 string to match. Mnemonic = "sete"; // "setz" return; } break; } break; case 'u': // 1 string to match. if (Mnemonic.substr(1, 3) != "d2a") break; Mnemonic = "ud2"; // "ud2a" return; } break; case 5: // 27 strings to match. switch (Mnemonic[0]) { default: break; case 'f': // 2 strings to match. switch (Mnemonic[1]) { default: break; case 'i': // 1 string to match. if (Mnemonic.substr(2, 3) != "ldq") break; Mnemonic = "fildll"; // "fildq" return; case 'w': // 1 string to match. if (Mnemonic.substr(2, 3) != "ait") break; Mnemonic = "wait"; // "fwait" return; } break; case 'l': // 5 strings to match. switch (Mnemonic[1]) { default: break; case 'g': // 2 strings to match. if (Mnemonic.substr(2, 2) != "dt") break; switch (Mnemonic[4]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "lgdtl" Mnemonic = "lgdt"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "lgdtq" Mnemonic = "lgdt"; return; } break; case 'i': // 2 strings to match. if (Mnemonic.substr(2, 2) != "dt") break; switch (Mnemonic[4]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "lidtl" Mnemonic = "lidt"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "lidtq" Mnemonic = "lidt"; return; } break; case 'o': // 1 string to match. if (Mnemonic.substr(2, 3) != "opz") break; Mnemonic = "loope"; // "loopz" return; } break; case 'p': // 2 strings to match. switch (Mnemonic[1]) { default: break; case 'o': // 1 string to match. if (Mnemonic.substr(2, 3) != "pfd") break; Mnemonic = "popfl"; // "popfd" return; case 'u': // 1 string to match. if (Mnemonic.substr(2, 3) != "shf") break; if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "pushf" Mnemonic = "pushfl"; else if ((Features & Feature_In64BitMode) == Feature_In64BitMode) Mnemonic = "pushfq"; return; } break; case 'r': // 1 string to match. if (Mnemonic.substr(1, 4) != "epnz") break; Mnemonic = "repne"; // "repnz" return; case 's': // 16 strings to match. switch (Mnemonic[1]) { default: break; case 'e': // 8 strings to match. if (Mnemonic[2] != 't') break; switch (Mnemonic[3]) { default: break; case 'n': // 6 strings to match. switch (Mnemonic[4]) { default: break; case 'a': // 1 string to match. Mnemonic = "setbe"; // "setna" return; case 'b': // 1 string to match. Mnemonic = "setae"; // "setnb" return; case 'c': // 1 string to match. Mnemonic = "setae"; // "setnc" return; case 'g': // 1 string to match. Mnemonic = "setle"; // "setng" return; case 'l': // 1 string to match. Mnemonic = "setge"; // "setnl" return; case 'z': // 1 string to match. Mnemonic = "setne"; // "setnz" return; } break; case 'p': // 2 strings to match. switch (Mnemonic[4]) { default: break; case 'e': // 1 string to match. Mnemonic = "setp"; // "setpe" return; case 'o': // 1 string to match. Mnemonic = "setnp"; // "setpo" return; } break; } break; case 'g': // 2 strings to match. if (Mnemonic.substr(2, 2) != "dt") break; switch (Mnemonic[4]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "sgdtl" Mnemonic = "sgdt"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "sgdtq" Mnemonic = "sgdt"; return; } break; case 'i': // 2 strings to match. if (Mnemonic.substr(2, 2) != "dt") break; switch (Mnemonic[4]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "sidtl" Mnemonic = "sidt"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "sidtq" Mnemonic = "sidt"; return; } break; case 'm': // 4 strings to match. if (Mnemonic.substr(2, 2) != "ov") break; switch (Mnemonic[4]) { default: break; case 'b': // 1 string to match. Mnemonic = "movsb"; // "smovb" return; case 'l': // 1 string to match. Mnemonic = "movsl"; // "smovl" return; case 'q': // 1 string to match. Mnemonic = "movsq"; // "smovq" return; case 'w': // 1 string to match. Mnemonic = "movsw"; // "smovw" return; } break; } break; case 'v': // 1 string to match. if (Mnemonic.substr(1, 4) != "errw") break; Mnemonic = "verr"; // "verrw" return; } break; case 6: // 19 strings to match. switch (Mnemonic[0]) { default: break; case 'c': // 6 strings to match. if (Mnemonic.substr(1, 3) != "mov") break; switch (Mnemonic[4]) { default: break; case 'c': // 3 strings to match. switch (Mnemonic[5]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovbl"; // "cmovcl" return; case 'q': // 1 string to match. Mnemonic = "cmovbq"; // "cmovcq" return; case 'w': // 1 string to match. Mnemonic = "cmovbw"; // "cmovcw" return; } break; case 'z': // 3 strings to match. switch (Mnemonic[5]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovel"; // "cmovzl" return; case 'q': // 1 string to match. Mnemonic = "cmoveq"; // "cmovzq" return; case 'w': // 1 string to match. Mnemonic = "cmovew"; // "cmovzw" return; } break; } break; case 'f': // 4 strings to match. switch (Mnemonic[1]) { default: break; case 'c': // 3 strings to match. switch (Mnemonic[2]) { default: break; case 'm': // 2 strings to match. if (Mnemonic.substr(3, 2) != "ov") break; switch (Mnemonic[5]) { default: break; case 'a': // 1 string to match. Mnemonic = "fcmovnbe"; // "fcmova" return; case 'z': // 1 string to match. Mnemonic = "fcmove"; // "fcmovz" return; } break; case 'o': // 1 string to match. if (Mnemonic.substr(3, 3) != "mip") break; Mnemonic = "fcompi"; // "fcomip" return; } break; case 'l': // 1 string to match. if (Mnemonic.substr(2, 4) != "dcww") break; Mnemonic = "fldcw"; // "fldcww" return; } break; case 'l': // 3 strings to match. switch (Mnemonic[1]) { default: break; case 'e': // 2 strings to match. if (Mnemonic.substr(2, 3) != "ave") break; switch (Mnemonic[5]) { default: break; case 'l': // 1 string to match. if ((Features & Feature_In32BitMode) == Feature_In32BitMode) // "leavel" Mnemonic = "leave"; return; case 'q': // 1 string to match. if ((Features & Feature_In64BitMode) == Feature_In64BitMode) // "leaveq" Mnemonic = "leave"; return; } break; case 'o': // 1 string to match. if (Mnemonic.substr(2, 4) != "opnz") break; Mnemonic = "loopne"; // "loopnz" return; } break; case 'p': // 1 string to match. if (Mnemonic.substr(1, 5) != "ushfd") break; Mnemonic = "pushfl"; // "pushfd" return; case 's': // 5 strings to match. switch (Mnemonic[1]) { default: break; case 'e': // 4 strings to match. if (Mnemonic.substr(2, 2) != "tn") break; switch (Mnemonic[4]) { default: break; case 'a': // 1 string to match. if (Mnemonic[5] != 'e') break; Mnemonic = "setb"; // "setnae" return; case 'b': // 1 string to match. if (Mnemonic[5] != 'e') break; Mnemonic = "seta"; // "setnbe" return; case 'g': // 1 string to match. if (Mnemonic[5] != 'e') break; Mnemonic = "setl"; // "setnge" return; case 'l': // 1 string to match. if (Mnemonic[5] != 'e') break; Mnemonic = "setg"; // "setnle" return; } break; case 'y': // 1 string to match. if (Mnemonic.substr(2, 4) != "sret") break; Mnemonic = "sysretl"; // "sysret" return; } break; } break; case 7: // 29 strings to match. switch (Mnemonic[0]) { default: break; case 'c': // 24 strings to match. if (Mnemonic.substr(1, 3) != "mov") break; switch (Mnemonic[4]) { default: break; case 'n': // 18 strings to match. switch (Mnemonic[5]) { default: break; case 'a': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovbel"; // "cmovnal" return; case 'q': // 1 string to match. Mnemonic = "cmovbeq"; // "cmovnaq" return; case 'w': // 1 string to match. Mnemonic = "cmovbew"; // "cmovnaw" return; } break; case 'b': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovael"; // "cmovnbl" return; case 'q': // 1 string to match. Mnemonic = "cmovaeq"; // "cmovnbq" return; case 'w': // 1 string to match. Mnemonic = "cmovaew"; // "cmovnbw" return; } break; case 'c': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovael"; // "cmovncl" return; case 'q': // 1 string to match. Mnemonic = "cmovaeq"; // "cmovncq" return; case 'w': // 1 string to match. Mnemonic = "cmovaew"; // "cmovncw" return; } break; case 'g': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovlel"; // "cmovngl" return; case 'q': // 1 string to match. Mnemonic = "cmovleq"; // "cmovngq" return; case 'w': // 1 string to match. Mnemonic = "cmovlew"; // "cmovngw" return; } break; case 'l': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovgel"; // "cmovnll" return; case 'q': // 1 string to match. Mnemonic = "cmovgeq"; // "cmovnlq" return; case 'w': // 1 string to match. Mnemonic = "cmovgew"; // "cmovnlw" return; } break; case 'z': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovnel"; // "cmovnzl" return; case 'q': // 1 string to match. Mnemonic = "cmovneq"; // "cmovnzq" return; case 'w': // 1 string to match. Mnemonic = "cmovnew"; // "cmovnzw" return; } break; } break; case 'p': // 6 strings to match. switch (Mnemonic[5]) { default: break; case 'e': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovpl"; // "cmovpel" return; case 'q': // 1 string to match. Mnemonic = "cmovpq"; // "cmovpeq" return; case 'w': // 1 string to match. Mnemonic = "cmovpw"; // "cmovpew" return; } break; case 'o': // 3 strings to match. switch (Mnemonic[6]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovnpl"; // "cmovpol" return; case 'q': // 1 string to match. Mnemonic = "cmovnpq"; // "cmovpoq" return; case 'w': // 1 string to match. Mnemonic = "cmovnpw"; // "cmovpow" return; } break; } break; } break; case 'f': // 5 strings to match. switch (Mnemonic[1]) { default: break; case 'c': // 2 strings to match. if (Mnemonic.substr(2, 3) != "mov") break; switch (Mnemonic[5]) { default: break; case 'a': // 1 string to match. if (Mnemonic[6] != 'e') break; Mnemonic = "fcmovnb"; // "fcmovae" return; case 'n': // 1 string to match. if (Mnemonic[6] != 'a') break; Mnemonic = "fcmovbe"; // "fcmovna" return; } break; case 'n': // 2 strings to match. if (Mnemonic.substr(2, 2) != "st") break; switch (Mnemonic[4]) { default: break; case 'c': // 1 string to match. if (Mnemonic.substr(5, 2) != "ww") break; Mnemonic = "fnstcw"; // "fnstcww" return; case 's': // 1 string to match. if (Mnemonic.substr(5, 2) != "ww") break; Mnemonic = "fnstsw"; // "fnstsww" return; } break; case 'u': // 1 string to match. if (Mnemonic.substr(2, 5) != "comip") break; Mnemonic = "fucompi"; // "fucomip" return; } break; } break; case 8: // 13 strings to match. switch (Mnemonic[0]) { default: break; case 'c': // 12 strings to match. if (Mnemonic.substr(1, 4) != "movn") break; switch (Mnemonic[5]) { default: break; case 'a': // 3 strings to match. if (Mnemonic[6] != 'e') break; switch (Mnemonic[7]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovbl"; // "cmovnael" return; case 'q': // 1 string to match. Mnemonic = "cmovbq"; // "cmovnaeq" return; case 'w': // 1 string to match. Mnemonic = "cmovbw"; // "cmovnaew" return; } break; case 'b': // 3 strings to match. if (Mnemonic[6] != 'e') break; switch (Mnemonic[7]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmoval"; // "cmovnbel" return; case 'q': // 1 string to match. Mnemonic = "cmovaq"; // "cmovnbeq" return; case 'w': // 1 string to match. Mnemonic = "cmovaw"; // "cmovnbew" return; } break; case 'g': // 3 strings to match. if (Mnemonic[6] != 'e') break; switch (Mnemonic[7]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovll"; // "cmovngel" return; case 'q': // 1 string to match. Mnemonic = "cmovlq"; // "cmovngeq" return; case 'w': // 1 string to match. Mnemonic = "cmovlw"; // "cmovngew" return; } break; case 'l': // 3 strings to match. if (Mnemonic[6] != 'e') break; switch (Mnemonic[7]) { default: break; case 'l': // 1 string to match. Mnemonic = "cmovgl"; // "cmovnlel" return; case 'q': // 1 string to match. Mnemonic = "cmovgq"; // "cmovnleq" return; case 'w': // 1 string to match. Mnemonic = "cmovgw"; // "cmovnlew" return; } break; } break; case 'f': // 1 string to match. if (Mnemonic.substr(1, 7) != "cmovnae") break; Mnemonic = "fcmovb"; // "fcmovnae" return; } break; } } // Unified function for converting operands to MCInst instances. enum ConversionKind { Convert, Convert__imm10, Convert__Imm1_0, Convert__Reg1_1__Tie0__Reg1_0, Convert__Mem5_1__Reg1_0, Convert__Reg1_1__Tie0__Imm1_0, Convert__Mem5_1__Imm1_0, Convert__Reg1_1__Tie0__Mem5_0, Convert__Reg1_1__Tie0__ImmSExti32i81_0, Convert__Mem5_1__ImmSExti32i81_0, Convert__Reg1_1__Tie0__ImmSExti64i81_0, Convert__Mem5_1__ImmSExti64i81_0, Convert__ImmSExti64i321_0, Convert__Reg1_1__Tie0__ImmSExti64i321_0, Convert__Mem5_1__ImmSExti64i321_0, Convert__Reg1_1__Tie0__ImmSExti16i81_0, Convert__Mem5_1__ImmSExti16i81_0, Convert__Reg1_1__Reg1_0, Convert__Reg1_1__Mem5_0, Convert__Reg1_2__Reg1_1__Imm1_0, Convert__Reg1_2__Mem5_1__Imm1_0, Convert__Reg1_2__Reg1_1__Reg1_0, Convert__Reg1_2__Reg1_1__Mem5_0, Convert__Reg1_0__Reg1_1, Convert__Reg1_0__Mem5_1, Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, Convert__Reg1_0__Tie0, Convert__Reg1_1__ImmSExti32i81_0, Convert__Reg1_1__ImmSExti64i81_0, Convert__Reg1_1__ImmSExti16i81_0, Convert__Imm1_1__Imm1_0, Convert__AbsMem1_0, Convert__Reg1_1, Convert__Mem5_1, Convert__Mem5_0, Convert__Reg1_0__Tie0__Reg1_0, Convert__Reg1_3__Tie0__Reg1_2__Imm1_0, Convert__Reg1_3__Tie0__Mem5_2__Imm1_0, Convert__Reg1_1__Imm1_0, Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, Convert__Reg1_1__ImmSExti64i321_0, Convert__Reg1_0, Convert__Imm1_0__Imm1_1, Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, Convert__regST0, Convert__regST1, Convert__Reg1_1__Reg1_1__ImmSExti32i81_0, Convert__Reg1_1__Reg1_1__Imm1_0, Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, Convert__Reg1_1__Reg1_1__ImmSExti64i81_0, Convert__Reg1_1__Reg1_1__ImmSExti64i321_0, Convert__Reg1_2__Reg1_1__ImmSExti64i81_0, Convert__Reg1_2__Mem5_1__ImmSExti64i81_0, Convert__Reg1_2__Reg1_1__ImmSExti64i321_0, Convert__Reg1_2__Mem5_1__ImmSExti64i321_0, Convert__Reg1_1__Reg1_1__ImmSExti16i81_0, Convert__Reg1_2__Reg1_1__ImmSExti16i81_0, Convert__Reg1_2__Mem5_1__ImmSExti16i81_0, Convert__AbsMem1_1, Convert__Imm1_1, Convert__Reg1_1__Tie0__Reg1_0__imm17, Convert__Reg1_1__Tie0__Mem5_0__imm17, Convert__Reg1_1__Tie0__Reg1_0__imm1, Convert__Reg1_1__Tie0__Mem5_0__imm1, Convert__Reg1_1__Tie0__Reg1_0__imm16, Convert__Reg1_1__Tie0__Mem5_0__imm16, Convert__Reg1_1__Tie0__Reg1_0__imm0, Convert__Reg1_1__Tie0__Mem5_0__imm0, Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, Convert__ImmSExti32i81_0, Convert__ImmSExti64i81_0, Convert__Reg1_1__Tie0, Convert__Reg1_0__Tie0__Reg1_1__imm1, Convert__Mem5_0__Reg1_1__imm1, Convert__Reg1_2__Tie0__Reg1_1, Convert__Mem5_2__Reg1_1, Convert__Mem5_2__Reg1_1__Imm1_0, Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, Convert__Mem5_2__Reg1_1__Reg1_0, Convert__Reg1_2__Reg1_1__Reg1_0__imm17, Convert__Reg1_2__Reg1_1__Mem5_0__imm17, Convert__Reg1_2__Reg1_1__Reg1_0__imm1, Convert__Reg1_2__Reg1_1__Mem5_0__imm1, Convert__Reg1_2__Reg1_1__Reg1_0__imm16, Convert__Reg1_2__Reg1_1__Mem5_0__imm16, Convert__Reg1_2__Reg1_1__Reg1_0__imm0, Convert__Reg1_2__Reg1_1__Mem5_0__imm0, Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, Convert__Reg1_0__Tie0__Reg1_1, Convert__Reg1_0__Tie0__Mem5_1, NumConversionVariants }; bool X86ATTAsmParser:: ConvertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode, const SmallVectorImpl<MCParsedAsmOperand*> &Operands) { Inst.setOpcode(Opcode); switch (Kind) { default: case Convert: return true; case Convert__imm10: Inst.addOperand(MCOperand::CreateImm(10)); return true; case Convert__Imm1_0: ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__Reg1_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Mem5_1__Reg1_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__Imm1_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_1__Imm1_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__Mem5_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); return true; case Convert__Reg1_1__Tie0__ImmSExti32i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_1__ImmSExti32i81_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__ImmSExti64i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_1__ImmSExti64i81_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__ImmSExti64i321_0: ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__ImmSExti64i321_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_1__ImmSExti64i321_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__ImmSExti16i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_1__ImmSExti16i81_0: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Reg1_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_1__Mem5_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); return true; case Convert__Reg1_2__Reg1_1__Imm1_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Mem5_1__Imm1_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__Reg1_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__Mem5_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); return true; case Convert__Reg1_0__Reg1_1: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); return true; case Convert__Reg1_0__Mem5_1: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); return true; case Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_0__Tie0: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); return true; case Convert__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__ImmSExti64i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__ImmSExti16i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Imm1_1__Imm1_0: ((X86Operand*)Operands[2])->addImmOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__AbsMem1_0: ((X86Operand*)Operands[1])->addAbsMemOperands(Inst, 1); return true; case Convert__Reg1_1: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); return true; case Convert__Mem5_1: ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); return true; case Convert__Mem5_0: ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); return true; case Convert__Reg1_0__Tie0__Reg1_0: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_3__Tie0__Reg1_2__Imm1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Tie0__Mem5_2__Imm1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Imm1_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Tie0__Reg1_1__Imm1_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Tie0__Mem5_1__Imm1_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__ImmSExti64i321_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_0: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Imm1_0__Imm1_1: ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); ((X86Operand*)Operands[2])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_2__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__regST0: Inst.addOperand(MCOperand::CreateReg(X86::ST0)); return true; case Convert__regST1: Inst.addOperand(MCOperand::CreateReg(X86::ST1)); return true; case Convert__Reg1_1__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Reg1_1__Imm1_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Mem5_1__ImmSExti32i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Reg1_1__ImmSExti64i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Reg1_1__ImmSExti64i321_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__ImmSExti64i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Mem5_1__ImmSExti64i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__ImmSExti64i321_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Mem5_1__ImmSExti64i321_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Reg1_1__ImmSExti16i81_0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__ImmSExti16i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Mem5_1__ImmSExti16i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__AbsMem1_1: ((X86Operand*)Operands[2])->addAbsMemOperands(Inst, 1); return true; case Convert__Imm1_1: ((X86Operand*)Operands[2])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0__Reg1_0__imm17: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(17)); return true; case Convert__Reg1_1__Tie0__Mem5_0__imm17: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(17)); return true; case Convert__Reg1_1__Tie0__Reg1_0__imm1: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Reg1_1__Tie0__Mem5_0__imm1: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Reg1_1__Tie0__Reg1_0__imm16: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(16)); return true; case Convert__Reg1_1__Tie0__Mem5_0__imm16: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(16)); return true; case Convert__Reg1_1__Tie0__Reg1_0__imm0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(0)); return true; case Convert__Reg1_1__Tie0__Mem5_0__imm0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(0)); return true; case Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__ImmSExti32i81_0: ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__ImmSExti64i81_0: ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_1__Tie0: ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); return true; case Convert__Reg1_0__Tie0__Reg1_1__imm1: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Mem5_0__Reg1_1__imm1: ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Reg1_2__Tie0__Reg1_1: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); return true; case Convert__Mem5_2__Reg1_1: ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); return true; case Convert__Mem5_2__Reg1_1__Imm1_0: ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0: ((X86Operand*)Operands[5])->addRegOperands(Inst, 1); ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0: ((X86Operand*)Operands[5])->addRegOperands(Inst, 1); ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Mem5_2__Reg1_1__Reg1_0: ((X86Operand*)Operands[3])->addMemOperands(Inst, 5); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); return true; case Convert__Reg1_2__Reg1_1__Reg1_0__imm17: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(17)); return true; case Convert__Reg1_2__Reg1_1__Mem5_0__imm17: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(17)); return true; case Convert__Reg1_2__Reg1_1__Reg1_0__imm1: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Reg1_2__Reg1_1__Mem5_0__imm1: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(1)); return true; case Convert__Reg1_2__Reg1_1__Reg1_0__imm16: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(16)); return true; case Convert__Reg1_2__Reg1_1__Mem5_0__imm16: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(16)); return true; case Convert__Reg1_2__Reg1_1__Reg1_0__imm0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(MCOperand::CreateImm(0)); return true; case Convert__Reg1_2__Reg1_1__Mem5_0__imm0: ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addMemOperands(Inst, 5); Inst.addOperand(MCOperand::CreateImm(0)); return true; case Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0: ((X86Operand*)Operands[4])->addRegOperands(Inst, 1); ((X86Operand*)Operands[3])->addRegOperands(Inst, 1); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); ((X86Operand*)Operands[1])->addImmOperands(Inst, 1); return true; case Convert__Reg1_0__Tie0__Reg1_1: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addRegOperands(Inst, 1); return true; case Convert__Reg1_0__Tie0__Mem5_1: ((X86Operand*)Operands[1])->addRegOperands(Inst, 1); Inst.addOperand(Inst.getOperand(0)); ((X86Operand*)Operands[2])->addMemOperands(Inst, 5); return true; } return false; } namespace { /// MatchClassKind - The kinds of classes which participate in /// instruction matching. enum MatchClassKind { InvalidMatchClass = 0, MCK__STAR_, // '*' MCK_pd, // 'pd' MCK_ps, // 'ps' MCK_sd, // 'sd' MCK_ss, // 'ss' MCK_AL, // register class 'AL' MCK_CL, // register class 'CL' MCK_GR8_ABCD_L, // register class 'GR8_ABCD_L' MCK_GR8_ABCD_H, // register class 'GR8_ABCD_H' MCK_GR8_NOREX, // register class 'GR8_NOREX' MCK_GR8, // register class 'GR8' MCK_AX, // register class 'AX' MCK_DX, // register class 'DX' MCK_GR16_ABCD, // register class 'GR16_ABCD' MCK_GR16_NOREX, // register class 'GR16_NOREX' MCK_GR16, // register class 'GR16' MCK_EAX, // register class 'EAX' MCK_EDX, // register class 'EDX' MCK_Reg20, // derived register class MCK_Reg21, // derived register class MCK_Reg22, // derived register class MCK_Reg24, // derived register class MCK_GR32_AD, // register class 'GR32_AD' MCK_ECX, // register class 'ECX' MCK_GR32_TC, // register class 'GR32_TC' MCK_GR32_ABCD, // register class 'GR32_ABCD' MCK_GR32_NOAX, // register class 'GR32_NOAX' MCK_GR32_NOREX_NOSP, // register class 'GR32_NOREX_NOSP' MCK_GR32_NOREX, // register class 'GR32_NOREX' MCK_GR32_NOSP, // register class 'GR32_NOSP' MCK_GR32, // register class 'GR32' MCK_RAX, // register class 'RAX' MCK_RDX, // register class 'RDX' MCK_RCX, // register class 'RCX' MCK_Reg27, // derived register class MCK_Reg35, // derived register class MCK_GR64_ABCD, // register class 'GR64_ABCD' MCK_GR64_NOREX_NOSP, // register class 'GR64_NOREX_NOSP' MCK_Reg30, // derived register class MCK_Reg31, // derived register class MCK_GR64_NOREX, // register class 'GR64_NOREX' MCK_GR64_TCW64, // register class 'GR64_TCW64' MCK_Reg36, // derived register class MCK_Reg38, // derived register class MCK_GR64_NOSP, // register class 'GR64_NOSP' MCK_GR64_TC, // register class 'GR64_TC' MCK_GR64, // register class 'GR64' MCK_VR64, // register class 'VR64' MCK_RFP32, // register class 'RFP32,RFP64,RFP80' MCK_FR32, // register class 'FR32,FR64,VR128' MCK_VR256, // register class 'VR256' MCK_ST0, // register class 'ST0' MCK_RST, // register class 'RST' MCK_CCR, // register class 'CCR' MCK_CS, // register class 'CS' MCK_DS, // register class 'DS' MCK_SS, // register class 'SS' MCK_ES, // register class 'ES' MCK_FS, // register class 'FS' MCK_GS, // register class 'GS' MCK_SEGMENT_REG, // register class 'SEGMENT_REG' MCK_DEBUG_REG, // register class 'DEBUG_REG' MCK_CONTROL_REG, // register class 'CONTROL_REG' MCK_ImmSExti64i8, // user defined class 'ImmSExti64i8AsmOperand' MCK_ImmSExti16i8, // user defined class 'ImmSExti16i8AsmOperand' MCK_ImmSExti32i8, // user defined class 'ImmSExti32i8AsmOperand' MCK_ImmSExti64i32, // user defined class 'ImmSExti64i32AsmOperand' MCK_ImmZExtu32u8, // user defined class 'ImmZExtu32u8AsmOperand' MCK_Imm, // user defined class 'ImmAsmOperand' MCK_AbsMem, // user defined class 'X86AbsMemAsmOperand' MCK_Mem, // user defined class 'X86MemAsmOperand' NumMatchClassKinds }; } static MatchClassKind MatchTokenString(StringRef Name) { switch (Name.size()) { default: break; case 1: // 1 string to match. if (Name[0] != '*') break; return MCK__STAR_; // "*" case 2: // 4 strings to match. switch (Name[0]) { default: break; case 'p': // 2 strings to match. switch (Name[1]) { default: break; case 'd': // 1 string to match. return MCK_pd; // "pd" case 's': // 1 string to match. return MCK_ps; // "ps" } break; case 's': // 2 strings to match. switch (Name[1]) { default: break; case 'd': // 1 string to match. return MCK_sd; // "sd" case 's': // 1 string to match. return MCK_ss; // "ss" } break; } break; } return InvalidMatchClass; } /// IsSubclass - Compute whether \arg A is a subclass of \arg B. static bool IsSubclass(MatchClassKind A, MatchClassKind B) { if (A == B) return true; switch (A) { default: return false; case MCK_AL: switch (B) { default: return false; case MCK_GR8_ABCD_L: return true; case MCK_GR8_NOREX: return true; case MCK_GR8: return true; } case MCK_CL: switch (B) { default: return false; case MCK_GR8_ABCD_L: return true; case MCK_GR8_NOREX: return true; case MCK_GR8: return true; } case MCK_GR8_ABCD_L: switch (B) { default: return false; case MCK_GR8_NOREX: return true; case MCK_GR8: return true; } case MCK_GR8_ABCD_H: switch (B) { default: return false; case MCK_GR8_NOREX: return true; case MCK_GR8: return true; } case MCK_GR8_NOREX: return B == MCK_GR8; case MCK_AX: switch (B) { default: return false; case MCK_GR16_ABCD: return true; case MCK_GR16_NOREX: return true; case MCK_GR16: return true; } case MCK_DX: switch (B) { default: return false; case MCK_GR16_ABCD: return true; case MCK_GR16_NOREX: return true; case MCK_GR16: return true; } case MCK_GR16_ABCD: switch (B) { default: return false; case MCK_GR16_NOREX: return true; case MCK_GR16: return true; } case MCK_GR16_NOREX: return B == MCK_GR16; case MCK_EAX: switch (B) { default: return false; case MCK_GR32_AD: return true; case MCK_GR32_TC: return true; case MCK_GR32_ABCD: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_EDX: switch (B) { default: return false; case MCK_Reg20: return true; case MCK_Reg21: return true; case MCK_Reg22: return true; case MCK_Reg24: return true; case MCK_GR32_AD: return true; case MCK_GR32_TC: return true; case MCK_GR32_ABCD: return true; case MCK_GR32_NOAX: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_Reg20: switch (B) { default: return false; case MCK_Reg21: return true; case MCK_Reg22: return true; case MCK_Reg24: return true; case MCK_GR32_ABCD: return true; case MCK_GR32_NOAX: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_Reg21: switch (B) { default: return false; case MCK_Reg22: return true; case MCK_Reg24: return true; case MCK_GR32_NOAX: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_Reg22: switch (B) { default: return false; case MCK_GR32_NOAX: return true; case MCK_GR32_NOREX: return true; case MCK_GR32: return true; } case MCK_Reg24: switch (B) { default: return false; case MCK_GR32_NOAX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_GR32_AD: switch (B) { default: return false; case MCK_GR32_TC: return true; case MCK_GR32_ABCD: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_ECX: switch (B) { default: return false; case MCK_Reg20: return true; case MCK_Reg21: return true; case MCK_Reg22: return true; case MCK_Reg24: return true; case MCK_GR32_TC: return true; case MCK_GR32_ABCD: return true; case MCK_GR32_NOAX: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_GR32_TC: switch (B) { default: return false; case MCK_GR32_ABCD: return true; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_GR32_ABCD: switch (B) { default: return false; case MCK_GR32_NOREX_NOSP: return true; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_GR32_NOAX: return B == MCK_GR32; case MCK_GR32_NOREX_NOSP: switch (B) { default: return false; case MCK_GR32_NOREX: return true; case MCK_GR32_NOSP: return true; case MCK_GR32: return true; } case MCK_GR32_NOREX: return B == MCK_GR32; case MCK_GR32_NOSP: return B == MCK_GR32; case MCK_RAX: switch (B) { default: return false; case MCK_Reg27: return true; case MCK_Reg35: return true; case MCK_GR64_ABCD: return true; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_TCW64: return true; case MCK_Reg36: return true; case MCK_Reg38: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_RDX: switch (B) { default: return false; case MCK_Reg27: return true; case MCK_Reg35: return true; case MCK_GR64_ABCD: return true; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_TCW64: return true; case MCK_Reg36: return true; case MCK_Reg38: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_RCX: switch (B) { default: return false; case MCK_Reg27: return true; case MCK_Reg35: return true; case MCK_GR64_ABCD: return true; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_TCW64: return true; case MCK_Reg36: return true; case MCK_Reg38: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_Reg27: switch (B) { default: return false; case MCK_Reg35: return true; case MCK_GR64_ABCD: return true; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_TCW64: return true; case MCK_Reg36: return true; case MCK_Reg38: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_Reg35: switch (B) { default: return false; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_Reg36: return true; case MCK_Reg38: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_GR64_ABCD: switch (B) { default: return false; case MCK_GR64_NOREX_NOSP: return true; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_NOSP: return true; case MCK_GR64: return true; } case MCK_GR64_NOREX_NOSP: switch (B) { default: return false; case MCK_Reg30: return true; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64_NOSP: return true; case MCK_GR64: return true; } case MCK_Reg30: switch (B) { default: return false; case MCK_Reg31: return true; case MCK_GR64_NOREX: return true; case MCK_GR64: return true; } case MCK_Reg31: return B == MCK_GR64; case MCK_GR64_NOREX: return B == MCK_GR64; case MCK_GR64_TCW64: switch (B) { default: return false; case MCK_Reg31: return true; case MCK_Reg36: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_Reg36: switch (B) { default: return false; case MCK_Reg31: return true; case MCK_GR64_NOSP: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_Reg38: switch (B) { default: return false; case MCK_GR64_NOREX: return true; case MCK_GR64_TC: return true; case MCK_GR64: return true; } case MCK_GR64_NOSP: switch (B) { default: return false; case MCK_Reg31: return true; case MCK_GR64: return true; } case MCK_GR64_TC: return B == MCK_GR64; case MCK_ST0: return B == MCK_RST; case MCK_CS: return B == MCK_SEGMENT_REG; case MCK_DS: return B == MCK_SEGMENT_REG; case MCK_SS: return B == MCK_SEGMENT_REG; case MCK_ES: return B == MCK_SEGMENT_REG; case MCK_FS: return B == MCK_SEGMENT_REG; case MCK_GS: return B == MCK_SEGMENT_REG; case MCK_ImmSExti64i8: switch (B) { default: return false; case MCK_ImmSExti16i8: return true; case MCK_ImmSExti32i8: return true; case MCK_ImmSExti64i32: return true; case MCK_Imm: return true; } case MCK_ImmSExti16i8: switch (B) { default: return false; case MCK_ImmSExti64i32: return true; case MCK_Imm: return true; } case MCK_ImmSExti32i8: return B == MCK_Imm; case MCK_ImmSExti64i32: return B == MCK_Imm; case MCK_ImmZExtu32u8: return B == MCK_Imm; case MCK_AbsMem: return B == MCK_Mem; } } static bool ValidateOperandClass(MCParsedAsmOperand *GOp, MatchClassKind Kind) { X86Operand &Operand = *(X86Operand*)GOp; if (Kind == InvalidMatchClass) return false; if (Operand.isToken()) return MatchTokenString(Operand.getToken()) == Kind; if (Operand.isReg()) { MatchClassKind OpKind; switch (Operand.getReg()) { default: OpKind = InvalidMatchClass; break; case X86::AL: OpKind = MCK_AL; break; case X86::DL: OpKind = MCK_GR8_ABCD_L; break; case X86::CL: OpKind = MCK_CL; break; case X86::BL: OpKind = MCK_GR8_ABCD_L; break; case X86::SIL: OpKind = MCK_GR8; break; case X86::DIL: OpKind = MCK_GR8; break; case X86::BPL: OpKind = MCK_GR8; break; case X86::SPL: OpKind = MCK_GR8; break; case X86::R8B: OpKind = MCK_GR8; break; case X86::R9B: OpKind = MCK_GR8; break; case X86::R10B: OpKind = MCK_GR8; break; case X86::R11B: OpKind = MCK_GR8; break; case X86::R12B: OpKind = MCK_GR8; break; case X86::R13B: OpKind = MCK_GR8; break; case X86::R14B: OpKind = MCK_GR8; break; case X86::R15B: OpKind = MCK_GR8; break; case X86::AH: OpKind = MCK_GR8_ABCD_H; break; case X86::DH: OpKind = MCK_GR8_ABCD_H; break; case X86::CH: OpKind = MCK_GR8_ABCD_H; break; case X86::BH: OpKind = MCK_GR8_ABCD_H; break; case X86::AX: OpKind = MCK_AX; break; case X86::DX: OpKind = MCK_DX; break; case X86::CX: OpKind = MCK_GR16_ABCD; break; case X86::BX: OpKind = MCK_GR16_ABCD; break; case X86::SI: OpKind = MCK_GR16_NOREX; break; case X86::DI: OpKind = MCK_GR16_NOREX; break; case X86::BP: OpKind = MCK_GR16_NOREX; break; case X86::SP: OpKind = MCK_GR16_NOREX; break; case X86::R8W: OpKind = MCK_GR16; break; case X86::R9W: OpKind = MCK_GR16; break; case X86::R10W: OpKind = MCK_GR16; break; case X86::R11W: OpKind = MCK_GR16; break; case X86::R12W: OpKind = MCK_GR16; break; case X86::R13W: OpKind = MCK_GR16; break; case X86::R14W: OpKind = MCK_GR16; break; case X86::R15W: OpKind = MCK_GR16; break; case X86::EAX: OpKind = MCK_EAX; break; case X86::EDX: OpKind = MCK_EDX; break; case X86::ECX: OpKind = MCK_ECX; break; case X86::EBX: OpKind = MCK_Reg20; break; case X86::ESI: OpKind = MCK_Reg21; break; case X86::EDI: OpKind = MCK_Reg21; break; case X86::EBP: OpKind = MCK_Reg21; break; case X86::ESP: OpKind = MCK_Reg22; break; case X86::R8D: OpKind = MCK_Reg24; break; case X86::R9D: OpKind = MCK_Reg24; break; case X86::R10D: OpKind = MCK_Reg24; break; case X86::R11D: OpKind = MCK_Reg24; break; case X86::R12D: OpKind = MCK_Reg24; break; case X86::R13D: OpKind = MCK_Reg24; break; case X86::R14D: OpKind = MCK_Reg24; break; case X86::R15D: OpKind = MCK_Reg24; break; case X86::RAX: OpKind = MCK_RAX; break; case X86::RDX: OpKind = MCK_RDX; break; case X86::RCX: OpKind = MCK_RCX; break; case X86::RBX: OpKind = MCK_GR64_ABCD; break; case X86::RSI: OpKind = MCK_Reg35; break; case X86::RDI: OpKind = MCK_Reg35; break; case X86::RBP: OpKind = MCK_GR64_NOREX_NOSP; break; case X86::RSP: OpKind = MCK_Reg30; break; case X86::R8: OpKind = MCK_GR64_TCW64; break; case X86::R9: OpKind = MCK_GR64_TCW64; break; case X86::R10: OpKind = MCK_GR64_NOSP; break; case X86::R11: OpKind = MCK_GR64_TCW64; break; case X86::R12: OpKind = MCK_GR64_NOSP; break; case X86::R13: OpKind = MCK_GR64_NOSP; break; case X86::R14: OpKind = MCK_GR64_NOSP; break; case X86::R15: OpKind = MCK_GR64_NOSP; break; case X86::RIP: OpKind = MCK_Reg38; break; case X86::MM0: OpKind = MCK_VR64; break; case X86::MM1: OpKind = MCK_VR64; break; case X86::MM2: OpKind = MCK_VR64; break; case X86::MM3: OpKind = MCK_VR64; break; case X86::MM4: OpKind = MCK_VR64; break; case X86::MM5: OpKind = MCK_VR64; break; case X86::MM6: OpKind = MCK_VR64; break; case X86::MM7: OpKind = MCK_VR64; break; case X86::FP0: OpKind = MCK_RFP32; break; case X86::FP1: OpKind = MCK_RFP32; break; case X86::FP2: OpKind = MCK_RFP32; break; case X86::FP3: OpKind = MCK_RFP32; break; case X86::FP4: OpKind = MCK_RFP32; break; case X86::FP5: OpKind = MCK_RFP32; break; case X86::FP6: OpKind = MCK_RFP32; break; case X86::XMM0: OpKind = MCK_FR32; break; case X86::XMM1: OpKind = MCK_FR32; break; case X86::XMM2: OpKind = MCK_FR32; break; case X86::XMM3: OpKind = MCK_FR32; break; case X86::XMM4: OpKind = MCK_FR32; break; case X86::XMM5: OpKind = MCK_FR32; break; case X86::XMM6: OpKind = MCK_FR32; break; case X86::XMM7: OpKind = MCK_FR32; break; case X86::XMM8: OpKind = MCK_FR32; break; case X86::XMM9: OpKind = MCK_FR32; break; case X86::XMM10: OpKind = MCK_FR32; break; case X86::XMM11: OpKind = MCK_FR32; break; case X86::XMM12: OpKind = MCK_FR32; break; case X86::XMM13: OpKind = MCK_FR32; break; case X86::XMM14: OpKind = MCK_FR32; break; case X86::XMM15: OpKind = MCK_FR32; break; case X86::YMM0: OpKind = MCK_VR256; break; case X86::YMM1: OpKind = MCK_VR256; break; case X86::YMM2: OpKind = MCK_VR256; break; case X86::YMM3: OpKind = MCK_VR256; break; case X86::YMM4: OpKind = MCK_VR256; break; case X86::YMM5: OpKind = MCK_VR256; break; case X86::YMM6: OpKind = MCK_VR256; break; case X86::YMM7: OpKind = MCK_VR256; break; case X86::YMM8: OpKind = MCK_VR256; break; case X86::YMM9: OpKind = MCK_VR256; break; case X86::YMM10: OpKind = MCK_VR256; break; case X86::YMM11: OpKind = MCK_VR256; break; case X86::YMM12: OpKind = MCK_VR256; break; case X86::YMM13: OpKind = MCK_VR256; break; case X86::YMM14: OpKind = MCK_VR256; break; case X86::YMM15: OpKind = MCK_VR256; break; case X86::ST0: OpKind = MCK_ST0; break; case X86::ST1: OpKind = MCK_RST; break; case X86::ST2: OpKind = MCK_RST; break; case X86::ST3: OpKind = MCK_RST; break; case X86::ST4: OpKind = MCK_RST; break; case X86::ST5: OpKind = MCK_RST; break; case X86::ST6: OpKind = MCK_RST; break; case X86::ST7: OpKind = MCK_RST; break; case X86::EFLAGS: OpKind = MCK_CCR; break; case X86::CS: OpKind = MCK_CS; break; case X86::DS: OpKind = MCK_DS; break; case X86::SS: OpKind = MCK_SS; break; case X86::ES: OpKind = MCK_ES; break; case X86::FS: OpKind = MCK_FS; break; case X86::GS: OpKind = MCK_GS; break; case X86::DR0: OpKind = MCK_DEBUG_REG; break; case X86::DR1: OpKind = MCK_DEBUG_REG; break; case X86::DR2: OpKind = MCK_DEBUG_REG; break; case X86::DR3: OpKind = MCK_DEBUG_REG; break; case X86::DR4: OpKind = MCK_DEBUG_REG; break; case X86::DR5: OpKind = MCK_DEBUG_REG; break; case X86::DR6: OpKind = MCK_DEBUG_REG; break; case X86::DR7: OpKind = MCK_DEBUG_REG; break; case X86::CR0: OpKind = MCK_CONTROL_REG; break; case X86::CR1: OpKind = MCK_CONTROL_REG; break; case X86::CR2: OpKind = MCK_CONTROL_REG; break; case X86::CR3: OpKind = MCK_CONTROL_REG; break; case X86::CR4: OpKind = MCK_CONTROL_REG; break; case X86::CR5: OpKind = MCK_CONTROL_REG; break; case X86::CR6: OpKind = MCK_CONTROL_REG; break; case X86::CR7: OpKind = MCK_CONTROL_REG; break; case X86::CR8: OpKind = MCK_CONTROL_REG; break; case X86::CR9: OpKind = MCK_CONTROL_REG; break; case X86::CR10: OpKind = MCK_CONTROL_REG; break; case X86::CR11: OpKind = MCK_CONTROL_REG; break; case X86::CR12: OpKind = MCK_CONTROL_REG; break; case X86::CR13: OpKind = MCK_CONTROL_REG; break; case X86::CR14: OpKind = MCK_CONTROL_REG; break; case X86::CR15: OpKind = MCK_CONTROL_REG; break; } return IsSubclass(OpKind, Kind); } // 'ImmSExti64i8' class if (Kind == MCK_ImmSExti64i8 && Operand.isImmSExti64i8()) { return true; } // 'ImmSExti16i8' class if (Kind == MCK_ImmSExti16i8 && Operand.isImmSExti16i8()) { return true; } // 'ImmSExti32i8' class if (Kind == MCK_ImmSExti32i8 && Operand.isImmSExti32i8()) { return true; } // 'ImmSExti64i32' class if (Kind == MCK_ImmSExti64i32 && Operand.isImmSExti64i32()) { return true; } // 'ImmZExtu32u8' class if (Kind == MCK_ImmZExtu32u8 && Operand.isImmZExtu32u8()) { return true; } // 'Imm' class if (Kind == MCK_Imm && Operand.isImm()) { return true; } // 'AbsMem' class if (Kind == MCK_AbsMem && Operand.isAbsMem()) { return true; } // 'Mem' class if (Kind == MCK_Mem && Operand.isMem()) { return true; } return false; } unsigned X86ATTAsmParser:: ComputeAvailableFeatures(uint64_t FB) const { unsigned Features = 0; if (((FB & X86::Mode64Bit) == 0)) Features |= Feature_In32BitMode; if (((FB & X86::Mode64Bit) != 0)) Features |= Feature_In64BitMode; if (((FB & X86::ModeNaCl) != 0)) Features |= Feature_IsNaCl; if (((FB & X86::ModeNaCl) != 0) && ((FB & X86::Mode64Bit) == 0)) Features |= Feature_IsNaCl32; if (((FB & X86::ModeNaCl) != 0) && ((FB & X86::Mode64Bit) != 0)) Features |= Feature_IsNaCl64; if (((FB & X86::ModeNaCl) == 0)) Features |= Feature_NotNaCl; return Features; } namespace { struct MatchEntry { unsigned Opcode; const char *Mnemonic; ConversionKind ConvertFn; MatchClassKind Classes[5]; unsigned RequiredFeatures; }; // Predicate for searching for an opcode. struct LessOpcode { bool operator()(const MatchEntry &LHS, StringRef RHS) { return StringRef(LHS.Mnemonic) < RHS; } bool operator()(StringRef LHS, const MatchEntry &RHS) { return LHS < StringRef(RHS.Mnemonic); } bool operator()(const MatchEntry &LHS, const MatchEntry &RHS) { return StringRef(LHS.Mnemonic) < StringRef(RHS.Mnemonic); } }; } // end anonymous namespace. static const MatchEntry MatchTable[3300] = { { X86::AAA, "aaa", Convert, { }, Feature_In32BitMode}, { X86::AAD8i8, "aad", Convert__imm10, { }, 0}, { X86::AAD8i8, "aad", Convert__Imm1_0, { MCK_Imm }, Feature_In32BitMode}, { X86::AAM8i8, "aam", Convert__imm10, { }, 0}, { X86::AAM8i8, "aam", Convert__Imm1_0, { MCK_Imm }, Feature_In32BitMode}, { X86::AAS, "aas", Convert, { }, Feature_In32BitMode}, { X86::ADC8rr, "adcb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::ADC8mr, "adcb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::ADC8i8, "adcb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::ADC8ri, "adcb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::ADC8mi, "adcb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADC8rm, "adcb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::ADC32rr, "adcl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::ADC32mr, "adcl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::ADC32ri8, "adcl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::ADC32mi8, "adcl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::ADC32i32, "adcl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::ADC32ri, "adcl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::ADC32mi, "adcl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADC32rm, "adcl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::ADC64rr, "adcq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::ADC64mr, "adcq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::ADC64ri8, "adcq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::ADC64mi8, "adcq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::ADC64i32, "adcq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::ADC64ri32, "adcq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::ADC64mi32, "adcq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::ADC64rm, "adcq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::ADC16rr, "adcw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::ADC16mr, "adcw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::ADC16ri8, "adcw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::ADC16mi8, "adcw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::ADC16i16, "adcw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::ADC16ri, "adcw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::ADC16mi, "adcw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADC16rm, "adcw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::ADD8rr, "addb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::ADD8mr, "addb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::ADD8i8, "addb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::ADD8ri, "addb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::ADD8mi, "addb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADD8rm, "addb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::ADD32rr, "addl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::ADD32mr, "addl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::ADD32ri8, "addl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::ADD32mi8, "addl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::ADD32i32, "addl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::ADD32ri, "addl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::ADD32mi, "addl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADD32rm, "addl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::ADDPDrr, "addpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDPDrm, "addpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADDPSrr, "addps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDPSrm, "addps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADD64rr, "addq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::ADD64mr, "addq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::ADD64ri8, "addq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::ADD64mi8, "addq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::ADD64i32, "addq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::ADD64ri32, "addq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::ADD64mi32, "addq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::ADD64rm, "addq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::ADDSDrr, "addsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDSDrm, "addsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADDSSrr, "addss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDSSrm, "addss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADDSUBPDrr, "addsubpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDSUBPDrm, "addsubpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADDSUBPSrr, "addsubps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ADDSUBPSrm, "addsubps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ADD16rr, "addw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::ADD16mr, "addw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::ADD16ri8, "addw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::ADD16mi8, "addw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::ADD16i16, "addw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::ADD16ri, "addw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::ADD16mi, "addw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ADD16rm, "addw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::AESDECrr, "aesdec", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::AESDECrm, "aesdec", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AESDECLASTrr, "aesdeclast", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::AESDECLASTrm, "aesdeclast", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AESENCrr, "aesenc", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::AESENCrm, "aesenc", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AESENCLASTrr, "aesenclast", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::AESENCLASTrm, "aesenclast", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AESIMCrr, "aesimc", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::AESIMCrm, "aesimc", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AESKEYGENASSIST128rr, "aeskeygenassist", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::AESKEYGENASSIST128rm, "aeskeygenassist", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::AND8rr, "andb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::AND8mr, "andb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::AND8i8, "andb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::AND8ri, "andb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::AND8mi, "andb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::AND8rm, "andb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::AND32rr, "andl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::AND32mr, "andl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::AND32ri8, "andl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::AND32mi8, "andl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::AND32i32, "andl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::AND32ri, "andl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::AND32mi, "andl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::AND32rm, "andl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::ANDN32rr, "andnl", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32, MCK_GR32 }, 0}, { X86::ANDN32rm, "andnl", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32, MCK_GR32 }, 0}, { X86::ANDNPDrr, "andnpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsANDNPDrr, "andnpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ANDNPDrm, "andnpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsANDNPDrm, "andnpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ANDNPSrr, "andnps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsANDNPSrr, "andnps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ANDNPSrm, "andnps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsANDNPSrm, "andnps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ANDN64rr, "andnq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64, MCK_GR64 }, 0}, { X86::ANDN64rm, "andnq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64, MCK_GR64 }, 0}, { X86::ANDPDrr, "andpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsANDPDrr, "andpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ANDPDrm, "andpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsANDPDrm, "andpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ANDPSrr, "andps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsANDPSrr, "andps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ANDPSrm, "andps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsANDPSrm, "andps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::AND64rr, "andq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::AND64mr, "andq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::AND64ri8, "andq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::AND64mi8, "andq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::AND64i32, "andq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::AND64ri32, "andq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::AND64mi32, "andq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::AND64rm, "andq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::AND16rr, "andw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::AND16mr, "andw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::AND16ri8, "andw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::AND16mi8, "andw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::AND16i16, "andw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::AND16ri, "andw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::AND16mi, "andw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::AND16rm, "andw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::ARPL16rr, "arpl", Convert__Reg1_0__Reg1_1, { MCK_GR16, MCK_GR16 }, Feature_In32BitMode}, { X86::ARPL16mr, "arpl", Convert__Reg1_0__Mem5_1, { MCK_GR16, MCK_Mem }, Feature_In32BitMode}, { X86::BLENDPDrri, "blendpd", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::BLENDPDrmi, "blendpd", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::BLENDPSrri, "blendps", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::BLENDPSrmi, "blendps", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::BLENDVPDrr0, "blendvpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::BLENDVPDrm0, "blendvpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::BLENDVPSrr0, "blendvps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::BLENDVPSrm0, "blendvps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::BOUNDS16rm, "bound", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, Feature_In32BitMode}, { X86::BOUNDS32rm, "bound", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, Feature_In32BitMode}, { X86::BSF32rr, "bsfl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BSF32rm, "bsfl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::BSF64rr, "bsfq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BSF64rm, "bsfq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::BSF16rr, "bsfw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BSF16rm, "bsfw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::BSR32rr, "bsrl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BSR32rm, "bsrl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::BSR64rr, "bsrq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BSR64rm, "bsrq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::BSR16rr, "bsrw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BSR16rm, "bsrw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::BSWAP32r, "bswapl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::BSWAP64r, "bswapq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::BT32mi8, "bt", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::BTC32rr, "btcl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BTC32mr, "btcl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::BTC32ri8, "btcl", Convert__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::BTC32mi8, "btcl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::BTC64rr, "btcq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BTC64mr, "btcq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::BTC64ri8, "btcq", Convert__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::BTC64mi8, "btcq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::BTC16rr, "btcw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BTC16mr, "btcw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::BTC16ri8, "btcw", Convert__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::BTC16mi8, "btcw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::BT32rr, "btl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BT32mr, "btl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::BT32ri8, "btl", Convert__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::BT32mi8, "btl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::BT64rr, "btq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BT64mr, "btq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::BT64ri8, "btq", Convert__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::BT64mi8, "btq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::BTR32rr, "btrl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BTR32mr, "btrl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::BTR32ri8, "btrl", Convert__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::BTR32mi8, "btrl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::BTR64rr, "btrq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BTR64mr, "btrq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::BTR64ri8, "btrq", Convert__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::BTR64mi8, "btrq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::BTR16rr, "btrw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BTR16mr, "btrw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::BTR16ri8, "btrw", Convert__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::BTR16mi8, "btrw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::BTS32rr, "btsl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::BTS32mr, "btsl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::BTS32ri8, "btsl", Convert__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::BTS32mi8, "btsl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::BTS64rr, "btsq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::BTS64mr, "btsq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::BTS64ri8, "btsq", Convert__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::BTS64mi8, "btsq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::BTS16rr, "btsw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BTS16mr, "btsw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::BTS16ri8, "btsw", Convert__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::BTS16mi8, "btsw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::BT16rr, "btw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::BT16mr, "btw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::BT16ri8, "btw", Convert__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::BT16mi8, "btw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::FARCALL32i, "call", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::CALLpcrel32, "calll", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In32BitMode}, { X86::CALL32r, "calll", Convert__Reg1_1, { MCK__STAR_, MCK_GR32 }, Feature_In32BitMode}, { X86::CALL32m, "calll", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, Feature_In32BitMode}, { X86::FARCALL32i, "calll", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::CALL64pcrel32, "callq", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In64BitMode}, { X86::CALL64r, "callq", Convert__Reg1_1, { MCK__STAR_, MCK_GR64 }, Feature_In64BitMode}, { X86::CALL64m, "callq", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, Feature_In64BitMode}, { X86::CALLpcrel16, "callw", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::FARCALL16i, "callw", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::CBW, "cbtw", Convert, { }, 0}, { X86::CLC, "clc", Convert, { }, 0}, { X86::CLD, "cld", Convert, { }, 0}, { X86::CLFLUSH, "clflush", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::CLI, "cli", Convert, { }, 0}, { X86::XOR8rr, "clrb", Convert__Reg1_0__Tie0__Reg1_0, { MCK_GR8 }, 0}, { X86::XOR32rr, "clrl", Convert__Reg1_0__Tie0__Reg1_0, { MCK_GR32 }, 0}, { X86::XOR64rr, "clrq", Convert__Reg1_0__Tie0__Reg1_0, { MCK_GR64 }, 0}, { X86::XOR16rr, "clrw", Convert__Reg1_0__Tie0__Reg1_0, { MCK_GR16 }, 0}, { X86::CDQ, "cltd", Convert, { }, 0}, { X86::CDQE, "cltq", Convert, { }, 0}, { X86::CLTS, "clts", Convert, { }, 0}, { X86::CMC, "cmc", Convert, { }, 0}, { X86::CMOVAE32rr, "cmovael", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVAE32rm, "cmovael", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVAE64rr, "cmovaeq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVAE64rm, "cmovaeq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVAE16rr, "cmovaew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVAE16rm, "cmovaew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVA32rr, "cmoval", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVA32rm, "cmoval", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVA64rr, "cmovaq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVA64rm, "cmovaq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVA16rr, "cmovaw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVA16rm, "cmovaw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVBE32rr, "cmovbel", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVBE32rm, "cmovbel", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVBE64rr, "cmovbeq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVBE64rm, "cmovbeq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVBE16rr, "cmovbew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVBE16rm, "cmovbew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVB32rr, "cmovbl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVB32rm, "cmovbl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVB64rr, "cmovbq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVB64rm, "cmovbq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVB16rr, "cmovbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVB16rm, "cmovbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVE32rr, "cmovel", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVE32rm, "cmovel", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVE64rr, "cmoveq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVE64rm, "cmoveq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVE16rr, "cmovew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVE16rm, "cmovew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVGE32rr, "cmovgel", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVGE32rm, "cmovgel", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVGE64rr, "cmovgeq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVGE64rm, "cmovgeq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVGE16rr, "cmovgew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVGE16rm, "cmovgew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVG32rr, "cmovgl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVG32rm, "cmovgl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVG64rr, "cmovgq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVG64rm, "cmovgq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVG16rr, "cmovgw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVG16rm, "cmovgw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVLE32rr, "cmovlel", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVLE32rm, "cmovlel", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVLE64rr, "cmovleq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVLE64rm, "cmovleq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVLE16rr, "cmovlew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVLE16rm, "cmovlew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVL32rr, "cmovll", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVL32rm, "cmovll", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVL64rr, "cmovlq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVL64rm, "cmovlq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVL16rr, "cmovlw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVL16rm, "cmovlw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVNE32rr, "cmovnel", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVNE32rm, "cmovnel", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVNE64rr, "cmovneq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVNE64rm, "cmovneq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVNE16rr, "cmovnew", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVNE16rm, "cmovnew", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVNO32rr, "cmovnol", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVNO32rm, "cmovnol", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVNO64rr, "cmovnoq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVNO64rm, "cmovnoq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVNO16rr, "cmovnow", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVNO16rm, "cmovnow", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVNP32rr, "cmovnpl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVNP32rm, "cmovnpl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVNP64rr, "cmovnpq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVNP64rm, "cmovnpq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVNP16rr, "cmovnpw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVNP16rm, "cmovnpw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVNS32rr, "cmovnsl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVNS32rm, "cmovnsl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVNS64rr, "cmovnsq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVNS64rm, "cmovnsq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVNS16rr, "cmovnsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVNS16rm, "cmovnsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVO32rr, "cmovol", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVO32rm, "cmovol", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVO64rr, "cmovoq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVO64rm, "cmovoq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVO16rr, "cmovow", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVO16rm, "cmovow", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVP32rr, "cmovpl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVP32rm, "cmovpl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVP64rr, "cmovpq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVP64rm, "cmovpq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVP16rr, "cmovpw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVP16rm, "cmovpw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMOVS32rr, "cmovsl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMOVS32rm, "cmovsl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMOVS64rr, "cmovsq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMOVS64rm, "cmovsq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMOVS16rr, "cmovsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMOVS16rm, "cmovsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMPPDrri, "cmp", Convert__Reg1_3__Tie0__Reg1_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPPDrmi, "cmp", Convert__Reg1_3__Tie0__Mem5_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPPSrri, "cmp", Convert__Reg1_3__Tie0__Reg1_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPPSrmi, "cmp", Convert__Reg1_3__Tie0__Mem5_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPSDrr, "cmp", Convert__Reg1_3__Tie0__Reg1_2__Imm1_0, { MCK_Imm, MCK_sd, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPSDrm, "cmp", Convert__Reg1_3__Tie0__Mem5_2__Imm1_0, { MCK_Imm, MCK_sd, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPSSrr, "cmp", Convert__Reg1_3__Tie0__Reg1_2__Imm1_0, { MCK_Imm, MCK_ss, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPSSrm, "cmp", Convert__Reg1_3__Tie0__Mem5_2__Imm1_0, { MCK_Imm, MCK_ss, MCK_Mem, MCK_FR32 }, 0}, { X86::CMP8rr, "cmpb", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::CMP8mr, "cmpb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::CMP8i8, "cmpb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::CMP8ri, "cmpb", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::CMP8mi, "cmpb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::CMP8rm, "cmpb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::CMP32rr, "cmpl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMP32mr, "cmpl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::CMP32ri8, "cmpl", Convert__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::CMP32mi8, "cmpl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::CMP32i32, "cmpl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::CMP32ri, "cmpl", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::CMP32mi, "cmpl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::CMP32rm, "cmpl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CMPPDrri_alt, "cmppd", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPPDrmi_alt, "cmppd", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPPSrri_alt, "cmpps", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPPSrmi_alt, "cmpps", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::CMP64rr, "cmpq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMP64mr, "cmpq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::CMP64ri8, "cmpq", Convert__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::CMP64mi8, "cmpq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::CMP64i32, "cmpq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::CMP64ri32, "cmpq", Convert__Reg1_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::CMP64mi32, "cmpq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::CMP64rm, "cmpq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CMPS8, "cmpsb", Convert, { }, 0}, { X86::CMPSDrr_alt, "cmpsd", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPSDrm_alt, "cmpsd", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPS32, "cmpsl", Convert, { }, 0}, { X86::CMPS64, "cmpsq", Convert, { }, 0}, { X86::CMPSSrr_alt, "cmpss", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::CMPSSrm_alt, "cmpss", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::CMPS16, "cmpsw", Convert, { }, 0}, { X86::CMP16rr, "cmpw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMP16mr, "cmpw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::CMP16ri8, "cmpw", Convert__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::CMP16mi8, "cmpw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::CMP16i16, "cmpw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::CMP16ri, "cmpw", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::CMP16mi, "cmpw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::CMP16rm, "cmpw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::CMPXCHG16B, "cmpxchg16b", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::CMPXCHG8B, "cmpxchg8b", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::CMPXCHG8rr, "cmpxchgb", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::CMPXCHG8rm, "cmpxchgb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::CMPXCHG32rr, "cmpxchgl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CMPXCHG32rm, "cmpxchgl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::CMPXCHG64rr, "cmpxchgq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CMPXCHG64rm, "cmpxchgq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::CMPXCHG16rr, "cmpxchgw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::CMPXCHG16rm, "cmpxchgw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::COMISDrr, "comisd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::COMISDrm, "comisd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::COMISSrr, "comiss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::COMISSrm, "comiss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CPUID, "cpuid", Convert, { }, 0}, { X86::CQO, "cqto", Convert, { }, 0}, { X86::CRC32r32r8, "crc32b", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR32 }, 0}, { X86::CRC32r64r8, "crc32b", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR64 }, 0}, { X86::CRC32r32m8, "crc32b", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CRC32r64m8, "crc32b", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CRC32r32r32, "crc32l", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::CRC32r32m32, "crc32l", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CRC32r64r64, "crc32q", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::CRC32r64m64, "crc32q", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CRC32r32r16, "crc32w", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR32 }, 0}, { X86::CRC32r32m16, "crc32w", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CS_PREFIX, "cs", Convert, { }, 0}, { X86::CVTDQ2PDrr, "cvtdq2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTDQ2PDrm, "cvtdq2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTDQ2PSrr, "cvtdq2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTDQ2PSrm, "cvtdq2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTPD2DQrr, "cvtpd2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTPD2DQrm, "cvtpd2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTPD2PIirr, "cvtpd2pi", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MMX_CVTPD2PIirm, "cvtpd2pi", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::CVTPD2PSrr, "cvtpd2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTPD2PSrm, "cvtpd2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTPI2PDirr, "cvtpi2pd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_FR32 }, 0}, { X86::MMX_CVTPI2PDirm, "cvtpi2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTPI2PSirr, "cvtpi2ps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_FR32 }, 0}, { X86::MMX_CVTPI2PSirm, "cvtpi2ps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTPS2DQrr, "cvtps2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTPS2DQrm, "cvtps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTPS2PDrr, "cvtps2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTPS2PDrm, "cvtps2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTPS2PIirr, "cvtps2pi", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MMX_CVTPS2PIirm, "cvtps2pi", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::CVTSD2SIrr, "cvtsd2sil", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::CVTSD2SIrm, "cvtsd2sil", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CVTSD2SI64rr, "cvtsd2siq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::CVTSD2SI64rm, "cvtsd2siq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CVTSD2SSrr, "cvtsd2ss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTSD2SSrm, "cvtsd2ss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSI2SDrr, "cvtsi2sd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::CVTSI2SDrm, "cvtsi2sd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSI2SD64rr, "cvtsi2sdq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::CVTSI2SD64rm, "cvtsi2sdq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSI2SSrr, "cvtsi2ss", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::CVTSI2SSrm, "cvtsi2ss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSI2SS64rr, "cvtsi2ssq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::CVTSI2SS64rm, "cvtsi2ssq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSS2SDrr, "cvtss2sd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTSS2SDrm, "cvtss2sd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::CVTSS2SIrr, "cvtss2sil", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::CVTSS2SIrm, "cvtss2sil", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CVTSS2SI64rr, "cvtss2siq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::CVTSS2SI64rm, "cvtss2siq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CVTTPD2DQrr, "cvttpd2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTTPD2DQrm, "cvttpd2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTTPD2PIirr, "cvttpd2pi", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MMX_CVTTPD2PIirm, "cvttpd2pi", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::CVTTPS2DQrr, "cvttps2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::CVTTPS2DQrm, "cvttps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_CVTTPS2PIirr, "cvttps2pi", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MMX_CVTTPS2PIirm, "cvttps2pi", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::CVTTSD2SIrr, "cvttsd2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::CVTTSD2SIrm, "cvttsd2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CVTTSD2SI64rr, "cvttsd2siq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::CVTTSD2SI64rm, "cvttsd2siq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CVTTSS2SIrr, "cvttss2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::CVTTSS2SIrm, "cvttss2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::CVTTSS2SI64rr, "cvttss2siq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::CVTTSS2SI64rm, "cvttss2siq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::CWD, "cwtd", Convert, { }, 0}, { X86::CWDE, "cwtl", Convert, { }, 0}, { X86::DAA, "daa", Convert, { }, Feature_In32BitMode}, { X86::DAS, "das", Convert, { }, Feature_In32BitMode}, { X86::DATA16_PREFIX, "data16", Convert, { }, 0}, { X86::DEC8r, "decb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::DEC8m, "decb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DEC32r, "decl", Convert__Reg1_0__Tie0, { MCK_GR32 }, Feature_In32BitMode}, { X86::DEC64_32r, "decl", Convert__Reg1_0__Tie0, { MCK_GR32 }, Feature_In64BitMode}, { X86::DEC32m, "decl", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::DEC64_32m, "decl", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::DEC64r, "decq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::DEC64m, "decq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DEC16r, "decw", Convert__Reg1_0__Tie0, { MCK_GR16 }, Feature_In32BitMode}, { X86::DEC64_16r, "decw", Convert__Reg1_0__Tie0, { MCK_GR16 }, Feature_In64BitMode}, { X86::DEC16m, "decw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::DEC64_16m, "decw", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::DIV8r, "divb", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::DIV8m, "divb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV8r, "divb", Convert__Reg1_0, { MCK_GR8, MCK_AL }, 0}, { X86::DIV8m, "divb", Convert__Mem5_0, { MCK_Mem, MCK_AL }, 0}, { X86::DIV32r, "divl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::DIV32m, "divl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV32r, "divl", Convert__Reg1_0, { MCK_GR32, MCK_EAX }, 0}, { X86::DIV32m, "divl", Convert__Mem5_0, { MCK_Mem, MCK_EAX }, 0}, { X86::DIVPDrr, "divpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::DIVPDrm, "divpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::DIVPSrr, "divps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::DIVPSrm, "divps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::DIV64r, "divq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::DIV64m, "divq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV64r, "divq", Convert__Reg1_0, { MCK_GR64, MCK_RAX }, 0}, { X86::DIV64m, "divq", Convert__Mem5_0, { MCK_Mem, MCK_RAX }, 0}, { X86::DIVSDrr, "divsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::DIVSDrm, "divsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::DIVSSrr, "divss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::DIVSSrm, "divss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::DIV16r, "divw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::DIV16m, "divw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV16r, "divw", Convert__Reg1_0, { MCK_GR16, MCK_AX }, 0}, { X86::DIV16m, "divw", Convert__Mem5_0, { MCK_Mem, MCK_AX }, 0}, { X86::DPPDrri, "dppd", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::DPPDrmi, "dppd", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::DPPSrri, "dpps", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::DPPSrmi, "dpps", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::DS_PREFIX, "ds", Convert, { }, 0}, { X86::MMX_EMMS, "emms", Convert, { }, 0}, { X86::ENTER, "enter", Convert__Imm1_0__Imm1_1, { MCK_Imm, MCK_Imm }, 0}, { X86::ES_PREFIX, "es", Convert, { }, 0}, { X86::EXTRACTPSrr, "extractps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::EXTRACTPSmr, "extractps", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::F2XM1, "f2xm1", Convert, { }, 0}, { X86::ABS_F, "fabs", Convert, { }, 0}, { X86::ADD_FST0r, "fadd", Convert__Reg1_0, { MCK_RST }, 0}, { X86::ADD_FST0r, "fadd", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::ADD_FrST0, "fadd", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::ADD_FST0r, "fadd", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::ADD_F64m, "faddl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ADD_FPrST0, "faddp", Convert__regST1, { }, 0}, { X86::ADD_FPrST0, "faddp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::ADD_FPrST0, "faddp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::ADD_FPrST0, "faddp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::ADD_FPrST0, "faddp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::ADD_F32m, "fadds", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FBLDm, "fbld", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FBSTPm, "fbstp", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::CHS_F, "fchs", Convert, { }, 0}, { X86::CMOVB_F, "fcmovb", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVBE_F, "fcmovbe", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVE_F, "fcmove", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVNB_F, "fcmovnb", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVNBE_F, "fcmovnbe", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVNE_F, "fcmovne", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVNP_F, "fcmovnu", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::CMOVP_F, "fcmovu", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::COM_FST0r, "fcom", Convert__Reg1_0, { MCK_RST }, 0}, { X86::COM_FIr, "fcomi", Convert__regST1, { }, 0}, { X86::COM_FIr, "fcomi", Convert__Reg1_0, { MCK_RST }, 0}, { X86::COM_FIr, "fcomi", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::COM_FIr, "fcomi", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::FCOM64m, "fcoml", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::COMP_FST0r, "fcomp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::COM_FIPr, "fcompi", Convert__regST1, { }, 0}, { X86::COM_FIPr, "fcompi", Convert__Reg1_0, { MCK_RST }, 0}, { X86::COM_FIPr, "fcompi", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::COM_FIPr, "fcompi", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::FCOMP64m, "fcompl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FCOMPP, "fcompp", Convert, { }, 0}, { X86::FCOMP32m, "fcomps", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FCOM32m, "fcoms", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::COS_F, "fcos", Convert, { }, 0}, { X86::FDECSTP, "fdecstp", Convert, { }, 0}, { X86::DIV_FST0r, "fdiv", Convert__Reg1_0, { MCK_RST }, 0}, { X86::DIV_FST0r, "fdiv", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::DIVR_FrST0, "fdiv", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::DIV_FST0r, "fdiv", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::DIV_F64m, "fdivl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIVR_FPrST0, "fdivp", Convert__regST1, { }, 0}, { X86::DIVR_FPrST0, "fdivp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::DIVR_FPrST0, "fdivp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::DIVR_FPrST0, "fdivp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::DIVR_FPrST0, "fdivp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::DIVR_FST0r, "fdivr", Convert__Reg1_0, { MCK_RST }, 0}, { X86::DIVR_FST0r, "fdivr", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::DIV_FrST0, "fdivr", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::DIVR_FST0r, "fdivr", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::DIVR_F64m, "fdivrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV_FPrST0, "fdivrp", Convert__regST1, { }, 0}, { X86::DIV_FPrST0, "fdivrp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::DIV_FPrST0, "fdivrp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::DIV_FPrST0, "fdivrp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::DIV_FPrST0, "fdivrp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::DIVR_F32m, "fdivrs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV_F32m, "fdivs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FEMMS, "femms", Convert, { }, 0}, { X86::FFREE, "ffree", Convert__Reg1_0, { MCK_RST }, 0}, { X86::ADD_FI32m, "fiaddl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ADD_FI16m, "fiadds", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FICOM32m, "ficoml", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FICOMP32m, "ficompl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FICOMP16m, "ficomps", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FICOM16m, "ficoms", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV_FI32m, "fidivl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIVR_FI32m, "fidivrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIVR_FI16m, "fidivrs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::DIV_FI16m, "fidivs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ILD_F32m, "fildl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ILD_F64m, "fildll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ILD_F16m, "filds", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MUL_FI32m, "fimull", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MUL_FI16m, "fimuls", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FINCSTP, "fincstp", Convert, { }, 0}, { X86::IST_F32m, "fistl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IST_FP32m, "fistpl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IST_FP64m, "fistpll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IST_FP16m, "fistps", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IST_F16m, "fists", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ISTT_FP32m, "fisttpl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ISTT_FP64m, "fisttpll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ISTT_FP16m, "fisttps", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB_FI32m, "fisubl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUBR_FI32m, "fisubrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUBR_FI16m, "fisubrs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB_FI16m, "fisubs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LD_Frr, "fld", Convert__Reg1_0, { MCK_RST }, 0}, { X86::LD_F1, "fld1", Convert, { }, 0}, { X86::FLDCW16m, "fldcw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FLDENVm, "fldenv", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LD_F64m, "fldl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FLDL2E, "fldl2e", Convert, { }, 0}, { X86::FLDL2T, "fldl2t", Convert, { }, 0}, { X86::FLDLG2, "fldlg2", Convert, { }, 0}, { X86::FLDLN2, "fldln2", Convert, { }, 0}, { X86::FLDPI, "fldpi", Convert, { }, 0}, { X86::LD_F32m, "flds", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LD_F80m, "fldt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LD_F0, "fldz", Convert, { }, 0}, { X86::MUL_FST0r, "fmul", Convert__Reg1_0, { MCK_RST }, 0}, { X86::MUL_FST0r, "fmul", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::MUL_FrST0, "fmul", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::MUL_FST0r, "fmul", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::MUL_F64m, "fmull", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MUL_FPrST0, "fmulp", Convert__regST1, { }, 0}, { X86::MUL_FPrST0, "fmulp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::MUL_FPrST0, "fmulp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::MUL_FPrST0, "fmulp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::MUL_FPrST0, "fmulp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::MUL_F32m, "fmuls", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FNCLEX, "fnclex", Convert, { }, 0}, { X86::FNINIT, "fninit", Convert, { }, 0}, { X86::FNOP, "fnop", Convert, { }, 0}, { X86::FSAVEm, "fnsave", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FNSTCW16m, "fnstcw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FSTENVm, "fnstenv", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FNSTSW8r, "fnstsw", Convert, { }, 0}, { X86::FNSTSW8r, "fnstsw", Convert, { MCK_AL }, 0}, { X86::FNSTSW8r, "fnstsw", Convert, { MCK_AX }, 0}, { X86::FNSTSW8r, "fnstsw", Convert, { MCK_EAX }, 0}, { X86::FNSTSWm, "fnstsw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FPATAN, "fpatan", Convert, { }, 0}, { X86::FPREM, "fprem", Convert, { }, 0}, { X86::FPREM1, "fprem1", Convert, { }, 0}, { X86::FPTAN, "fptan", Convert, { }, 0}, { X86::FRNDINT, "frndint", Convert, { }, 0}, { X86::FRSTORm, "frstor", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FS_PREFIX, "fs", Convert, { }, 0}, { X86::FSCALE, "fscale", Convert, { }, 0}, { X86::SIN_F, "fsin", Convert, { }, 0}, { X86::FSINCOS, "fsincos", Convert, { }, 0}, { X86::SQRT_F, "fsqrt", Convert, { }, 0}, { X86::ST_Frr, "fst", Convert__Reg1_0, { MCK_RST }, 0}, { X86::ST_F64m, "fstl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ST_FPrr, "fstp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::ST_FP64m, "fstpl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ST_FP32m, "fstps", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ST_FP80m, "fstpt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ST_F32m, "fsts", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB_FST0r, "fsub", Convert__Reg1_0, { MCK_RST }, 0}, { X86::SUB_FST0r, "fsub", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::SUBR_FrST0, "fsub", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::SUB_FST0r, "fsub", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::SUB_F64m, "fsubl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUBR_FPrST0, "fsubp", Convert__regST1, { }, 0}, { X86::SUBR_FPrST0, "fsubp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::SUBR_FPrST0, "fsubp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::SUBR_FPrST0, "fsubp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::SUBR_FPrST0, "fsubp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::SUBR_FST0r, "fsubr", Convert__Reg1_0, { MCK_RST }, 0}, { X86::SUBR_FST0r, "fsubr", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::SUB_FrST0, "fsubr", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::SUBR_FST0r, "fsubr", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::SUBR_F64m, "fsubrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB_FPrST0, "fsubrp", Convert__regST1, { }, 0}, { X86::SUB_FPrST0, "fsubrp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::SUB_FPrST0, "fsubrp", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::SUB_FPrST0, "fsubrp", Convert__Reg1_1, { MCK_ST0, MCK_RST }, 0}, { X86::SUB_FPrST0, "fsubrp", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::SUBR_F32m, "fsubrs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB_F32m, "fsubs", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::TST_F, "ftst", Convert, { }, 0}, { X86::UCOM_Fr, "fucom", Convert__regST1, { }, 0}, { X86::UCOM_Fr, "fucom", Convert__Reg1_0, { MCK_RST }, 0}, { X86::UCOM_FIr, "fucomi", Convert__regST1, { }, 0}, { X86::UCOM_FIr, "fucomi", Convert__Reg1_0, { MCK_RST }, 0}, { X86::UCOM_FIr, "fucomi", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::UCOM_FIr, "fucomi", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::UCOM_FPr, "fucomp", Convert__regST1, { }, 0}, { X86::UCOM_FPr, "fucomp", Convert__Reg1_0, { MCK_RST }, 0}, { X86::UCOM_FIPr, "fucompi", Convert__regST1, { }, 0}, { X86::UCOM_FIPr, "fucompi", Convert__Reg1_0, { MCK_RST }, 0}, { X86::UCOM_FIPr, "fucompi", Convert__regST0, { MCK_ST0, MCK_ST0 }, 0}, { X86::UCOM_FIPr, "fucompi", Convert__Reg1_0, { MCK_RST, MCK_ST0 }, 0}, { X86::UCOM_FPPr, "fucompp", Convert, { }, 0}, { X86::FXAM, "fxam", Convert, { }, 0}, { X86::XCH_F, "fxch", Convert__regST1, { }, 0}, { X86::XCH_F, "fxch", Convert__Reg1_0, { MCK_RST }, 0}, { X86::FXRSTOR, "fxrstor", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FXRSTOR64, "fxrstorq", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::FXSAVE, "fxsave", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::FXSAVE64, "fxsaveq", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::FXTRACT, "fxtract", Convert, { }, 0}, { X86::FYL2X, "fyl2x", Convert, { }, 0}, { X86::FYL2XP1, "fyl2xp1", Convert, { }, 0}, { X86::GS_PREFIX, "gs", Convert, { }, 0}, { X86::HADDPDrr, "haddpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::HADDPDrm, "haddpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::HADDPSrr, "haddps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::HADDPSrm, "haddps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::HLT, "hlt", Convert, { }, 0}, { X86::HSUBPDrr, "hsubpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::HSUBPDrm, "hsubpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::HSUBPSrr, "hsubps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::HSUBPSrm, "hsubps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::IDIV8r, "idivb", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::IDIV8m, "idivb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IDIV8r, "idivb", Convert__Reg1_0, { MCK_GR8, MCK_AL }, 0}, { X86::IDIV8m, "idivb", Convert__Mem5_0, { MCK_Mem, MCK_AL }, 0}, { X86::IDIV32r, "idivl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::IDIV32m, "idivl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IDIV32r, "idivl", Convert__Reg1_0, { MCK_GR32, MCK_EAX }, 0}, { X86::IDIV32m, "idivl", Convert__Mem5_0, { MCK_Mem, MCK_EAX }, 0}, { X86::IDIV64r, "idivq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::IDIV64m, "idivq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IDIV64r, "idivq", Convert__Reg1_0, { MCK_GR64, MCK_RAX }, 0}, { X86::IDIV64m, "idivq", Convert__Mem5_0, { MCK_Mem, MCK_RAX }, 0}, { X86::IDIV16r, "idivw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::IDIV16m, "idivw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IDIV16r, "idivw", Convert__Reg1_0, { MCK_GR16, MCK_AX }, 0}, { X86::IDIV16m, "idivw", Convert__Mem5_0, { MCK_Mem, MCK_AX }, 0}, { X86::IMUL8r, "imulb", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::IMUL8m, "imulb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IMUL32r, "imull", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::IMUL32m, "imull", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IMUL32rr, "imull", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::IMUL32rri8, "imull", Convert__Reg1_1__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::IMUL32rri, "imull", Convert__Reg1_1__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::IMUL32rm, "imull", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::IMUL32rri8, "imull", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_GR32 }, 0}, { X86::IMUL32rmi8, "imull", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_GR32 }, 0}, { X86::IMUL32rri, "imull", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32, MCK_GR32 }, 0}, { X86::IMUL32rmi, "imull", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_GR32 }, 0}, { X86::IMUL64r, "imulq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::IMUL64m, "imulq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IMUL64rr, "imulq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::IMUL64rri8, "imulq", Convert__Reg1_1__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::IMUL64rri32, "imulq", Convert__Reg1_1__Reg1_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::IMUL64rm, "imulq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::IMUL64rri8, "imulq", Convert__Reg1_2__Reg1_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64, MCK_GR64 }, 0}, { X86::IMUL64rmi8, "imulq", Convert__Reg1_2__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem, MCK_GR64 }, 0}, { X86::IMUL64rri32, "imulq", Convert__Reg1_2__Reg1_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64, MCK_GR64 }, 0}, { X86::IMUL64rmi32, "imulq", Convert__Reg1_2__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem, MCK_GR64 }, 0}, { X86::IMUL16r, "imulw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::IMUL16m, "imulw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::IMUL16rr, "imulw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::IMUL16rri8, "imulw", Convert__Reg1_1__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::IMUL16rri, "imulw", Convert__Reg1_1__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::IMUL16rm, "imulw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::IMUL16rri8, "imulw", Convert__Reg1_2__Reg1_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16, MCK_GR16 }, 0}, { X86::IMUL16rmi8, "imulw", Convert__Reg1_2__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem, MCK_GR16 }, 0}, { X86::IMUL16rri, "imulw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16, MCK_GR16 }, 0}, { X86::IMUL16rmi, "imulw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_GR16 }, 0}, { X86::IN8rr, "inb", Convert, { MCK_DX }, 0}, { X86::IN8ri, "inb", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::IN8rr, "inb", Convert, { MCK_DX, MCK_AL }, 0}, { X86::IN8ri, "inb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::INC8r, "incb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::INC8m, "incb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::INC32r, "incl", Convert__Reg1_0__Tie0, { MCK_GR32 }, Feature_In32BitMode}, { X86::INC64_32r, "incl", Convert__Reg1_0__Tie0, { MCK_GR32 }, Feature_In64BitMode}, { X86::INC32m, "incl", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::INC64_32m, "incl", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::INC64r, "incq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::INC64m, "incq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::INC16r, "incw", Convert__Reg1_0__Tie0, { MCK_GR16 }, Feature_In32BitMode}, { X86::INC64_16r, "incw", Convert__Reg1_0__Tie0, { MCK_GR16 }, Feature_In64BitMode}, { X86::INC16m, "incw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::INC64_16m, "incw", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::IN32rr, "inl", Convert, { MCK_DX }, 0}, { X86::IN32ri, "inl", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::IN32rr, "inl", Convert, { MCK_DX, MCK_EAX }, 0}, { X86::IN32ri, "inl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::IN8, "insb", Convert, { }, 0}, { X86::INSERTPSrr, "insertps", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::INSERTPSrm, "insertps", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::IN32, "insl", Convert, { }, 0}, { X86::IN16, "insw", Convert, { }, 0}, { X86::INT, "int", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::INT3, "int3", Convert, { }, 0}, { X86::INTO, "into", Convert, { }, 0}, { X86::INVD, "invd", Convert, { }, 0}, { X86::INVEPT32, "invept", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::INVEPT64, "invept", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::INVLPG, "invlpg", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::INVVPID32, "invvpid", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::INVVPID64, "invvpid", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::IN16rr, "inw", Convert, { MCK_DX }, 0}, { X86::IN16ri, "inw", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::IN16rr, "inw", Convert, { MCK_DX, MCK_AX }, 0}, { X86::IN16ri, "inw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::IRET32, "iretl", Convert, { }, 0}, { X86::IRET64, "iretq", Convert, { }, Feature_In64BitMode}, { X86::IRET16, "iretw", Convert, { }, 0}, { X86::JA_1, "ja", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JA_4, "ja", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JAE_1, "jae", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JAE_4, "jae", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JB_1, "jb", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JB_4, "jb", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JBE_1, "jbe", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JBE_4, "jbe", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JCXZ, "jcxz", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In32BitMode}, { X86::JE_1, "je", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JE_4, "je", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JECXZ_32, "jecxz", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In32BitMode}, { X86::JECXZ_64, "jecxz", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In64BitMode}, { X86::JG_1, "jg", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JG_4, "jg", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JGE_1, "jge", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JGE_4, "jge", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JL_1, "jl", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JL_4, "jl", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JLE_1, "jle", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JLE_4, "jle", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JMP_1, "jmp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JMP_4, "jmp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::FARJMP32i, "jmp", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::JMP32r, "jmpl", Convert__Reg1_1, { MCK__STAR_, MCK_GR32 }, Feature_In32BitMode}, { X86::JMP32m, "jmpl", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, Feature_In32BitMode}, { X86::FARJMP32i, "jmpl", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::JMP64pcrel32, "jmpq", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JMP64r, "jmpq", Convert__Reg1_1, { MCK__STAR_, MCK_GR64 }, Feature_In64BitMode}, { X86::JMP64m, "jmpq", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, Feature_In64BitMode}, { X86::FARJMP16i, "jmpw", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::JNE_1, "jne", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNE_4, "jne", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNO_1, "jno", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNO_4, "jno", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNP_1, "jnp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNP_4, "jnp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNS_1, "jns", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JNS_4, "jns", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JO_1, "jo", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JO_4, "jo", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JP_1, "jp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JP_4, "jp", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JRCXZ, "jrcxz", Convert__AbsMem1_0, { MCK_AbsMem }, Feature_In64BitMode}, { X86::JS_1, "js", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::JS_4, "js", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::LAHF, "lahf", Convert, { }, 0}, { X86::LAR32rr, "larl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::LAR32rm, "larl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LAR64rr, "larq", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR64 }, 0}, { X86::LAR64rm, "larq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LAR16rr, "larw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::LAR16rm, "larw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::FARCALL32m, "lcall", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARCALL32i, "lcall", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::FARCALL32m, "lcalll", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARCALL32i, "lcalll", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::FARCALL64, "lcallq", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARCALL16m, "lcallw", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARCALL16i, "lcallw", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::LDDQUrm, "lddqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::LDMXCSR, "ldmxcsr", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LDS32rm, "ldsl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LDS16rm, "ldsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LEA32r, "leal", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, Feature_In32BitMode}, { X86::LEA64_32r, "leal", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, Feature_In64BitMode}, { X86::LEA64r, "leaq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LEAVE, "leave", Convert, { }, Feature_In32BitMode}, { X86::LEAVE64, "leave", Convert, { }, Feature_In64BitMode}, { X86::LEA16r, "leaw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LES32rm, "lesl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LES16rm, "lesw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LFENCE, "lfence", Convert, { }, 0}, { X86::LFS32rm, "lfsl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LFS64rm, "lfsq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LFS16rm, "lfsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LGDTm, "lgdt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LGDT16m, "lgdtw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::LGS32rm, "lgsl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LGS64rm, "lgsq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LGS16rm, "lgsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LIDTm, "lidt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LIDT16m, "lidtw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::FARJMP32m, "ljmp", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARJMP32i, "ljmp", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::FARJMP32m, "ljmpl", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARJMP32i, "ljmpl", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::FARJMP64, "ljmpq", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARJMP16m, "ljmpw", Convert__Mem5_1, { MCK__STAR_, MCK_Mem }, 0}, { X86::FARJMP16i, "ljmpw", Convert__Imm1_1__Imm1_0, { MCK_Imm, MCK_Imm }, 0}, { X86::LLDT16r, "lldtw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::LLDT16m, "lldtw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LMSW16r, "lmsww", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::LMSW16m, "lmsww", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LOCK_PREFIX, "lock", Convert, { }, 0}, { X86::LODSB, "lodsb", Convert, { }, 0}, { X86::LODSD, "lodsl", Convert, { }, 0}, { X86::LODSQ, "lodsq", Convert, { }, 0}, { X86::LODSW, "lodsw", Convert, { }, 0}, { X86::LOOP, "loop", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::LOOPE, "loope", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::LOOPNE, "loopne", Convert__AbsMem1_0, { MCK_AbsMem }, 0}, { X86::LRETI, "lret", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::LRETL, "lretl", Convert, { }, 0}, { X86::LRETQ, "lretq", Convert, { }, 0}, { X86::LRETIW, "lretw", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::LSL32rr, "lsll", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::LSL32rm, "lsll", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LSL64rr, "lslq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::LSL64rm, "lslq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LSL16rr, "lslw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::LSL16rm, "lslw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LSS32rm, "lssl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LSS64rm, "lssq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LSS16rm, "lssw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::LTRr, "ltrw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::LTRm, "ltrw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::LZCNT32rr, "lzcntl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::LZCNT32rm, "lzcntl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::LZCNT64rr, "lzcntq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::LZCNT64rm, "lzcntq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::LZCNT16rr, "lzcntw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::LZCNT16rm, "lzcntw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MASKMOVDQU, "maskmovdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MASKMOVDQU64, "maskmovdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_MASKMOVQ, "maskmovq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::MMX_MASKMOVQ64, "maskmovq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, Feature_In64BitMode}, { X86::MAXPDrr, "maxpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MAXPDrm, "maxpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MAXPSrr, "maxps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MAXPSrm, "maxps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MAXSDrr, "maxsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MAXSDrm, "maxsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MAXSSrr, "maxss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MAXSSrm, "maxss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MFENCE, "mfence", Convert, { }, 0}, { X86::MINPDrr, "minpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MINPDrm, "minpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MINPSrr, "minps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MINPSrm, "minps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MINSDrr, "minsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MINSDrm, "minsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MINSSrr, "minss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MINSSrm, "minss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MONITORrrr, "monitor", Convert, { }, 0}, { X86::MONITORrrr, "monitor", Convert, { MCK_EAX, MCK_ECX, MCK_EDX }, Feature_In32BitMode}, { X86::MONITORrrr, "monitor", Convert, { MCK_RAX, MCK_RCX, MCK_RDX }, Feature_In64BitMode}, { X86::MONTMUL, "montmul", Convert, { }, 0}, { X86::MOV32ms, "mov", Convert__Mem5_1__Reg1_0, { MCK_SEGMENT_REG, MCK_Mem }, 0}, { X86::MOV32sm, "mov", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_SEGMENT_REG }, 0}, { X86::MOV64ri, "movabsq", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::FsMOVAPDrr, "movapd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVAPDrr, "movapd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVAPDmr, "movapd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::FsMOVAPDrm, "movapd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVAPDrm, "movapd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsMOVAPSrr, "movaps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVAPSrr, "movaps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVAPSmr, "movaps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::FsMOVAPSrm, "movaps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVAPSrm, "movaps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOV8ao8, "movb", Convert__AbsMem1_1, { MCK_AL, MCK_AbsMem }, Feature_In32BitMode}, { X86::MOV8rr, "movb", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::MOV8mr, "movb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::MOV8ri, "movb", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::MOV8mi, "movb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::MOV8o8a, "movb", Convert__AbsMem1_0, { MCK_AbsMem, MCK_AL }, Feature_In32BitMode}, { X86::MOV8rm, "movb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::MOVBE32mr, "movbel", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::MOVBE32rm, "movbel", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOVBE64mr, "movbeq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::MOVBE64rm, "movbeq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVBE16mr, "movbew", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::MOVBE16rm, "movbew", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MMX_MOVD64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_VR64 }, 0}, { X86::MMX_MOVZDI2PDIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_VR64 }, 0}, { X86::MOVDI2PDIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::MOVDI2SSrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::MOVZDI2PDIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::MMX_MOVD64rrv164, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_VR64 }, 0}, { X86::MMX_MOVD64to64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_VR64 }, 0}, { X86::MOV64toPQIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MOV64toSDrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MOVZQI2PQIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MMX_MOVD64grr, "movd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_GR32 }, 0}, { X86::MMX_MOVD64from64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_GR64 }, 0}, { X86::MMX_MOVD64mr, "movd", Convert__Mem5_1__Reg1_0, { MCK_VR64, MCK_Mem }, 0}, { X86::MOVPDI2DIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::MOVSS2DIrr, "movd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::MOVPQIto64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::MOVSDto64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVPQIto64rr, "movd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, Feature_In64BitMode}, { X86::MOVPDI2DImr, "movd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVSS2DImr, "movd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MMX_MOVD64rm, "movd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MMX_MOVZDI2PDIrm, "movd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MOVDI2PDIrm, "movd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVDI2SSrm, "movd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVZDI2PDIrm, "movd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVDDUPrr, "movddup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVDDUPrm, "movddup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_MOVDQ2Qrr, "movdq2q", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MMX_MOVFR642Qrr, "movdq2q", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR64 }, 0}, { X86::MOVDQArr, "movdqa", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVDQAmr, "movdqa", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVDQArm, "movdqa", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVDQUrr, "movdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVDQUmr, "movdqu", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVDQUrm, "movdqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVHLPSrr, "movhlps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVHPDmr, "movhpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVHPDrm, "movhpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVHPSmr, "movhps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVHPSrm, "movhps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOV32ao32, "movl", Convert__AbsMem1_1, { MCK_EAX, MCK_AbsMem }, Feature_In32BitMode}, { X86::MOV32rr, "movl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::MOV32sr, "movl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_SEGMENT_REG }, 0}, { X86::MOV32dr, "movl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_DEBUG_REG }, 0}, { X86::MOV32cr, "movl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_CONTROL_REG }, 0}, { X86::MOV32mr, "movl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::MOV32rs, "movl", Convert__Reg1_1__Reg1_0, { MCK_SEGMENT_REG, MCK_GR32 }, 0}, { X86::MOV32ms, "movl", Convert__Mem5_1__Reg1_0, { MCK_SEGMENT_REG, MCK_Mem }, 0}, { X86::MOV32rd, "movl", Convert__Reg1_1__Reg1_0, { MCK_DEBUG_REG, MCK_GR32 }, 0}, { X86::MOV32rc, "movl", Convert__Reg1_1__Reg1_0, { MCK_CONTROL_REG, MCK_GR32 }, 0}, { X86::MOV32ri, "movl", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::MOV32mi, "movl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::MOV32o32a, "movl", Convert__AbsMem1_0, { MCK_AbsMem, MCK_EAX }, Feature_In32BitMode}, { X86::MOV32rm, "movl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOV32sm, "movl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_SEGMENT_REG }, 0}, { X86::MOVLHPSrr, "movlhps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVLPDmr, "movlpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVLPDrm, "movlpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVLPSmr, "movlps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVLPSrm, "movlps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVMSKPDrr32, "movmskpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::MOVMSKPDrr64, "movmskpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::MOVMSKPSrr32, "movmskps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::MOVMSKPSrr64, "movmskps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::MOVNTDQ_64mr, "movntdq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVNTDQmr, "movntdq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVNTDQArm, "movntdqa", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVNTImr, "movntil", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::MOVNTI_64mr, "movntiq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::MOVNTPDmr, "movntpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVNTPSmr, "movntps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MMX_MOVNTQmr, "movntq", Convert__Mem5_1__Reg1_0, { MCK_VR64, MCK_Mem }, 0}, { X86::MOV64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::MMX_MOVD64to64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_VR64 }, 0}, { X86::MOV64toPQIrr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MOV64toSDrr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::VMOVZQI2PQIrr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MOVZQI2PQIrr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::MOV64sr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_SEGMENT_REG }, 0}, { X86::MOV64dr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_DEBUG_REG }, 0}, { X86::MOV64cr, "movq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_CONTROL_REG }, 0}, { X86::MOV64mr, "movq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::MMX_MOVD64from64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_GR64 }, 0}, { X86::MMX_MOVQ64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::MMX_MOVQ64mr, "movq", Convert__Mem5_1__Reg1_0, { MCK_VR64, MCK_Mem }, 0}, { X86::MOVPQIto64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::MOVSDto64rr, "movq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::MOVQxrxr, "movq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVZPQILo2PQIrr, "movq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVLQ128mr, "movq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVPQI2QImr, "movq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVSDto64mr, "movq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOV64rs, "movq", Convert__Reg1_1__Reg1_0, { MCK_SEGMENT_REG, MCK_GR64 }, 0}, { X86::MOV64ms, "movq", Convert__Mem5_1__Reg1_0, { MCK_SEGMENT_REG, MCK_Mem }, 0}, { X86::MOV64rd, "movq", Convert__Reg1_1__Reg1_0, { MCK_DEBUG_REG, MCK_GR64 }, 0}, { X86::MOV64rc, "movq", Convert__Reg1_1__Reg1_0, { MCK_CONTROL_REG, MCK_GR64 }, 0}, { X86::MOV64ri32, "movq", Convert__Reg1_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::MOV64mi32, "movq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::MOV64ri, "movq", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::MOV64rm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MMX_MOVQ64rm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MOV64toSDrm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVQI2PQIrm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVZPQILo2PQIrm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVZQI2PQIrm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOV64sm, "movq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_SEGMENT_REG }, 0}, { X86::MMX_MOVQ2DQrr, "movq2dq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_FR32 }, 0}, { X86::MMX_MOVQ2FR64rr, "movq2dq", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_FR32 }, 0}, { X86::MOVSB, "movsb", Convert, { }, 0}, { X86::MOVSX32rr8, "movsbl", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR32 }, 0}, { X86::MOVSX32rm8, "movsbl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOVSX64rr8, "movsbq", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR64 }, 0}, { X86::MOVSX64rm8, "movsbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVSX16rr8, "movsbw", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR16 }, 0}, { X86::MOVSX16rm8, "movsbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MOVSD, "movsd", Convert, { }, 0}, { X86::MOVSDrr, "movsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVSDmr, "movsd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVSDrm, "movsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVSHDUPrr, "movshdup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVSHDUPrm, "movshdup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVSD, "movsl", Convert, { }, 0}, { X86::MOVSLDUPrr, "movsldup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVSLDUPrm, "movsldup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVSX64rr32, "movslq", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR64 }, 0}, { X86::MOVSX64rm32, "movslq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVSQ, "movsq", Convert, { }, 0}, { X86::MOVSSrr, "movss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVSSmr, "movss", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVSSrm, "movss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVSW, "movsw", Convert, { }, 0}, { X86::MOVSX32rr16, "movswl", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR32 }, 0}, { X86::MOVSX32rm16, "movswl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOVSX64rr16, "movswq", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR64 }, 0}, { X86::MOVSX64rm16, "movswq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVSX16rr8, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR16 }, 0}, { X86::MOVSX32rr8, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR32 }, 0}, { X86::MOVSX64rr8, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR64 }, 0}, { X86::MOVSX32rr16, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR32 }, 0}, { X86::MOVSX64rr16, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR64 }, 0}, { X86::MOVSX64rr32, "movsx", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR64 }, 0}, { X86::MOVSX16rm8, "movsx", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MOVUPDrr, "movupd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVUPDmr, "movupd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVUPDrm, "movupd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOVUPSrr, "movups", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MOVUPSmr, "movups", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::MOVUPSrm, "movups", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MOV16ao16, "movw", Convert__AbsMem1_1, { MCK_AX, MCK_AbsMem }, Feature_In32BitMode}, { X86::MOV16rr, "movw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::MOV16sr, "movw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_SEGMENT_REG }, 0}, { X86::MOV16mr, "movw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::MOV16rs, "movw", Convert__Reg1_1__Reg1_0, { MCK_SEGMENT_REG, MCK_GR16 }, 0}, { X86::MOV16ms, "movw", Convert__Mem5_1__Reg1_0, { MCK_SEGMENT_REG, MCK_Mem }, 0}, { X86::MOV16ri, "movw", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::MOV16mi, "movw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::MOV16o16a, "movw", Convert__AbsMem1_0, { MCK_AbsMem, MCK_AX }, Feature_In32BitMode}, { X86::MOV16rm, "movw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MOV16sm, "movw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_SEGMENT_REG }, 0}, { X86::MOVZX32_NOREXrr8, "movzbl", Convert__Reg1_1__Reg1_0, { MCK_GR8_NOREX, MCK_GR32_NOREX }, 0}, { X86::MOVZX32rr8, "movzbl", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR32 }, 0}, { X86::MOVZX32_NOREXrm8, "movzbl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32_NOREX }, 0}, { X86::MOVZX32rm8, "movzbl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOVZX64rr8_Q, "movzbq", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR64 }, 0}, { X86::MOVZX64rm8_Q, "movzbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVZX16rr8, "movzbw", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR16 }, 0}, { X86::MOVZX16rm8, "movzbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MOVZX32rr16, "movzwl", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR32 }, 0}, { X86::MOVZX32rm16, "movzwl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::MOVZX64rr16_Q, "movzwq", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR64 }, 0}, { X86::MOVZX64rm16_Q, "movzwq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::MOVZX16rr8, "movzx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR16 }, 0}, { X86::MOVZX32rr8, "movzx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR32 }, 0}, { X86::MOVZX64rr8_Q, "movzx", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR64 }, 0}, { X86::MOVZX32rr16, "movzx", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR32 }, 0}, { X86::MOVZX64rr16_Q, "movzx", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR64 }, 0}, { X86::MOVZX16rm8, "movzx", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::MPSADBWrri, "mpsadbw", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::MPSADBWrmi, "mpsadbw", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::MUL8r, "mulb", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::MUL8m, "mulb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MUL32r, "mull", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::MUL32m, "mull", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MULPDrr, "mulpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MULPDrm, "mulpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MULPSrr, "mulps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MULPSrm, "mulps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MUL64r, "mulq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::MUL64m, "mulq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MULSDrr, "mulsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MULSDrm, "mulsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MULSSrr, "mulss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MULSSrm, "mulss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MUL16r, "mulw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::MUL16m, "mulw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MWAITrr, "mwait", Convert, { }, 0}, { X86::MWAITrr, "mwait", Convert, { MCK_EAX, MCK_ECX }, Feature_In32BitMode}, { X86::MWAITrr, "mwait", Convert, { MCK_RAX, MCK_RCX }, Feature_In64BitMode}, { X86::NEG8r, "negb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::NEG8m, "negb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NEG32r, "negl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::NEG32m, "negl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NEG64r, "negq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::NEG64m, "negq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NEG16r, "negw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::NEG16m, "negw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOOP, "nop", Convert, { }, 0}, { X86::NOOPL, "nopl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOOPW, "nopw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOT8r, "notb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::NOT8m, "notb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOT32r, "notl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::NOT32m, "notl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOT64r, "notq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::NOT64m, "notq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::NOT16r, "notw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::NOT16m, "notw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::OR8rr, "orb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::OR8mr, "orb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::OR8i8, "orb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::OR8ri, "orb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::OR8mi, "orb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::OR8rm, "orb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::OR32rr, "orl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::OR32mr, "orl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::OR32ri8, "orl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::OR32mi8, "orl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::OR32i32, "orl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::OR32ri, "orl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::OR32mi, "orl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::OR32rm, "orl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::FsORPDrr, "orpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ORPDrr, "orpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsORPDrm, "orpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ORPDrm, "orpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsORPSrr, "orps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::ORPSrr, "orps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsORPSrm, "orps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::ORPSrm, "orps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::OR64rr, "orq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::OR64mr, "orq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::OR64ri8, "orq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::OR64mi8, "orq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::OR64i32, "orq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::OR64ri32, "orq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::OR64mi32, "orq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::OR64rm, "orq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::OR16rr, "orw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::OR16mr, "orw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::OR16ri8, "orw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::OR16mi8, "orw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::OR16i16, "orw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::OR16ri, "orw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::OR16mi, "orw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::OR16rm, "orw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::OUT8rr, "outb", Convert, { MCK_DX }, 0}, { X86::OUT8ir, "outb", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::OUT8rr, "outb", Convert, { MCK_AL, MCK_DX }, 0}, { X86::OUT8ir, "outb", Convert__Imm1_1, { MCK_AL, MCK_Imm }, 0}, { X86::OUT32rr, "outl", Convert, { MCK_DX }, 0}, { X86::OUT32ir, "outl", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::OUT32rr, "outl", Convert, { MCK_EAX, MCK_DX }, 0}, { X86::OUT32ir, "outl", Convert__Imm1_1, { MCK_EAX, MCK_Imm }, 0}, { X86::OUTSB, "outsb", Convert, { }, 0}, { X86::OUTSD, "outsl", Convert, { }, 0}, { X86::OUTSW, "outsw", Convert, { }, 0}, { X86::OUT16rr, "outw", Convert, { MCK_DX }, 0}, { X86::OUT16ir, "outw", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::OUT16rr, "outw", Convert, { MCK_AX, MCK_DX }, 0}, { X86::OUT16ir, "outw", Convert__Imm1_1, { MCK_AX, MCK_Imm }, 0}, { X86::MMX_PABSBrr64, "pabsb", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PABSBrr128, "pabsb", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PABSBrm64, "pabsb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PABSBrm128, "pabsb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PABSDrr64, "pabsd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PABSDrr128, "pabsd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PABSDrm64, "pabsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PABSDrm128, "pabsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PABSWrr64, "pabsw", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PABSWrr128, "pabsw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PABSWrm64, "pabsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PABSWrm128, "pabsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PACKSSDWirr, "packssdw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PACKSSDWrr, "packssdw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PACKSSDWirm, "packssdw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PACKSSDWrm, "packssdw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PACKSSWBirr, "packsswb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PACKSSWBrr, "packsswb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PACKSSWBirm, "packsswb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PACKSSWBrm, "packsswb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PACKUSDWrr, "packusdw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PACKUSDWrm, "packusdw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PACKUSWBirr, "packuswb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PACKUSWBrr, "packuswb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PACKUSWBirm, "packuswb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PACKUSWBrm, "packuswb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDBirr, "paddb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDBrr, "paddb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDBirm, "paddb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDBrm, "paddb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDDirr, "paddd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDDrr, "paddd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDDirm, "paddd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDDrm, "paddd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDQirr, "paddq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDQrr, "paddq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDQirm, "paddq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDQrm, "paddq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDSBirr, "paddsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDSBrr, "paddsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDSBirm, "paddsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDSBrm, "paddsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDSWirr, "paddsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDSWrr, "paddsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDSWirm, "paddsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDSWrm, "paddsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDUSBirr, "paddusb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDUSBrr, "paddusb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDUSBirm, "paddusb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDUSBrm, "paddusb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDUSWirr, "paddusw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDUSWrr, "paddusw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDUSWirm, "paddusw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDUSWrm, "paddusw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PADDWirr, "paddw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PADDWrr, "paddw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PADDWirm, "paddw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PADDWrm, "paddw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PALIGNR64irr, "palignr", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR64, MCK_VR64 }, 0}, { X86::PALIGNR128rr, "palignr", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PALIGNR64irm, "palignr", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR64 }, 0}, { X86::PALIGNR128rm, "palignr", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PANDirr, "pand", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PANDrr, "pand", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PANDirm, "pand", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PANDrm, "pand", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PANDNirr, "pandn", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PANDNrr, "pandn", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PANDNirm, "pandn", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PANDNrm, "pandn", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PAUSE, "pause", Convert, { }, 0}, { X86::MMX_PAVGBirr, "pavgb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PAVGBrr, "pavgb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PAVGBirm, "pavgb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PAVGBrm, "pavgb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PAVGUSBrr, "pavgusb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PAVGUSBrm, "pavgusb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MMX_PAVGWirr, "pavgw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PAVGWrr, "pavgw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PAVGWirm, "pavgw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PAVGWrm, "pavgw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PBLENDVBrr0, "pblendvb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PBLENDVBrm0, "pblendvb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PBLENDWrri, "pblendw", Convert__Reg1_2__Tie0__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32 }, 0}, { X86::PBLENDWrmi, "pblendw", Convert__Reg1_2__Tie0__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32 }, 0}, { X86::PCLMULQDQrr, "pclmulhqhqdq", Convert__Reg1_1__Tie0__Reg1_0__imm17, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCLMULQDQrm, "pclmulhqhqdq", Convert__Reg1_1__Tie0__Mem5_0__imm17, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCLMULQDQrr, "pclmulhqlqdq", Convert__Reg1_1__Tie0__Reg1_0__imm1, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCLMULQDQrm, "pclmulhqlqdq", Convert__Reg1_1__Tie0__Mem5_0__imm1, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCLMULQDQrr, "pclmullqhqdq", Convert__Reg1_1__Tie0__Reg1_0__imm16, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCLMULQDQrm, "pclmullqhqdq", Convert__Reg1_1__Tie0__Mem5_0__imm16, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCLMULQDQrr, "pclmullqlqdq", Convert__Reg1_1__Tie0__Reg1_0__imm0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCLMULQDQrm, "pclmullqlqdq", Convert__Reg1_1__Tie0__Mem5_0__imm0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCLMULQDQrr, "pclmulqdq", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCLMULQDQrm, "pclmulqdq", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPEQBirr, "pcmpeqb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPEQBrr, "pcmpeqb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPEQBirm, "pcmpeqb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPEQBrm, "pcmpeqb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPEQDirr, "pcmpeqd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPEQDrr, "pcmpeqd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPEQDirm, "pcmpeqd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPEQDrm, "pcmpeqd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPEQQrr, "pcmpeqq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPEQQrm, "pcmpeqq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPEQWirr, "pcmpeqw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPEQWrr, "pcmpeqw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPEQWirm, "pcmpeqw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPEQWrm, "pcmpeqw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRIArr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRICrr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRIOrr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRISrr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRIZrr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRIrr, "pcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRIArm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRICrm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRIOrm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRISrm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRIZrm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRIrm, "pcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPESTRM128rr, "pcmpestrm", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPESTRM128rm, "pcmpestrm", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPGTBirr, "pcmpgtb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPGTBrr, "pcmpgtb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPGTBirm, "pcmpgtb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPGTBrm, "pcmpgtb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPGTDirr, "pcmpgtd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPGTDrr, "pcmpgtd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPGTDirm, "pcmpgtd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPGTDrm, "pcmpgtd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPGTQrr, "pcmpgtq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPGTQrm, "pcmpgtq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PCMPGTWirr, "pcmpgtw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PCMPGTWrr, "pcmpgtw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PCMPGTWirm, "pcmpgtw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PCMPGTWrm, "pcmpgtw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRIArr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRICrr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRIOrr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRISrr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRIZrr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRIrr, "pcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRIArm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRICrm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRIOrm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRISrm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRIZrm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRIrm, "pcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PCMPISTRM128rr, "pcmpistrm", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PCMPISTRM128rm, "pcmpistrm", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PEXTRBrr, "pextrb", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::PEXTRBmr, "pextrb", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::PEXTRDrr, "pextrd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::PEXTRDmr, "pextrd", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::PEXTRQrr, "pextrq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR64 }, 0}, { X86::PEXTRQmr, "pextrq", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::MMX_PEXTRWirri, "pextrw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64, MCK_GR32 }, 0}, { X86::PEXTRWri, "pextrw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::PEXTRWmr, "pextrw", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::PF2IDrr, "pf2id", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PF2IDrm, "pf2id", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PF2IWrr, "pf2iw", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PF2IWrm, "pf2iw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFACCrr, "pfacc", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFACCrm, "pfacc", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFADDrr, "pfadd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFADDrm, "pfadd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFCMPEQrr, "pfcmpeq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFCMPEQrm, "pfcmpeq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFCMPGErr, "pfcmpge", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFCMPGErm, "pfcmpge", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFCMPGTrr, "pfcmpgt", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFCMPGTrm, "pfcmpgt", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFMAXrr, "pfmax", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFMAXrm, "pfmax", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFMINrr, "pfmin", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFMINrm, "pfmin", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFMULrr, "pfmul", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFMULrm, "pfmul", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFNACCrr, "pfnacc", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFNACCrm, "pfnacc", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFPNACCrr, "pfpnacc", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFPNACCrm, "pfpnacc", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFRCPrr, "pfrcp", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFRCPrm, "pfrcp", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFRCPIT1rr, "pfrcpit1", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFRCPIT1rm, "pfrcpit1", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFRCPIT2rr, "pfrcpit2", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFRCPIT2rm, "pfrcpit2", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFRSQIT1rr, "pfrsqit1", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFRSQIT1rm, "pfrsqit1", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFRSQRTrr, "pfrsqrt", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFRSQRTrm, "pfrsqrt", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFSUBrr, "pfsub", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFSUBrm, "pfsub", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PFSUBRrr, "pfsubr", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PFSUBRrm, "pfsubr", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MMX_PHADDrr64, "phaddd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHADDDrr128, "phaddd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHADDrm64, "phaddd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHADDDrm128, "phaddd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PHADDSWrr64, "phaddsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHADDSWrr128, "phaddsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHADDSWrm64, "phaddsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHADDSWrm128, "phaddsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PHADDWrr64, "phaddw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHADDWrr128, "phaddw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHADDWrm64, "phaddw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHADDWrm128, "phaddw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PHMINPOSUWrr128, "phminposuw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PHMINPOSUWrm128, "phminposuw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PHSUBDrr64, "phsubd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHSUBDrr128, "phsubd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHSUBDrm64, "phsubd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHSUBDrm128, "phsubd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PHSUBSWrr64, "phsubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHSUBSWrr128, "phsubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHSUBSWrm64, "phsubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHSUBSWrm128, "phsubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PHSUBWrr64, "phsubw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PHSUBWrr128, "phsubw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PHSUBWrm64, "phsubw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PHSUBWrm128, "phsubw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PI2FDrr, "pi2fd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PI2FDrm, "pi2fd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PI2FWrr, "pi2fw", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PI2FWrm, "pi2fw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PINSRBrr, "pinsrb", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32 }, 0}, { X86::PINSRBrm, "pinsrb", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::PINSRDrr, "pinsrd", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32 }, 0}, { X86::PINSRDrm, "pinsrd", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::PINSRQrr, "pinsrq", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR64, MCK_FR32 }, 0}, { X86::PINSRQrm, "pinsrq", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PINSRWirri, "pinsrw", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_VR64 }, 0}, { X86::PINSRWrri, "pinsrw", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32 }, 0}, { X86::MMX_PINSRWirmi, "pinsrw", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_VR64 }, 0}, { X86::PINSRWrmi, "pinsrw", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMADDUBSWrr64, "pmaddubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMADDUBSWrr128, "pmaddubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMADDUBSWrm64, "pmaddubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMADDUBSWrm128, "pmaddubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMADDWDirr, "pmaddwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMADDWDrr, "pmaddwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMADDWDirm, "pmaddwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMADDWDrm, "pmaddwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMAXSBrr, "pmaxsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMAXSBrm, "pmaxsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMAXSDrr, "pmaxsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMAXSDrm, "pmaxsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMAXSWirr, "pmaxsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMAXSWrr, "pmaxsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMAXSWirm, "pmaxsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMAXSWrm, "pmaxsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMAXUBirr, "pmaxub", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMAXUBrr, "pmaxub", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMAXUBirm, "pmaxub", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMAXUBrm, "pmaxub", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMAXUDrr, "pmaxud", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMAXUDrm, "pmaxud", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMAXUWrr, "pmaxuw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMAXUWrm, "pmaxuw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMINSBrr, "pminsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMINSBrm, "pminsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMINSDrr, "pminsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMINSDrm, "pminsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMINSWirr, "pminsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMINSWrr, "pminsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMINSWirm, "pminsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMINSWrm, "pminsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMINUBirr, "pminub", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMINUBrr, "pminub", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMINUBirm, "pminub", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMINUBrm, "pminub", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMINUDrr, "pminud", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMINUDrm, "pminud", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMINUWrr, "pminuw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMINUWrm, "pminuw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMOVMSKBrr, "pmovmskb", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_GR32 }, 0}, { X86::PMOVMSKBrr, "pmovmskb", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::PMOVSXBDrr, "pmovsxbd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXBDrm, "pmovsxbd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVSXBQrr, "pmovsxbq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXBQrm, "pmovsxbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVSXBWrr, "pmovsxbw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXBWrm, "pmovsxbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVSXDQrr, "pmovsxdq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXDQrm, "pmovsxdq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVSXWDrr, "pmovsxwd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXWDrm, "pmovsxwd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVSXWQrr, "pmovsxwq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVSXWQrm, "pmovsxwq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXBDrr, "pmovzxbd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXBDrm, "pmovzxbd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXBQrr, "pmovzxbq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXBQrm, "pmovzxbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXBWrr, "pmovzxbw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXBWrm, "pmovzxbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXDQrr, "pmovzxdq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXDQrm, "pmovzxdq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXWDrr, "pmovzxwd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXWDrm, "pmovzxwd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMOVZXWQrr, "pmovzxwq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMOVZXWQrm, "pmovzxwq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMULDQrr, "pmuldq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMULDQrm, "pmuldq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMULHRSWrr64, "pmulhrsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULHRSWrr128, "pmulhrsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMULHRSWrm64, "pmulhrsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMULHRSWrm128, "pmulhrsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMULHRWrr, "pmulhrw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULHRWrm, "pmulhrw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::MMX_PMULHUWirr, "pmulhuw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULHUWrr, "pmulhuw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMULHUWirm, "pmulhuw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMULHUWrm, "pmulhuw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMULHWirr, "pmulhw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULHWrr, "pmulhw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMULHWirm, "pmulhw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMULHWrm, "pmulhw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PMULLDrr, "pmulld", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PMULLDrm, "pmulld", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMULLWirr, "pmullw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULLWrr, "pmullw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMULLWirm, "pmullw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMULLWrm, "pmullw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PMULUDQirr, "pmuludq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PMULUDQrr, "pmuludq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PMULUDQirm, "pmuludq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PMULUDQrm, "pmuludq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::POPA32, "popal", Convert, { }, Feature_In32BitMode}, { X86::POPCNT32rr, "popcntl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::POPCNT32rm, "popcntl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::POPCNT64rr, "popcntq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::POPCNT64rm, "popcntq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::POPCNT16rr, "popcntw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::POPCNT16rm, "popcntw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::POPF32, "popfl", Convert, { }, Feature_In32BitMode}, { X86::POPF64, "popfq", Convert, { }, Feature_In64BitMode}, { X86::POPF16, "popfw", Convert, { }, 0}, { X86::POP32r, "popl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::POP32rmr, "popl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::POPDS32, "popl", Convert, { MCK_DS }, Feature_In32BitMode}, { X86::POPSS32, "popl", Convert, { MCK_SS }, Feature_In32BitMode}, { X86::POPES32, "popl", Convert, { MCK_ES }, Feature_In32BitMode}, { X86::POPFS32, "popl", Convert, { MCK_FS }, Feature_In32BitMode}, { X86::POPGS32, "popl", Convert, { MCK_GS }, Feature_In32BitMode}, { X86::POP32rmm, "popl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::POP64r, "popq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::POP64rmr, "popq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::POPFS64, "popq", Convert, { MCK_FS }, 0}, { X86::POPGS64, "popq", Convert, { MCK_GS }, 0}, { X86::POP64rmm, "popq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::POP16r, "popw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::POP16rmr, "popw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::POPDS16, "popw", Convert, { MCK_DS }, Feature_In32BitMode}, { X86::POPSS16, "popw", Convert, { MCK_SS }, Feature_In32BitMode}, { X86::POPES16, "popw", Convert, { MCK_ES }, Feature_In32BitMode}, { X86::POPFS16, "popw", Convert, { MCK_FS }, 0}, { X86::POPGS16, "popw", Convert, { MCK_GS }, 0}, { X86::POP16rmm, "popw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MMX_PORirr, "por", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PORrr, "por", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PORirm, "por", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PORrm, "por", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PREFETCH, "prefetch", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PREFETCHNTA, "prefetchnta", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PREFETCHT0, "prefetcht0", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PREFETCHT1, "prefetcht1", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PREFETCHT2, "prefetcht2", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PREFETCHW, "prefetchw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MMX_PSADBWirr, "psadbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSADBWrr, "psadbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSADBWirm, "psadbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSADBWrm, "psadbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSHUFBrr64, "pshufb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSHUFBrr128, "pshufb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSHUFBrm64, "pshufb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSHUFBrm128, "pshufb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PSHUFDri, "pshufd", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PSHUFDmi, "pshufd", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PSHUFHWri, "pshufhw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PSHUFHWmi, "pshufhw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::PSHUFLWri, "pshuflw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::PSHUFLWmi, "pshuflw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSHUFWri, "pshufw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR64, MCK_VR64 }, 0}, { X86::MMX_PSHUFWmi, "pshufw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR64 }, 0}, { X86::MMX_PSIGNBrr64, "psignb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSIGNBrr128, "psignb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSIGNBrm64, "psignb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSIGNBrm128, "psignb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSIGNDrr64, "psignd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSIGNDrr128, "psignd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSIGNDrm64, "psignd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSIGNDrm128, "psignd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSIGNWrr64, "psignw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSIGNWrr128, "psignw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSIGNWrm64, "psignw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSIGNWrm128, "psignw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSLLDrr, "pslld", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSLLDrr, "pslld", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSLLDri, "pslld", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSLLDri, "pslld", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSLLDrm, "pslld", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSLLDrm, "pslld", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PSLLDQri, "pslldq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSLLQrr, "psllq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSLLQrr, "psllq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSLLQri, "psllq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSLLQri, "psllq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSLLQrm, "psllq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSLLQrm, "psllq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSLLWrr, "psllw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSLLWrr, "psllw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSLLWri, "psllw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSLLWri, "psllw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSLLWrm, "psllw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSLLWrm, "psllw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSRADrr, "psrad", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSRADrr, "psrad", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSRADri, "psrad", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSRADri, "psrad", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRADrm, "psrad", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSRADrm, "psrad", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSRAWrr, "psraw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSRAWrr, "psraw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSRAWri, "psraw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSRAWri, "psraw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRAWrm, "psraw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSRAWrm, "psraw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSRLDrr, "psrld", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSRLDrr, "psrld", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSRLDri, "psrld", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSRLDri, "psrld", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRLDrm, "psrld", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSRLDrm, "psrld", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PSRLDQri, "psrldq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRLQrr, "psrlq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSRLQrr, "psrlq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSRLQri, "psrlq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSRLQri, "psrlq", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRLQrm, "psrlq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSRLQrm, "psrlq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSRLWrr, "psrlw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSRLWrr, "psrlw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSRLWri, "psrlw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR64 }, 0}, { X86::PSRLWri, "psrlw", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32 }, 0}, { X86::MMX_PSRLWrm, "psrlw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSRLWrm, "psrlw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBBirr, "psubb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBBrr, "psubb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBBirm, "psubb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBBrm, "psubb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBDirr, "psubd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBDrr, "psubd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBDirm, "psubd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBDrm, "psubd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBQirr, "psubq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBQrr, "psubq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBQirm, "psubq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBQrm, "psubq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBSBirr, "psubsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBSBrr, "psubsb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBSBirm, "psubsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBSBrm, "psubsb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBSWirr, "psubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBSWrr, "psubsw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBSWirm, "psubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBSWrm, "psubsw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBUSBirr, "psubusb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBUSBrr, "psubusb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBUSBirm, "psubusb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBUSBrm, "psubusb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBUSWirr, "psubusw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBUSWrr, "psubusw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBUSWirm, "psubusw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBUSWrm, "psubusw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PSUBWirr, "psubw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSUBWrr, "psubw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PSUBWirm, "psubw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PSUBWrm, "psubw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PSWAPDrr, "pswapd", Convert__Reg1_1__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PSWAPDrm, "pswapd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PTESTrr, "ptest", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PTESTrm, "ptest", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHBWirr, "punpckhbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKHBWrr, "punpckhbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHBWirm, "punpckhbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKHBWrm, "punpckhbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHDQirr, "punpckhdq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKHDQrr, "punpckhdq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHDQirm, "punpckhdq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKHDQrm, "punpckhdq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PUNPCKHQDQrr, "punpckhqdq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PUNPCKHQDQrm, "punpckhqdq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHWDirr, "punpckhwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKHWDrr, "punpckhwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKHWDirm, "punpckhwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKHWDrm, "punpckhwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLBWirr, "punpcklbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKLBWrr, "punpcklbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLBWirm, "punpcklbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKLBWrm, "punpcklbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLDQirr, "punpckldq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKLDQrr, "punpckldq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLDQirm, "punpckldq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKLDQrm, "punpckldq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PUNPCKLQDQrr, "punpcklqdq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::PUNPCKLQDQrm, "punpcklqdq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLWDirr, "punpcklwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PUNPCKLWDrr, "punpcklwd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PUNPCKLWDirm, "punpcklwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PUNPCKLWDrm, "punpcklwd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::PUSHA32, "pushal", Convert, { }, Feature_In32BitMode}, { X86::PUSHF32, "pushfl", Convert, { }, Feature_In32BitMode}, { X86::PUSHF64, "pushfq", Convert, { }, Feature_In64BitMode}, { X86::PUSHF16, "pushfw", Convert, { }, 0}, { X86::PUSH32r, "pushl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::PUSH32rmr, "pushl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::PUSHCS32, "pushl", Convert, { MCK_CS }, Feature_In32BitMode}, { X86::PUSHDS32, "pushl", Convert, { MCK_DS }, Feature_In32BitMode}, { X86::PUSHSS32, "pushl", Convert, { MCK_SS }, Feature_In32BitMode}, { X86::PUSHES32, "pushl", Convert, { MCK_ES }, Feature_In32BitMode}, { X86::PUSHFS32, "pushl", Convert, { MCK_FS }, Feature_In32BitMode}, { X86::PUSHGS32, "pushl", Convert, { MCK_GS }, Feature_In32BitMode}, { X86::PUSHi8, "pushl", Convert__ImmSExti32i81_0, { MCK_ImmSExti32i8 }, 0}, { X86::PUSHi32, "pushl", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::PUSH32rmm, "pushl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PUSH64r, "pushq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::PUSH64rmr, "pushq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::PUSHFS64, "pushq", Convert, { MCK_FS }, 0}, { X86::PUSHGS64, "pushq", Convert, { MCK_GS }, 0}, { X86::PUSH64i8, "pushq", Convert__ImmSExti64i81_0, { MCK_ImmSExti64i8 }, 0}, { X86::PUSH64i32, "pushq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32 }, 0}, { X86::PUSH64i16, "pushq", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::PUSH64rmm, "pushq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::PUSH16r, "pushw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::PUSH16rmr, "pushw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::PUSHCS16, "pushw", Convert, { MCK_CS }, Feature_In32BitMode}, { X86::PUSHDS16, "pushw", Convert, { MCK_DS }, Feature_In32BitMode}, { X86::PUSHSS16, "pushw", Convert, { MCK_SS }, Feature_In32BitMode}, { X86::PUSHES16, "pushw", Convert, { MCK_ES }, Feature_In32BitMode}, { X86::PUSHFS16, "pushw", Convert, { MCK_FS }, 0}, { X86::PUSHGS16, "pushw", Convert, { MCK_GS }, 0}, { X86::PUSHi16, "pushw", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::PUSH16rmm, "pushw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::MMX_PXORirr, "pxor", Convert__Reg1_1__Tie0__Reg1_0, { MCK_VR64, MCK_VR64 }, 0}, { X86::PXORrr, "pxor", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::MMX_PXORirm, "pxor", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_VR64 }, 0}, { X86::PXORrm, "pxor", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::RCL8r1, "rclb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::RCL8m1, "rclb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCL8rCL, "rclb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::RCL8mCL, "rclb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCL8ri, "rclb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::RCL8mi, "rclb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCL32r1, "rcll", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::RCL32m1, "rcll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCL32rCL, "rcll", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::RCL32mCL, "rcll", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCL32ri, "rcll", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::RCL32mi, "rcll", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCL64r1, "rclq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::RCL64m1, "rclq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCL64rCL, "rclq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::RCL64mCL, "rclq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCL64ri, "rclq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::RCL64mi, "rclq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCL16r1, "rclw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::RCL16m1, "rclw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCL16rCL, "rclw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::RCL16mCL, "rclw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCL16ri, "rclw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::RCL16mi, "rclw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCPPSr, "rcpps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::RCPPSm, "rcpps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::RCPSSr, "rcpss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::RCPSSm, "rcpss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::RCR8r1, "rcrb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::RCR8m1, "rcrb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCR8rCL, "rcrb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::RCR8mCL, "rcrb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCR8ri, "rcrb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::RCR8mi, "rcrb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCR32r1, "rcrl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::RCR32m1, "rcrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCR32rCL, "rcrl", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::RCR32mCL, "rcrl", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCR32ri, "rcrl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::RCR32mi, "rcrl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCR64r1, "rcrq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::RCR64m1, "rcrq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCR64rCL, "rcrq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::RCR64mCL, "rcrq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCR64ri, "rcrq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::RCR64mi, "rcrq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RCR16r1, "rcrw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::RCR16m1, "rcrw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::RCR16rCL, "rcrw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::RCR16mCL, "rcrw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::RCR16ri, "rcrw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::RCR16mi, "rcrw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::RDFSBASE, "rdfsbasel", Convert__Reg1_0, { MCK_GR32 }, Feature_In64BitMode}, { X86::RDFSBASE64, "rdfsbaseq", Convert__Reg1_0, { MCK_GR64 }, Feature_In64BitMode}, { X86::RDGSBASE, "rdgsbasel", Convert__Reg1_0, { MCK_GR32 }, Feature_In64BitMode}, { X86::RDGSBASE64, "rdgsbaseq", Convert__Reg1_0, { MCK_GR64 }, Feature_In64BitMode}, { X86::RDMSR, "rdmsr", Convert, { }, 0}, { X86::RDPMC, "rdpmc", Convert, { }, 0}, { X86::RDRAND32r, "rdrandl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::RDRAND64r, "rdrandq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::RDRAND16r, "rdrandw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::RDTSC, "rdtsc", Convert, { }, 0}, { X86::RDTSCP, "rdtscp", Convert, { }, 0}, { X86::REP_PREFIX, "rep", Convert, { }, 0}, { X86::REPNE_PREFIX, "repne", Convert, { }, 0}, { X86::RET, "ret", Convert, { }, 0}, { X86::RETI, "ret", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::RETIW, "retw", Convert__Imm1_0, { MCK_Imm }, 0}, { X86::REX64_PREFIX, "rex64", Convert, { }, 0}, { X86::ROL8r1, "rolb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::ROL8m1, "rolb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROL8rCL, "rolb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::ROL8mCL, "rolb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROL8ri, "rolb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::ROL8mi, "rolb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROL32r1, "roll", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::ROL32m1, "roll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROL32rCL, "roll", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::ROL32mCL, "roll", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROL32ri, "roll", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::ROL32mi, "roll", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROL64r1, "rolq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::ROL64m1, "rolq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROL64rCL, "rolq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::ROL64mCL, "rolq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROL64ri, "rolq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::ROL64mi, "rolq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROL16r1, "rolw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::ROL16m1, "rolw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROL16rCL, "rolw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::ROL16mCL, "rolw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROL16ri, "rolw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::ROL16mi, "rolw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROR8r1, "rorb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::ROR8m1, "rorb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROR8rCL, "rorb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::ROR8mCL, "rorb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROR8ri, "rorb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::ROR8mi, "rorb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROR32r1, "rorl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::ROR32m1, "rorl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROR32rCL, "rorl", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::ROR32mCL, "rorl", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROR32ri, "rorl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::ROR32mi, "rorl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROR64r1, "rorq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::ROR64m1, "rorq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROR64rCL, "rorq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::ROR64mCL, "rorq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROR64ri, "rorq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::ROR64mi, "rorq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROR16r1, "rorw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::ROR16m1, "rorw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::ROR16rCL, "rorw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::ROR16mCL, "rorw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::ROR16ri, "rorw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::ROR16mi, "rorw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::ROUNDPDr, "roundpd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::ROUNDPDm, "roundpd", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::ROUNDPSr, "roundps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::ROUNDPSm, "roundps", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::ROUNDSDr, "roundsd", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::ROUNDSDm, "roundsd", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::ROUNDSSr, "roundss", Convert__Reg1_2__Tie0__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::ROUNDSSm, "roundss", Convert__Reg1_2__Tie0__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::RSM, "rsm", Convert, { }, 0}, { X86::RSQRTPSr, "rsqrtps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::RSQRTPSm, "rsqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::RSQRTSSr, "rsqrtss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::RSQRTSSm, "rsqrtss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SAHF, "sahf", Convert, { }, 0}, { X86::SAR8r1, "sarb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::SAR8m1, "sarb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SAR8rCL, "sarb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::SAR8mCL, "sarb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SAR8ri, "sarb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::SAR8mi, "sarb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SAR32r1, "sarl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::SAR32m1, "sarl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SAR32rCL, "sarl", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::SAR32mCL, "sarl", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SAR32ri, "sarl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::SAR32mi, "sarl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SAR64r1, "sarq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::SAR64m1, "sarq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SAR64rCL, "sarq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::SAR64mCL, "sarq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SAR64ri, "sarq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::SAR64mi, "sarq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SAR16r1, "sarw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::SAR16m1, "sarw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SAR16rCL, "sarw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::SAR16mCL, "sarw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SAR16ri, "sarw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::SAR16mi, "sarw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SBB8rr, "sbbb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::SBB8mr, "sbbb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::SBB8i8, "sbbb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::SBB8ri, "sbbb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::SBB8mi, "sbbb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SBB8rm, "sbbb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::SBB32rr, "sbbl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::SBB32mr, "sbbl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::SBB32ri8, "sbbl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::SBB32mi8, "sbbl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::SBB32i32, "sbbl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::SBB32ri, "sbbl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::SBB32mi, "sbbl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SBB32rm, "sbbl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::SBB64rr, "sbbq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::SBB64mr, "sbbq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::SBB64ri8, "sbbq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::SBB64mi8, "sbbq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::SBB64i32, "sbbq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::SBB64ri32, "sbbq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::SBB64mi32, "sbbq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::SBB64rm, "sbbq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::SBB16rr, "sbbw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::SBB16mr, "sbbw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::SBB16ri8, "sbbw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::SBB16mi8, "sbbw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::SBB16i16, "sbbw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::SBB16ri, "sbbw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::SBB16mi, "sbbw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SBB16rm, "sbbw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::SCAS8, "scasb", Convert, { }, 0}, { X86::SCAS32, "scasl", Convert, { }, 0}, { X86::SCAS64, "scasq", Convert, { }, 0}, { X86::SCAS16, "scasw", Convert, { }, 0}, { X86::SETAr, "seta", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETAm, "seta", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETAEr, "setae", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETAEm, "setae", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETBr, "setb", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETBm, "setb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETBEr, "setbe", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETBEm, "setbe", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETEr, "sete", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETEm, "sete", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETGr, "setg", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETGm, "setg", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETGEr, "setge", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETGEm, "setge", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETLr, "setl", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETLm, "setl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETLEr, "setle", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETLEm, "setle", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETNEr, "setne", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETNEm, "setne", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETNOr, "setno", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETNOm, "setno", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETNPr, "setnp", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETNPm, "setnp", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETNSr, "setns", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETNSm, "setns", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETOr, "seto", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETOm, "seto", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETPr, "setp", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETPm, "setp", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SETSr, "sets", Convert__Reg1_0, { MCK_GR8 }, 0}, { X86::SETSm, "sets", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SFENCE, "sfence", Convert, { }, 0}, { X86::SGDTm, "sgdt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SGDT16m, "sgdtw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::SHL8r1, "shlb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::SHL8m1, "shlb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHL8rCL, "shlb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::SHL8mCL, "shlb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHL8ri, "shlb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::SHL8mi, "shlb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHLD32rri8, "shldl", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR32, MCK_GR32 }, 0}, { X86::SHLD32mri8, "shldl", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR32 }, 0}, { X86::SHLD32rrCL, "shldl", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR32, MCK_GR32 }, 0}, { X86::SHLD32mrCL, "shldl", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR32, MCK_Mem }, 0}, { X86::SHLD32rri8, "shldl", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32, MCK_GR32 }, 0}, { X86::SHLD32mri8, "shldl", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32, MCK_Mem }, 0}, { X86::SHLD64rri8, "shldq", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR64, MCK_GR64 }, 0}, { X86::SHLD64mri8, "shldq", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR64 }, 0}, { X86::SHLD64rrCL, "shldq", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR64, MCK_GR64 }, 0}, { X86::SHLD64mrCL, "shldq", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR64, MCK_Mem }, 0}, { X86::SHLD64rri8, "shldq", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64, MCK_GR64 }, 0}, { X86::SHLD64mri8, "shldq", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64, MCK_Mem }, 0}, { X86::SHLD16rri8, "shldw", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR16, MCK_GR16 }, 0}, { X86::SHLD16mri8, "shldw", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR16 }, 0}, { X86::SHLD16rrCL, "shldw", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR16, MCK_GR16 }, 0}, { X86::SHLD16mrCL, "shldw", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR16, MCK_Mem }, 0}, { X86::SHLD16rri8, "shldw", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16, MCK_GR16 }, 0}, { X86::SHLD16mri8, "shldw", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16, MCK_Mem }, 0}, { X86::SHL32r1, "shll", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::SHL32m1, "shll", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHL32rCL, "shll", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::SHL32mCL, "shll", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHL32ri, "shll", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::SHL32mi, "shll", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHL64r1, "shlq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::SHL64m1, "shlq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHL64rCL, "shlq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::SHL64mCL, "shlq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHL64ri, "shlq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::SHL64mi, "shlq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHL16r1, "shlw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::SHL16m1, "shlw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHL16rCL, "shlw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::SHL16mCL, "shlw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHL16ri, "shlw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::SHL16mi, "shlw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHR8r1, "shrb", Convert__Reg1_0__Tie0, { MCK_GR8 }, 0}, { X86::SHR8m1, "shrb", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHR8rCL, "shrb", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR8 }, 0}, { X86::SHR8mCL, "shrb", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHR8ri, "shrb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::SHR8mi, "shrb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHRD32rri8, "shrdl", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR32, MCK_GR32 }, 0}, { X86::SHRD32mri8, "shrdl", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR32 }, 0}, { X86::SHRD32rrCL, "shrdl", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR32, MCK_GR32 }, 0}, { X86::SHRD32mrCL, "shrdl", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR32, MCK_Mem }, 0}, { X86::SHRD32rri8, "shrdl", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32, MCK_GR32 }, 0}, { X86::SHRD32mri8, "shrdl", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32, MCK_Mem }, 0}, { X86::SHRD64rri8, "shrdq", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR64, MCK_GR64 }, 0}, { X86::SHRD64mri8, "shrdq", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR64 }, 0}, { X86::SHRD64rrCL, "shrdq", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR64, MCK_GR64 }, 0}, { X86::SHRD64mrCL, "shrdq", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR64, MCK_Mem }, 0}, { X86::SHRD64rri8, "shrdq", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64, MCK_GR64 }, 0}, { X86::SHRD64mri8, "shrdq", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR64, MCK_Mem }, 0}, { X86::SHRD16rri8, "shrdw", Convert__Reg1_0__Tie0__Reg1_1__imm1, { MCK_GR16, MCK_GR16 }, 0}, { X86::SHRD16mri8, "shrdw", Convert__Mem5_0__Reg1_1__imm1, { MCK_Mem, MCK_GR16 }, 0}, { X86::SHRD16rrCL, "shrdw", Convert__Reg1_2__Tie0__Reg1_1, { MCK_CL, MCK_GR16, MCK_GR16 }, 0}, { X86::SHRD16mrCL, "shrdw", Convert__Mem5_2__Reg1_1, { MCK_CL, MCK_GR16, MCK_Mem }, 0}, { X86::SHRD16rri8, "shrdw", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16, MCK_GR16 }, 0}, { X86::SHRD16mri8, "shrdw", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16, MCK_Mem }, 0}, { X86::SHR32r1, "shrl", Convert__Reg1_0__Tie0, { MCK_GR32 }, 0}, { X86::SHR32m1, "shrl", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHR32rCL, "shrl", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR32 }, 0}, { X86::SHR32mCL, "shrl", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHR32ri, "shrl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::SHR32mi, "shrl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHR64r1, "shrq", Convert__Reg1_0__Tie0, { MCK_GR64 }, 0}, { X86::SHR64m1, "shrq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHR64rCL, "shrq", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR64 }, 0}, { X86::SHR64mCL, "shrq", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHR64ri, "shrq", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR64 }, 0}, { X86::SHR64mi, "shrq", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHR16r1, "shrw", Convert__Reg1_0__Tie0, { MCK_GR16 }, 0}, { X86::SHR16m1, "shrw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SHR16rCL, "shrw", Convert__Reg1_1__Tie0, { MCK_CL, MCK_GR16 }, 0}, { X86::SHR16mCL, "shrw", Convert__Mem5_1, { MCK_CL, MCK_Mem }, 0}, { X86::SHR16ri, "shrw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::SHR16mi, "shrw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SHUFPDrri, "shufpd", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::SHUFPDrmi, "shufpd", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::SHUFPSrri, "shufps", Convert__Reg1_2__Tie0__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::SHUFPSrmi, "shufps", Convert__Reg1_2__Tie0__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::SIDTm, "sidt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SIDT16m, "sidtw", Convert__Mem5_0, { MCK_Mem }, Feature_In32BitMode}, { X86::SLDT16m, "sldt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SLDT32r, "sldtl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::SLDT64r, "sldtq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::SLDT64m, "sldtq", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SLDT16r, "sldtw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::SLDT16m, "sldtw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SMSW32r, "smswl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::SMSW64r, "smswq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::SMSW16r, "smsww", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::SMSW16m, "smsww", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SQRTPDr, "sqrtpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SQRTPDm, "sqrtpd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SQRTPSr, "sqrtps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SQRTPSm, "sqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SQRTSDr, "sqrtsd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SQRTSDm, "sqrtsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SQRTSSr, "sqrtss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SQRTSSm, "sqrtss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SS_PREFIX, "ss", Convert, { }, 0}, { X86::STC, "stc", Convert, { }, 0}, { X86::STD, "std", Convert, { }, 0}, { X86::STI, "sti", Convert, { }, 0}, { X86::STMXCSR, "stmxcsr", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::STOSB, "stosb", Convert, { }, 0}, { X86::STOSD, "stosl", Convert, { }, 0}, { X86::STOSQ, "stosq", Convert, { }, 0}, { X86::STOSW, "stosw", Convert, { }, 0}, { X86::STR32r, "strl", Convert__Reg1_0, { MCK_GR32 }, 0}, { X86::STR64r, "strq", Convert__Reg1_0, { MCK_GR64 }, 0}, { X86::STR16r, "strw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::STRm, "strw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::SUB8rr, "subb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::SUB8mr, "subb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::SUB8i8, "subb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::SUB8ri, "subb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::SUB8mi, "subb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SUB8rm, "subb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::SUB32rr, "subl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::SUB32mr, "subl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::SUB32ri8, "subl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::SUB32mi8, "subl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::SUB32i32, "subl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::SUB32ri, "subl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::SUB32mi, "subl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SUB32rm, "subl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::SUBPDrr, "subpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SUBPDrm, "subpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SUBPSrr, "subps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SUBPSrm, "subps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SUB64rr, "subq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::SUB64mr, "subq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::SUB64ri8, "subq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::SUB64mi8, "subq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::SUB64i32, "subq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::SUB64ri32, "subq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::SUB64mi32, "subq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::SUB64rm, "subq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::SUBSDrr, "subsd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SUBSDrm, "subsd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SUBSSrr, "subss", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::SUBSSrm, "subss", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::SUB16rr, "subw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::SUB16mr, "subw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::SUB16ri8, "subw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::SUB16mi8, "subw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::SUB16i16, "subw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::SUB16ri, "subw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::SUB16mi, "subw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::SUB16rm, "subw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::SWAPGS, "swapgs", Convert, { }, 0}, { X86::SYSCALL, "syscall", Convert, { }, 0}, { X86::SYSENTER, "sysenter", Convert, { }, 0}, { X86::SYSEXIT, "sysexit", Convert, { }, Feature_In32BitMode}, { X86::SYSEXIT64, "sysexit", Convert, { }, Feature_In64BitMode}, { X86::SYSRETL, "sysretl", Convert, { }, 0}, { X86::SYSRETQ, "sysretq", Convert, { }, Feature_In64BitMode}, { X86::TEST8rr, "testb", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::TEST8rm, "testb", Convert__Reg1_0__Mem5_1, { MCK_GR8, MCK_Mem }, 0}, { X86::TEST8i8, "testb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::TEST8ri, "testb", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::TEST8mi, "testb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::TEST8rm, "testb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::TEST32rr, "testl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::TEST32rm, "testl", Convert__Reg1_0__Mem5_1, { MCK_GR32, MCK_Mem }, 0}, { X86::TEST32i32, "testl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::TEST32ri, "testl", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::TEST32mi, "testl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::TEST32rm, "testl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::TEST64rr, "testq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::TEST64rm, "testq", Convert__Reg1_0__Mem5_1, { MCK_GR64, MCK_Mem }, 0}, { X86::TEST64i32, "testq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::TEST64ri32, "testq", Convert__Reg1_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::TEST64mi32, "testq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::TEST64rm, "testq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::TEST16rr, "testw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::TEST16rm, "testw", Convert__Reg1_0__Mem5_1, { MCK_GR16, MCK_Mem }, 0}, { X86::TEST16i16, "testw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::TEST16ri, "testw", Convert__Reg1_1__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::TEST16mi, "testw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::TEST16rm, "testw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::TZCNT32rr, "tzcntl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::TZCNT32rm, "tzcntl", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::TZCNT64rr, "tzcntq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::TZCNT64rm, "tzcntq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::TZCNT16rr, "tzcntw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::TZCNT16rm, "tzcntw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::UCOMISDrr, "ucomisd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UCOMISDrm, "ucomisd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::UCOMISSrr, "ucomiss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UCOMISSrm, "ucomiss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::TRAP, "ud2", Convert, { }, 0}, { X86::UD2B, "ud2b", Convert, { }, 0}, { X86::UNPCKHPDrr, "unpckhpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UNPCKHPDrm, "unpckhpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::UNPCKHPSrr, "unpckhps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UNPCKHPSrm, "unpckhps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::UNPCKLPDrr, "unpcklpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UNPCKLPDrm, "unpcklpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::UNPCKLPSrr, "unpcklps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::UNPCKLPSrm, "unpcklps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VADDPDrr, "vaddpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDPDYrr, "vaddpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDPDrm, "vaddpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDPDYrm, "vaddpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDPSrr, "vaddps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDPSYrr, "vaddps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDPSrm, "vaddps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDPSYrm, "vaddps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDSDrr, "vaddsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSDrm, "vaddsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSSrr, "vaddss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSSrm, "vaddss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSUBPDrr, "vaddsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSUBPDYrr, "vaddsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDSUBPDrm, "vaddsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSUBPDYrm, "vaddsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDSUBPSrr, "vaddsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSUBPSYrr, "vaddsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VADDSUBPSrm, "vaddsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VADDSUBPSYrm, "vaddsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VAESDECrr, "vaesdec", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESDECrm, "vaesdec", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESDECLASTrr, "vaesdeclast", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESDECLASTrm, "vaesdeclast", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESENCrr, "vaesenc", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESENCrm, "vaesenc", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESENCLASTrr, "vaesenclast", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESENCLASTrm, "vaesenclast", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESIMCrr, "vaesimc", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VAESIMCrm, "vaesimc", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VAESKEYGENASSIST128rr, "vaeskeygenassist", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VAESKEYGENASSIST128rm, "vaeskeygenassist", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VANDNPDrr, "vandnpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDNPDrr, "vandnpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDNPDYrr, "vandnpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDNPDrm, "vandnpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDNPDrm, "vandnpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDNPDYrm, "vandnpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDNPSrr, "vandnps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDNPSrr, "vandnps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDNPSYrr, "vandnps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDNPSrm, "vandnps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDNPSrm, "vandnps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDNPSYrm, "vandnps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDPDrr, "vandpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDPDrr, "vandpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDPDYrr, "vandpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDPDrm, "vandpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDPDrm, "vandpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDPDYrm, "vandpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDPSrr, "vandps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDPSrr, "vandps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDPSYrr, "vandps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VANDPSrm, "vandps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFsANDPSrm, "vandps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VANDPSYrm, "vandps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDPDrri, "vblendpd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDPDYrri, "vblendpd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDPDrmi, "vblendpd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDPDYrmi, "vblendpd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDPSrri, "vblendps", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDPSYrri, "vblendps", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDPSrmi, "vblendps", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDPSYrmi, "vblendps", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDVPDrr, "vblendvpd", Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDVPDrm, "vblendvpd", Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDVPDYrr, "vblendvpd", Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDVPDYrm, "vblendvpd", Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDVPSrr, "vblendvps", Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDVPSrm, "vblendvps", Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VBLENDVPSYrr, "vblendvps", Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VBLENDVPSYrm, "vblendvps", Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VBROADCASTF128, "vbroadcastf128", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VBROADCASTSD, "vbroadcastsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VBROADCASTSS, "vbroadcastss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VBROADCASTSSY, "vbroadcastss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCMPPDrri, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPDYrri, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPDrmi, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPDYrmi, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_pd, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPSrri, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPSYrri, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPSrmi, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPSYrmi, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_ps, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPSDrr, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_sd, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSDrm, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_sd, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSSrr, "vcmp", Convert__Reg1_4__Reg1_3__Reg1_2__Imm1_0, { MCK_Imm, MCK_ss, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSSrm, "vcmp", Convert__Reg1_4__Reg1_3__Mem5_2__Imm1_0, { MCK_Imm, MCK_ss, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPDrri_alt, "vcmppd", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPDYrri_alt, "vcmppd", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPDrmi_alt, "vcmppd", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPDYrmi_alt, "vcmppd", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPSrri_alt, "vcmpps", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPSYrri_alt, "vcmpps", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPPSrmi_alt, "vcmpps", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPPSYrmi_alt, "vcmpps", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VCMPSDrr_alt, "vcmpsd", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSDrm_alt, "vcmpsd", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSSrr_alt, "vcmpss", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCMPSSrm_alt, "vcmpss", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCOMISDrr, "vcomisd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCOMISDrm, "vcomisd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCOMISSrr, "vcomiss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCOMISSrm, "vcomiss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTDQ2PDrr, "vcvtdq2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTDQ2PDYrr, "vcvtdq2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR256 }, 0}, { X86::VCVTDQ2PDrm, "vcvtdq2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTDQ2PDYrm, "vcvtdq2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTDQ2PSrr, "vcvtdq2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTDQ2PSYrr, "vcvtdq2ps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VCVTDQ2PSrm, "vcvtdq2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTDQ2PSYrm, "vcvtdq2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTPD2DQrr, "vcvtpd2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPD2DQXrYr, "vcvtpd2dq", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTPD2DQXrr, "vcvtpd2dqx", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPD2DQXrm, "vcvtpd2dqx", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPD2DQYrr, "vcvtpd2dqy", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTPD2DQYrm, "vcvtpd2dqy", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPD2PSrr, "vcvtpd2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPD2PSXrYr, "vcvtpd2ps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTPD2PSXrr, "vcvtpd2psx", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPD2PSXrm, "vcvtpd2psx", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPD2PSYrr, "vcvtpd2psy", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTPD2PSYrm, "vcvtpd2psy", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPH2PSrr, "vcvtph2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPH2PSYrr, "vcvtph2ps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR256 }, 0}, { X86::VCVTPH2PSrm, "vcvtph2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPH2PSYrm, "vcvtph2ps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTPS2DQrr, "vcvtps2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPS2DQYrr, "vcvtps2dq", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VCVTPS2DQrm, "vcvtps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPS2DQYrm, "vcvtps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTPS2PDrr, "vcvtps2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPS2PDYrr, "vcvtps2pd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_VR256 }, 0}, { X86::VCVTPS2PDrm, "vcvtps2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTPS2PDYrm, "vcvtps2pd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTPS2PHrr, "vcvtps2ph", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTPS2PHmr, "vcvtps2ph", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VCVTPS2PHYrr, "vcvtps2ph", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTPS2PHYmr, "vcvtps2ph", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_Mem }, 0}, { X86::VCVTSD2SIrr, "vcvtsd2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VCVTSD2SI64rr, "vcvtsd2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VCVTSD2SIrm, "vcvtsd2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::VCVTSD2SI64rm, "vcvtsd2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::VCVTSD2SSrr, "vcvtsd2ss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSD2SSrm, "vcvtsd2ss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SDrr, "vcvtsi2sd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SDrm, "vcvtsi2sd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SDLrr, "vcvtsi2sdl", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SDLrm, "vcvtsi2sdl", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SD64rr, "vcvtsi2sdq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SD64rm, "vcvtsi2sdq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SSrr, "vcvtsi2ss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SSrm, "vcvtsi2ss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SS64rr, "vcvtsi2ssq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSI2SS64rm, "vcvtsi2ssq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSS2SDrr, "vcvtss2sd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSS2SDrm, "vcvtss2sd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTSS2SI64rr, "vcvtss2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VCVTSS2SI64rm, "vcvtss2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::VCVTSS2SIrr, "vcvtss2sil", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VCVTSS2SIrm, "vcvtss2sil", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::VCVTTPD2DQrr, "vcvttpd2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTTPD2DQXrYr, "vcvttpd2dq", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTTPD2DQXrr, "vcvttpd2dqx", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTTPD2DQXrm, "vcvttpd2dqx", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTTPD2DQYrr, "vcvttpd2dqy", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_FR32 }, 0}, { X86::VCVTTPD2DQYrm, "vcvttpd2dqy", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTTPS2DQrr, "vcvttps2dq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VCVTTPS2DQYrr, "vcvttps2dq", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VCVTTPS2DQrm, "vcvttps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VCVTTPS2DQYrm, "vcvttps2dq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VCVTTSD2SIrr, "vcvttsd2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VCVTTSD2SI64rr, "vcvttsd2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VCVTTSD2SIrm, "vcvttsd2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::VCVTTSD2SI64rm, "vcvttsd2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::VCVTTSS2SIrr, "vcvttss2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VCVTTSS2SI64rr, "vcvttss2si", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VCVTTSS2SIrm, "vcvttss2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::VCVTTSS2SI64rm, "vcvttss2si", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::VDIVPDrr, "vdivpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVPDYrr, "vdivpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VDIVPDrm, "vdivpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVPDYrm, "vdivpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VDIVPSrr, "vdivps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVPSYrr, "vdivps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VDIVPSrm, "vdivps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVPSYrm, "vdivps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VDIVSDrr, "vdivsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVSDrm, "vdivsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVSSrr, "vdivss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDIVSSrm, "vdivss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDPPDrri, "vdppd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDPPDrmi, "vdppd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDPPSrri, "vdpps", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VDPPSYrri, "vdpps", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VDPPSrmi, "vdpps", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VDPPSYrmi, "vdpps", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VERRr, "verr", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::VERRm, "verr", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VERWr, "verw", Convert__Reg1_0, { MCK_GR16 }, 0}, { X86::VERWm, "verw", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VEXTRACTF128rr, "vextractf128", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_FR32 }, 0}, { X86::VEXTRACTF128mr, "vextractf128", Convert__Mem5_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_Mem }, 0}, { X86::VEXTRACTPSrr, "vextractps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::VEXTRACTPSrr64, "vextractps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR64 }, 0}, { X86::VEXTRACTPSmr, "vextractps", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VFMADDPDr132r, "vfmadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr132rY, "vfmadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPDr132m, "vfmadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr132mY, "vfmadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr132r, "vfmadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr132rY, "vfmadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr132m, "vfmadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr132mY, "vfmadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPDr213r, "vfmadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr213rY, "vfmadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPDr213m, "vfmadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr213mY, "vfmadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr213r, "vfmadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr213rY, "vfmadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr213m, "vfmadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr213mY, "vfmadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPDr231r, "vfmadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr231rY, "vfmadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPDr231m, "vfmadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPDr231mY, "vfmadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr231r, "vfmadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr231rY, "vfmadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDPSr231m, "vfmadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDPSr231mY, "vfmadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr132r, "vfmaddsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr132rY, "vfmaddsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr132m, "vfmaddsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr132mY, "vfmaddsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr132r, "vfmaddsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr132rY, "vfmaddsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr132m, "vfmaddsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr132mY, "vfmaddsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr213r, "vfmaddsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr213rY, "vfmaddsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr213m, "vfmaddsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr213mY, "vfmaddsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr213r, "vfmaddsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr213rY, "vfmaddsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr213m, "vfmaddsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr213mY, "vfmaddsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr231r, "vfmaddsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr231rY, "vfmaddsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPDr231m, "vfmaddsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPDr231mY, "vfmaddsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr231r, "vfmaddsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr231rY, "vfmaddsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMADDSUBPSr231m, "vfmaddsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMADDSUBPSr231mY, "vfmaddsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr132r, "vfmsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr132rY, "vfmsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr132m, "vfmsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr132mY, "vfmsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr132r, "vfmsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr132rY, "vfmsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr132m, "vfmsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr132mY, "vfmsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr213r, "vfmsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr213rY, "vfmsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr213m, "vfmsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr213mY, "vfmsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr213r, "vfmsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr213rY, "vfmsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr213m, "vfmsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr213mY, "vfmsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr231r, "vfmsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr231rY, "vfmsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPDr231m, "vfmsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPDr231mY, "vfmsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr231r, "vfmsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr231rY, "vfmsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBPSr231m, "vfmsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBPSr231mY, "vfmsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr132r, "vfmsubadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr132rY, "vfmsubadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr132m, "vfmsubadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr132mY, "vfmsubadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr132r, "vfmsubadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr132rY, "vfmsubadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr132m, "vfmsubadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr132mY, "vfmsubadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr213r, "vfmsubadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr213rY, "vfmsubadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr213m, "vfmsubadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr213mY, "vfmsubadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr213r, "vfmsubadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr213rY, "vfmsubadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr213m, "vfmsubadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr213mY, "vfmsubadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr231r, "vfmsubadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr231rY, "vfmsubadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPDr231m, "vfmsubadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPDr231mY, "vfmsubadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr231r, "vfmsubadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr231rY, "vfmsubadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFMSUBADDPSr231m, "vfmsubadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFMSUBADDPSr231mY, "vfmsubadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr132r, "vfnmadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr132rY, "vfnmadd132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr132m, "vfnmadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr132mY, "vfnmadd132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr132r, "vfnmadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr132rY, "vfnmadd132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr132m, "vfnmadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr132mY, "vfnmadd132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr213r, "vfnmadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr213rY, "vfnmadd213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr213m, "vfnmadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr213mY, "vfnmadd213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr213r, "vfnmadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr213rY, "vfnmadd213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr213m, "vfnmadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr213mY, "vfnmadd213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr231r, "vfnmadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr231rY, "vfnmadd231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPDr231m, "vfnmadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPDr231mY, "vfnmadd231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr231r, "vfnmadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr231rY, "vfnmadd231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMADDPSr231m, "vfnmadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMADDPSr231mY, "vfnmadd231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr132r, "vfnmsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr132rY, "vfnmsub132pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr132m, "vfnmsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr132mY, "vfnmsub132pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr132r, "vfnmsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr132rY, "vfnmsub132ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr132m, "vfnmsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr132mY, "vfnmsub132ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr213r, "vfnmsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr213rY, "vfnmsub213pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr213m, "vfnmsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr213mY, "vfnmsub213pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr213r, "vfnmsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr213rY, "vfnmsub213ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr213m, "vfnmsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr213mY, "vfnmsub213ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr231r, "vfnmsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr231rY, "vfnmsub231pd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPDr231m, "vfnmsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPDr231mY, "vfnmsub231pd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr231r, "vfnmsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr231rY, "vfnmsub231ps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFNMSUBPSr231m, "vfnmsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VFNMSUBPSr231mY, "vfnmsub231ps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VHADDPDrr, "vhaddpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VHADDPDYrr, "vhaddpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VHADDPDrm, "vhaddpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VHADDPDYrm, "vhaddpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VHADDPSrr, "vhaddps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VHADDPSYrr, "vhaddps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VHADDPSrm, "vhaddps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VHADDPSYrm, "vhaddps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VHSUBPDrr, "vhsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VHSUBPDYrr, "vhsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VHSUBPDrm, "vhsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VHSUBPDYrm, "vhsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VHSUBPSrr, "vhsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VHSUBPSYrr, "vhsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VHSUBPSrm, "vhsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VHSUBPSYrm, "vhsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VINSERTF128rr, "vinsertf128", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_VR256, MCK_VR256 }, 0}, { X86::VINSERTF128rm, "vinsertf128", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VINSERTPSrr, "vinsertps", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VINSERTPSrm, "vinsertps", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VLDDQUrm, "vlddqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VLDDQUYrm, "vlddqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VLDMXCSR, "vldmxcsr", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VMASKMOVDQU, "vmaskmovdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMASKMOVDQU64, "vmaskmovdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMASKMOVPDmr, "vmaskmovpd", Convert__Mem5_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_Mem }, 0}, { X86::VMASKMOVPDYmr, "vmaskmovpd", Convert__Mem5_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_Mem }, 0}, { X86::VMASKMOVPDrm, "vmaskmovpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMASKMOVPDYrm, "vmaskmovpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMASKMOVPSmr, "vmaskmovps", Convert__Mem5_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_Mem }, 0}, { X86::VMASKMOVPSYmr, "vmaskmovps", Convert__Mem5_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_Mem }, 0}, { X86::VMASKMOVPSrm, "vmaskmovps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMASKMOVPSYrm, "vmaskmovps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMAXPDrr, "vmaxpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXPDYrr, "vmaxpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMAXPDrm, "vmaxpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXPDYrm, "vmaxpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMAXPSrr, "vmaxps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXPSYrr, "vmaxps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMAXPSrm, "vmaxps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXPSYrm, "vmaxps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMAXSDrr, "vmaxsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXSDrm, "vmaxsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXSSrr, "vmaxss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMAXSSrm, "vmaxss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMCALL, "vmcall", Convert, { }, 0}, { X86::VMCLEARm, "vmclear", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VMINPDrr, "vminpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINPDYrr, "vminpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMINPDrm, "vminpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINPDYrm, "vminpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMINPSrr, "vminps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINPSYrr, "vminps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMINPSrm, "vminps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINPSYrm, "vminps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMINSDrr, "vminsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINSDrm, "vminsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINSSrr, "vminss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMINSSrm, "vminss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMLAUNCH, "vmlaunch", Convert, { }, 0}, { X86::FsVMOVAPDrr, "vmovapd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVAPDrr, "vmovapd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVAPDmr, "vmovapd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVAPDYrr, "vmovapd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVAPDYmr, "vmovapd", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVAPDrm, "vmovapd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVAPDYrm, "vmovapd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::FsVMOVAPSrr, "vmovaps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVAPSrr, "vmovaps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVAPSmr, "vmovaps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVAPSYrr, "vmovaps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVAPSYmr, "vmovaps", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVAPSrm, "vmovaps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVAPSYrm, "vmovaps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVDI2PDIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::VMOVDI2SSrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::VMOVZDI2PDIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_FR32 }, 0}, { X86::VMOV64toPQIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::VMOV64toSDrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::VMOVZQI2PQIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::VMOVPDI2DIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VMOVSS2DIrr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VMOVQd64rr_alt, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVSDto64rr, "vmovd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVPDI2DImr, "vmovd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVSS2DImr, "vmovd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVDI2PDIrm, "vmovd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVDI2SSrm, "vmovd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVZDI2PDIrm, "vmovd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVDDUPrr, "vmovddup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVDDUPYrr, "vmovddup", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVDDUPrm, "vmovddup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVDDUPYrm, "vmovddup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVDQArr, "vmovdqa", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVDQAmr, "vmovdqa", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVDQAYrr, "vmovdqa", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVDQAYmr, "vmovdqa", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVDQArm, "vmovdqa", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVDQAYrm, "vmovdqa", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVDQUrr, "vmovdqu", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVDQUmr, "vmovdqu", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVDQUYrr, "vmovdqu", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVDQUYmr, "vmovdqu", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVDQUrm, "vmovdqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVDQUYrm, "vmovdqu", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVHLPSrr, "vmovhlps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVHPDmr, "vmovhpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVHPDrm, "vmovhpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVHPSmr, "vmovhps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVHPSrm, "vmovhps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVLHPSrr, "vmovlhps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVLPDmr, "vmovlpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVLPDrm, "vmovlpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVLPSmr, "vmovlps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVLPSrm, "vmovlps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVMSKPDrr32, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VMOVMSKPDr64r, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVMSKPDrr64, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVMSKPDYrr32, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR32 }, 0}, { X86::VMOVMSKPDYr64r, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR64 }, 0}, { X86::VMOVMSKPDYrr64, "vmovmskpd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR64 }, 0}, { X86::VMOVMSKPSrr32, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VMOVMSKPSr64r, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVMSKPSrr64, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVMSKPSYrr32, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR32 }, 0}, { X86::VMOVMSKPSYr64r, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR64 }, 0}, { X86::VMOVMSKPSYrr64, "vmovmskps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_GR64 }, 0}, { X86::VMOVNTDQ_64mr, "vmovntdq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVNTDQmr, "vmovntdq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVNTDQY_64mr, "vmovntdq", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVNTDQYmr, "vmovntdq", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVNTDQArm, "vmovntdqa", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVNTPDmr, "vmovntpd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVNTPDYmr, "vmovntpd", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVNTPSmr, "vmovntps", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVNTPSYmr, "vmovntps", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVQs64rr, "vmovq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_FR32 }, 0}, { X86::VMOVQd64rr, "vmovq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VMOVQxrxr, "vmovq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVZPQILo2PQIrr, "vmovq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVLQ128mr, "vmovq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVPQI2QImr, "vmovq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVSDto64mr, "vmovq", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOV64toSDrm, "vmovq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVQI2PQIrm, "vmovq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVZPQILo2PQIrm, "vmovq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVZQI2PQIrm, "vmovq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVSDmr, "vmovsd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVSDrm, "vmovsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVSDrr, "vmovsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVSHDUPrr, "vmovshdup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVSHDUPYrr, "vmovshdup", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVSHDUPrm, "vmovshdup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVSHDUPYrm, "vmovshdup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVSLDUPrr, "vmovsldup", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVSLDUPYrr, "vmovsldup", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVSLDUPrm, "vmovsldup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVSLDUPYrm, "vmovsldup", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVSSmr, "vmovss", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVSSrm, "vmovss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVSSrr, "vmovss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVUPDrr, "vmovupd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVUPDmr, "vmovupd", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVUPDYrr, "vmovupd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVUPDYmr, "vmovupd", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVUPDrm, "vmovupd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVUPDYrm, "vmovupd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMOVUPSrr, "vmovups", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VMOVUPSmr, "vmovups", Convert__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem }, 0}, { X86::VMOVUPSYrr, "vmovups", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VMOVUPSYmr, "vmovups", Convert__Mem5_1__Reg1_0, { MCK_VR256, MCK_Mem }, 0}, { X86::VMOVUPSrm, "vmovups", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VMOVUPSYrm, "vmovups", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VMPSADBWrri, "vmpsadbw", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMPSADBWrmi, "vmpsadbw", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMPTRLDm, "vmptrld", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VMPTRSTm, "vmptrst", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VMREAD32rr, "vmreadl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::VMREAD32rm, "vmreadl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::VMREAD64rr, "vmreadq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::VMREAD64rm, "vmreadq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::VMRESUME, "vmresume", Convert, { }, 0}, { X86::VMULPDrr, "vmulpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULPDYrr, "vmulpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMULPDrm, "vmulpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULPDYrm, "vmulpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMULPSrr, "vmulps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULPSYrr, "vmulps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VMULPSrm, "vmulps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULPSYrm, "vmulps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VMULSDrr, "vmulsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULSDrm, "vmulsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULSSrr, "vmulss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VMULSSrm, "vmulss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VMWRITE32rr, "vmwritel", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::VMWRITE32rm, "vmwritel", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::VMWRITE64rr, "vmwriteq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::VMWRITE64rm, "vmwriteq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::VMXOFF, "vmxoff", Convert, { }, 0}, { X86::VMXON, "vmxon", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VFsORPDrr, "vorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPDrr, "vorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPDYrr, "vorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsORPDrm, "vorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPDrm, "vorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPDYrm, "vorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsORPSrr, "vorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPSrr, "vorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPSYrr, "vorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsORPSrm, "vorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPSrm, "vorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VORPSYrm, "vorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VPABSBrr128, "vpabsb", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPABSBrm128, "vpabsb", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPABSDrr128, "vpabsd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPABSDrm128, "vpabsd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPABSWrr128, "vpabsw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPABSWrm128, "vpabsw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPACKSSDWrr, "vpackssdw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKSSDWrm, "vpackssdw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKSSWBrr, "vpacksswb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKSSWBrm, "vpacksswb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKUSDWrr, "vpackusdw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKUSDWrm, "vpackusdw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKUSWBrr, "vpackuswb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPACKUSWBrm, "vpackuswb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDBrr, "vpaddb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDBrm, "vpaddb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDDrr, "vpaddd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDDrm, "vpaddd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDQrr, "vpaddq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDQrm, "vpaddq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDSBrr, "vpaddsb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDSBrm, "vpaddsb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDSWrr, "vpaddsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDSWrm, "vpaddsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDUSBrr, "vpaddusb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDUSBrm, "vpaddusb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDUSWrr, "vpaddusw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDUSWrm, "vpaddusw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDWrr, "vpaddw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPADDWrm, "vpaddw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPALIGNR128rr, "vpalignr", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPALIGNR128rm, "vpalignr", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPANDrr, "vpand", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPANDrm, "vpand", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPANDNrr, "vpandn", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPANDNrm, "vpandn", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPAVGBrr, "vpavgb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPAVGBrm, "vpavgb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPAVGWrr, "vpavgw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPAVGWrm, "vpavgw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPBLENDVBrr, "vpblendvb", Convert__Reg1_3__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPBLENDVBrm, "vpblendvb", Convert__Reg1_3__Reg1_2__Mem5_1__Reg1_0, { MCK_FR32, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPBLENDWrri, "vpblendw", Convert__Reg1_3__Reg1_2__Reg1_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPBLENDWrmi, "vpblendw", Convert__Reg1_3__Reg1_2__Mem5_1__ImmZExtu32u81_0, { MCK_ImmZExtu32u8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrr, "vpclmulhqhqdq", Convert__Reg1_2__Reg1_1__Reg1_0__imm17, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrm, "vpclmulhqhqdq", Convert__Reg1_2__Reg1_1__Mem5_0__imm17, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrr, "vpclmulhqlqdq", Convert__Reg1_2__Reg1_1__Reg1_0__imm1, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrm, "vpclmulhqlqdq", Convert__Reg1_2__Reg1_1__Mem5_0__imm1, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrr, "vpclmullqhqdq", Convert__Reg1_2__Reg1_1__Reg1_0__imm16, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrm, "vpclmullqhqdq", Convert__Reg1_2__Reg1_1__Mem5_0__imm16, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrr, "vpclmullqlqdq", Convert__Reg1_2__Reg1_1__Reg1_0__imm0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrm, "vpclmullqlqdq", Convert__Reg1_2__Reg1_1__Mem5_0__imm0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrr, "vpclmulqdq", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCLMULQDQrm, "vpclmulqdq", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQBrr, "vpcmpeqb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQBrm, "vpcmpeqb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQDrr, "vpcmpeqd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQDrm, "vpcmpeqd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQQrr, "vpcmpeqq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQQrm, "vpcmpeqq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQWrr, "vpcmpeqw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPEQWrm, "vpcmpeqw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRIArr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRICrr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRIOrr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRISrr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRIZrr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRIrr, "vpcmpestri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRIArm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRICrm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRIOrm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRISrm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRIZrm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRIrm, "vpcmpestri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPESTRM128rr, "vpcmpestrm", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPESTRM128rm, "vpcmpestrm", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPGTBrr, "vpcmpgtb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTBrm, "vpcmpgtb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTDrr, "vpcmpgtd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTDrm, "vpcmpgtd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTQrr, "vpcmpgtq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTQrm, "vpcmpgtq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTWrr, "vpcmpgtw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPGTWrm, "vpcmpgtw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRIArr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRICrr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRIOrr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRISrr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRIZrr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRIrr, "vpcmpistri", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRIArm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRICrm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRIOrm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRISrm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRIZrm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRIrm, "vpcmpistri", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPCMPISTRM128rr, "vpcmpistrm", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPCMPISTRM128rm, "vpcmpistrm", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPERM2F128rr, "vperm2f128", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERM2F128rm, "vperm2f128", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPDrr, "vpermilpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPDYrr, "vpermilpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPDri, "vpermilpd", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPDYri, "vpermilpd", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPDmi, "vpermilpd", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPERMILPDYmi, "vpermilpd", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256 }, 0}, { X86::VPERMILPDrm, "vpermilpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPDYrm, "vpermilpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPSrr, "vpermilps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPSYrr, "vpermilps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPSri, "vpermilps", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPSYri, "vpermilps", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256 }, 0}, { X86::VPERMILPSmi, "vpermilps", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPERMILPSYmi, "vpermilps", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256 }, 0}, { X86::VPERMILPSrm, "vpermilps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPERMILPSYrm, "vpermilps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VPEXTRBrr, "vpextrb", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::VPEXTRBrr64, "vpextrb", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR64 }, 0}, { X86::VPEXTRBmr, "vpextrb", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VPEXTRDrr, "vpextrd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::VPEXTRDmr, "vpextrd", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VPEXTRQrr, "vpextrq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR64 }, 0}, { X86::VPEXTRQmr, "vpextrq", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VPEXTRWri, "vpextrw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_GR32 }, 0}, { X86::VPEXTRWmr, "vpextrw", Convert__Mem5_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_Mem }, 0}, { X86::VPHADDDrr128, "vphaddd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHADDDrm128, "vphaddd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHADDSWrr128, "vphaddsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHADDSWrm128, "vphaddsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHADDWrr128, "vphaddw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHADDWrm128, "vphaddw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHMINPOSUWrr128, "vphminposuw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPHMINPOSUWrm128, "vphminposuw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPHSUBDrr128, "vphsubd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHSUBDrm128, "vphsubd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHSUBSWrr128, "vphsubsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHSUBSWrm128, "vphsubsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHSUBWrr128, "vphsubw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPHSUBWrm128, "vphsubw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRBrr, "vpinsrb", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRBrm, "vpinsrb", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRDrr, "vpinsrd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRDrm, "vpinsrd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRQrr, "vpinsrq", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR64, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRQrm, "vpinsrq", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRWrri, "vpinsrw", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRWrr64i, "vpinsrw", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR64, MCK_FR32, MCK_FR32 }, 0}, { X86::VPINSRWrmi, "vpinsrw", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMADDUBSWrr128, "vpmaddubsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMADDUBSWrm128, "vpmaddubsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMADDWDrr, "vpmaddwd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMADDWDrm, "vpmaddwd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSBrr, "vpmaxsb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSBrm, "vpmaxsb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSDrr, "vpmaxsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSDrm, "vpmaxsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSWrr, "vpmaxsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXSWrm, "vpmaxsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUBrr, "vpmaxub", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUBrm, "vpmaxub", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUDrr, "vpmaxud", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUDrm, "vpmaxud", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUWrr, "vpmaxuw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMAXUWrm, "vpmaxuw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSBrr, "vpminsb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSBrm, "vpminsb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSDrr, "vpminsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSDrm, "vpminsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSWrr, "vpminsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINSWrm, "vpminsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUBrr, "vpminub", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUBrm, "vpminub", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUDrr, "vpminud", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUDrm, "vpminud", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUWrr, "vpminuw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMINUWrm, "vpminuw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVMSKBrr, "vpmovmskb", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR32 }, 0}, { X86::VPMOVMSKBr64r, "vpmovmskb", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_GR64 }, 0}, { X86::VPMOVSXBDrr, "vpmovsxbd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXBDrm, "vpmovsxbd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVSXBQrr, "vpmovsxbq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXBQrm, "vpmovsxbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVSXBWrr, "vpmovsxbw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXBWrm, "vpmovsxbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVSXDQrr, "vpmovsxdq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXDQrm, "vpmovsxdq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVSXWDrr, "vpmovsxwd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXWDrm, "vpmovsxwd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVSXWQrr, "vpmovsxwq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVSXWQrm, "vpmovsxwq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXBDrr, "vpmovzxbd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXBDrm, "vpmovzxbd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXBQrr, "vpmovzxbq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXBQrm, "vpmovzxbq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXBWrr, "vpmovzxbw", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXBWrm, "vpmovzxbw", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXDQrr, "vpmovzxdq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXDQrm, "vpmovzxdq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXWDrr, "vpmovzxwd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXWDrm, "vpmovzxwd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMOVZXWQrr, "vpmovzxwq", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPMOVZXWQrm, "vpmovzxwq", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPMULDQrr, "vpmuldq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULDQrm, "vpmuldq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHRSWrr128, "vpmulhrsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHRSWrm128, "vpmulhrsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHUWrr, "vpmulhuw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHUWrm, "vpmulhuw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHWrr, "vpmulhw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULHWrm, "vpmulhw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULLDrr, "vpmulld", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULLDrm, "vpmulld", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULLWrr, "vpmullw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULLWrm, "vpmullw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULUDQrr, "vpmuludq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPMULUDQrm, "vpmuludq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPORrr, "vpor", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPORrm, "vpor", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSADBWrr, "vpsadbw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSADBWrm, "vpsadbw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFBrr128, "vpshufb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFBrm128, "vpshufb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFDri, "vpshufd", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFDmi, "vpshufd", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPSHUFHWri, "vpshufhw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFHWmi, "vpshufhw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPSHUFLWri, "vpshuflw", Convert__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSHUFLWmi, "vpshuflw", Convert__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32 }, 0}, { X86::VPSIGNBrr128, "vpsignb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSIGNBrm128, "vpsignb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSIGNDrr128, "vpsignd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSIGNDrm128, "vpsignd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSIGNWrr128, "vpsignw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSIGNWrm128, "vpsignw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLDrr, "vpslld", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLDri, "vpslld", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLDrm, "vpslld", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLDQri, "vpslldq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLQrr, "vpsllq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLQri, "vpsllq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLQrm, "vpsllq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLWrr, "vpsllw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLWri, "vpsllw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSLLWrm, "vpsllw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRADrr, "vpsrad", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRADri, "vpsrad", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRADrm, "vpsrad", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRAWrr, "vpsraw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRAWri, "vpsraw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRAWrm, "vpsraw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLDrr, "vpsrld", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLDri, "vpsrld", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLDrm, "vpsrld", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLDQri, "vpsrldq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLQrr, "vpsrlq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLQri, "vpsrlq", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLQrm, "vpsrlq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLWrr, "vpsrlw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLWri, "vpsrlw", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSRLWrm, "vpsrlw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBBrr, "vpsubb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBBrm, "vpsubb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBDrr, "vpsubd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBDrm, "vpsubd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBQrr, "vpsubq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBQrm, "vpsubq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBSBrr, "vpsubsb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBSBrm, "vpsubsb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBSWrr, "vpsubsw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBSWrm, "vpsubsw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBUSBrr, "vpsubusb", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBUSBrm, "vpsubusb", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBUSWrr, "vpsubusw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBUSWrm, "vpsubusw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBWrr, "vpsubw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPSUBWrm, "vpsubw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPTESTrr, "vptest", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VPTESTYrr, "vptest", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VPTESTrm, "vptest", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VPTESTYrm, "vptest", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VPUNPCKHBWrr, "vpunpckhbw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHBWrm, "vpunpckhbw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHDQrr, "vpunpckhdq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHDQrm, "vpunpckhdq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHQDQrr, "vpunpckhqdq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHQDQrm, "vpunpckhqdq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHWDrr, "vpunpckhwd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKHWDrm, "vpunpckhwd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLBWrr, "vpunpcklbw", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLBWrm, "vpunpcklbw", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLDQrr, "vpunpckldq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLDQrm, "vpunpckldq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLQDQrr, "vpunpcklqdq", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLQDQrm, "vpunpcklqdq", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLWDrr, "vpunpcklwd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPUNPCKLWDrm, "vpunpcklwd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VPXORrr, "vpxor", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VPXORrm, "vpxor", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VRCPPSr, "vrcpps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VRCPPSYr, "vrcpps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VRCPPSm, "vrcpps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VRCPPSYm, "vrcpps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VRCPSSr, "vrcpss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VRCPSSm, "vrcpss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDPDr, "vroundpd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDPDr_AVX, "vroundpd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDYPDr, "vroundpd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_VR256 }, 0}, { X86::VROUNDYPDr_AVX, "vroundpd", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_VR256 }, 0}, { X86::VROUNDPDm, "vroundpd", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::VROUNDPDm_AVX, "vroundpd", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::VROUNDYPDm, "vroundpd", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_VR256 }, 0}, { X86::VROUNDYPDm_AVX, "vroundpd", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_VR256 }, 0}, { X86::VROUNDPSr, "vroundps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDPSr_AVX, "vroundps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDYPSr, "vroundps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_VR256 }, 0}, { X86::VROUNDYPSr_AVX, "vroundps", Convert__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_VR256, MCK_VR256 }, 0}, { X86::VROUNDPSm, "vroundps", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::VROUNDPSm_AVX, "vroundps", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32 }, 0}, { X86::VROUNDYPSm, "vroundps", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_VR256 }, 0}, { X86::VROUNDYPSm_AVX, "vroundps", Convert__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_VR256 }, 0}, { X86::VROUNDSDr, "vroundsd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSDr_AVX, "vroundsd", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSDm, "vroundsd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSDm_AVX, "vroundsd", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSSr, "vroundss", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSSr_AVX, "vroundss", Convert__Reg1_3__Reg1_2__Reg1_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSSm, "vroundss", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VROUNDSSm_AVX, "vroundss", Convert__Reg1_3__Reg1_2__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VRSQRTPSr, "vrsqrtps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VRSQRTPSYr, "vrsqrtps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VRSQRTPSm, "vrsqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VRSQRTPSYm, "vrsqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VRSQRTSSr, "vrsqrtss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VRSQRTSSm, "vrsqrtss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSHUFPDrri, "vshufpd", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSHUFPDYrri, "vshufpd", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VSHUFPDrmi, "vshufpd", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSHUFPDYrmi, "vshufpd", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VSHUFPSrri, "vshufps", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSHUFPSYrri, "vshufps", Convert__Reg1_3__Reg1_2__Reg1_1__Imm1_0, { MCK_Imm, MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VSHUFPSrmi, "vshufps", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSHUFPSYrmi, "vshufps", Convert__Reg1_3__Reg1_2__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VSQRTPDr, "vsqrtpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VSQRTPDYr, "vsqrtpd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VSQRTPDm, "vsqrtpd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VSQRTPDYm, "vsqrtpd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VSQRTPSr, "vsqrtps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VSQRTPSYr, "vsqrtps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VSQRTPSm, "vsqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VSQRTPSYm, "vsqrtps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VSQRTSDr, "vsqrtsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSQRTSDm, "vsqrtsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSQRTSSr, "vsqrtss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSQRTSSm, "vsqrtss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSTMXCSR, "vstmxcsr", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::VSUBPDrr, "vsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBPDYrr, "vsubpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VSUBPDrm, "vsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBPDYrm, "vsubpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VSUBPSrr, "vsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBPSYrr, "vsubps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VSUBPSrm, "vsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBPSYrm, "vsubps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VSUBSDrr, "vsubsd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBSDrm, "vsubsd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBSSrr, "vsubss", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VSUBSSrm, "vsubss", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VTESTPDrr, "vtestpd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VTESTPDYrr, "vtestpd", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VTESTPDrm, "vtestpd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VTESTPDYrm, "vtestpd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VTESTPSrr, "vtestps", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VTESTPSYrr, "vtestps", Convert__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256 }, 0}, { X86::VTESTPSrm, "vtestps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VTESTPSYrm, "vtestps", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256 }, 0}, { X86::VUCOMISDrr, "vucomisd", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VUCOMISDrm, "vucomisd", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VUCOMISSrr, "vucomiss", Convert__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::VUCOMISSrm, "vucomiss", Convert__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::VUNPCKHPDrr, "vunpckhpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKHPDYrr, "vunpckhpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKHPDrm, "vunpckhpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKHPDYrm, "vunpckhpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKHPSrr, "vunpckhps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKHPSYrr, "vunpckhps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKHPSrm, "vunpckhps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKHPSYrm, "vunpckhps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKLPDrr, "vunpcklpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKLPDYrr, "vunpcklpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKLPDrm, "vunpcklpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKLPDYrm, "vunpcklpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKLPSrr, "vunpcklps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKLPSYrr, "vunpcklps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VUNPCKLPSrm, "vunpcklps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VUNPCKLPSYrm, "vunpcklps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsXORPDrr, "vxorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPDrr, "vxorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPDYrr, "vxorpd", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsXORPDrm, "vxorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPDrm, "vxorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPDYrm, "vxorpd", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsXORPSrr, "vxorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPSrr, "vxorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_FR32, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPSYrr, "vxorps", Convert__Reg1_2__Reg1_1__Reg1_0, { MCK_VR256, MCK_VR256, MCK_VR256 }, 0}, { X86::VFsXORPSrm, "vxorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPSrm, "vxorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_FR32, MCK_FR32 }, 0}, { X86::VXORPSYrm, "vxorps", Convert__Reg1_2__Reg1_1__Mem5_0, { MCK_Mem, MCK_VR256, MCK_VR256 }, 0}, { X86::VZEROALL, "vzeroall", Convert, { }, 0}, { X86::VZEROUPPER, "vzeroupper", Convert, { }, 0}, { X86::WAIT, "wait", Convert, { }, 0}, { X86::WBINVD, "wbinvd", Convert, { }, 0}, { X86::WRFSBASE, "wrfsbasel", Convert__Reg1_0, { MCK_GR32 }, Feature_In64BitMode}, { X86::WRFSBASE64, "wrfsbaseq", Convert__Reg1_0, { MCK_GR64 }, Feature_In64BitMode}, { X86::WRGSBASE, "wrgsbasel", Convert__Reg1_0, { MCK_GR32 }, Feature_In64BitMode}, { X86::WRGSBASE64, "wrgsbaseq", Convert__Reg1_0, { MCK_GR64 }, Feature_In64BitMode}, { X86::WRMSR, "wrmsr", Convert, { }, 0}, { X86::XADD8rr, "xaddb", Convert__Reg1_1__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::XADD8rm, "xaddb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::XADD32rr, "xaddl", Convert__Reg1_1__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::XADD32rm, "xaddl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::XADD64rr, "xaddq", Convert__Reg1_1__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::XADD64rm, "xaddq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::XADD16rr, "xaddw", Convert__Reg1_1__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::XADD16rm, "xaddw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::XCHG8rr, "xchgb", Convert__Reg1_0__Tie0__Reg1_1, { MCK_GR8, MCK_GR8 }, 0}, { X86::XCHG8rm, "xchgb", Convert__Reg1_0__Tie0__Mem5_1, { MCK_GR8, MCK_Mem }, 0}, { X86::XCHG8rm, "xchgb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::XCHG32ar64, "xchgl", Convert__Reg1_1, { MCK_EAX, MCK_GR32_NOAX }, Feature_In64BitMode}, { X86::XCHG32ar, "xchgl", Convert__Reg1_1, { MCK_EAX, MCK_GR32 }, Feature_In32BitMode}, { X86::XCHG32ar64, "xchgl", Convert__Reg1_0, { MCK_GR32_NOAX, MCK_EAX }, Feature_In64BitMode}, { X86::XCHG32ar, "xchgl", Convert__Reg1_0, { MCK_GR32, MCK_EAX }, Feature_In32BitMode}, { X86::XCHG32rr, "xchgl", Convert__Reg1_0__Tie0__Reg1_1, { MCK_GR32, MCK_GR32 }, 0}, { X86::XCHG32rm, "xchgl", Convert__Reg1_0__Tie0__Mem5_1, { MCK_GR32, MCK_Mem }, 0}, { X86::XCHG32rm, "xchgl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::XCHG64ar, "xchgq", Convert__Reg1_1, { MCK_RAX, MCK_GR64 }, 0}, { X86::XCHG64ar, "xchgq", Convert__Reg1_0, { MCK_GR64, MCK_RAX }, 0}, { X86::XCHG64rr, "xchgq", Convert__Reg1_0__Tie0__Reg1_1, { MCK_GR64, MCK_GR64 }, 0}, { X86::XCHG64rm, "xchgq", Convert__Reg1_0__Tie0__Mem5_1, { MCK_GR64, MCK_Mem }, 0}, { X86::XCHG64rm, "xchgq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::XCHG16ar, "xchgw", Convert__Reg1_1, { MCK_AX, MCK_GR16 }, 0}, { X86::XCHG16ar, "xchgw", Convert__Reg1_0, { MCK_GR16, MCK_AX }, 0}, { X86::XCHG16rr, "xchgw", Convert__Reg1_0__Tie0__Reg1_1, { MCK_GR16, MCK_GR16 }, 0}, { X86::XCHG16rm, "xchgw", Convert__Reg1_0__Tie0__Mem5_1, { MCK_GR16, MCK_Mem }, 0}, { X86::XCHG16rm, "xchgw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::XCRYPTCBC, "xcryptcbc", Convert, { }, 0}, { X86::XCRYPTCFB, "xcryptcfb", Convert, { }, 0}, { X86::XCRYPTCTR, "xcryptctr", Convert, { }, 0}, { X86::XCRYPTECB, "xcryptecb", Convert, { }, 0}, { X86::XCRYPTOFB, "xcryptofb", Convert, { }, 0}, { X86::XGETBV, "xgetbv", Convert, { }, 0}, { X86::XLAT, "xlatb", Convert, { }, 0}, { X86::XOR8rr, "xorb", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR8, MCK_GR8 }, 0}, { X86::XOR8mr, "xorb", Convert__Mem5_1__Reg1_0, { MCK_GR8, MCK_Mem }, 0}, { X86::XOR8i8, "xorb", Convert__Imm1_0, { MCK_Imm, MCK_AL }, 0}, { X86::XOR8ri, "xorb", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR8 }, 0}, { X86::XOR8mi, "xorb", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::XOR8rm, "xorb", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR8 }, 0}, { X86::XOR32rr, "xorl", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR32, MCK_GR32 }, 0}, { X86::XOR32mr, "xorl", Convert__Mem5_1__Reg1_0, { MCK_GR32, MCK_Mem }, 0}, { X86::XOR32ri8, "xorl", Convert__Reg1_1__Tie0__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_GR32 }, 0}, { X86::XOR32mi8, "xorl", Convert__Mem5_1__ImmSExti32i81_0, { MCK_ImmSExti32i8, MCK_Mem }, 0}, { X86::XOR32i32, "xorl", Convert__Imm1_0, { MCK_Imm, MCK_EAX }, 0}, { X86::XOR32ri, "xorl", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR32 }, 0}, { X86::XOR32mi, "xorl", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::XOR32rm, "xorl", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR32 }, 0}, { X86::FsXORPDrr, "xorpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::XORPDrr, "xorpd", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsXORPDrm, "xorpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::XORPDrm, "xorpd", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::FsXORPSrr, "xorps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::XORPSrr, "xorps", Convert__Reg1_1__Tie0__Reg1_0, { MCK_FR32, MCK_FR32 }, 0}, { X86::FsXORPSrm, "xorps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::XORPSrm, "xorps", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_FR32 }, 0}, { X86::XOR64rr, "xorq", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR64, MCK_GR64 }, 0}, { X86::XOR64mr, "xorq", Convert__Mem5_1__Reg1_0, { MCK_GR64, MCK_Mem }, 0}, { X86::XOR64ri8, "xorq", Convert__Reg1_1__Tie0__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_GR64 }, 0}, { X86::XOR64mi8, "xorq", Convert__Mem5_1__ImmSExti64i81_0, { MCK_ImmSExti64i8, MCK_Mem }, 0}, { X86::XOR64i32, "xorq", Convert__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_RAX }, 0}, { X86::XOR64ri32, "xorq", Convert__Reg1_1__Tie0__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_GR64 }, 0}, { X86::XOR64mi32, "xorq", Convert__Mem5_1__ImmSExti64i321_0, { MCK_ImmSExti64i32, MCK_Mem }, 0}, { X86::XOR64rm, "xorq", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR64 }, 0}, { X86::XOR16rr, "xorw", Convert__Reg1_1__Tie0__Reg1_0, { MCK_GR16, MCK_GR16 }, 0}, { X86::XOR16mr, "xorw", Convert__Mem5_1__Reg1_0, { MCK_GR16, MCK_Mem }, 0}, { X86::XOR16ri8, "xorw", Convert__Reg1_1__Tie0__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_GR16 }, 0}, { X86::XOR16mi8, "xorw", Convert__Mem5_1__ImmSExti16i81_0, { MCK_ImmSExti16i8, MCK_Mem }, 0}, { X86::XOR16i16, "xorw", Convert__Imm1_0, { MCK_Imm, MCK_AX }, 0}, { X86::XOR16ri, "xorw", Convert__Reg1_1__Tie0__Imm1_0, { MCK_Imm, MCK_GR16 }, 0}, { X86::XOR16mi, "xorw", Convert__Mem5_1__Imm1_0, { MCK_Imm, MCK_Mem }, 0}, { X86::XOR16rm, "xorw", Convert__Reg1_1__Tie0__Mem5_0, { MCK_Mem, MCK_GR16 }, 0}, { X86::XRSTOR, "xrstor", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::XRSTOR64, "xrstorq", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::XSAVE, "xsave", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::XSAVEOPT, "xsaveopt", Convert__Mem5_0, { MCK_Mem }, 0}, { X86::XSAVEOPT64, "xsaveoptq", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::XSAVE64, "xsaveq", Convert__Mem5_0, { MCK_Mem }, Feature_In64BitMode}, { X86::XSETBV, "xsetbv", Convert, { }, 0}, { X86::XSHA1, "xsha1", Convert, { }, 0}, { X86::XSHA256, "xsha256", Convert, { }, 0}, { X86::XSTORE, "xstore", Convert, { }, 0}, { X86::XSTORE, "xstorerng", Convert, { }, 0}, }; bool X86ATTAsmParser:: MnemonicIsValid(StringRef Mnemonic) { // Search the table. std::pair<const MatchEntry*, const MatchEntry*> MnemonicRange = std::equal_range(MatchTable, MatchTable+3300, Mnemonic, LessOpcode()); return MnemonicRange.first != MnemonicRange.second; } unsigned X86ATTAsmParser:: MatchInstructionImpl(const SmallVectorImpl<MCParsedAsmOperand*> &Operands, MCInst &Inst, unsigned &ErrorInfo) { // Get the current feature set. unsigned AvailableFeatures = getAvailableFeatures(); // Get the instruction mnemonic, which is the first token. StringRef Mnemonic = ((X86Operand*)Operands[0])->getToken(); // Process all MnemonicAliases to remap the mnemonic. ApplyMnemonicAliases(Mnemonic, AvailableFeatures); // Eliminate obvious mismatches. if (Operands.size() > 6) { ErrorInfo = 6; return Match_InvalidOperand; } // Some state to try to produce better error messages. bool HadMatchOtherThanFeatures = false; bool HadMatchOtherThanPredicate = false; unsigned RetCode = Match_InvalidOperand; // Set ErrorInfo to the operand that mismatches if it is // wrong for all instances of the instruction. ErrorInfo = ~0U; // Search the table. std::pair<const MatchEntry*, const MatchEntry*> MnemonicRange = std::equal_range(MatchTable, MatchTable+3300, Mnemonic, LessOpcode()); // Return a more specific error code if no mnemonics match. if (MnemonicRange.first == MnemonicRange.second) return Match_MnemonicFail; for (const MatchEntry *it = MnemonicRange.first, *ie = MnemonicRange.second; it != ie; ++it) { // equal_range guarantees that instruction mnemonic matches. assert(Mnemonic == it->Mnemonic); bool OperandsValid = true; for (unsigned i = 0; i != 5; ++i) { if (i + 1 >= Operands.size()) { OperandsValid = (it->Classes[i] == InvalidMatchClass); break; } if (ValidateOperandClass(Operands[i+1], it->Classes[i])) continue; // If this operand is broken for all of the instances of this // mnemonic, keep track of it so we can report loc info. if (it == MnemonicRange.first || ErrorInfo <= i+1) ErrorInfo = i+1; // Otherwise, just reject this instance of the mnemonic. OperandsValid = false; break; } if (!OperandsValid) continue; if ((AvailableFeatures & it->RequiredFeatures) != it->RequiredFeatures) { HadMatchOtherThanFeatures = true; continue; } // We have selected a definite instruction, convert the parsed // operands into the appropriate MCInst. if (!ConvertToMCInst(it->ConvertFn, Inst, it->Opcode, Operands)) return Match_ConversionFail; // We have a potential match. Check the target predicate to // handle any context sensitive constraints. unsigned MatchResult; if ((MatchResult = checkTargetMatchPredicate(Inst)) != Match_Success) { Inst.clear(); RetCode = MatchResult; HadMatchOtherThanPredicate = true; continue; } return Match_Success; } // Okay, we had no match. Try to return a useful error code. if (HadMatchOtherThanPredicate || !HadMatchOtherThanFeatures) return RetCode; return Match_MissingFeature; } #endif // GET_MATCHER_IMPLEMENTATION