reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
856 dbgprintf(insn, "getID()"); 860 if (insn->mode == MODE_64BIT) 863 if (insn->vectorExtensionType != TYPE_NO_VEX_XOP) { 864 attrMask |= (insn->vectorExtensionType == TYPE_EVEX) ? ATTR_EVEX : ATTR_VEX; 866 if (insn->vectorExtensionType == TYPE_EVEX) { 867 switch (ppFromEVEX3of4(insn->vectorExtensionPrefix[2])) { 879 if (zFromEVEX4of4(insn->vectorExtensionPrefix[3])) 881 if (bFromEVEX4of4(insn->vectorExtensionPrefix[3])) 883 if (aaaFromEVEX4of4(insn->vectorExtensionPrefix[3])) 885 if (lFromEVEX4of4(insn->vectorExtensionPrefix[3])) 887 if (l2FromEVEX4of4(insn->vectorExtensionPrefix[3])) 889 } else if (insn->vectorExtensionType == TYPE_VEX_3B) { 890 switch (ppFromVEX3of3(insn->vectorExtensionPrefix[2])) { 902 if (lFromVEX3of3(insn->vectorExtensionPrefix[2])) 904 } else if (insn->vectorExtensionType == TYPE_VEX_2B) { 905 switch (ppFromVEX2of2(insn->vectorExtensionPrefix[1])) { 917 if (lFromVEX2of2(insn->vectorExtensionPrefix[1])) 919 } else if (insn->vectorExtensionType == TYPE_XOP) { 920 switch (ppFromXOP3of3(insn->vectorExtensionPrefix[2])) { 932 if (lFromXOP3of3(insn->vectorExtensionPrefix[2])) 937 } else if (!insn->mandatoryPrefix) { 939 if (insn->hasOpSize && (insn->mode != MODE_16BIT)) 939 if (insn->hasOpSize && (insn->mode != MODE_16BIT)) 941 if (insn->hasAdSize) 943 if (insn->opcodeType == ONEBYTE) { 944 if (insn->repeatPrefix == 0xf3 && (insn->opcode == 0x90)) 944 if (insn->repeatPrefix == 0xf3 && (insn->opcode == 0x90)) 948 if (insn->repeatPrefix == 0xf2) 950 else if (insn->repeatPrefix == 0xf3) 954 switch (insn->mandatoryPrefix) { 962 if (insn->mode != MODE_16BIT) 972 if (insn->rexPrefix & 0x08) { 981 if (insn->mode == MODE_16BIT && insn->opcodeType == ONEBYTE && 981 if (insn->mode == MODE_16BIT && insn->opcodeType == ONEBYTE && 982 insn->opcode == 0xE3) 988 if (insn->mode == MODE_16BIT && !insn->hasOpSize && 988 if (insn->mode == MODE_16BIT && !insn->hasOpSize && 989 insn->opcodeType == ONEBYTE && 990 (insn->opcode == 0xE8 || insn->opcode == 0xE9)) 990 (insn->opcode == 0xE8 || insn->opcode == 0xE9)) 993 if (insn->mode == MODE_16BIT && !insn->hasOpSize && 993 if (insn->mode == MODE_16BIT && !insn->hasOpSize && 994 insn->opcodeType == TWOBYTE && 995 insn->opcode >= 0x80 && insn->opcode <= 0x8F) 995 insn->opcode >= 0x80 && insn->opcode <= 0x8F) 998 if (getIDWithAttrMask(&instructionID, insn, attrMask)) 1003 if (insn->mode != MODE_64BIT && 1004 insn->vectorExtensionType != TYPE_NO_VEX_XOP) { 1009 if ((insn->vectorExtensionType == TYPE_EVEX && 1010 wFromEVEX3of4(insn->vectorExtensionPrefix[2])) || 1011 (insn->vectorExtensionType == TYPE_VEX_3B && 1012 wFromVEX3of3(insn->vectorExtensionPrefix[2])) || 1013 (insn->vectorExtensionType == TYPE_XOP && 1014 wFromXOP3of3(insn->vectorExtensionPrefix[2]))) { 1018 insn, attrMask | ATTR_REXW)) { 1019 insn->instructionID = instructionID; 1020 insn->spec = specifierForUID(instructionID); 1027 insn->instructionID = instructionIDWithREXW; 1028 insn->spec = specifierForUID(instructionIDWithREXW); 1041 if ((insn->opcodeType == ONEBYTE && ((insn->opcode & 0xFC) == 0xA0)) || 1041 if ((insn->opcodeType == ONEBYTE && ((insn->opcode & 0xFC) == 0xA0)) || 1042 (insn->opcodeType == TWOBYTE && (insn->opcode == 0xAE)) || 1042 (insn->opcodeType == TWOBYTE && (insn->opcode == 0xAE)) || 1043 (insn->opcodeType == THREEBYTE_38 && insn->opcode == 0xF8)) { 1043 (insn->opcodeType == THREEBYTE_38 && insn->opcode == 0xF8)) { 1045 if (insn->hasAdSize) 1047 if (insn->hasOpSize) 1051 if (insn->mode == MODE_16BIT) { 1055 if (insn->opcodeType == ONEBYTE && ((insn->opcode & 0xFC) == 0xA0)) 1055 if (insn->opcodeType == ONEBYTE && ((insn->opcode & 0xFC) == 0xA0)) 1059 if (getIDWithAttrMask(&instructionID, insn, attrMask)) 1062 insn->instructionID = instructionID; 1063 insn->spec = specifierForUID(instructionID); 1067 if ((insn->mode == MODE_16BIT || insn->hasOpSize) && 1067 if ((insn->mode == MODE_16BIT || insn->hasOpSize) && 1084 insn, 1091 insn->instructionID = instructionID; 1092 insn->spec = spec; 1100 (insn->mode == MODE_16BIT) ^ insn->hasOpSize) { 1100 (insn->mode == MODE_16BIT) ^ insn->hasOpSize) { 1101 insn->instructionID = instructionIDWithOpsize; 1102 insn->spec = specifierForUID(instructionIDWithOpsize); 1104 insn->instructionID = instructionID; 1105 insn->spec = spec; 1110 if (insn->opcodeType == ONEBYTE && insn->opcode == 0x90 && 1110 if (insn->opcodeType == ONEBYTE && insn->opcode == 0x90 && 1111 insn->rexPrefix & 0x01) { 1124 insn->opcode = 0x91; 1127 insn, 1129 insn->opcode = 0x90; 1131 insn->instructionID = instructionID; 1132 insn->spec = spec; 1139 insn->opcode = 0x90; 1141 insn->instructionID = instructionIDWithNewOpcode; 1142 insn->spec = specWithNewOpcode; 1147 insn->instructionID = instructionID; 1148 insn->spec = specifierForUID(insn->instructionID); 1148 insn->spec = specifierForUID(insn->instructionID);