Index: clang/lib/Basic/Targets/X86.h
--- clang/lib/Basic/Targets/X86.h.orig
+++ clang/lib/Basic/Targets/X86.h
@@ -182,6 +182,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public T
   bool HasZU = false;
   bool HasInlineAsmUseGPR32 = false;
   bool HasBranchHint = false;
+  bool HasSaveArgs = false;
 
 protected:
   llvm::X86::CPUKind CPU = llvm::X86::CK_None;
@@ -792,10 +793,13 @@ class LLVM_LIBRARY_VISIBILITY X86_64TargetInfo : publi
     case CC_X86VectorCall:
     case CC_IntelOclBicc:
     case CC_Win64:
+    case CC_X86RegCall:
+      return CCCR_OK;
     case CC_PreserveMost:
     case CC_PreserveAll:
     case CC_PreserveNone:
-    case CC_X86RegCall:
+      if (getTriple().isOSOpenBSD())
+        return CCCR_Warning;
       return CCCR_OK;
     case CC_DeviceKernel:
       return IsOpenCL ? CCCR_OK : CCCR_Warning;
