Skip to content

Commit a0cef2b

Browse files
authored
[llvm][AArch64] Rearrange Apple CPUs by generation, not product class. NFC (#95579)
1 parent 2b33591 commit a0cef2b

File tree

2 files changed

+54
-47
lines changed

2 files changed

+54
-47
lines changed

llvm/lib/Target/AArch64/AArch64Processors.td

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,54 +1007,61 @@ def : ProcessorModel<"thunderx3t110", ThunderX3T110Model,
10071007
def : ProcessorModel<"tsv110", TSV110Model, ProcessorFeatures.TSV110,
10081008
[TuneTSV110]>;
10091009

1010+
1011+
// Apple CPUs
1012+
10101013
// Support cyclone as an alias for apple-a7 so we can still LTO old bitcode.
10111014
def : ProcessorModel<"cyclone", CycloneModel, ProcessorFeatures.AppleA7,
10121015
[TuneAppleA7]>;
1013-
1014-
// iPhone and iPad CPUs
10151016
def : ProcessorModel<"apple-a7", CycloneModel, ProcessorFeatures.AppleA7,
10161017
[TuneAppleA7]>;
10171018
def : ProcessorModel<"apple-a8", CycloneModel, ProcessorFeatures.AppleA7,
10181019
[TuneAppleA7]>;
10191020
def : ProcessorModel<"apple-a9", CycloneModel, ProcessorFeatures.AppleA7,
10201021
[TuneAppleA7]>;
1022+
10211023
def : ProcessorModel<"apple-a10", CycloneModel, ProcessorFeatures.AppleA10,
10221024
[TuneAppleA10]>;
1025+
10231026
def : ProcessorModel<"apple-a11", CycloneModel, ProcessorFeatures.AppleA11,
10241027
[TuneAppleA11]>;
1028+
10251029
def : ProcessorModel<"apple-a12", CycloneModel, ProcessorFeatures.AppleA12,
10261030
[TuneAppleA12]>;
1031+
def : ProcessorModel<"apple-s4", CycloneModel, ProcessorFeatures.AppleA12,
1032+
[TuneAppleA12]>;
1033+
def : ProcessorModel<"apple-s5", CycloneModel, ProcessorFeatures.AppleA12,
1034+
[TuneAppleA12]>;
1035+
10271036
def : ProcessorModel<"apple-a13", CycloneModel, ProcessorFeatures.AppleA13,
10281037
[TuneAppleA13]>;
1038+
10291039
def : ProcessorModel<"apple-a14", CycloneModel, ProcessorFeatures.AppleA14,
10301040
[TuneAppleA14]>;
1041+
def : ProcessorModel<"apple-m1", CycloneModel, ProcessorFeatures.AppleA14,
1042+
[TuneAppleA14]>;
1043+
10311044
def : ProcessorModel<"apple-a15", CycloneModel, ProcessorFeatures.AppleA15,
10321045
[TuneAppleA15]>;
1046+
def : ProcessorModel<"apple-m2", CycloneModel, ProcessorFeatures.AppleA15,
1047+
[TuneAppleA15]>;
1048+
10331049
def : ProcessorModel<"apple-a16", CycloneModel, ProcessorFeatures.AppleA16,
10341050
[TuneAppleA16]>;
1051+
def : ProcessorModel<"apple-m3", CycloneModel, ProcessorFeatures.AppleA16,
1052+
[TuneAppleA16]>;
1053+
10351054
def : ProcessorModel<"apple-a17", CycloneModel, ProcessorFeatures.AppleA17,
10361055
[TuneAppleA17]>;
1056+
10371057
def : ProcessorModel<"apple-m4", CycloneModel, ProcessorFeatures.AppleM4,
10381058
[TuneAppleM4]>;
10391059

1040-
// Mac CPUs
1041-
def : ProcessorModel<"apple-m1", CycloneModel, ProcessorFeatures.AppleA14,
1042-
[TuneAppleA14]>;
1043-
def : ProcessorModel<"apple-m2", CycloneModel, ProcessorFeatures.AppleA15,
1044-
[TuneAppleA15]>;
1045-
def : ProcessorModel<"apple-m3", CycloneModel, ProcessorFeatures.AppleA16,
1046-
[TuneAppleA16]>;
1047-
1048-
// watch CPUs.
1049-
def : ProcessorModel<"apple-s4", CycloneModel, ProcessorFeatures.AppleA12,
1050-
[TuneAppleA12]>;
1051-
def : ProcessorModel<"apple-s5", CycloneModel, ProcessorFeatures.AppleA12,
1052-
[TuneAppleA12]>;
1053-
10541060
// Alias for the latest Apple processor model supported by LLVM.
10551061
def : ProcessorModel<"apple-latest", CycloneModel, ProcessorFeatures.AppleM4,
10561062
[TuneAppleM4]>;
10571063

1064+
10581065
// Fujitsu A64FX
10591066
def : ProcessorModel<"a64fx", A64FXModel, ProcessorFeatures.A64FX,
10601067
[TuneA64FX]>;

llvm/unittests/TargetParser/TargetParserTest.cpp

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,6 +1559,24 @@ INSTANTIATE_TEST_SUITE_P(
15591559
AArch64::AEK_FP16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
15601560
AArch64::AEK_PAUTH}),
15611561
"8.3-A"),
1562+
ARMCPUTestParams<AArch64::ExtensionBitset>(
1563+
"apple-s4", "armv8.3-a", "crypto-neon-fp-armv8",
1564+
AArch64::ExtensionBitset(
1565+
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
1566+
AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_LSE,
1567+
AArch64::AEK_RAS, AArch64::AEK_RDM, AArch64::AEK_RCPC,
1568+
AArch64::AEK_FP16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1569+
AArch64::AEK_PAUTH}),
1570+
"8.3-A"),
1571+
ARMCPUTestParams<AArch64::ExtensionBitset>(
1572+
"apple-s5", "armv8.3-a", "crypto-neon-fp-armv8",
1573+
AArch64::ExtensionBitset(
1574+
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
1575+
AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_LSE,
1576+
AArch64::AEK_RAS, AArch64::AEK_RDM, AArch64::AEK_RCPC,
1577+
AArch64::AEK_FP16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1578+
AArch64::AEK_PAUTH}),
1579+
"8.3-A"),
15621580
ARMCPUTestParams<AArch64::ExtensionBitset>(
15631581
"apple-a13", "armv8.4-a", "crypto-neon-fp-armv8",
15641582
AArch64::ExtensionBitset(
@@ -1580,18 +1598,17 @@ INSTANTIATE_TEST_SUITE_P(
15801598
AArch64::AEK_FCMA, AArch64::AEK_PAUTH}),
15811599
"8.4-A"),
15821600
ARMCPUTestParams<AArch64::ExtensionBitset>(
1583-
"apple-a15", "armv8.6-a", "crypto-neon-fp-armv8",
1601+
"apple-m1", "armv8.4-a", "crypto-neon-fp-armv8",
15841602
AArch64::ExtensionBitset(
15851603
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
15861604
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
15871605
AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
15881606
AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
1589-
AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
1590-
AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1591-
AArch64::AEK_PAUTH}),
1592-
"8.6-A"),
1607+
AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_JSCVT,
1608+
AArch64::AEK_FCMA, AArch64::AEK_PAUTH}),
1609+
"8.4-A"),
15931610
ARMCPUTestParams<AArch64::ExtensionBitset>(
1594-
"apple-a16", "armv8.6-a", "crypto-neon-fp-armv8",
1611+
"apple-a15", "armv8.6-a", "crypto-neon-fp-armv8",
15951612
AArch64::ExtensionBitset(
15961613
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
15971614
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
@@ -1602,7 +1619,7 @@ INSTANTIATE_TEST_SUITE_P(
16021619
AArch64::AEK_PAUTH}),
16031620
"8.6-A"),
16041621
ARMCPUTestParams<AArch64::ExtensionBitset>(
1605-
"apple-a17", "armv8.6-a", "crypto-neon-fp-armv8",
1622+
"apple-m2", "armv8.6-a", "crypto-neon-fp-armv8",
16061623
AArch64::ExtensionBitset(
16071624
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
16081625
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
@@ -1613,17 +1630,18 @@ INSTANTIATE_TEST_SUITE_P(
16131630
AArch64::AEK_PAUTH}),
16141631
"8.6-A"),
16151632
ARMCPUTestParams<AArch64::ExtensionBitset>(
1616-
"apple-m1", "armv8.4-a", "crypto-neon-fp-armv8",
1633+
"apple-a16", "armv8.6-a", "crypto-neon-fp-armv8",
16171634
AArch64::ExtensionBitset(
16181635
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
16191636
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
16201637
AArch64::AEK_LSE, AArch64::AEK_RAS, AArch64::AEK_RDM,
16211638
AArch64::AEK_RCPC, AArch64::AEK_DOTPROD, AArch64::AEK_FP16,
1622-
AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_JSCVT,
1623-
AArch64::AEK_FCMA, AArch64::AEK_PAUTH}),
1624-
"8.4-A"),
1639+
AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16,
1640+
AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1641+
AArch64::AEK_PAUTH}),
1642+
"8.6-A"),
16251643
ARMCPUTestParams<AArch64::ExtensionBitset>(
1626-
"apple-m2", "armv8.6-a", "crypto-neon-fp-armv8",
1644+
"apple-m3", "armv8.6-a", "crypto-neon-fp-armv8",
16271645
AArch64::ExtensionBitset(
16281646
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
16291647
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
@@ -1634,7 +1652,7 @@ INSTANTIATE_TEST_SUITE_P(
16341652
AArch64::AEK_PAUTH}),
16351653
"8.6-A"),
16361654
ARMCPUTestParams<AArch64::ExtensionBitset>(
1637-
"apple-m3", "armv8.6-a", "crypto-neon-fp-armv8",
1655+
"apple-a17", "armv8.6-a", "crypto-neon-fp-armv8",
16381656
AArch64::ExtensionBitset(
16391657
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
16401658
AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD,
@@ -1659,24 +1677,6 @@ INSTANTIATE_TEST_SUITE_P(
16591677
AArch64::AEK_SME, AArch64::AEK_SME2,
16601678
AArch64::AEK_SMEF64F64, AArch64::AEK_SMEI16I64}),
16611679
"8.7-A"),
1662-
ARMCPUTestParams<AArch64::ExtensionBitset>(
1663-
"apple-s4", "armv8.3-a", "crypto-neon-fp-armv8",
1664-
AArch64::ExtensionBitset(
1665-
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
1666-
AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_LSE,
1667-
AArch64::AEK_RAS, AArch64::AEK_RDM, AArch64::AEK_RCPC,
1668-
AArch64::AEK_FP16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1669-
AArch64::AEK_PAUTH}),
1670-
"8.3-A"),
1671-
ARMCPUTestParams<AArch64::ExtensionBitset>(
1672-
"apple-s5", "armv8.3-a", "crypto-neon-fp-armv8",
1673-
AArch64::ExtensionBitset(
1674-
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
1675-
AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_LSE,
1676-
AArch64::AEK_RAS, AArch64::AEK_RDM, AArch64::AEK_RCPC,
1677-
AArch64::AEK_FP16, AArch64::AEK_JSCVT, AArch64::AEK_FCMA,
1678-
AArch64::AEK_PAUTH}),
1679-
"8.3-A"),
16801680
ARMCPUTestParams<AArch64::ExtensionBitset>(
16811681
"exynos-m3", "armv8-a", "crypto-neon-fp-armv8",
16821682
AArch64::ExtensionBitset({AArch64::AEK_CRC, AArch64::AEK_AES,

0 commit comments

Comments
 (0)