diff options
author | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-02-28 22:02:05 +0000 |
---|---|---|
committer | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-02-28 22:02:05 +0000 |
commit | 5ab29b504d49d3fa84d76f79e73704260f900682 (patch) | |
tree | 2326ad9d7d7f897f547d9cc9507312d40346d3ae /lib/Target/X86/Printer.cpp | |
parent | f822ee999f12e38eebf4a346f384d4bb302bdfad (diff) |
Each instruction now has both an ImmType and a MemType. This describes
the size of the immediate and the memory operand on instructions that
use them. This resolves problems with instructions that take both a
memory and an immediate operand but their sizes differ (i.e. ADDmi32b).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11967 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/Printer.cpp')
-rw-r--r-- | lib/Target/X86/Printer.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/Target/X86/Printer.cpp b/lib/Target/X86/Printer.cpp index df6c41cc4a..34061852b2 100644 --- a/lib/Target/X86/Printer.cpp +++ b/lib/Target/X86/Printer.cpp @@ -433,16 +433,14 @@ void Printer::printOp(const MachineOperand &MO, } } -static const std::string sizePtr(const TargetInstrDescriptor &Desc) { - switch (Desc.TSFlags & X86II::ArgMask) { +static const char* const sizePtr(const TargetInstrDescriptor &Desc) { + switch (Desc.TSFlags & X86II::MemMask) { default: assert(0 && "Unknown arg size!"); - case X86II::Arg8: return "BYTE PTR"; - case X86II::Arg16: return "WORD PTR"; - case X86II::Arg32: return "DWORD PTR"; - case X86II::Arg64: return "QWORD PTR"; - case X86II::ArgF32: return "DWORD PTR"; - case X86II::ArgF64: return "QWORD PTR"; - case X86II::ArgF80: return "XWORD PTR"; + case X86II::Mem8: return "BYTE PTR"; + case X86II::Mem16: return "WORD PTR"; + case X86II::Mem32: return "DWORD PTR"; + case X86II::Mem64: return "QWORD PTR"; + case X86II::Mem80: return "XWORD PTR"; } } |