Handle 'A' modifier in inline asms.
authorDale Johannesen <dalej@apple.com>
Thu, 9 Jul 2009 20:06:27 +0000 (20:06 +0000)
committerDale Johannesen <dalej@apple.com>
Thu, 9 Jul 2009 20:06:27 +0000 (20:06 +0000)
gcc.apple/asm-block-13.c
gcc.apple/asm-block-57.c

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

lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp

index 44d1e25461d93c1eefce1d3014f1f45c5f5470d2..4d1d17f3743e7a190cd4256028079c19c731beca 100644 (file)
@@ -656,6 +656,15 @@ bool X86ATTAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
     case 'c': // Don't print "$" before a global var name or constant.
       printOperand(MI, OpNo, "mem");
       return false;
+
+    case 'A': // Print '*' before a register (it must be a register)
+      if (MI->getOperand(OpNo).isReg()) {
+        O << '*';
+        printOperand(MI, OpNo);
+        return false;
+      }
+      return true;
+
     case 'b': // Print QImode register
     case 'h': // Print QImode high register
     case 'w': // Print HImode register