[llvm-commits] [llvm] r134755 - /llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
Jim Grosbach
grosbach at apple.com
Fri Jul 8 15:25:24 PDT 2011
Author: grosbach
Date: Fri Jul 8 17:25:23 2011
New Revision: 134755
URL: http://llvm.org/viewvc/llvm-project?rev=134755&view=rev
Log:
Pseudo-ize tBRIND.
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=134755&r1=134754&r2=134755&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Fri Jul 8 17:25:23 2011
@@ -370,18 +370,6 @@
let Inst{6-3} = Rm;
let Inst{2-0} = 0b000;
}
-
- def tBRIND : TI<(outs), (ins GPR:$Rm),
- IIC_Br,
- "mov\tpc, $Rm",
- [(brind GPR:$Rm)]>,
- T1Special<{1,0,?,?}> {
- // A8.6.97
- bits<4> Rm;
- let Inst{7} = 1; // <Rd> = Inst{7:2-0} = pc
- let Inst{6-3} = Rm;
- let Inst{2-0} = 0b111;
- }
}
let isReturn = 1, isTerminator = 1, isBarrier = 1 in {
@@ -1496,3 +1484,9 @@
Size2Bytes, IIC_iPop_Br, [],
(tPOP pred:$p, reglist:$regs)>;
+// Indirect branch using "mov pc, $Rm"
+let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in {
+ def tBRIND : tPseudoExpand<(outs), (ins GPR:$Rm),
+ Size2Bytes, IIC_Br, [(brind GPR:$Rm)],
+ (tMOVr PC, GPR:$Rm, (ops 14, zero_reg))>;
+}
More information about the llvm-commits
mailing list