Fix an off-by-one error. Also make the code a little more explicit in what it
authorChad Rosier <mcrosier@apple.com>
Fri, 28 Jun 2013 18:57:01 +0000 (18:57 +0000)
committerChad Rosier <mcrosier@apple.com>
Fri, 28 Jun 2013 18:57:01 +0000 (18:57 +0000)
is trying to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185191 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FloatingPoint.cpp

index 8522c8cee6bd268660ba8d709decc1abab7434ee..a4ea1a9eab04ecdbd22e0245ab0dd3d319cda43c 100644 (file)
@@ -115,9 +115,10 @@ namespace {
       unsigned Mask = 0;
       for (MachineBasicBlock::livein_iterator I = MBB->livein_begin(),
            E = MBB->livein_end(); I != E; ++I) {
-        unsigned Reg = *I - X86::FP0;
-        if (Reg < 8)
-          Mask |= 1 << Reg;
+        unsigned Reg = *I;
+        if (Reg < X86::FP0 || Reg > X86::FP6)
+          continue;
+        Mask |= 1 << (Reg - X86::FP0);
       }
       return Mask;
     }