From 225dfe973bd85e36ff16fe7a08e458f285703cc9 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 30 Jan 2007 01:13:37 +0000 Subject: [PATCH] Use BL to implement Thumb far jumps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33649 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrThumb.td | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td index c494be47056..b99569d4a00 100644 --- a/lib/Target/ARM/ARMInstrThumb.td +++ b/lib/Target/ARM/ARMInstrThumb.td @@ -195,6 +195,9 @@ let isCall = 1, noResults = 1, let isBranch = 1, isTerminator = 1, isBarrier = 1 in { def tB : TI<(ops brtarget:$dst), "b $dst", [(br bb:$dst)]>; + // Far jump + def tBfar : TIx2<(ops brtarget:$dst), "bl $dst\t@ far jump", []>; + def tBR_JTr : TJTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id), "cpy pc, $dst \n\t.align\t2\n$jt", [(ARMbrjt GPR:$dst, tjumptable:$jt, imm:$id)]>; -- 2.34.1