aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-08-19 22:44:41 +0000
committerDale Johannesen <dalej@apple.com>2009-08-19 22:44:41 +0000
commitfabae3e1bc766e20e8607383a245bba4f3057a3e (patch)
treee78386985f028e1e947c870de4090b0877be308b /lib/Target
parentf9dc20792ad18a309072469d7b788dba2ebeede3 (diff)
downloadexternal_llvm-fabae3e1bc766e20e8607383a245bba4f3057a3e.zip
external_llvm-fabae3e1bc766e20e8607383a245bba4f3057a3e.tar.gz
external_llvm-fabae3e1bc766e20e8607383a245bba4f3057a3e.tar.bz2
Handle 'a' modifier in X86 asms. PR 4742.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79484 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
index 1e2a6de..c37ae99 100644
--- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
+++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
@@ -620,6 +620,18 @@ bool X86ATTAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
switch (ExtraCode[0]) {
default: return true; // Unknown modifier.
+ case 'a': // This is an address. Currently only 'i' and 'r' are expected.
+ if (MO.isImm()) {
+ O << MO.getImm();
+ return false;
+ } else if (MO.isReg()) {
+ O << '(';
+ printOperand(MI, OpNo);
+ O << ')';
+ return false;
+ }
+ return true;
+
case 'c': // Don't print "$" before a global var name or constant.
if (MO.isImm())
O << MO.getImm();