mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[llvm-exegesis][X86] Ignore a few unmeasurable opcodes.
Differential Revision: https://reviews.llvm.org/D90744
This commit is contained in:
parent
eca521558a
commit
d3be0b160e
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user