[llvm-commits] [llvm] r85874 - /llvm/trunk/lib/Target/ARM/ARMInstrThumb.td

Bob Wilson bob.wilson at apple.com
Mon Nov 2 22:29:56 PST 2009


Author: bwilson
Date: Tue Nov  3 00:29:56 2009
New Revision: 85874

URL: http://llvm.org/viewvc/llvm-project?rev=85874&view=rev
Log:
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.

Modified:
    llvm/trunk/lib/Target/ARM/ARMInstrThumb.td

Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb.td?rev=85874&r1=85873&r2=85874&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Tue Nov  3 00:29:56 2009
@@ -182,7 +182,7 @@
 
 // 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)]>;
 }
 





More information about the llvm-commits mailing list