Neumann-A created this revision.
Herald added a project: All.
Neumann-A requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Even though there is a significant compile time overhead for all users being a
true drop in replacement for cl requires including the intrinsic headers
without a guard.
Github issues (there are probably more related):
https://github.com/llvm/llvm-project/issues/53520
https://github.com/llvm/llvm-project/issues/63492
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D155642
Files:
clang/lib/Headers/bmiintrin.h
clang/lib/Headers/immintrin.h
clang/lib/Headers/keylockerintrin.h
clang/lib/Headers/x86gprintrin.h
clang/lib/Headers/x86intrin.h
Index: clang/lib/Headers/x86intrin.h
===
--- clang/lib/Headers/x86intrin.h
+++ clang/lib/Headers/x86intrin.h
@@ -14,52 +14,52 @@
#include
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__3dNOW__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__PRFCHW__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__SSE4A__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__FMA4__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__XOP__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__TBM__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__LWP__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__MWAITX__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__CLZERO__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__RDPRU__)
#include
#endif
Index: clang/lib/Headers/x86gprintrin.h
===
--- clang/lib/Headers/x86gprintrin.h
+++ clang/lib/Headers/x86gprintrin.h
@@ -10,32 +10,32 @@
#ifndef __X86GPRINTRIN_H
#define __X86GPRINTRIN_H
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__HRESET__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__UINTR__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__CRC32__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__PRFCHI__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__RAOINT__)
#include
#endif
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__CMPCCXADD__)
#include
#endif
Index: clang/lib/Headers/keylockerintrin.h
===
--- clang/lib/Headers/keylockerintrin.h
+++ clang/lib/Headers/keylockerintrin.h
@@ -28,7 +28,7 @@
#ifndef _KEYLOCKERINTRIN_H
#define _KEYLOCKERINTRIN_H
-#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
+#if defined(_MSC_VER) || !defined(__SCE__) || __has_feature(modules) || \
defined(__KL__)
/* Define the defau