From: Bob Wilson Date: Tue, 3 Nov 2009 06:29:56 +0000 (+0000) Subject: For Thumb indirect branches, use "mov pc, reg" which does not switch X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=af14e663ac9bbdd8b545552da60fe807754c9988;p=oota-llvm.git 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 --- 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)]>; }