[llvm-commits] [llvm] r140095 - in /llvm/trunk: lib/Target/ARM/AsmParser/ARMAsmParser.cpp test/MC/ARM/basic-thumb2-instructions.s
Jim Grosbach
grosbach at apple.com
Mon Sep 19 16:31:02 PDT 2011
Author: grosbach
Date: Mon Sep 19 18:31:02 2011
New Revision: 140095
URL: http://llvm.org/viewvc/llvm-project?rev=140095&view=rev
Log:
Thumb2 assembly parsing and encoding for UMAAL/UMLAL/UMULL.
Modified:
llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s
Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=140095&r1=140094&r2=140095&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Mon Sep 19 18:31:02 2011
@@ -3213,12 +3213,12 @@
Mnemonic == "rrx" || Mnemonic == "ror" || Mnemonic == "sub" ||
Mnemonic == "add" || Mnemonic == "adc" ||
Mnemonic == "mul" || Mnemonic == "bic" || Mnemonic == "asr" ||
- Mnemonic == "umlal" || Mnemonic == "orr" || Mnemonic == "mvn" ||
+ Mnemonic == "orr" || Mnemonic == "mvn" ||
Mnemonic == "rsb" || Mnemonic == "rsc" || Mnemonic == "orn" ||
- Mnemonic == "sbc" || Mnemonic == "umull" || Mnemonic == "eor" ||
- Mnemonic == "neg" ||
+ Mnemonic == "sbc" || Mnemonic == "eor" || Mnemonic == "neg" ||
(!isThumb() && (Mnemonic == "smull" || Mnemonic == "mov" ||
- Mnemonic == "mla" || Mnemonic == "smlal"))) {
+ Mnemonic == "mla" || Mnemonic == "smlal" ||
+ Mnemonic == "umlal" || Mnemonic == "umull"))) {
CanAcceptCarrySet = true;
} else
CanAcceptCarrySet = false;
Modified: llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s?rev=140095&r1=140094&r2=140095&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s (original)
+++ llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s Mon Sep 19 18:31:02 2011
@@ -2774,3 +2774,39 @@
@ CHECK: itt lt @ encoding: [0xbc,0xbf]
@ CHECK: uhsub16lt r4, r9, r12 @ encoding: [0xd9,0xfa,0x6c,0xf4]
@ CHECK: uhsub8lt r3, r1, r5 @ encoding: [0xc1,0xfa,0x65,0xf3]
+
+
+ at ------------------------------------------------------------------------------
+@ UMAAL
+ at ------------------------------------------------------------------------------
+ umaal r3, r4, r5, r6
+ it lt
+ umaallt r3, r4, r5, r6
+
+@ CHECK: umaal r3, r4, r5, r6 @ encoding: [0xe5,0xfb,0x66,0x34]
+@ CHECK: it lt @ encoding: [0xb8,0xbf]
+@ CHECK: umaallt r3, r4, r5, r6 @ encoding: [0xe5,0xfb,0x66,0x34]
+
+
+ at ------------------------------------------------------------------------------
+@ UMLAL
+ at ------------------------------------------------------------------------------
+ umlal r2, r4, r6, r8
+ it gt
+ umlalgt r6, r1, r2, r6
+
+@ CHECK: umlal r2, r4, r6, r8 @ encoding: [0xe6,0xfb,0x08,0x24]
+@ CHECK: it gt @ encoding: [0xc8,0xbf]
+@ CHECK: umlalgt r6, r1, r2, r6 @ encoding: [0xe2,0xfb,0x06,0x61]
+
+
+ at ------------------------------------------------------------------------------
+@ UMULL
+ at ------------------------------------------------------------------------------
+ umull r2, r4, r6, r8
+ it gt
+ umullgt r6, r1, r2, r6
+
+@ CHECK: umull r2, r4, r6, r8 @ encoding: [0xa6,0xfb,0x08,0x24]
+@ CHECK: it gt @ encoding: [0xc8,0xbf]
+@ CHECK: umullgt r6, r1, r2, r6 @ encoding: [0xa2,0xfb,0x06,0x61]
More information about the llvm-commits
mailing list