Skip to content

Commit d79338a

Browse files
committed
[FMV] Unify memtag and memtag2.
If we split these features in the compiler (see relevant pull request llvm/llvm-project#109299), we would only be able to hand-write a 'memtag2' version using inline assembly since the compiler cannot generate the instructions that become available with FEAT_MTE2. On top of that these instructions only work at Exception Level 1, so they would be unusable since FMV is a user space facility. I am therefore unifying them in the ACLE specification.
1 parent 5525258 commit d79338a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

main/acle.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
404404
level of the [Function Multi Versioning](#function-multi-versioning).
405405
* Unified Function Multi Versioning features sha1, sha2.
406406
* Unified Function Multi Versioning features ls64, ls64_v, ls64_accdata.
407+
* Unified Function Multi Versioning features memtag and memtag2.
407408
* Added [**Alpha**](#current-status-and-anticipated-changes)
408409
support for SME2.1 (FEAT_SME2p1).
409410
* Removed requirement to add preprocessor guards for header files.
@@ -2810,8 +2811,7 @@ The following table lists the architectures feature mapping for AArch64
28102811
| 410 | `FEAT_SVE_SHA3` | sve2-sha3 | ```ID_AA64ZFR0_EL1.SHA3 >= 0b0001``` |
28112812
| 420 | `FEAT_SM3`, `FEAT_SVE_SM4` | sve2-sm4 | ```ID_AA64ZFR0_EL1.SM4 >= 0b0001``` |
28122813
| 430 | `FEAT_SME` | sme | ```ID_AA64PFR1_EL1.SME >= 0b0001``` |
2813-
| 440 | `FEAT_MTE` | memtag | ```ID_AA64PFR1_EL1.MTE >= 0b0001``` |
2814-
| 450 | `FEAT_MTE2` | memtag2 | ```ID_AA64PFR1_EL1.MTE >= 0b0010``` |
2814+
| 440 | `FEAT_MTE`, `FEAT_MTE2` | memtag | ```ID_AA64PFR1_EL1.MTE >= 0b0010``` |
28152815
| 460 | `FEAT_MTE3` | memtag3 | ```ID_AA64PFR1_EL1.MTE >= 0b0011``` |
28162816
| 470 | `FEAT_SB` | sb | ```ID_AA64ISAR1_EL1.SB >= 0b0001``` |
28172817
| 480 | `FEAT_SPECRES` | predres | ```ID_AA64ISAR1_EL1.SPECRES >= 0b0001``` |

0 commit comments

Comments
 (0)