Changes per review of commit 159787
authorJack Carter <jcarter@mips.com>
Fri, 6 Jul 2012 02:44:22 +0000 (02:44 +0000)
committerJack Carter <jcarter@mips.com>
Fri, 6 Jul 2012 02:44:22 +0000 (02:44 +0000)
   Mips specific inline asm operand modifier D.

   Comment changes and predicate change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159802 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsAsmPrinter.cpp

index 3be0b287d8dd596c480c5ea265a42c2b0a3d4e19..fc47ba5bfd6fa28b4a10c61cf54ca02564b33a54 100644 (file)
@@ -333,7 +333,6 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
         O << "$0";
       return false;
     }
-    // This will be shared with other cases in succeeding checkins
     case 'D': {
       // Second part of a double word register operand
       if (OpNum == 0)
@@ -343,9 +342,10 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
         return true;
       unsigned Flags = FlagsOP.getImm();
       unsigned NumVals = InlineAsm::getNumOperandRegisters(Flags);
+      // Number of registers represented by this operand. We are looking
+      // for 2 for 32 bit mode and 1 for 64 bit mode.
       if (NumVals != 2) {
-        if (!Subtarget->isGP32bit() && NumVals == 1 && MO.isReg()) {
-          // In 64 bit mode long longs are always just a single reg
+        if (Subtarget->isGP64bit() && NumVals == 1 && MO.isReg()) {
           unsigned Reg = MO.getReg();
           O << '$' << MipsInstPrinter::getRegisterName(Reg);
           return false;
@@ -354,7 +354,6 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
       }
       unsigned RegOp;
       switch(ExtraCode[0]) {
-      // This will have other cases in succeeding checkins
       case 'D':
         RegOp = (!Subtarget->isGP32bit()) ? OpNum : OpNum + 1;
         break;
@@ -368,8 +367,8 @@ bool MipsAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
       O << '$' << MipsInstPrinter::getRegisterName(Reg);
       return false;
     }
-    } // switch
-  } // if ExtraCode
+    }
+  }
 
   printOperand(MI, OpNum, O);
   return false;