diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64.td')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64.td | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td index 2c1a9cfa67a6..3677f669c348 100644 --- a/llvm/lib/Target/AArch64/AArch64.td +++ b/llvm/lib/Target/AArch64/AArch64.td @@ -58,26 +58,34 @@ include "AArch64SystemOperands.td" class AArch64Unsupported { list<Predicate> F; } -let F = [HasSVE2p1, HasSVE2p1_or_HasSME2, HasSVE2p1_or_HasSME2p1] in +let F = [HasSVE2p1, HasSVE2p1_or_SME2, HasSVE2p1_or_SME2p1] in def SVE2p1Unsupported : AArch64Unsupported; def SVE2Unsupported : AArch64Unsupported { - let F = !listconcat([HasSVE2, HasSVE2orSME, HasSVE2orSME2, HasSSVE_FP8FMA, HasSMEF8F16, - HasSMEF8F32, HasSVE2AES, HasSVE2SHA3, HasSVE2SM4, HasSVE2BitPerm], + let F = !listconcat([HasSVE2, HasSVE2_or_SME, HasSVE2_or_SME2, HasSSVE_FP8FMA, HasSMEF8F16, + HasSMEF8F32, HasSVEAES, HasSVE2SHA3, HasSVE2SM4, HasSVEBitPerm, + HasSVEB16B16], SVE2p1Unsupported.F); } def SVEUnsupported : AArch64Unsupported { - let F = !listconcat([HasSVE, HasSVEorSME], + let F = !listconcat([HasSVE, HasSVE_or_SME], SVE2Unsupported.F); } -let F = [HasSME2p1, HasSVE2p1_or_HasSME2p1] in -def SME2p1Unsupported : AArch64Unsupported; +let F = [HasSME2p2, HasSVE2p2_or_SME2p2, HasNonStreamingSVE_or_SME2p2, + HasNonStreamingSVE2p2_or_SME2p2, HasNonStreamingSVE2_or_SSVE_BitPerm, + HasSME_MOP4, HasSME_TMOP] in +def SME2p2Unsupported : AArch64Unsupported; + +def SME2p1Unsupported : AArch64Unsupported { + let F = !listconcat([HasSME2p1, HasSVE2p1_or_SME2p1, HasNonStreamingSVE2p1_or_SSVE_AES], + SME2p2Unsupported.F); +} def SME2Unsupported : AArch64Unsupported { - let F = !listconcat([HasSME2, HasSVE2orSME2, HasSVE2p1_or_HasSME2, HasSSVE_FP8FMA, - HasSMEF8F16, HasSMEF8F32, HasSMEF16F16orSMEF8F16], + let F = !listconcat([HasSME2, HasSVE2_or_SME2, HasSVE2p1_or_SME2, HasSSVE_FP8FMA, + HasSMEF8F16, HasSMEF8F32, HasSMEF16F16_or_SMEF8F16, HasSMEB16B16], SME2p1Unsupported.F); } @@ -112,6 +120,7 @@ include "AArch64SchedAmpere1.td" include "AArch64SchedAmpere1B.td" include "AArch64SchedNeoverseN1.td" include "AArch64SchedNeoverseN2.td" +include "AArch64SchedNeoverseN3.td" include "AArch64SchedNeoverseV1.td" include "AArch64SchedNeoverseV2.td" include "AArch64SchedOryon.td" |
