diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-07-30 13:23:33 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-07-30 13:23:33 -0700 |
commit | d8beeff324f0d47927716e0081fe4a72c56601f7 (patch) | |
tree | a3eb9393a591cf73d88f98beb8076c3f3106bc75 /src/arch/x86/insts/microldstop.hh | |
parent | 9b5421dcbabb3e085edca359d8ce29978594dd98 (diff) | |
download | gem5-d8beeff324f0d47927716e0081fe4a72c56601f7.tar.xz |
X86: Make disassembly use the final register index. Add bits to indicate whether or not register indexes should be "folded".
--HG--
extra : convert_revision : 4b46e71ca91e480f6e1662b7f37b75240d6598e9
Diffstat (limited to 'src/arch/x86/insts/microldstop.hh')
-rw-r--r-- | src/arch/x86/insts/microldstop.hh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/x86/insts/microldstop.hh b/src/arch/x86/insts/microldstop.hh index ae03d176e..8fef14121 100644 --- a/src/arch/x86/insts/microldstop.hh +++ b/src/arch/x86/insts/microldstop.hh @@ -76,6 +76,7 @@ namespace X86ISA const RegIndex data; const uint8_t dataSize; const uint8_t addressSize; + RegIndex foldOBit, foldABit; //Constructor LdStOp(ExtMachInst _machInst, @@ -92,7 +93,11 @@ namespace X86ISA disp(_disp), segment(_segment), data(_data), dataSize(_dataSize), addressSize(_addressSize) - {} + { + foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; + foldABit = + (addressSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; + } std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; |