forked from OSchip/llvm-project
[AArch64] Define __ARM_FEATURE_RCPC
This patch implements the definition of __ARM_FEATURE_RCPC when clang command specifies +rcpc. Differential Revision: https://reviews.llvm.org/D127798
This commit is contained in:
parent
088c7f7e3c
commit
ce7b4747e8
|
@ -341,6 +341,9 @@ void AArch64TargetInfo::getTargetDefines(const LangOptions &Opts,
|
|||
if (HasCRC)
|
||||
Builder.defineMacro("__ARM_FEATURE_CRC32", "1");
|
||||
|
||||
if (HasRCPC)
|
||||
Builder.defineMacro("__ARM_FEATURE_RCPC", "1");
|
||||
|
||||
// The __ARM_FEATURE_CRYPTO is deprecated in favor of finer grained feature
|
||||
// macros for AES, SHA2, SHA3 and SM4
|
||||
if (HasAES && HasSHA2)
|
||||
|
@ -551,6 +554,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector<std::string> &Features,
|
|||
HasMatmulFP32 = false;
|
||||
HasLSE = false;
|
||||
HasMOPS = false;
|
||||
HasRCPC = false;
|
||||
|
||||
ArchKind = llvm::AArch64::ArchKind::INVALID;
|
||||
|
||||
|
@ -600,6 +604,8 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector<std::string> &Features,
|
|||
}
|
||||
if (Feature == "+crc")
|
||||
HasCRC = true;
|
||||
if (Feature == "+rcpc")
|
||||
HasRCPC = true;
|
||||
if (Feature == "+aes")
|
||||
HasAES = true;
|
||||
if (Feature == "+sha2")
|
||||
|
|
|
@ -54,6 +54,7 @@ class LLVM_LIBRARY_VISIBILITY AArch64TargetInfo : public TargetInfo {
|
|||
bool HasLSE;
|
||||
bool HasFlagM;
|
||||
bool HasMOPS;
|
||||
bool HasRCPC;
|
||||
|
||||
llvm::AArch64::ArchKind ArchKind;
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
// CHECK: __ARM_FEATURE_IDIV 1
|
||||
// CHECK: __ARM_FEATURE_LDREX 0xF
|
||||
// CHECK: __ARM_FEATURE_NUMERIC_MAXMIN 1
|
||||
// CHECK-NOT: __ARM_FEATURE_RCPC 1
|
||||
// CHECK-NOT: __ARM_FEATURE_SHA2 1
|
||||
// CHECK-NOT: __ARM_FEATURE_SHA3 1
|
||||
// CHECK-NOT: __ARM_FEATURE_SHA512 1
|
||||
|
@ -560,3 +561,6 @@
|
|||
// CHECK-BEFORE-V83-NOT: __ARM_FEATURE_COMPLEX 1
|
||||
// CHECK-BEFORE-V83-NOT: __ARM_FEATURE_JCVT 1
|
||||
// CHECK-BEFORE-V85-NOT: __ARM_FEATURE_FRINT 1
|
||||
|
||||
// RUN: %clang --target=aarch64 -march=armv8.2-a+rcpc -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-RCPC %s
|
||||
// CHECK-RCPC: __ARM_FEATURE_RCPC 1
|
||||
|
|
Loading…
Reference in New Issue