diff options
author | Daniel Dunbar <daniel@zuster.org> | 2011-01-11 19:06:29 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2011-01-11 19:06:29 +0000 |
commit | 09264124c18f6535b9d9b0ea81d7bb2e145f3ef4 (patch) | |
tree | fe661876b113b50dbc1514cde07fb92d991bd6d2 /llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | |
parent | 6492807291663aab25cd4a32f82690336cda6fce (diff) | |
download | bcm5719-llvm-09264124c18f6535b9d9b0ea81d7bb2e145f3ef4.tar.gz bcm5719-llvm-09264124c18f6535b9d9b0ea81d7bb2e145f3ef4.zip |
McARM: Fill in GetMnemonicAcceptInfo().
llvm-svn: 123253
Diffstat (limited to 'llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 5346106c58a..efe57237623 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -937,9 +937,24 @@ static StringRef SplitMnemonicAndCC(StringRef Mnemonic, // FIXME: It would be nice to autogen this. static void GetMnemonicAcceptInfo(StringRef Mnemonic, bool &CanAcceptCarrySet, bool &CanAcceptPredicationCode) { - CanAcceptCarrySet = false; + if (Mnemonic == "and" || Mnemonic == "lsl" || Mnemonic == "lsr" || + Mnemonic == "rrx" || Mnemonic == "ror" || Mnemonic == "sub" || + Mnemonic == "smull" || Mnemonic == "add" || Mnemonic == "adc" || + Mnemonic == "mul" || Mnemonic == "bic" || Mnemonic == "asr" || + Mnemonic == "umlal" || Mnemonic == "orr" || Mnemonic == "mov" || + Mnemonic == "rsb" || Mnemonic == "rsc" || Mnemonic == "orn" || + Mnemonic == "sbc" || Mnemonic == "mla" || Mnemonic == "umull" || + Mnemonic == "eor" || Mnemonic == "smlal" || Mnemonic == "mvn") { + CanAcceptCarrySet = true; + } else { + CanAcceptCarrySet = false; + } - if (Mnemonic == "trap") { + if (Mnemonic == "cbnz" || Mnemonic == "setend" || Mnemonic == "dmb" || + Mnemonic == "cps" || Mnemonic == "mcr2" || Mnemonic == "it" || + Mnemonic == "mcrr2" || Mnemonic == "cbz" || Mnemonic == "cdp2" || + Mnemonic == "trap" || Mnemonic == "mrc2" || Mnemonic == "mrrc2" || + Mnemonic == "dsb" || Mnemonic == "movs") { CanAcceptPredicationCode = false; } else { CanAcceptPredicationCode = true; |