aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86ISelSimple.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp
index b1336f74d9..bb0fb82622 100644
--- a/lib/Target/X86/X86ISelSimple.cpp
+++ b/lib/Target/X86/X86ISelSimple.cpp
@@ -802,9 +802,11 @@ void X86ISel::InsertFPRegKills() {
MachineOperand& MO = I->getOperand(i);
if (MO.isRegister() && MO.getReg()) {
unsigned Reg = MO.getReg();
- if (MRegisterInfo::isVirtualRegister(Reg))
- if (RegMap.getRegClass(Reg)->getSize() == 10)
+ if (MRegisterInfo::isVirtualRegister(Reg)) {
+ unsigned RegSize = RegMap.getRegClass(Reg)->getSize();
+ if (RegSize == 10 || RegSize == 8)
goto UsesFPReg;
+ }
}
}
// If we haven't found an FP register use or def in this basic block, check