aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86ISelSimple.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp
index 89842a4e9f..b1336f74d9 100644
--- a/lib/Target/X86/X86ISelSimple.cpp
+++ b/lib/Target/X86/X86ISelSimple.cpp
@@ -815,7 +815,9 @@ void X86ISel::InsertFPRegKills() {
MachineBasicBlock *SBB = *SI;
for (MachineBasicBlock::iterator I = SBB->begin();
I != SBB->end() && I->getOpcode() == X86::PHI; ++I) {
- if (RegMap.getRegClass(I->getOperand(0).getReg())->getSize() == 10)
+ const TargetRegisterClass *RC =
+ RegMap.getRegClass(I->getOperand(0).getReg());
+ if (RC->getSize() == 10 || RC->getSize() == 8)
goto UsesFPReg;
}
}