mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-24 02:38:42 +00:00
Fix up a few more spots of addrmode2 (or not) changes that were
missed. Update some comments accordingly. Fixes rdar://8652289 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118888 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b238536ada
commit
d0c82a683e
@ -460,7 +460,7 @@ unsigned ARMFastISel::ARMMaterializeInt(const Constant *C, EVT VT) {
|
|||||||
TII.get(ARM::t2LDRpci), DestReg)
|
TII.get(ARM::t2LDRpci), DestReg)
|
||||||
.addConstantPoolIndex(Idx));
|
.addConstantPoolIndex(Idx));
|
||||||
else
|
else
|
||||||
// The extra reg and immediate are for addrmode2.
|
// The extra immediate is for addrmode2.
|
||||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||||
TII.get(ARM::LDRcp), DestReg)
|
TII.get(ARM::LDRcp), DestReg)
|
||||||
.addConstantPoolIndex(Idx)
|
.addConstantPoolIndex(Idx)
|
||||||
@ -505,11 +505,11 @@ unsigned ARMFastISel::ARMMaterializeGV(const GlobalValue *GV, EVT VT) {
|
|||||||
if (RelocM == Reloc::PIC_)
|
if (RelocM == Reloc::PIC_)
|
||||||
MIB.addImm(Id);
|
MIB.addImm(Id);
|
||||||
} else {
|
} else {
|
||||||
// The extra reg and immediate are for addrmode2.
|
// The extra immediate is for addrmode2.
|
||||||
MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, TII.get(ARM::LDRcp),
|
MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, TII.get(ARM::LDRcp),
|
||||||
DestReg)
|
DestReg)
|
||||||
.addConstantPoolIndex(Idx)
|
.addConstantPoolIndex(Idx)
|
||||||
.addReg(0).addImm(0);
|
.addImm(0);
|
||||||
}
|
}
|
||||||
AddOptionalDefs(MIB);
|
AddOptionalDefs(MIB);
|
||||||
return DestReg;
|
return DestReg;
|
||||||
@ -790,6 +790,12 @@ bool ARMFastISel::ARMEmitLoad(EVT VT, unsigned &ResultReg,
|
|||||||
if (isFloat)
|
if (isFloat)
|
||||||
Offset /= 4;
|
Offset /= 4;
|
||||||
|
|
||||||
|
// LDRH needs an additional operand.
|
||||||
|
if (!isThumb && VT.getSimpleVT().SimpleTy == MVT::i16)
|
||||||
|
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||||
|
TII.get(Opc), ResultReg)
|
||||||
|
.addReg(Base).addReg(0).addImm(Offset));
|
||||||
|
else
|
||||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||||
TII.get(Opc), ResultReg)
|
TII.get(Opc), ResultReg)
|
||||||
.addReg(Base).addImm(Offset));
|
.addReg(Base).addImm(Offset));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user