[llvm-commits] [llvm] r118730 - in /llvm/trunk/lib/Target/ARM: ARMInstrFormats.td ARMInstrInfo.td
Jim Grosbach
grosbach at apple.com
Wed Nov 10 15:12:48 PST 2010
Author: grosbach
Date: Wed Nov 10 17:12:48 2010
New Revision: 118730
URL: http://llvm.org/viewvc/llvm-project?rev=118730&view=rev
Log:
Fix ARM encoding of LDM+Return instruction.
Modified:
llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
Modified: llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrFormats.td?rev=118730&r1=118729&r2=118730&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrFormats.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrFormats.td Wed Nov 10 17:12:48 2010
@@ -941,9 +941,11 @@
: XI<oops, iops, AddrMode4, Size4Bytes, im, f, itin,
asm, cstr, pattern> {
bits<16> dsts;
- let Inst{20} = 1; // L bit
- let Inst{22} = 0; // S bit
+ bits<4> Rn;
let Inst{27-25} = 0b100;
+ let Inst{22} = 0; // S bit
+ let Inst{20} = 1; // L bit
+ let Inst{19-16} = Rn;
let Inst{15-0} = dsts;
}
class AXI4st<dag oops, dag iops, IndexMode im, Format f, InstrItinClass itin,
Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=118730&r1=118729&r2=118730&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Wed Nov 10 17:12:48 2010
@@ -1183,7 +1183,12 @@
reglist:$dsts, variable_ops),
IndexModeUpd, LdStMulFrm, IIC_iLoad_mBr,
"ldm${mode}${p}\t$Rn!, $dsts",
- "$Rn = $wb", []>;
+ "$Rn = $wb", []> {
+ bits<4> p;
+ let Inst{31-28} = p;
+ let Inst{24-23} = 0b01;
+ let Inst{21} = 1;
+}
// On non-Darwin platforms R9 is callee-saved.
let isCall = 1,
More information about the llvm-commits
mailing list