summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp15
-rw-r--r--llvm/test/MC/ARM/neon-absdiff-encoding.s2
-rw-r--r--llvm/test/MC/ARM/neon-bitcount-encoding.s1
-rw-r--r--llvm/test/MC/ARM/neon-pairwise-encoding.s1
4 files changed, 12 insertions, 7 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index d53ce935607..030e7fd98f0 100644
--- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -869,9 +869,18 @@ bool ARMAsmParser::ParseOperand(SmallVectorImpl<MCParsedAsmOperand*> &Operands){
// FIXME: Would be nice to autogen this.
static unsigned SplitMnemonicAndCC(StringRef &Mnemonic) {
// Ignore some mnemonics we know aren't predicated forms.
- if (Mnemonic == "movs" ||
- Mnemonic == "vmls" ||
- Mnemonic == "vnmls")
+ if (Mnemonic == "teq" || Mnemonic == "vceq" ||
+ Mnemonic == "movs" ||
+ Mnemonic == "svc" ||
+ (Mnemonic == "mls" || Mnemonic == "smmls" || Mnemonic == "vcls" ||
+ Mnemonic == "vmls" || Mnemonic == "vnmls") ||
+ Mnemonic == "vacge" || Mnemonic == "vcge" ||
+ Mnemonic == "vclt" ||
+ Mnemonic == "vacgt" || Mnemonic == "vcgt" ||
+ Mnemonic == "vcle" ||
+ (Mnemonic == "smlal" || Mnemonic == "umaal" || Mnemonic == "umlal" ||
+ Mnemonic == "vabal" || Mnemonic == "vmlal" || Mnemonic == "vpadal" ||
+ Mnemonic == "vqdmlal"))
return ARMCC::AL;
// Otherwise, determine the predicate.
diff --git a/llvm/test/MC/ARM/neon-absdiff-encoding.s b/llvm/test/MC/ARM/neon-absdiff-encoding.s
index d678cafa2c6..f43ea6582a2 100644
--- a/llvm/test/MC/ARM/neon-absdiff-encoding.s
+++ b/llvm/test/MC/ARM/neon-absdiff-encoding.s
@@ -1,6 +1,4 @@
@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
-@ XFAIL: *
-@ NOTE: This currently fails because the ASM parser doesn't parse vabal.
@ CHECK: vabd.s8 d16, d16, d17 @ encoding: [0xa1,0x07,0x40,0xf2]
vabd.s8 d16, d16, d17
diff --git a/llvm/test/MC/ARM/neon-bitcount-encoding.s b/llvm/test/MC/ARM/neon-bitcount-encoding.s
index 68d7f1293cd..2c9518b32c1 100644
--- a/llvm/test/MC/ARM/neon-bitcount-encoding.s
+++ b/llvm/test/MC/ARM/neon-bitcount-encoding.s
@@ -1,5 +1,4 @@
@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
-@ XFAIL: *
@ CHECK: vcnt.8 d16, d16 @ encoding: [0x20,0x05,0xf0,0xf3]
vcnt.8 d16, d16
diff --git a/llvm/test/MC/ARM/neon-pairwise-encoding.s b/llvm/test/MC/ARM/neon-pairwise-encoding.s
index 40c2a0bbd5a..65c47bd64ae 100644
--- a/llvm/test/MC/ARM/neon-pairwise-encoding.s
+++ b/llvm/test/MC/ARM/neon-pairwise-encoding.s
@@ -1,5 +1,4 @@
@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
-@ XFAIL: *
@ CHECK: vpadd.i8 d16, d17, d16 @ encoding: [0xb0,0x0b,0x41,0xf2]
vpadd.i8 d16, d17, d16
OpenPOWER on IntegriCloud