summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64/AArch64AsmPrinter.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-05-27 07:37:21 +0000
committerTim Northover <tnorthover@apple.com>2014-05-27 07:37:21 +0000
commit9bbb4066f8fc2b53594f0c47adf0843756e84aea (patch)
treebe576e37eaa0a384f537fda97d3191d894a025a6 /lib/Target/AArch64/AArch64AsmPrinter.cpp
parentf31b009b3e3af261cbf6ec8f65337187414797f5 (diff)
downloadllvm-9bbb4066f8fc2b53594f0c47adf0843756e84aea.tar.gz
llvm-9bbb4066f8fc2b53594f0c47adf0843756e84aea.tar.bz2
llvm-9bbb4066f8fc2b53594f0c47adf0843756e84aea.tar.xz
AArch64: support 'c' and 'n' inline asm modifiers.
These are tested by test/CodeGen/Generic, so we should probably know how to deal with them. Fortunately generic code does it if asked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209646 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64AsmPrinter.cpp')
-rw-r--r--lib/Target/AArch64/AArch64AsmPrinter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64AsmPrinter.cpp b/lib/Target/AArch64/AArch64AsmPrinter.cpp
index 8553a591fe..c3ee9bbb81 100644
--- a/lib/Target/AArch64/AArch64AsmPrinter.cpp
+++ b/lib/Target/AArch64/AArch64AsmPrinter.cpp
@@ -266,6 +266,11 @@ bool AArch64AsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
unsigned AsmVariant,
const char *ExtraCode, raw_ostream &O) {
const MachineOperand &MO = MI->getOperand(OpNum);
+
+ // First try the generic code, which knows about modifiers like 'c' and 'n'.
+ if (!AsmPrinter::PrintAsmOperand(MI, OpNum, AsmVariant, ExtraCode, O))
+ return false;
+
// Does this asm operand have a single letter operand modifier?
if (ExtraCode && ExtraCode[0]) {
if (ExtraCode[1] != 0)