Differential Revision: https://reviews.llvm.org/D90744
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.