$OpenBSD: patch-lib_Target_X86_X86RegisterInfo_cpp,v 1.1 2019/02/20 00:24:11 jca Exp $

Merge LLVM commits r340844, r353818 and r353819 from the 8.0 branch
to fix a regression in floating point operations.

Index: lib/Target/X86/X86RegisterInfo.cpp
--- lib/Target/X86/X86RegisterInfo.cpp.orig
+++ lib/Target/X86/X86RegisterInfo.cpp
@@ -497,6 +497,9 @@ BitVector X86RegisterInfo::getReservedRegs(const Machi
   BitVector Reserved(getNumRegs());
   const X86FrameLowering *TFI = getFrameLowering(MF);
 
+  // Set the floating point control register as reserved.
+  Reserved.set(X86::FPCW);
+
   // Set the stack-pointer register and its aliases as reserved.
   for (MCSubRegIterator I(X86::RSP, this, /*IncludeSelf=*/true); I.isValid();
        ++I)
