Skip to content

Commit 689affc

Browse files
committed
[AArch64] Support Hisilicon's hip11 sched model
1 parent 13c4eb5 commit 689affc

File tree

3 files changed

+2440
-6
lines changed

3 files changed

+2440
-6
lines changed

llvm/lib/Target/AArch64/AArch64.td

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ def FeatureHardenSlsNoComdat : SubtargetFeature<"harden-sls-nocomdat",
726726

727727
class AArch64Unsupported { list<Predicate> F; }
728728

729-
let F = [HasSVE2p1, HasSVE2p1_or_HasSME2, HasSVE2p1_or_HasSME2p1] in
729+
let F = [HasSVE2p1, HasSVE2p1_or_HasSME2, HasSVE2p1_or_HasSME2p1, HasSVE2p1_or_HasSME] in
730730
def SVE2p1Unsupported : AArch64Unsupported;
731731

732732
def SVE2Unsupported : AArch64Unsupported {
@@ -749,7 +749,8 @@ def SME2Unsupported : AArch64Unsupported {
749749
}
750750

751751
def SMEUnsupported : AArch64Unsupported {
752-
let F = !listconcat([HasSME, HasSMEI16I64, HasSMEF16F16, HasSMEF64F64, HasSMEFA64],
752+
let F = !listconcat([HasSME, HasSMEI16I64, HasSMEF16F16, HasSMEF64F64, HasSMEFA64,
753+
HasSVE2p1_or_HasSME],
753754
SME2Unsupported.F);
754755
}
755756

@@ -773,6 +774,7 @@ include "AArch64SchedThunderX3T110.td"
773774
include "AArch64SchedTSV110.td"
774775
include "AArch64SchedHIP09.td"
775776
include "AArch64SchedHIP10C.td"
777+
include "AArch64SchedHIP11.td"
776778
include "AArch64SchedAmpere1.td"
777779
include "AArch64SchedNeoverseN1.td"
778780
include "AArch64SchedNeoverseN2.td"
@@ -1529,8 +1531,7 @@ def : ProcessorModel<"hip09", HIP09Model, ProcessorFeatures.HIP09,
15291531
[TuneHIP09]>;
15301532
def : ProcessorModel<"hip10c", HIP10CModel, ProcessorFeatures.HIP10C,
15311533
[TuneHIP10C]>;
1532-
// FIXME: Hisilicon HIP11 is currently modeled as a Cortex-A57.
1533-
def : ProcessorModel<"hip11", CortexA57Model, ProcessorFeatures.HIP11,
1534+
def : ProcessorModel<"hip11", HIP11Model, ProcessorFeatures.HIP11,
15341535
[TuneHIP11]>;
15351536

15361537
// Support cyclone as an alias for apple-a7 so we can still LTO old bitcode.

llvm/lib/Target/AArch64/AArch64SchedA64FX.td

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ def A64FXModel : SchedMachineModel {
2222

2323
list<Predicate> UnsupportedFeatures =
2424
[HasSVE2, HasSVE2AES, HasSVE2SM4, HasSVE2SHA3, HasSVE2BitPerm, HasPAuth,
25-
HasSVE2orSME, HasMTE, HasMatMulInt8, HasBF16, HasSME2, HasSME2p1, HasSVE2p1,
26-
HasSVE2p1_or_HasSME2p1, HasSMEF16F16, HasSMEFA64];
25+
HasSVE2orSME, HasMTE, HasMatMulInt8, HasBF16, HasSME, HasSMEI16I64, HasSMEF64F64,
26+
HasSME2, HasSME2p1, HasSVE2p1, HasSVE2p1_or_HasSME2p1, HasSMEF16F16, HasSVE2p1_or_HasSME,
27+
HasSMEFA64];
2728

2829
let FullInstRWOverlapCheck = 0;
2930
}

0 commit comments

Comments
 (0)