Allow the b/h/w/k constraints to be applied to values that have multiple alternatives...
authorChris Lattner <sabre@nondot.org>
Sun, 25 Mar 2007 02:01:03 +0000 (02:01 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 25 Mar 2007 02:01:03 +0000 (02:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35320 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ATTAsmPrinter.cpp

index 1fe2dc43e47ab276b2d7f1268909396c0820b47a..147581a1c44904324f460e76f40f36b796bff037 100755 (executable)
@@ -499,7 +499,10 @@ bool X86ATTAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
     case 'h': // Print QImode high register
     case 'w': // Print HImode register
     case 'k': // Print SImode register
-      return printAsmMRegister(MI->getOperand(OpNo), ExtraCode[0]);
+      if (MI->getOperand(OpNo).isReg())
+        return printAsmMRegister(MI->getOperand(OpNo), ExtraCode[0]);
+      printOperand(MI, OpNo);
+      return false;
       
     case 'P': // Don't print @PLT, but do print as memory.
       printOperand(MI, OpNo, "mem");