mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
The ARM disassembler was confused with the 16-bit tSTMIA instruction.
According to A8.6.189 STM/STMIA/STMEA (Encoding T1), there's only tSTMIA_UPD available. Ignore tSTMIA for the decoder emitter and add a test case for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128246 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
439e0c79f5
commit
1090d7711b
@ -139,3 +139,6 @@
|
||||
|
||||
# CHECK: stmdb.w sp, {r0, r2, r3, r8, r11, lr}
|
||||
0x0d 0xe9 0x0d 0x49
|
||||
|
||||
# CHECK: stmia r5!, {r0, r1, r2, r3, r4}
|
||||
0x1f 0xc5
|
||||
|
@ -1615,6 +1615,11 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
|
||||
if (!thumbInstruction(Form))
|
||||
return false;
|
||||
|
||||
// A8.6.189 STM / STMIA / STMEA -- Encoding T1
|
||||
// There's only STMIA_UPD for Thumb1.
|
||||
if (Name == "tSTMIA")
|
||||
return false;
|
||||
|
||||
// On Darwin R9 is call-clobbered. Ignore the non-Darwin counterparts.
|
||||
if (Name == "tBL" || Name == "tBLXi" || Name == "tBLXr")
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user