mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-24 09:29:42 +00:00
Thumb2 assembly parsing and encoding for UMAAL/UMLAL/UMULL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a846585050
commit
d5d0e81a4b
@ -3213,12 +3213,12 @@ getMnemonicAcceptInfo(StringRef Mnemonic, bool &CanAcceptCarrySet,
|
||||
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;
|
||||
|
@ -2774,3 +2774,39 @@ _func:
|
||||
@ 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]
|
||||
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ UMAAL
|
||||
@------------------------------------------------------------------------------
|
||||
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]
|
||||
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ UMLAL
|
||||
@------------------------------------------------------------------------------
|
||||
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]
|
||||
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ UMULL
|
||||
@------------------------------------------------------------------------------
|
||||
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]
|
||||
|
Loading…
Reference in New Issue
Block a user