diff options
-rw-r--r-- | lib/Target/X86/X86ISelSimple.cpp | 4 |
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; } } |