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 | 194939086d6be4840cdeb6d583dab4a8917be32f (patch) | |
| tree | 5a09bab3be3ae34509760f60feccac008169e886 /llvm/lib/Target/X86/Printer.cpp | |
| parent | 465a5cc291219a86270fa8a704b3922ee1c5ee14 (diff) | |
| download | bcm5719-llvm-194939086d6be4840cdeb6d583dab4a8917be32f.tar.gz bcm5719-llvm-194939086d6be4840cdeb6d583dab4a8917be32f.zip | |
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).
llvm-svn: 11967
Diffstat (limited to 'llvm/lib/Target/X86/Printer.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/Printer.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/Printer.cpp b/llvm/lib/Target/X86/Printer.cpp index df6c41cc4a2..34061852b23 100644 --- a/llvm/lib/Target/X86/Printer.cpp +++ b/llvm/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"; } } |

