summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2014-03-12 19:25:57 +0000
committerRoman Divacky <rdivacky@freebsd.org>2014-03-12 19:25:57 +0000
commita26f9a6a42ec47a4bf168dc3be6ea8cf55dd2805 (patch)
treebe636aaa0070218cb2df056094d5f50843ab8d9f
parentbc82fe338e211390260ea7406d1f250260d57c2a (diff)
downloadbcm5719-llvm-a26f9a6a42ec47a4bf168dc3be6ea8cf55dd2805.tar.gz
bcm5719-llvm-a26f9a6a42ec47a4bf168dc3be6ea8cf55dd2805.zip
Allow exclamation and tilde to be parsed as a part of the ppc asm operand.
llvm-svn: 203699
-rw-r--r--llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp2
-rw-r--r--llvm/test/MC/PowerPC/ppc64-operands.s7
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
index b76416c6334..21af0374a07 100644
--- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
+++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
@@ -1205,6 +1205,8 @@ ParseOperand(SmallVectorImpl<MCParsedAsmOperand*> &Operands) {
case AsmToken::Integer:
case AsmToken::Dot:
case AsmToken::Dollar:
+ case AsmToken::Exclaim:
+ case AsmToken::Tilde:
if (!ParseExpression(EVal))
break;
/* fall through */
diff --git a/llvm/test/MC/PowerPC/ppc64-operands.s b/llvm/test/MC/PowerPC/ppc64-operands.s
index fc1cbeb94b9..f914cfcf2b0 100644
--- a/llvm/test/MC/PowerPC/ppc64-operands.s
+++ b/llvm/test/MC/PowerPC/ppc64-operands.s
@@ -113,3 +113,10 @@
# CHECK: # encoding: [0x42,0x00,A,0bAAAAAA00]
bdnz $-8
+
+# CHECK: andi. 0, 3, 32767 # encoding: [0x70,0x60,0x7f,0xff]
+ andi. %r0,%r3,~0x8000@l
+
+# CHECK: andi. 0, 3, 0 # encoding: [0x70,0x60,0x00,0x00]
+ andi. %r0,%r3,!0x8000@l
+
OpenPOWER on IntegriCloud