mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
The opcode names ("tLDM", "tLDM_UPD") used for conflict resolution have been stale since
the change to ("tLDMIA", "tLDMIA_UPD"). Update the conflict resolution code and add test cases for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128247 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1090d7711b
commit
8c13335c9a
@ -142,3 +142,9 @@
|
||||
|
||||
# CHECK: stmia r5!, {r0, r1, r2, r3, r4}
|
||||
0x1f 0xc5
|
||||
|
||||
# CHECK: ldmia r5, {r0, r1, r2, r3, r4, r5}
|
||||
0x3f 0xcd
|
||||
|
||||
# CHECK: ldmia r5!, {r0, r1, r2, r3, r4}
|
||||
0x1f 0xcd
|
||||
|
@ -1382,7 +1382,7 @@ bool ARMFilterChooser::emit(raw_ostream &o, unsigned &Indentation) {
|
||||
// 2. source registers are identical => VMOVQ; otherwise => VORRq
|
||||
// 3. LDR, LDRcp => return LDR for now.
|
||||
// FIXME: How can we distinguish between LDR and LDRcp? Do we need to?
|
||||
// 4. tLDM, tLDM_UPD => Rn = Inst{10-8}, reglist = Inst{7-0},
|
||||
// 4. tLDMIA, tLDMIA_UPD => Rn = Inst{10-8}, reglist = Inst{7-0},
|
||||
// wback = registers<Rn> = 0
|
||||
// NOTE: (tLDM, tLDM_UPD) resolution must come before Advanced SIMD
|
||||
// addressing mode resolution!!!
|
||||
@ -1423,7 +1423,7 @@ bool ARMFilterChooser::emit(raw_ostream &o, unsigned &Indentation) {
|
||||
<< "; // Returning LDR for {LDR, LDRcp}\n";
|
||||
return true;
|
||||
}
|
||||
if (name1 == "tLDM" && name2 == "tLDM_UPD") {
|
||||
if (name1 == "tLDMIA" && name2 == "tLDMIA_UPD") {
|
||||
// Inserting the opening curly brace for this case block.
|
||||
--Indentation; --Indentation;
|
||||
o.indent(Indentation) << "{\n";
|
||||
|
Loading…
x
Reference in New Issue
Block a user