1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

[llvm-exegesis][X86] Ignore a few unmeasurable opcodes.

Differential Revision: https://reviews.llvm.org/D90744
This commit is contained in:
Clement Courbet 2020-11-02 15:01:21 +01:00
parent eca521558a
commit d3be0b160e

View File

@ -196,6 +196,21 @@ static const char *isInvalidOpcode(const Instruction &Instr) {
if (OpcodeName.startswith("POP") || OpcodeName.startswith("PUSH") ||
OpcodeName.startswith("ADJCALLSTACK") || OpcodeName.startswith("LEAVE"))
return "unsupported opcode: Push/Pop/AdjCallStack/Leave";
switch (Instr.Description.Opcode) {
case X86::LFS16rm:
case X86::LFS32rm:
case X86::LFS64rm:
case X86::LGS16rm:
case X86::LGS32rm:
case X86::LGS64rm:
case X86::LSS16rm:
case X86::LSS32rm:
case X86::LSS64rm:
case X86::SYSENTER:
return "unsupported opcode";
default:
break;
}
if (const auto reason = isInvalidMemoryInstr(Instr))
return reason;
// We do not handle instructions with OPERAND_PCREL.