[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-04-04 Thread Tomas Matheson via cfe-commits
@@ -1,1145 +0,0 @@ -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs --global-value-regex ".*" -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -emit-llvm -

[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-03-24 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. I can't check 100% we are not missing anything important, but if you are confident then go for it. https://github.com/llvm/llvm-project/pull/132273 ___ cfe-commits mailing list cfe-commits@l

[clang] [NFC][clang] Remove superfluous header files after refactor in #132252 (PR #132495)

2025-03-24 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. LGTM. Does this actually fix the build time regression from the previous patch? https://github.com/llvm/llvm-project/pull/132495 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:

[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-03-21 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,790 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs --global-value-regex ".*" + +// Test all of the AArch64 feature detection bitmasks in the

[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-03-21 Thread Tomas Matheson via cfe-commits
@@ -1,1145 +0,0 @@ -// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs --global-value-regex ".*" -// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -emit-llvm -

[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-03-21 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,790 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs --global-value-regex ".*" + +// Test all of the AArch64 feature detection bitmasks in the

[clang] [NFC][FMV][AArch64] Tidy up codegen tests. (PR #132273)

2025-03-21 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,790 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --function-signature --check-attributes --check-globals --include-generated-funcs --global-value-regex ".*" + +// Test all of the AArch64 feature detection bitmasks in the

[clang] [clang][AArch64] Don't #define __ARM_FEATURE_CRC32 when -crc is specified in -target-feature (PR #132167)

2025-03-21 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: > There are lots of bugs like this in this area, this is not the only feature > like this. Should this be fixed in a more general way? We've looked at this internally but didn't get around to finishing it. `HasD128` etc map to `Extensions` in `AArch64Features.td`, I think

[clang] [ARM][AArch64] Add missing Neon Types (PR #126945)

2025-02-13 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/126945 >From e618aba47c0e7244105bf325ab8019a085e1ed99 Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Wed, 12 Feb 2025 14:31:47 + Subject: [PATCH 1/4] Add missing Neon Types The AAPCS64 adds a number of

[clang] [ARM][AArch64] Add missing Neon Types (PR #126945)

2025-02-13 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/126945 >From e618aba47c0e7244105bf325ab8019a085e1ed99 Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Wed, 12 Feb 2025 14:31:47 + Subject: [PATCH 1/3] Add missing Neon Types The AAPCS64 adds a number of

[clang] [ARM][AArch64] Add missing Neon Types (PR #126945)

2025-02-13 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: I think so, but I would rather do it as a separate PR. There are a couple of other things that could do with tidying up too. https://github.com/llvm/llvm-project/pull/126945 ___ cfe-commits maili

[clang] [ARM][AArch64] Add missing Neon Types (PR #126945)

2025-02-12 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm created https://github.com/llvm/llvm-project/pull/126945 The AAPCS64 adds a number of vector types to the C unconditionally: https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#11appendix-support-for-advanced-simd-extensions The equivalent SVE

[clang] [NFC] remove string literals from AArch64SVEACLETypes.def (PR #125063)

2025-01-31 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm closed https://github.com/llvm/llvm-project/pull/125063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] remove string literals from AArch64SVEACLETypes.def (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/125063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] remove string literals from AArch64SVEACLETypes.def (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/125063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] changes to AArch64 ACLE types definitions (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/125063 >From 87d539860c11d7e0f021410b5947b5c25c8870d7 Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 30 Jan 2025 15:37:08 + Subject: [PATCH 1/2] [NFC] remove string literals from AArch64Types.def -

[clang] [NFC] changes to AArch64 ACLE types definitions (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/125063 >From 87d539860c11d7e0f021410b5947b5c25c8870d7 Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 30 Jan 2025 15:37:08 + Subject: [PATCH] [NFC] remove string literals from AArch64Types.def ---

[clang] [lldb] [NFC] changes to AArch64 ACLE types definitions (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: I've just noticed 2/3 of these are redundant now since the existing neon functions have been removed. I'll remove them. https://github.com/llvm/llvm-project/pull/125063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https

[clang] [lldb] [NFC] changes to AArch64 ACLE types definitions (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/125063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [NFC] changes to AArch64 ACLE types definitions (PR #125063)

2025-01-30 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm created https://github.com/llvm/llvm-project/pull/125063 - Rename AArch64SVEACLETypes.def to AArch64Types.def - Remove string literals from the macro calls - Rename macros so that the hierarchy makes sense >From 63159e8e82b56850213fb0e2479bd708f008ea81 Mon Sep

[clang] [llvm] [AArch64] FEAT_SPEv1p2 is optional in v8.7-A and v9.2-A (PR #123336)

2025-01-17 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. LGTM, assuming no objections to CPU changes. https://github.com/llvm/llvm-project/pull/123336 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[clang] [llvm] [AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (PR #120753)

2024-12-20 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: Actually this is being added as a mandatory dependency of 9.4, should it not be added as one of the default features instead? https://github.com/llvm/llvm-project/pull/120753 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [llvm] [AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (PR #120753)

2024-12-20 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. Makes sense to me. https://github.com/llvm/llvm-project/pull/120753 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Add processor aliases back to -print-supported-cpus and -mcpu=help (PR #118581)

2024-12-09 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. I'm surprised how complicated this was to do, but LGTM. https://github.com/llvm/llvm-project/pull/118581 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

2024-10-23 Thread Tomas Matheson via cfe-commits
@@ -87,9 +86,8 @@ def : FMVExtension<"sve-bf16", "FEAT_SVE_BF16", "+sve,+bf16,+fullfp16,+fp-armv8, def : FMVExtension<"sve-ebf16", "FEAT_SVE_EBF16", "+sve,+bf16,+fullfp16,+fp-armv8,+neon", 330>; def : FMVExtension<"sve-i8mm", "FEAT_SVE_I8MM", "+sve,+i8mm,+fullfp16,+fp-armv8,+

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

2024-10-23 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/111673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify aes with pmull and sve2-aes with sve2-pmull128. (PR #111673)

2024-10-23 Thread Tomas Matheson via cfe-commits
@@ -59,7 +59,7 @@ enum CPUFeatures { FEAT_SVE_F32MM, FEAT_SVE_F64MM, FEAT_SVE2, - FEAT_SVE_AES, + RESERVED_FEAT_SVE_AES, // previously used and now ABI legacy tmatheson-arm wrote: It would be nice to have a more complete explanation of these reserved v

[clang] [FMV][AArch64][NFC] Cleanup attribute metadata from test files. (PR #111386)

2024-10-07 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/111386 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-07 Thread Tomas Matheson via cfe-commits
@@ -1125,31 +1125,32 @@ int caller(void) { return used_def_without_default_decl() + used_decl_without_de // CHECK: attributes #[[ATTR10]] = { noinline nounwind optnone "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-features"="+fp-armv8,+ls64,+neon" } // C

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify features ssbs and ssbs2. (PR #110297)

2024-10-07 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/110297 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [AArch64] Split FeatureMTE to FEAT_MTE and FEAT_MTE2. (PR #109299)

2024-09-27 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm deleted https://github.com/llvm/llvm-project/pull/109299 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [AArch64] Split FeatureMTE to FEAT_MTE and FEAT_MTE2. (PR #109299)

2024-09-27 Thread Tomas Matheson via cfe-commits
@@ -1059,7 +1059,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector &Features, HasFullFP16 = true; HasFP16FML = true; } -if (Feature == "+mte") +if (Feature == "+mte2") tmatheson-arm wrote: This breaks backwards compatibilit

[clang] [compiler-rt] [llvm] [AArch64] Split FeatureMTE to FEAT_MTE and FEAT_MTE2. (PR #109299)

2024-09-27 Thread Tomas Matheson via cfe-commits
@@ -1059,7 +1059,7 @@ bool AArch64TargetInfo::handleTargetFeatures(std::vector &Features, HasFullFP16 = true; HasFP16FML = true; } -if (Feature == "+mte") +if (Feature == "+mte2") tmatheson-arm wrote: Won't this break existing IR with

[clang] [compiler-rt] [llvm] [FMV][AArch64] Remove feature sha1 from FMV. (PR #108383)

2024-09-27 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/108383 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify ls64, ls64_v and ls64_accdata. (PR #108024)

2024-09-17 Thread Tomas Matheson via cfe-commits
@@ -73,8 +73,6 @@ enum CPUFeatures { FEAT_SSBS, FEAT_SSBS2, FEAT_BTI, - FEAT_LS64, - FEAT_LS64_V, tmatheson-arm wrote: > If object A uses bit 36, object B uses bit 35 and the runtime uses bit 34, > how is it ever going to work? Using them for what?

[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify ls64, ls64_v and ls64_accdata. (PR #108024)

2024-09-16 Thread Tomas Matheson via cfe-commits
@@ -73,8 +73,6 @@ enum CPUFeatures { FEAT_SSBS, FEAT_SSBS2, FEAT_BTI, - FEAT_LS64, - FEAT_LS64_V, tmatheson-arm wrote: @Wilco1 could you explain the scenario you are worried about in more detail? What you posted above appears to be a snippet of a gene

[clang] [llvm] [AArch64] Attempt to further split the arch default and implied exts. (PR #106304)

2024-09-10 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: Are you planning to follow through with this? https://github.com/llvm/llvm-project/pull/106304 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-28 Thread Tomas Matheson via cfe-commits
@@ -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

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-28 Thread Tomas Matheson via 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

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-28 Thread Tomas Matheson via 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

[clang] [llvm] [AArch64] Attempt to further split the arch default and implied exts. (PR #106304)

2024-08-28 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: This looks like the right direction to go. https://github.com/llvm/llvm-project/pull/106304 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Make apple-m4 armv8.7-a again (from armv9.2-a). (PR #106312)

2024-08-28 Thread Tomas Matheson via cfe-commits
@@ -895,7 +895,10 @@ def ProcessorFeatures { FeatureLSE, FeaturePAuth, FeatureFPAC, FeatureRAS, FeatureRCPC, FeatureRDM, FeatureBF16, FeatureDotProd, FeatureMatMulInt

[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

2024-08-27 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. 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

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-19 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: /cherry-pick 362142c4bb5cc657151f592e507f552d5b9f7dde https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-17 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,90 @@ +// Use --implicit-check-not to ensure no additional CPUs are in this list + +// RUN: not %clang_cc1 -triple arm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --implicit-check-not={{[a-zA-Z0-9]}} +// RUN: not %clang_cc1 -triple arm64--- -tune-cp

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-17 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm closed https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-17 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,90 @@ +// Use --implicit-check-not to ensure no additional CPUs are in this list + +// RUN: not %clang_cc1 -triple arm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --implicit-check-not={{[a-zA-Z0-9]}} +// RUN: not %clang_cc1 -triple arm64--- -tune-cp

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-17 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/18] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: @jroelofs @ahmedbougacha Are you happy with the FEAT_CCIDX changes to Apple processors? https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. Thanks. This will make downstream maintenance much easier after the initial merge. https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,382 @@ +// Use --implicit-check-not={{[a-zA-Z0-9]}} to ensure no additional CPUs are in these lists + +// RUN: not %clang_cc1 -triple i386--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix X86 --implicit-check-not={{[a-zA-Z0-9]}} +// X86: er

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm milestoned https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/17] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/16] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
@@ -283,9 +311,7 @@ static void EmitARMTargetDef(RecordKeeper &RK, raw_ostream &OS) { auto Profile = Arch->getValueAsString("Profile"); auto ArchInfo = ArchInfoName(Major, Minor, Profile); -// The apple-latest alias is backend only, do not expose it to -mcpu. -

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/12] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: Fixed SSBS and CCIDX. > Does this also fix the "+nossbs" issue we saw earlier this week? Yes, added a test https://github.com/llvm/llvm-project/pull/104435/files#diff-e355e3951d191d3a32265d9bdeb101e4f49ddfa6049ef058cf9e1dfdf7c19ef3 https://github.com/llvm/llvm-project/pul

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/11] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 01/10] [AArch64] Add a check for invalid default features

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-16 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm updated https://github.com/llvm/llvm-project/pull/104435 >From f79eb28441491f1625691886cc92bd05d3b3cb6a Mon Sep 17 00:00:00 2001 From: Tomas Matheson Date: Thu, 15 Aug 2024 13:41:31 +0100 Subject: [PATCH 1/9] [AArch64] Add a check for invalid default features T

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-15 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: > > Cortex-A710 does not appear to have SSBS > I believe this says it should be present: You're right, I'll fix that. I will also actually remove FeatureCCIDX from the 8.3 mandatory features. https://github.com/llvm/llvm-project/pull/104435 ___

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-15 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-15 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm created https://github.com/llvm/llvm-project/pull/104435 This adds a check that all ExtensionWithMArch which are marked as implied features for an architecture are also present in the list of default features. It doesn't make sense to have something mandatory b

[clang] [clang][docs] Update Include Options Help (PR #101192)

2024-08-07 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/101192 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-18 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. 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

[clang] [AArch64][RISCV] Document option --print-supported-extensions (PR #98698)

2024-07-15 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/98698 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -161,14 +161,10 @@ struct CpuInfo { StringRef Name; // Name, as written for -mcpu. const ArchInfo &Arch; AArch64::ExtensionBitset - DefaultExtensions; // Default extensions for this CPU. These will be - // ORd with the architecture defaults

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: > Seems like there are still many more inconsistencies that could be improved > too. To be clear, I'm not suggesting you need to do them in this PR. https://github.com/llvm/llvm-project/pull/98550 ___ cfe-commits mailing list cfe

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -472,22 +472,22 @@ def FeatureFP8 : ExtensionWithMArch<"fp8", "FP8", "FEAT_FP8", "Enable FP8 instructions", [FeatureFAMINMAX, FeatureLUT, FeatureBF16]>; def FeatureFP8FMA : ExtensionWithMArch<"fp8fma", "FP8FMA", "FEAT_FP8FMA", - "Enable fp8 multiply-add instructions",

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -106,24 +106,24 @@ def FeatureSpecRestrict : Extension<"specrestrict", "SpecRestrict", "FEAT_CSV2_2 //===--===// def FeatureLSE : ExtensionWithMArch<"lse", "LSE", "FEAT_LSE", - "Enable ARMv8.1 Large Syst

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -89,14 +89,14 @@ def FeatureCrypto : ExtensionWithMArch<"crypto", "Crypto", "FEAT_Crypto", "Enable cryptographic instructions", [FeatureNEON, FeatureSHA2, FeatureAES]>; def FeatureCRC : ExtensionWithMArch<"crc", "CRC", "FEAT_CRC32", - "Enable ARMv8 CRC-32 checksum instr

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -210,29 +210,29 @@ def FeatureDotProd : ExtensionWithMArch<"dotprod", "DotProd", "FEAT_DotProd", "Enable dot product support", [FeatureNEON]>; def FeatureMPAM : Extension<"mpam", "MPAM", "FEAT_MPAM", - "Enable v8.4-A Memory system Partitioning and Monitoring extension">

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
@@ -65,7 +65,7 @@ class ExtensionWithMArch< let ArchExtKindSpelling = "AEK_FP", UserVisibleName = "fp" in def FeatureFPARMv8 : ExtensionWithMArch<"fp-armv8", "FPARMv8", "FEAT_FP", - "Enable ARMv8">; + "Enable Armv8.0-A Floating Point Extensions">; tmatheson-

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. LGTM. Seems like there are still many more inconsistencies that could be improved too. https://github.com/llvm/llvm-project/pull/98550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/98550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lldb] [llvm] [llvm][TargetParser] Return StringMap from getHostCPUFeatures (PR #97824)

2024-07-11 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. https://github.com/llvm/llvm-project/pull/97824 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-11 Thread Tomas Matheson via cfe-commits
@@ -1626,7 +1628,7 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_FP16FML, AArch64::AEK_SHA3,AArch64::AEK_BF16, AArch64::AEK_I8MM,AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_HCX}), -

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-11 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. LGTM. I haven't checked all the CPU feature changes, but the tests give a lot of confidence. I also haven't checked all the TRMs but the changes there make sense given the MEC/RME architecture changes. https://github.com/llvm/llvm-pr

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-11 Thread Tomas Matheson via cfe-commits
@@ -161,14 +161,10 @@ struct CpuInfo { StringRef Name; // Name, as written for -mcpu. const ArchInfo &Arch; AArch64::ExtensionBitset - DefaultExtensions; // Default extensions for this CPU. These will be - // ORd with the architecture defaults

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-11 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited https://github.com/llvm/llvm-project/pull/98267 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][ARM] Call constructor on BranchTargetInfo. (PR #98307)

2024-07-10 Thread Tomas Matheson via cfe-commits
@@ -1434,7 +1434,14 @@ class TargetInfo : public TransferrableTargetInfo, } public: -BranchProtectionInfo() = default; +BranchProtectionInfo() { + SignReturnAddr = LangOptions::SignReturnAddressScopeKind::None; + SignKey = LangOptions::SignReturnAddress

[clang] [Clang][ARM] Call constructor on BranchTargetInfo. (PR #98307)

2024-07-10 Thread Tomas Matheson via cfe-commits
@@ -141,7 +141,7 @@ class ARMTargetCodeGenInfo : public TargetCodeGenInfo { ParsedTargetAttr Attr = CGM.getTarget().parseTargetAttr(TA->getFeaturesStr()); if (!Attr.BranchProtection.empty()) { -TargetInfo::BranchProtectionInfo BPI; +TargetI

[clang] [Clang][ARM] Call constructor on BranchTargetInfo. (PR #98307)

2024-07-10 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: Whatever the solution is, it would be better off done now, as "in future" is likely to get forgotten. https://github.com/llvm/llvm-project/pull/98307 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[clang] [Clang][ARM] Call constructor on BranchTargetInfo. (PR #98307)

2024-07-10 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: Can something be done to prevent this happening accidentally again? https://github.com/llvm/llvm-project/pull/98307 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -11,7 +11,7 @@ int __attribute__((target_version("fp+aes"))) fmv(void) { return 6; } int __attribute__((target_version("crc+ls64_v"))) fmv(void) { return 7; } int __attribute__((target_version("bti"))) fmv(void) { return 8; } int __attribute__((target_version("sme2"))) fmv(

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -59,15 +59,22 @@ int bar() { return m.goo(1) + foo(1) + foo(); } +// Example to demonstrate that at the point of use we haven't yet seen the default. +// At that point a declaration for the unmangled symbol is emitted, which is later +// replaced by the ifunc symbol (on

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -4224,10 +4204,8 @@ void CodeGenModule::emitMultiVersionFunctions() { llvm::Function *Func = createFunction(CurFD); Options.emplace_back(Func, TA->getArchitecture(), Feats); } else if (const auto *TVA = CurFD->getAttr()) { -bool

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -59,15 +59,22 @@ int bar() { return m.goo(1) + foo(1) + foo(); } +// Example to demonstrate that at the point of use we haven't yet seen the default. +// At that point a declaration for the unmangled symbol is emitted, which is later +// replaced by the ifunc symbol (on

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm edited 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

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -4210,9 +4192,7 @@ void CodeGenModule::emitMultiVersionFunctions() { return cast(Func); }; -bool HasDefaultDecl = !FD->isTargetVersionMultiVersion(); -bool ShouldEmitResolver = -!getContext().getTargetInfo().getTriple().isAArch64(); +bool Shoul

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm commented: It's really hard to tell what is changing here because the existing tests are so non-specific. https://github.com/llvm/llvm-project/pull/97761 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://

[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -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

[clang] [llvm] [AArch64][RISCV] Improve the tests for --print-enabled-extensions and --print-supported-extensions (PR #97829)

2024-07-08 Thread Tomas Matheson via cfe-commits
@@ -0,0 +1,24 @@ +// REQUIRES: aarch64-registered-target tmatheson-arm wrote: I've kept them as-is so that they still correspond to the [generating script](https://gist.github.com/tmatheson-arm/333dd14cc1c95ab4ac563ed615add95d). https://github.com/llvm/llvm-pro

[clang] [llvm] [AArch64][RISCV] Improve the tests for --print-enabled-extensions and --print-supported-extensions (PR #97829)

2024-07-08 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm closed https://github.com/llvm/llvm-project/pull/97829 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [AArch64][RISCV] Improve the tests for --print-enabled-extensions and --print-supported-extensions (PR #97829)

2024-07-08 Thread Tomas Matheson via cfe-commits
tmatheson-arm wrote: > Mind sticking it in a gist at least so folks can use it for downstream > subtargets? [Here you go](https://gist.github.com/tmatheson-arm/333dd14cc1c95ab4ac563ed615add95d) https://github.com/llvm/llvm-project/pull/97829 ___ cfe

[clang] [llvm] [PAC][ELF][AArch64] Encode signed GOT flag in PAuth core info (PR #96159)

2024-07-05 Thread Tomas Matheson via cfe-commits
https://github.com/tmatheson-arm approved this pull request. LGTM, just based on what I can see from implementation of the existing bits in the version field. https://github.com/llvm/llvm-project/pull/96159 ___ cfe-commits mailing list cfe-commits@lis

  1   2   3   4   >