mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162820 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
68990df1f9
commit
d79dedd458
@ -705,28 +705,26 @@ void ARMBaseInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
|
|||||||
else if (ARM::DQuadSpcRegClass.contains(DestReg, SrcReg))
|
else if (ARM::DQuadSpcRegClass.contains(DestReg, SrcReg))
|
||||||
Opc = ARM::VMOVD, BeginIdx = ARM::dsub_0, SubRegs = 4, Spacing = 2;
|
Opc = ARM::VMOVD, BeginIdx = ARM::dsub_0, SubRegs = 4, Spacing = 2;
|
||||||
|
|
||||||
if (Opc) {
|
if (!Opc)
|
||||||
const TargetRegisterInfo *TRI = &getRegisterInfo();
|
llvm_unreachable("Impossible reg-to-reg copy");
|
||||||
MachineInstrBuilder Mov;
|
|
||||||
for (unsigned i = 0; i != SubRegs; ++i) {
|
|
||||||
unsigned Dst = TRI->getSubReg(DestReg, BeginIdx + i*Spacing);
|
|
||||||
unsigned Src = TRI->getSubReg(SrcReg, BeginIdx + i*Spacing);
|
|
||||||
assert(Dst && Src && "Bad sub-register");
|
|
||||||
Mov = BuildMI(MBB, I, I->getDebugLoc(), get(Opc), Dst)
|
|
||||||
.addReg(Src);
|
|
||||||
// VORR takes two source operands.
|
|
||||||
if (Opc == ARM::VORRq)
|
|
||||||
Mov.addReg(Src);
|
|
||||||
Mov = AddDefaultPred(Mov);
|
|
||||||
}
|
|
||||||
// Add implicit super-register defs and kills to the last instruction.
|
|
||||||
Mov->addRegisterDefined(DestReg, TRI);
|
|
||||||
if (KillSrc)
|
|
||||||
Mov->addRegisterKilled(SrcReg, TRI);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm_unreachable("Impossible reg-to-reg copy");
|
const TargetRegisterInfo *TRI = &getRegisterInfo();
|
||||||
|
MachineInstrBuilder Mov;
|
||||||
|
for (unsigned i = 0; i != SubRegs; ++i) {
|
||||||
|
unsigned Dst = TRI->getSubReg(DestReg, BeginIdx + i*Spacing);
|
||||||
|
unsigned Src = TRI->getSubReg(SrcReg, BeginIdx + i*Spacing);
|
||||||
|
assert(Dst && Src && "Bad sub-register");
|
||||||
|
Mov = BuildMI(MBB, I, I->getDebugLoc(), get(Opc), Dst)
|
||||||
|
.addReg(Src);
|
||||||
|
// VORR takes two source operands.
|
||||||
|
if (Opc == ARM::VORRq)
|
||||||
|
Mov.addReg(Src);
|
||||||
|
Mov = AddDefaultPred(Mov);
|
||||||
|
}
|
||||||
|
// Add implicit super-register defs and kills to the last instruction.
|
||||||
|
Mov->addRegisterDefined(DestReg, TRI);
|
||||||
|
if (KillSrc)
|
||||||
|
Mov->addRegisterKilled(SrcReg, TRI);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const
|
static const
|
||||||
|
Loading…
Reference in New Issue
Block a user