Expose base opcode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4742 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-11-18 06:56:24 +00:00
parent 6aab9cf65c
commit f21dfcddcf
2 changed files with 20 additions and 0 deletions

View File

@ -25,3 +25,16 @@ X86InstrInfo::X86InstrInfo()
}
static unsigned char BaseOpcodes[] = {
#define I(ENUM, NAME, BASEOPCODE, FLAGS, TSFLAGS) BASEOPCODE,
#include "X86InstrInfo.def"
};
// getBaseOpcodeFor - This function returns the "base" X86 opcode for the
// specified opcode number.
//
unsigned char X86InstrInfo::getBaseOpcodeFor(unsigned Opcode) const {
assert(Opcode < sizeof(BaseOpcodes)/sizeof(BaseOpcodes[0]) &&
"Opcode out of range!");
return BaseOpcodes[Opcode];
}

View File

@ -54,6 +54,7 @@ namespace X86II {
/// TODO: Mod/RM that uses a fixed opcode extension, like /0
FormMask = 7,
//===------------------------------------------------------------------===//
// Actual flags...
@ -83,6 +84,12 @@ public:
virtual void print(const MachineInstr *MI, std::ostream &O,
const TargetMachine &TM) const;
// getBaseOpcodeFor - This function returns the "base" X86 opcode for the
// specified opcode number.
//
unsigned char getBaseOpcodeFor(unsigned Opcode) const;
//===--------------------------------------------------------------------===//
//