McARM: Flush out hard coded known non-predicated mnemonic list.
authorDaniel Dunbar <daniel@zuster.org>
Mon, 10 Jan 2011 21:01:03 +0000 (21:01 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 10 Jan 2011 21:01:03 +0000 (21:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123189 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/AsmParser/ARMAsmParser.cpp
test/MC/ARM/neon-absdiff-encoding.s
test/MC/ARM/neon-bitcount-encoding.s
test/MC/ARM/neon-pairwise-encoding.s

index d53ce935607c12ba11a2a6e070fc713d601b2b99..030e7fd98f020905977c36cf9a83f4699c7385d4 100644 (file)
@@ -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.
index d678cafa2c6aea48d0d3acd2e952a506aa106f34..f43ea6582a28bdb9347a2e3bef5369d2c0b2932d 100644 (file)
@@ -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
index 68d7f1293cdb6fea0375259c8cc831c0ab536045..2c9518b32c1b6ac669850cb77e5b85bdca5282ea 100644 (file)
@@ -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
index 40c2a0bbd5a856de7ab71538925452c3e4de2ab3..65c47bd64aeb737d3e6b1966d764d7b0e5ffec68 100644 (file)
@@ -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