Reserve D16-D13 on subtargets that don't support them.

llvm-svn: 133321
This commit is contained in:
Jakob Stoklund Olesen 2011-06-18 00:53:27 +00:00
parent 35cea3da35
commit 19d968e62f
1 changed files with 6 additions and 0 deletions

View File

@ -100,6 +100,12 @@ getReservedRegs(const MachineFunction &MF) const {
// Some targets reserve R9.
if (STI.isR9Reserved())
Reserved.set(ARM::R9);
// Reserve D16-D31 if the subtarget doesn't support them.
if (!STI.hasVFP3() || STI.hasD16()) {
assert(ARM::D31 == ARM::D16 + 15);
for (unsigned i = 0; i != 16; ++i)
Reserved.set(ARM::D16 + i);
}
return Reserved;
}