From af14e663ac9bbdd8b545552da60fe807754c9988 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Tue, 3 Nov 2009 06:29:56 +0000 Subject: [PATCH] For Thumb indirect branches, use "mov pc, reg" which does not switch between ARM/Thumb modes and does not require the low bit of the target address to be set for Thumb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85874 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrThumb.td | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td index 2a391992874..d353334ce53 100644 --- a/lib/Target/ARM/ARMInstrThumb.td +++ b/lib/Target/ARM/ARMInstrThumb.td @@ -182,7 +182,7 @@ let isReturn = 1, isTerminator = 1, isBarrier = 1 in { // Indirect branches let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in { - def tBRIND : TI<(outs), (ins GPR:$dst), IIC_Br, "bx\t$dst", + def tBRIND : TI<(outs), (ins GPR:$dst), IIC_Br, "mov\tpc, $dst", [(brind GPR:$dst)]>; } -- 2.34.1