https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/95056
This reverts commit 2cf14398c9341feddb419e7ff9c8c5623a3da3db since it broke the
llvm test suite:
SingleSource/UnitTests/AArch64/acle-fmv-features.c:59:9:
error: instruction requires: altnzcv
SingleSource/Unit
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/95056
>From dc660f11e90e771dd95acf8d37936dbb402588f6 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Mon, 10 Jun 2024 23:17:54 +0100
Subject: [PATCH] Revert "[AArch64] Decouple feature dependency expansion.
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/95056
>From 8d58882c51051a09de10536a418b5518d6ccd14d Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Mon, 10 Jun 2024 23:17:54 +0100
Subject: [PATCH] Revert "[AArch64] Decouple feature dependency expansion.
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/95056
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/92319
>From 5e4b981996ece8da962848fe141fed2f9dd46f66 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 14 May 2024 17:46:00 +0100
Subject: [PATCH] [AArch64] Merge duplicate extension information.
When w
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/92319
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/95231
My reverted attempt to decouple feature dependency expansion (see #95056) made
it evident that some features are still using the FMV dependencies in the
target attribute.
The original commit broke the llvm tes
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/95231
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/95519
This is the second attempt. We should be inserting the Driver
features in front of the features of a parsed target attribute
to avoid errors like the following:
```
% cat neon.c
__attribute__((target("arch=armv8
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/95519
>From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Fri, 14 Jun 2024 08:46:12 +0100
Subject: [PATCH 1/3] Reland "[AArch64] Decouple feature dependency expans
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/95519
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/95519
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/95519
>From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Fri, 14 Jun 2024 08:46:12 +0100
Subject: [PATCH 1/4] Reland "[AArch64] Decouple feature dependency expans
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/95519
>From 66b4dcd6d074c700346b405c48c7ff608122ae8d Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Fri, 14 Jun 2024 08:46:12 +0100
Subject: [PATCH 1/5] Reland "[AArch64] Decouple feature dependency expans
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/95519
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/95519
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13683,9 +13683,9 @@ static std::vector
getFMVBackendFeaturesFor(
const llvm::SmallVectorImpl &FMVFeatStrings) {
std::vector BackendFeats;
for (StringRef F : FMVFeatStrings) {
-if (auto FMVExt = llvm::AArch64::parseArchExtension(F)) {
+if (auto FMVExt = llvm
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/89106
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
labrinea wrote:
This has become outdated after the recent tablegen refactoring. I'll rethink
about it after https://github.com/llvm/llvm-project/pull/92882 lands
https://github.com/llvm/llvm-project/pull/89106
___
cfe-commits mailing list
cfe-commits@
https://github.com/labrinea approved this pull request.
Looking good Tomas and thanks for your effort to tidy things up. I know this is
NFC, but can we rectify the implied features for rcpc2 and rcpc3 by adding
rcpc-immo as shown here
https://github.com/llvm/llvm-project/pull/92319/files#diff-
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/92319
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
labrinea wrote:
closing in favor of https://github.com/llvm/llvm-project/pull/92882
https://github.com/llvm/llvm-project/pull/92319
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/96221
Long story short the interaction of two optimizations happening in GlobalOpt
results in a crash. For more details look at the issue
https://github.com/llvm/llvm-project/issues/96197. I will be fixing this in
G
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/96221
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/96221
>From 4b884669236cae2d5ac42a95517d9ce57060a494 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Thu, 20 Jun 2024 17:40:44 +0100
Subject: [PATCH 1/2] [clang][AArch64][FMV] Stop emitting alias to ifunc.
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/96221
>From 4b884669236cae2d5ac42a95517d9ce57060a494 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Thu, 20 Jun 2024 17:40:44 +0100
Subject: [PATCH 1/2] [clang][AArch64][FMV] Stop emitting alias to ifunc.
@@ -13664,16 +13665,23 @@ QualType
ASTContext::getCorrespondingSignedFixedPointType(QualType Ty) const {
}
}
+// Given a list of FMV features, add each of their backend features to the
list.
+static void
+GetFMVBackendFeaturesFor(const llvm::SmallVector FMVFeatStrings,
---
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/92882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/92882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1062,35 +1064,41 @@ bool AArch64TargetInfo::initFeatureMap(
llvm::AArch64::getExtensionFeatures(Exts, CPUFeats);
labrinea wrote:
I am wondering if calling ExtensionSet::addCPUDefaults here would be
preferable. It's not NFC. I saw a test failing because
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/92882
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13754,11 +13760,14 @@ void
ASTContext::getFunctionFeatureMap(llvm::StringMap &FeatureMap,
}
Target->initFeatureMap(FeatureMap, getDiagnostics(), TargetCPU, Features);
} else if (const auto *TV = FD->getAttr()) {
-std::vector Feats = filterFunctionTargetVersio
@@ -13754,11 +13750,14 @@ void
ASTContext::getFunctionFeatureMap(llvm::StringMap &FeatureMap,
}
Target->initFeatureMap(FeatureMap, getDiagnostics(), TargetCPU, Features);
} else if (const auto *TV = FD->getAttr()) {
-std::vector Feats = filterFunctionTargetVersio
https://github.com/labrinea approved this pull request.
I am also supporting this change. We have been trying to refactor attribute
parsing for target/target_clones/target_version, as well as the target feature
expansion which happens due to these attributes. It's a huge mess. Sorting such
tes
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/93695
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/94279
The dependency expansion step which was introduced by FMV has been erroneously
used for non-FMV features, for example when parsing the target attribute. The
PR #93695 has rectified most of the tests which were
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/94279
>From a413428bb0fdcd45b4a251e385b6cc00ff6a0a2c Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Mon, 3 Jun 2024 19:57:49 +0100
Subject: [PATCH] [AArch64] Decouple feature dependency expansion.
The dep
@@ -27,7 +27,7 @@ int main(void) {
(void)__builtin_cpu_supports("x86-64-v4");
(void)__builtin_cpu_supports("x86-64-v5"); // expected-warning {{invalid cpu
feature string for builtin}}
#else
- if (__builtin_cpu_supports("neon")) // expected-warning {{invalid cpu
feature s
@@ -579,6 +537,62 @@ inline constexpr CpuInfo CpuInfos[] = {
AArch64::AEK_SSBS, AArch64::AEK_CSSC})},
};
+struct ExtensionSet {
labrinea wrote:
This has to move after the definition of `ArchInfo` because the method
`toLLVMFeatu
@@ -106,7 +106,7 @@ def FeatureFPARMv8 : Extension<"fp-armv8", "FPARMv8",
"Enable ARMv8 (FEAT_FP)", [],
"FEAT_FP", "+fp-armv8,+neon", 90>;
-let ArchExtKindSpelling = "AEK_SIMD", MArchName = "simd" in
+let ArchExtKindSpelling = "AEK_SIMD", MArchName = "simd", MArchAlias = "
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/94279
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -58,58 +58,57 @@ void v1msve() {}
// CHECK-LABEL: @plussve() #12
__attribute__((target("+sve")))
void plussve() {}
-// CHECK-LABEL: @plussveplussve2() #13
+// CHECK-LABEL: @plussveplussve2() #12
__attribute__((target("+sve+nosve2")))
void plussveplussve2() {}
-// CHECK-LAB
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/94279
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -69,8 +69,8 @@ void undefined(uint32x2_t v2i32, uint32x4_t v4i32, uint16x8_t
v8i16, uint8x16_t
vrnd_f16(v4f16); // expected-error {{always_inline function 'vrnd_f16'
requires target feature 'fullfp16'}}
vmaxnm_f16(v4f16, v4f16); // expected-error {{always_inline functio
@@ -69,8 +69,8 @@ void undefined(uint32x2_t v2i32, uint32x4_t v4i32, uint16x8_t
v8i16, uint8x16_t
vrnd_f16(v4f16); // expected-error {{always_inline function 'vrnd_f16'
requires target feature 'fullfp16'}}
vmaxnm_f16(v4f16, v4f16); // expected-error {{always_inline functio
@@ -166,6 +174,11 @@ void AArch64::ExtensionSet::enable(ArchExtKind E) {
Touched.set(E);
Enabled.set(E);
+ // These depend on each other, meaning you can't have one without the other.
+ // We don't want this to be in ExtensionDependencies to avoid infinite loops.
+ if (
@@ -250,13 +248,17 @@ void AArch64::ExtensionSet::addArchDefaults(const
ArchInfo &Arch) {
bool AArch64::ExtensionSet::parseModifier(StringRef Modifier) {
LLVM_DEBUG(llvm::dbgs() << "parseModifier(" << Modifier << ")\n");
- bool IsNegated = Modifier.starts_with("no");
- St
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/88965
As explained in https://github.com/ARM-software/acle/pull/315 we are
deprecating features which aren't adding any value.
>From 9c2dc3240d79e4a05015bcc60a300e94971ae983 Mon Sep 17 00:00:00 2001
From: Alexandros
labrinea wrote:
In a follow up patch I will be sorting out inconsistencies in TargetParser
regarding:
* features without corresponding ArchExtKind
* features without (Neg)Feature string
* features with incorrect DependentFeatures string
https://github.com/llvm/llvm-project/pull/88965
__
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/88965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/88965
>From 22dffaef7a1f8e3cd8efdbf51536e38986d622ea Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 16 Apr 2024 19:42:07 +0100
Subject: [PATCH] [FMV] Remove useless features according the latest ACLE
labrinea wrote:
> Mind listing which ones are affected in the commit summary?
Done
https://github.com/llvm/llvm-project/pull/88965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -67,57 +67,42 @@ enum CPUFeatures {
FEAT_FP,
FEAT_SIMD,
FEAT_CRC,
- FEAT_SHA1,
FEAT_SHA2,
FEAT_SHA3,
FEAT_AES,
- FEAT_PMULL,
FEAT_FP16,
- FEAT_DIT,
FEAT_DPB,
FEAT_DPB2,
FEAT_JSCVT,
FEAT_FCMA,
FEAT_RCPC,
FEAT_RCPC2,
FEAT_FRINTTS,
- F
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/88965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/89106
This patch is sorting out inconsistencies in TargetParser regarding:
* features without corresponding ArchExtKind
* features without (Neg)Feature string
* features with incorrect DependentFeatures string
Also f
https://github.com/labrinea converted_to_draft
https://github.com/llvm/llvm-project/pull/89232
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/100181
* Allow arm-streaming if all the functions versions adhere to it.
* Allow arm-streaming-compatible if all the functions versions adhere to it.
* Allow arm-locally-streaming regardless of the other functions vers
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/100181
>From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 23 Jul 2024 19:24:41 +0100
Subject: [PATCH 1/2] [clang][FMV][AArch64] Improve streaming mode
compa
@@ -11145,7 +11148,24 @@ bool Sema::areMultiversionVariantFunctionsCompatible(
FunctionType::ExtInfo OldTypeInfo = OldType->getExtInfo();
FunctionType::ExtInfo NewTypeInfo = NewType->getExtInfo();
-if (OldTypeInfo.getCC() != NewTypeInfo.getCC())
+const auto *Ol
@@ -11145,7 +11148,24 @@ bool Sema::areMultiversionVariantFunctionsCompatible(
FunctionType::ExtInfo OldTypeInfo = OldType->getExtInfo();
FunctionType::ExtInfo NewTypeInfo = NewType->getExtInfo();
-if (OldTypeInfo.getCC() != NewTypeInfo.getCC())
+const auto *Ol
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/100181
>From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 23 Jul 2024 19:24:41 +0100
Subject: [PATCH 1/3] [clang][FMV][AArch64] Improve streaming mode
compa
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/100181
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3183,6 +3183,25 @@ class ASTContext : public RefCountedBase {
const FunctionDecl *FD,
llvm::function_ref Pred) const;
+ bool areFMVCompatible(const FunctionDecl *FD1,
+const FunctionDecl *FD2) const {
+if (!hasSameType(FD1->getRetur
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/100181
>From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 23 Jul 2024 19:24:41 +0100
Subject: [PATCH 1/4] [clang][FMV][AArch64] Improve streaming mode
compa
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/100181
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/100181
>From 6799eb869ed1f87eb65dae84b11e3dd3907b2157 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 23 Jul 2024 19:24:41 +0100
Subject: [PATCH 1/5] [clang][FMV][AArch64] Improve streaming mode
compa
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/100181
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
labrinea wrote:
/cherry-pick
[f8ae128](https://github.com/llvm/llvm-project/commit/f8ae128755777424cf4133e4e8e819c0bc08d2b1)
https://github.com/llvm/llvm-project/pull/100181
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.or
labrinea wrote:
Created a PR for the backport https://github.com/llvm/llvm-project/pull/101007
https://github.com/llvm/llvm-project/pull/100181
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/97761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/99522
When generating the body of the ifunc resolver, clang skips runtime checks for
features that are implied from the command line. We bend this rule for certain
features (memtag, bti, dgh), but this happens quite
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/99522
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea converted_to_draft
https://github.com/llvm/llvm-project/pull/99816
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/101712
>From 2fe8ef63846989952a1c72b83114aabe6f36637a Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Fri, 2 Aug 2024 17:32:23 +0100
Subject: [PATCH] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V.
labrinea wrote:
ping
https://github.com/llvm/llvm-project/pull/101712
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -305,9 +305,17 @@ def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT",
"FEAT_WFxT",
def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX",
"Enable Armv8.7-A HCRX_EL2 system register">;
-def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
- "FEAT_LS64, FEAT_LS64_V, FEAT_L
@@ -305,9 +305,17 @@ def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT",
"FEAT_WFxT",
def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX",
"Enable Armv8.7-A HCRX_EL2 system register">;
-def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
- "FEAT_LS64, FEAT_LS64_V, FEAT_L
@@ -3682,6 +3682,8 @@ static const struct Extension {
{"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}},
{"sve2p1", {AArch64::FeatureSVE2p1}},
{"ls64", {AArch64::FeatureLS64}},
+{"ls64_v", {AArch64::FeatureLS64_V}},
+{"ls64_accdata", {AArch64::FeatureLS64_ACCD
@@ -3682,6 +3682,8 @@ static const struct Extension {
{"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}},
{"sve2p1", {AArch64::FeatureSVE2p1}},
{"ls64", {AArch64::FeatureLS64}},
+{"ls64_v", {AArch64::FeatureLS64_V}},
+{"ls64_accdata", {AArch64::FeatureLS64_ACCD
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/101712
>From 2fe8ef63846989952a1c72b83114aabe6f36637a Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Fri, 2 Aug 2024 17:32:23 +0100
Subject: [PATCH] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V.
@@ -3682,6 +3682,8 @@ static const struct Extension {
{"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}},
{"sve2p1", {AArch64::FeatureSVE2p1}},
{"ls64", {AArch64::FeatureLS64}},
+{"ls64_v", {AArch64::FeatureLS64_V}},
+{"ls64_accdata", {AArch64::FeatureLS64_ACCD
@@ -261,9 +261,9 @@ __attribute__((target_version("jscvt"))) int
default_def_with_version_decls(void
// CHECK: attributes #[[ATTR3]] = { noinline nounwind optnone
"no-trapping-math"="true" "stack-protector-buffer-size"="8"
"target-features"="+lse,-v9.5a" }
// CHECK: attribute
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/92319
>From 0c00fc2537f9b6335aa35535ffaf09c57051f086 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Tue, 14 May 2024 17:46:00 +0100
Subject: [PATCH] [AArch64] Merge duplicate extension information.
When w
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/92319
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -56,43 +52,64 @@ class Extension<
// The FMV priority
int FMVPriority = _FMVPriority;
+
+// Indicates if the extension is available on the command line.
+string IsFMVOnly = _IsFMVOnly;
}
// Some extensions are available for FMV but can not be controlled
@@ -56,43 +52,64 @@ class Extension<
// The FMV priority
int FMVPriority = _FMVPriority;
+
+// Indicates if the extension is available on the command line.
+string IsFMVOnly = _IsFMVOnly;
labrinea wrote:
We want the ExtensionInfo field to be o
@@ -94,19 +94,21 @@ static void EmitARMTargetDef(RecordKeeper &RK, raw_ostream
&OS) {
else
OS << ", \"" << Alias << "\"";
OS << ", AArch64::" << AEK;
-if (AEK == "AEK_NONE") {
+auto Name = Rec->getValueAsString("Name");
+if (Name.empty()) {
--
@@ -0,0 +1,84 @@
+// Function MultiVersioning (FMV) properties
+
+// Something you can add to target_version or target_clones
+class FMVExtension {
+// Name, as spelled in target_version or target_clones. e.g. "memtag"
+string Name = n;
+
+// A C++ expression giving th
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/93044
Fixes a bug:
../llvm-project/clang/test/Sema/fmv-namespace.cpp:8:18: warning: attribute
declaration must precede definition [-Wignored-attributes]
8 | int __attribute((target_version("sve"))) foo() { retur
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/93044
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/93044
>From e1de85dc4b5fe09a8b6df2e10c16e58805e8873a Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Wed, 22 May 2024 15:55:58 +0100
Subject: [PATCH] [clang][FMV] Allow declaration of function versions in
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/93044
>From 1eb344d7a5e63c3e4e9e58f9141697d9d62b428c Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Wed, 22 May 2024 15:55:58 +0100
Subject: [PATCH] [clang][FMV] Allow declaration of function versions in
https://github.com/labrinea edited
https://github.com/llvm/llvm-project/pull/93044
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
labrinea wrote:
I found another bug for implicitly declared default versions not having the
namespece mangling. Fixed now, please take another look.
https://github.com/llvm/llvm-project/pull/93044
___
cfe-commits mailing list
cfe-commits@lists.llvm.or
@@ -11868,8 +11868,10 @@ static bool CheckMultiVersionFunction(Sema &S,
FunctionDecl *NewFD,
return false;
if (!OldDecl || !OldDecl->getAsFunction() ||
- OldDecl->getDeclContext()->getRedeclContext() !=
- NewFD->getDeclContext()->getRedeclContext()) {
+
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/93044
>From 730c8c5081862b330d66455a0495e9d317da1795 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Wed, 22 May 2024 15:55:58 +0100
Subject: [PATCH] [clang][FMV] Allow declaration of function versions in
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/93044
>From ba2b8b53d80e17b1477a7d6fed51f0450bc539a3 Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Wed, 22 May 2024 15:55:58 +0100
Subject: [PATCH] [clang][FMV] Allow declaration of function versions in
https://github.com/labrinea closed
https://github.com/llvm/llvm-project/pull/93044
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/labrinea created
https://github.com/llvm/llvm-project/pull/101712
These extensions depend on each other as follows:
ls64 -> ls64_v -> ls64_accdata
Currently in LLVM FeatureLS64 models all three lumped together. However the
architecture does not mandate that all three need to
labrinea wrote:
Just letting you know that I will be on holiday for a couple of weeks before I
have a chance to respond to review comments.
https://github.com/llvm/llvm-project/pull/101712
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:
201 - 300 of 581 matches
Mail list logo