From: Jim Grosbach Date: Fri, 16 Sep 2011 16:38:00 +0000 (+0000) Subject: Thumb2 assembly parsing and encoding for SMLAL. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=837fc5e9d5138ed48a74a672dc4c1525e5975ce8;p=oota-llvm.git Thumb2 assembly parsing and encoding for SMLAL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139902 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 59e5e84c7e4..b8100ab0c17 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -3217,9 +3217,10 @@ getMnemonicAcceptInfo(StringRef Mnemonic, bool &CanAcceptCarrySet, Mnemonic == "mul" || Mnemonic == "bic" || Mnemonic == "asr" || Mnemonic == "umlal" || Mnemonic == "orr" || Mnemonic == "mvn" || Mnemonic == "rsb" || Mnemonic == "rsc" || Mnemonic == "orn" || - Mnemonic == "sbc" || Mnemonic == "umull" || - Mnemonic == "eor" || Mnemonic == "smlal" || Mnemonic == "neg" || - ((Mnemonic == "mov" || Mnemonic == "mla") && !isThumb())) { + Mnemonic == "sbc" || Mnemonic == "umull" || Mnemonic == "eor" || + Mnemonic == "neg" || + (!isThumb() && (Mnemonic == "mov" || Mnemonic == "mla" || + Mnemonic == "smlal"))) { CanAcceptCarrySet = true; } else { CanAcceptCarrySet = false; diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s index 13b71b49473..2adb665a621 100644 --- a/test/MC/ARM/basic-thumb2-instructions.s +++ b/test/MC/ARM/basic-thumb2-instructions.s @@ -1786,6 +1786,18 @@ _func: @ CHECK: smladxhi r2, r3, r5, r8 @ encoding: [0x23,0xfb,0x15,0x82] +@------------------------------------------------------------------------------ +@ SMLAL +@------------------------------------------------------------------------------ + smlal r2, r3, r5, r8 + it eq + smlaleq r2, r3, r5, r8 + +@ CHECK: smlal r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0x08,0x23] +@ CHECK: it eq @ encoding: [0x08,0xbf] +@ CHECK: smlaleq r2, r3, r5, r8 @ encoding: [0xc5,0xfb,0x08,0x23] + + @------------------------------------------------------------------------------ @ SUB (register) @------------------------------------------------------------------------------