[clang] 00ce96b - [AArch64] Make nosimd imply nocrypto
David Green via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 31 11:17:28 PST 2023
Author: David Green
Date: 2023-01-31T19:17:22Z
New Revision: 00ce96b02e87c1ceba1857590f56c647ad91db91
URL: https://github.com/llvm/llvm-project/commit/00ce96b02e87c1ceba1857590f56c647ad91db91
DIFF: https://github.com/llvm/llvm-project/commit/00ce96b02e87c1ceba1857590f56c647ad91db91.diff
LOG: [AArch64] Make nosimd imply nocrypto
This adds a quick check for -neon, making it imply the same as -crypto,
which helps get some features correct in more cases.
Differential Revision: https://reviews.llvm.org/D142988
Added:
Modified:
clang/lib/Driver/ToolChains/Arch/AArch64.cpp
clang/test/Preprocessor/aarch64-target-features.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
index de306daaa7478..4b641bbb73d41 100644
--- a/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
@@ -407,7 +407,7 @@ void aarch64::getAArch64TargetFeatures(const Driver &D,
else if (*I == "+crypto") {
HasCrypto = true;
HasNoCrypto = false;
- } else if (*I == "-crypto") {
+ } else if (*I == "-crypto" || *I == "-neon") {
HasCrypto = false;
HasNoCrypto = true;
HasSM4 = HasSHA2 = HasSHA3 = HasAES = false;
diff --git a/clang/test/Preprocessor/aarch64-target-features.c b/clang/test/Preprocessor/aarch64-target-features.c
index b0ef8a6355845..5834bc11f40c8 100644
--- a/clang/test/Preprocessor/aarch64-target-features.c
+++ b/clang/test/Preprocessor/aarch64-target-features.c
@@ -455,7 +455,7 @@
// RUN: %clang -target aarch64 -mcpu=cortex-a53+noSIMD -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-3 %s
// CHECK-MCPU-1: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+v8a" "-target-feature" "+fp-armv8" "-target-feature" "+neon" "-target-feature" "-crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" "-target-feature" "-sha2" "-target-feature" "-aes"
// CHECK-MCPU-2: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc"
-// CHECK-MCPU-3: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+v8a" "-target-feature" "+aes" "-target-feature" "+crc" "-target-feature" "+fp-armv8" "-target-feature" "+sha2" "-target-feature" "-neon"
+// CHECK-MCPU-3: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+v8a" "-target-feature" "+crc" "-target-feature" "+fp-armv8" "-target-feature" "-neon" "-target-feature" "-sha2" "-target-feature" "-aes"
// RUN: %clang -target aarch64 -mcpu=cyclone+nocrc+nocrypto -march=armv8-a -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-MARCH %s
// RUN: %clang -target aarch64 -march=armv8-a -mcpu=cyclone+nocrc+nocrypto -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-MARCH %s
More information about the cfe-commits
mailing list