https://github.com/ilinpv approved this pull request.
Thanks for updating `__builtin_cpu_supports `tests accordingly.
https://github.com/llvm/llvm-project/pull/124130
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
@@ -45,8 +45,6 @@ static void __init_cpu_features_constructor(unsigned long
hwcap,
setCPUFeature(FEAT_SSBS2);
if (hwcap2 & HWCAP2_MTE)
setCPUFeature(FEAT_MEMTAG2);
- if (hwcap2 & HWCAP2_MTE3)
ilinpv wrote:
Do we need to remove runtime detection for
https://github.com/ilinpv approved this pull request.
I wonder if we can get any cases of using asm msr in function version for
features in question? Anyway LGTM to be aligned with specification.
https://github.com/llvm/llvm-project/pull/114387
___
cf
https://github.com/ilinpv edited
https://github.com/llvm/llvm-project/pull/114387
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv approved this pull request.
Look good, thanks for refactoring and removing obsolete checks after FMV
changes related to ordering and default version.
https://github.com/llvm/llvm-project/pull/96628
___
cfe-commits mailing lis
https://github.com/ilinpv approved this pull request.
Thanks for additional FMV tests!
https://github.com/llvm/llvm-project/pull/91490
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilinpv wrote:
Apologies for quick merge and , thanks for comments. I agree with all of them.
I would prefer to keep the patch and provide fixes on top of it. Let me know if
you want it reverted.
https://github.com/llvm/llvm-project/pull/90928
___
cf
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/90928
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/90928
For arch64 features, such as Branch Target Identification or MTE (Memory
Tagging Extension), compatible with targets that lack their support we may
encounter scenarios where a binary compiled with MTE for example
Author: Pavel Iliin
Date: 2024-05-03T00:58:17+01:00
New Revision: ff210b94d449de8ebe1f32cf0d7763ba63b27b39
URL:
https://github.com/llvm/llvm-project/commit/ff210b94d449de8ebe1f32cf0d7763ba63b27b39
DIFF:
https://github.com/llvm/llvm-project/commit/ff210b94d449de8ebe1f32cf0d7763ba63b27b39.diff
L
@@ -0,0 +1,58 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --function-signature --check-attributes --check-globals
--include-generated-funcs
+// RUN: %clang_cc1 -triple arm64e-apple-ios -target-feature +ls64
-target-feature +fullfp
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/84098
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilinpv wrote:
Thanks @MaskRay for valuable comments, all addressed.
https://github.com/llvm/llvm-project/pull/84098
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv updated
https://github.com/llvm/llvm-project/pull/84098
>From 528af71d043d306a4aeb5c448a0780fa42644c15 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Wed, 6 Mar 2024 00:23:36 +
Subject: [PATCH 1/3] [NFC][Docs] Documenting __builtin_cpu_supports.
---
clang/docs/
https://github.com/ilinpv updated
https://github.com/llvm/llvm-project/pull/84098
>From 528af71d043d306a4aeb5c448a0780fa42644c15 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Wed, 6 Mar 2024 00:23:36 +
Subject: [PATCH 1/2] [NFC][Docs] Documenting __builtin_cpu_supports.
---
clang/docs/
@@ -2799,6 +2799,34 @@ counter's true frequency will need to be provided by the
user.
Query for this feature with ``__has_builtin(__builtin_readsteadycounter)``.
+``__builtin_cpu_supports``
+--
+
+**Syntax**:
+
+.. code-block:: c++
+
+ int __builtin_
ilinpv wrote:
Documentation update https://github.com/llvm/llvm-project/pull/84098
https://github.com/llvm/llvm-project/pull/82378
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/84098
None
>From 528af71d043d306a4aeb5c448a0780fa42644c15 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Wed, 6 Mar 2024 00:23:36 +
Subject: [PATCH] [NFC][Docs] Documenting __builtin_cpu_supports.
---
clang/doc
https://github.com/ilinpv approved this pull request.
Thanks for tests!
https://github.com/llvm/llvm-project/pull/83887
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11455,9 +11465,8 @@ static bool CheckTargetCausesMultiVersioning(Sema &S,
FunctionDecl *OldFD,
}
// If this is 'default', permit the forward declaration.
- if (!OldFD->isMultiVersion() &&
- ((NewTA && NewTA->isDefaultVersion() && !OldTA) ||
- (NewTVA && Ne
@@ -11429,6 +11429,16 @@ static bool CheckTargetCausesMultiVersioning(Sema &S,
FunctionDecl *OldFD,
bool &Redeclaration,
NamedDecl *&OldDecl,
https://github.com/ilinpv requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/83887
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv edited https://github.com/llvm/llvm-project/pull/83887
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/83515
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilinpv wrote:
Fix on review https://github.com/llvm/llvm-project/pull/83515
The documentation is coming next.
https://github.com/llvm/llvm-project/pull/82378
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/83515
The patch fixes https://github.com/llvm/llvm-project/issues/83407 modifing
__builtin_cpu_supports behaviour so that it returns false if unsupported
features names provided in parameter and issue a warning.
__bui
ilinpv wrote:
@alexfh thanks for example, clang doesn't compile that on x86 before patch as
well. It looks like a bug in GCC that it happily compiles the builtin above on
x86.
https://github.com/llvm/llvm-project/pull/82378
___
cfe-commits mailing li
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/82378
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv updated
https://github.com/llvm/llvm-project/pull/82378
>From 7283a6f34de8ca26aa36fcf83356f71f6f59a82f Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Tue, 20 Feb 2024 02:01:04 +
Subject: [PATCH 1/2] [AArch64] Implement __builtin_cpu_supports, compiler-rt
tests.
https://github.com/ilinpv updated
https://github.com/llvm/llvm-project/pull/82378
>From 7ada935c9000e915acc9433341e8d4317ff158d6 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Tue, 20 Feb 2024 02:01:04 +
Subject: [PATCH 1/2] [AArch64] Implement __builtin_cpu_supports, compiler-rt
tests.
https://github.com/ilinpv updated
https://github.com/llvm/llvm-project/pull/82378
>From 7ada935c9000e915acc9433341e8d4317ff158d6 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Tue, 20 Feb 2024 02:01:04 +
Subject: [PATCH] [AArch64] Implement __builtin_cpu_supports, compiler-rt
tests.
The
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/82378
The patch complements https://github.com/llvm/llvm-project/pull/68919 and adds
AArch64 support for builtin
`__builtin_cpu_supports("feature1+...+featureN")`
which return true if all specified CPU features in argum
@@ -114,6 +121,10 @@ const AArch64::ArchInfo *AArch64::parseArch(StringRef
Arch) {
}
std::optional AArch64::parseArchExtension(StringRef
ArchExt) {
+ // Resolve aliases first.
+ ArchExt = resolveExtAlias(ArchExt);
ilinpv wrote:
Seems resolving aliases her
https://github.com/ilinpv approved this pull request.
LGTM, thanks for additinal FMV tests!
https://github.com/llvm/llvm-project/pull/79455
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
@@ -1752,8 +1754,10 @@ static void AppendTargetClonesMangling(const
CodeGenModule &CGM,
const TargetInfo &TI = CGM.getTarget();
if (TI.getTriple().isAArch64()) {
ilinpv wrote:
@jroelofs currently in [FMV
spec](https://github.com/ARM-software/acle/blob/mai
https://github.com/ilinpv approved this pull request.
https://github.com/llvm/llvm-project/pull/74358
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/78788
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -172,6 +172,11 @@ static void __init_cpu_features_constructor(unsigned long
hwcap,
// ID_AA64ISAR1_EL1.LS64 >= 0b0011
if (extractBits(ftr, 60, 4) >= 0x3)
setCPUFeature(FEAT_LS64_ACCDATA);
+
ilinpv wrote:
There is HWCAP2_MOPS support in ELF hw
@@ -0,0 +1,69 @@
+#include
+#if TARGET_OS_OSX || TARGET_OS_IPHONE
+#include
+#include
+
+static bool isKnownAndSupported(const char *name) {
+ int32_t val = 0;
+ size_t size = sizeof(val);
+ if (sysctlbyname(name, &val, &size, NULL, 0))
+return false;
+ return val;
+}
+
@@ -81,6 +81,15 @@ static bool DecodeAArch64Features(const Driver &D, StringRef
text,
else
return false;
+// +jsconv and +complxnum implies +neon and +fp-armv8
ilinpv wrote:
I don't think we need these implications. Features dependencies are al
https://github.com/ilinpv commented:
Thanks a lot for refactoring! It indeed becomes necessary and looks
well-structured now, small nit - rename lse_atomics/fucsia.inc and
fmv/fucsia.inc files as well.
https://github.com/llvm/llvm-project/pull/75635
@@ -293,6 +294,7 @@ inline constexpr ExtensionInfo Extensions[] = {
{"sme-lutv2", AArch64::AEK_SME_LUTv2, "+sme-lutv2", "-sme-lutv2",
FEAT_INIT, "", 0},
{"sme-f8f16", AArch64::AEK_SMEF8F16, "+sme-f8f16", "-sme-f8f16",
FEAT_INIT, "+sme2,+fp8", 0},
{"sme-f8f32", AAr
https://github.com/ilinpv approved this pull request.
LGTM overall, thanks, just address one nit above.
https://github.com/llvm/llvm-project/pull/70809
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listi
https://github.com/ilinpv edited https://github.com/llvm/llvm-project/pull/70809
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1363,6 +1367,8 @@ static void __init_cpu_features_constructor(unsigned long
hwcap,
setCPUFeature(FEAT_SME_I64);
if (hwcap2 & HWCAP2_SME_F64F64)
setCPUFeature(FEAT_SME_F64);
+ if (hwcap2 & HWCAP2_SME_FA64)
+setCPUFeature(FEAT_SME_FA64);
ilinp
@@ -1363,6 +1367,8 @@ static void __init_cpu_features_constructor(unsigned long
hwcap,
setCPUFeature(FEAT_SME_I64);
if (hwcap2 & HWCAP2_SME_F64F64)
setCPUFeature(FEAT_SME_F64);
+ if (hwcap2 & HWCAP2_SME_FA64)
+setCPUFeature(FEAT_SME_FA64);
ilinp
@@ -1363,6 +1367,8 @@ static void __init_cpu_features_constructor(unsigned long
hwcap,
setCPUFeature(FEAT_SME_I64);
if (hwcap2 & HWCAP2_SME_F64F64)
setCPUFeature(FEAT_SME_F64);
+ if (hwcap2 & HWCAP2_SME_FA64)
+setCPUFeature(FEAT_SME_FA64);
ilinp
@@ -293,6 +295,7 @@ inline constexpr ExtensionInfo Extensions[] = {
{"sme-lutv2", AArch64::AEK_SME_LUTv2, "+sme-lutv2", "-sme-lutv2",
FEAT_INIT, "", 0},
{"sme-f8f16", AArch64::AEK_SMEF8F16, "+sme-f8f16", "-sme-f8f16",
FEAT_INIT, "+sme2,+fp8", 0},
{"sme-f8f32", AAr
@@ -248,8 +250,9 @@ inline constexpr ExtensionInfo Extensions[] = {
{"simd", AArch64::AEK_SIMD, "+neon", "-neon", FEAT_SIMD,
"+fp-armv8,+neon", 100},
{"sm4", AArch64::AEK_SM4, "+sm4", "-sm4", FEAT_SM4,
"+sm4,+fp-armv8,+neon", 60},
{"sme-f16f16", AArch64::AEK_SMEF1
@@ -2110,6 +2110,66 @@ static bool checkFPMathBuiltinElementType(Sema &S,
SourceLocation Loc,
return false;
}
+/// SemaBuiltinCpuSupports - Handle __builtin_cpu_supports(char *).
+/// This checks that the target supports __builtin_cpu_supports and
+/// that the string argum
https://github.com/ilinpv edited https://github.com/llvm/llvm-project/pull/68919
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv commented:
Except for the AuxTarget question, target independent part looks good to me.
Thank you for the patch.
https://github.com/llvm/llvm-project/pull/68919
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/68104
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/68104
…on and initialization.
The patch implements FEAT_LRCPC3 support (Load-Acquire RCpc instructions
version 3) in Function Multi Versioning. To maintain compatibility while
features list grows extension bit FEAT_EX
Author: Pavel Iliin
Date: 2023-09-29T17:10:48+01:00
New Revision: 8ec50d64464c7e6804827d5f4f298366be535001
URL:
https://github.com/llvm/llvm-project/commit/8ec50d64464c7e6804827d5f4f298366be535001
DIFF:
https://github.com/llvm/llvm-project/commit/8ec50d64464c7e6804827d5f4f298366be535001.diff
L
https://github.com/ilinpv closed https://github.com/llvm/llvm-project/pull/65671
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv review_requested
https://github.com/llvm/llvm-project/pull/65671
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv review_requested
https://github.com/llvm/llvm-project/pull/65671
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilinpv created
https://github.com/llvm/llvm-project/pull/65671:
Fix Function Multi Versioning crash reported in
https://github.com/llvm/llvm-project/issues/65669
>From 209597f82942f857e6f83da85335d61a6274e278 Mon Sep 17 00:00:00 2001
From: Pavel Iliin
Date: Thu, 7 Sep 2023
Author: Pavel Iliin
Date: 2023-05-23T17:29:55+01:00
New Revision: b6db864a2fdf2bcfac62b2c0b71b9ed1cc039c27
URL:
https://github.com/llvm/llvm-project/commit/b6db864a2fdf2bcfac62b2c0b71b9ed1cc039c27
DIFF:
https://github.com/llvm/llvm-project/commit/b6db864a2fdf2bcfac62b2c0b71b9ed1cc039c27.diff
L
Author: Pavel Iliin
Date: 2023-05-23T13:42:55+01:00
New Revision: 30b0fdfff1931c625babe45cbf9405003c48f8a0
URL:
https://github.com/llvm/llvm-project/commit/30b0fdfff1931c625babe45cbf9405003c48f8a0
DIFF:
https://github.com/llvm/llvm-project/commit/30b0fdfff1931c625babe45cbf9405003c48f8a0.diff
L
Author: Pavel Iliin
Date: 2023-03-08T23:22:46Z
New Revision: 124b46a897a7044be3cb49b9e0097d8cca47ba6b
URL:
https://github.com/llvm/llvm-project/commit/124b46a897a7044be3cb49b9e0097d8cca47ba6b
DIFF:
https://github.com/llvm/llvm-project/commit/124b46a897a7044be3cb49b9e0097d8cca47ba6b.diff
LOG: [
Author: Pavel Iliin
Date: 2023-01-23T18:31:22Z
New Revision: c57eaf1c8ce37f52f19f47f61591dd7597a68226
URL:
https://github.com/llvm/llvm-project/commit/c57eaf1c8ce37f52f19f47f61591dd7597a68226
DIFF:
https://github.com/llvm/llvm-project/commit/c57eaf1c8ce37f52f19f47f61591dd7597a68226.diff
LOG: [
Author: Pavel Iliin
Date: 2023-01-23T18:24:21Z
New Revision: 0b92f852708b64084c39ac98e55de2381a40de0c
URL:
https://github.com/llvm/llvm-project/commit/0b92f852708b64084c39ac98e55de2381a40de0c
DIFF:
https://github.com/llvm/llvm-project/commit/0b92f852708b64084c39ac98e55de2381a40de0c.diff
LOG: R
Author: Pavel Iliin
Date: 2023-01-23T18:08:07Z
New Revision: 5474d7d932710c260f03ce6c6387ec9d82bd10e2
URL:
https://github.com/llvm/llvm-project/commit/5474d7d932710c260f03ce6c6387ec9d82bd10e2
DIFF:
https://github.com/llvm/llvm-project/commit/5474d7d932710c260f03ce6c6387ec9d82bd10e2.diff
LOG: [
Author: Pavel Iliin
Date: 2022-12-28T17:38:35Z
New Revision: 2184fcf17ee00a939b3bde98a28ef586c67d6b1a
URL:
https://github.com/llvm/llvm-project/commit/2184fcf17ee00a939b3bde98a28ef586c67d6b1a
DIFF:
https://github.com/llvm/llvm-project/commit/2184fcf17ee00a939b3bde98a28ef586c67d6b1a.diff
LOG: [
Author: Pavel Iliin
Date: 2022-12-20T22:29:16Z
New Revision: bf94eac6a3f7c5cd8941956d44c15524fa3751bd
URL:
https://github.com/llvm/llvm-project/commit/bf94eac6a3f7c5cd8941956d44c15524fa3751bd
DIFF:
https://github.com/llvm/llvm-project/commit/bf94eac6a3f7c5cd8941956d44c15524fa3751bd.diff
LOG: [
Author: Pavel Iliin
Date: 2022-06-18T10:44:25+01:00
New Revision: 6e070c3c9101ac7b7a3736021bff98e9a1f5a362
URL:
https://github.com/llvm/llvm-project/commit/6e070c3c9101ac7b7a3736021bff98e9a1f5a362
DIFF:
https://github.com/llvm/llvm-project/commit/6e070c3c9101ac7b7a3736021bff98e9a1f5a362.diff
L
Author: Pavel Iliin
Date: 2021-01-29T17:44:45Z
New Revision: c5e7e649d537067dec7111f3de1430d0fc8a4d11
URL:
https://github.com/llvm/llvm-project/commit/c5e7e649d537067dec7111f3de1430d0fc8a4d11
DIFF:
https://github.com/llvm/llvm-project/commit/c5e7e649d537067dec7111f3de1430d0fc8a4d11.diff
LOG: [
Author: Pavel Iliin
Date: 2020-04-22T14:11:28+01:00
New Revision: 4eca1c06a4a9183fcf7bb230d894617caf3cf3be
URL:
https://github.com/llvm/llvm-project/commit/4eca1c06a4a9183fcf7bb230d894617caf3cf3be
DIFF:
https://github.com/llvm/llvm-project/commit/4eca1c06a4a9183fcf7bb230d894617caf3cf3be.diff
L
Author: Pavel Iliin
Date: 2020-04-21T18:23:21+01:00
New Revision: be881e2831735d6879ee43710f5a4d1c8d50c615
URL:
https://github.com/llvm/llvm-project/commit/be881e2831735d6879ee43710f5a4d1c8d50c615
DIFF:
https://github.com/llvm/llvm-project/commit/be881e2831735d6879ee43710f5a4d1c8d50c615.diff
L
71 matches
Mail list logo