Index: clang/lib/Basic/Targets/X86.h
--- clang/lib/Basic/Targets/X86.h.orig
+++ clang/lib/Basic/Targets/X86.h
@@ -143,6 +143,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public T
   bool HasMOVDIR64B = false;
   bool HasPTWRITE = false;
   bool HasINVPCID = false;
+  bool HasSaveArgs = false;
   bool HasENQCMD = false;
   bool HasAVXVNNIINT16 = false;
   bool HasAMXFP16 = false;
@@ -779,11 +780,14 @@ class LLVM_LIBRARY_VISIBILITY X86_64TargetInfo : publi
     case CC_X86VectorCall:
     case CC_IntelOclBicc:
     case CC_Win64:
+    case CC_X86RegCall:
+    case CC_OpenCLKernel:
+      return CCCR_OK;
     case CC_PreserveMost:
     case CC_PreserveAll:
     case CC_PreserveNone:
-    case CC_X86RegCall:
-    case CC_OpenCLKernel:
+      if (getTriple().isOSOpenBSD())
+        return CCCR_Warning;
       return CCCR_OK;
     default:
       return CCCR_Warning;
