mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
ARM code emitter can't handle Thumb2 instructions yet. So don't even try.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77018 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
26fe866cec
commit
90daf4d035
@ -1165,18 +1165,17 @@ void Emitter<CodeEmitter>::emitMiscBranchInstruction(const MachineInstr &MI) {
|
||||
const TargetInstrDesc &TID = MI.getDesc();
|
||||
|
||||
// Handle jump tables.
|
||||
if (TID.Opcode == ARM::BR_JTr || TID.Opcode == ARM::BR_JTadd ||
|
||||
TID.Opcode == ARM::t2BR_JTr || TID.Opcode == ARM::t2BR_JTadd) {
|
||||
if (TID.Opcode == ARM::BR_JTr || TID.Opcode == ARM::BR_JTadd) {
|
||||
// First emit a ldr pc, [] instruction.
|
||||
emitDataProcessingInstruction(MI, ARM::PC);
|
||||
|
||||
// Then emit the inline jump table.
|
||||
unsigned JTIndex =
|
||||
(TID.Opcode == ARM::BR_JTr || TID.Opcode == ARM::t2BR_JTr)
|
||||
(TID.Opcode == ARM::BR_JTr)
|
||||
? MI.getOperand(1).getIndex() : MI.getOperand(2).getIndex();
|
||||
emitInlineJumpTable(JTIndex);
|
||||
return;
|
||||
} else if (TID.Opcode == ARM::BR_JTm || TID.Opcode == ARM::t2BR_JTm) {
|
||||
} else if (TID.Opcode == ARM::BR_JTm) {
|
||||
// First emit a ldr pc, [] instruction.
|
||||
emitLoadStoreInstruction(MI, ARM::PC);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user