Target/X86/Printer.cpp: Add sizePtr function, and use it instead of
 " <SIZE> PTR " string when emitting assembly.

Target/X86/X86InstrInfo.def: Tidy up a bit:
 Squashed everything down to 118 chars wide, wrapping lines so that
 comment is at the same point on each line. Rename "NoImpRegs" as
 "NoIR". (most instructions have NoImpRegs twice on a line, so this
 saves 10 columns).

 Also, annotate various instructions with flags for size of memory operand.
  (MemArg16, MemArg32, MemArg64, etc.)

Target/X86/X86InstrInfo.h: Define flags for size of memory operand.
 (MemArg16, MemArg32, MemArg64, etc.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4932 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/Printer.cpp b/lib/Target/X86/Printer.cpp
index bfaa4bd..9a3d604 100644
--- a/lib/Target/X86/Printer.cpp
+++ b/lib/Target/X86/Printer.cpp
@@ -119,6 +119,18 @@
   }
 }
 
+static const std::string sizePtr (const MachineInstrDescriptor &Desc) {
+  switch (Desc.TSFlags & X86II::MemArgMask) {
+    case X86II::MemArg8:   return "BYTE PTR"; 
+    case X86II::MemArg16:  return "WORD PTR"; 
+    case X86II::MemArg32:  return "DWORD PTR"; 
+    case X86II::MemArg64:  return "QWORD PTR"; 
+    case X86II::MemArg80:  return "XWORD PTR"; 
+    case X86II::MemArg128: return "128BIT PTR";  // dunno what the real one is
+    default: return "<SIZE?> PTR"; // crack being smoked
+  }
+}
+
 static void printMemReference(std::ostream &O, const MachineInstr *MI,
                               unsigned Op, const MRegisterInfo &RI) {
   assert(isMem(MI, Op) && "Invalid memory reference!");
@@ -233,7 +245,7 @@
     assert(isMem(MI, 0) && MI->getNumOperands() == 4+1 &&
            isReg(MI->getOperand(4)) && "Bad format for MRMDestMem!");
 
-    O << getName(MI->getOpCode()) << " <SIZE> PTR ";
+    O << getName(MI->getOpCode()) << " " << sizePtr (Desc) << " ";
     printMemReference(O, MI, 0, RI);
     O << ", ";
     printOp(O, MI->getOperand(4), RI);
@@ -283,7 +295,7 @@
 
     O << getName(MI->getOpCode()) << " ";
     printOp(O, MI->getOperand(0), RI);
-    O << ", <SIZE> PTR ";
+    O << ", " << sizePtr (Desc) << " ";
     printMemReference(O, MI, MI->getNumOperands()-4, RI);
     O << "\n";
     return;