summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2011-01-10 21:01:03 +0000
committerDaniel Dunbar <daniel@zuster.org>2011-01-10 21:01:03 +0000
commitc0e8756ba90c9ae1bbfee6f8f682403205374840 (patch)
tree9771051cc682c8bcf7610ffb7fad4f9acda3170c /llvm/lib/Target/ARM
parent48d2411597e8a1d21eca6e9ad078d1ed220460e4 (diff)
downloadbcm5719-llvm-c0e8756ba90c9ae1bbfee6f8f682403205374840.tar.gz
bcm5719-llvm-c0e8756ba90c9ae1bbfee6f8f682403205374840.zip
McARM: Flush out hard coded known non-predicated mnemonic list.
llvm-svn: 123189
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp15
1 files changed, 12 insertions, 3 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.
OpenPOWER on IntegriCloud