[clang] db2fb3d - [X86] Define __APX_F__ when APX is enabled. (#88343)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 11 01:57:35 PDT 2024
Author: Freddy Ye
Date: 2024-04-11T16:57:32+08:00
New Revision: db2fb3d96b217f0d2e139e7816c98d9f95974f25
URL: https://github.com/llvm/llvm-project/commit/db2fb3d96b217f0d2e139e7816c98d9f95974f25
DIFF: https://github.com/llvm/llvm-project/commit/db2fb3d96b217f0d2e139e7816c98d9f95974f25.diff
LOG: [X86] Define __APX_F__ when APX is enabled. (#88343)
Relate gcc patch:
https://gcc.gnu.org/pipermail/gcc-patches/2024-April/648789.html
Added:
Modified:
clang/lib/Basic/Targets/X86.cpp
clang/test/Preprocessor/x86_target_features.c
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/X86.cpp b/clang/lib/Basic/Targets/X86.cpp
index 1966af17904d65..bf1767c87fe1ce 100644
--- a/clang/lib/Basic/Targets/X86.cpp
+++ b/clang/lib/Basic/Targets/X86.cpp
@@ -954,6 +954,9 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
Builder.defineMacro("__CCMP__");
if (HasCF)
Builder.defineMacro("__CF__");
+ // Condition here is aligned with the feature set of mapxf in Options.td
+ if (HasEGPR && HasPush2Pop2 && HasPPX && HasNDD)
+ Builder.defineMacro("__APX_F__");
// Each case falls through to the previous one here.
switch (SSELevel) {
diff --git a/clang/test/Preprocessor/x86_target_features.c b/clang/test/Preprocessor/x86_target_features.c
index a1882043910f76..5602c59158fe5a 100644
--- a/clang/test/Preprocessor/x86_target_features.c
+++ b/clang/test/Preprocessor/x86_target_features.c
@@ -803,7 +803,8 @@
// RUN: %clang -target x86_64-unknown-unknown -march=x86-64 -mapx-features=ndd -x c -E -dM -o - %s | FileCheck --check-prefix=NDD %s
// RUN: %clang -target x86_64-unknown-unknown -march=x86-64 -mapx-features=ccmp -x c -E -dM -o - %s | FileCheck --check-prefix=CCMP %s
// RUN: %clang -target x86_64-unknown-unknown -march=x86-64 -mapx-features=cf -x c -E -dM -o - %s | FileCheck --check-prefix=CF %s
-// RUN: %clang -target x86_64-unknown-unknown -march=x86-64 -mapxf -x c -E -dM -o - %s | FileCheck --check-prefixes=EGPR,PUSH2POP2,PPX,NDD %s
+// RUN: %clang -target x86_64-unknown-unknown -march=x86-64 -mapxf -x c -E -dM -o - %s | FileCheck --check-prefixes=EGPR,PUSH2POP2,PPX,NDD,APXF %s
+// APXF: #define __APX_F__ 1
// CCMP: #define __CCMP__ 1
// CF: #define __CF__ 1
// EGPR: #define __EGPR__ 1
More information about the cfe-commits
mailing list