[llvm-commits] [llvm] r137073 - /llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
Owen Anderson
resistor at mac.com
Mon Aug 8 16:25:22 PDT 2011
Author: resistor
Date: Mon Aug 8 18:25:22 2011
New Revision: 137073
URL: http://llvm.org/viewvc/llvm-project?rev=137073&view=rev
Log:
Thumb1 BL instructions encoding 22 bits of displacement, not 21.
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=137073&r1=137072&r2=137073&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Mon Aug 8 18:25:22 2011
@@ -94,6 +94,7 @@
def t_bltarget : Operand<i32> {
let EncoderMethod = "getThumbBLTargetOpValue";
+ let DecoderMethod = "DecodeThumbBLTargetOperand";
}
def t_blxtarget : Operand<i32> {
@@ -168,6 +169,7 @@
def t_addrmode_sp : Operand<i32>,
ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> {
let EncoderMethod = "getAddrModeThumbSPOpValue";
+ let DecoderMethod = "DecodeThumbAddrModeSP";
let PrintMethod = "printThumbAddrModeSPOperand";
let MIOperandInfo = (ops GPR:$base, i32imm:$offsimm);
}
@@ -374,7 +376,8 @@
"bl${p}\t$func",
[(ARMtcall tglobaladdr:$func)]>,
Requires<[IsThumb, IsNotDarwin]> {
- bits<21> func;
+ bits<22> func;
+ let Inst{26} = func{21};
let Inst{25-16} = func{20-11};
let Inst{13} = 1;
let Inst{11} = 1;
More information about the llvm-commits
mailing list