Skip to content

Commit 11ce13e

Browse files
authored
[FMV] Remove features which can be expressed as a combination of other features (#353)
All of sve-bf16, sve-ebf16, and sve-i8mm are obsolete. This is already reflected on the second column of the FMV table (we have bf16, ebf16, and i8mm with the same Architecture name). According to https://developer.arm.com/documentation/ddi0487/latest Arm Architecture Reference Manual for A-profile architecture: D23.2.72 ID_AA64ISAR1_EL1, AArch64 Instruction Set Attribute Register 1 ID_AA64ISAR1_EL1.I8MM, bits [55:52] > When Advanced SIMD and SVE are both implemented, this field must return > the same value as ID_AA64ZFR0_EL1.I8MM ID_AA64ISAR1_EL1.BF16, bits [47:44] > When FEAT_SVE or FEAT_SME is implemented, this field must return the > same value as ID_AA64ZFR0_EL1.BF16. So one could write target_version("sve+bf16") or sme+bf16 instead. There is a proposal to explicitely document FMV feature dependences in ACLE, so that the user won't have to write long feature strings on the attributes like sve+simd+i8mm (sve+i8mm should be enough).
1 parent 33a0cb3 commit 11ce13e

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

main/acle.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
419419
* Unified Function Multi Versioning features memtag and memtag2.
420420
* Unified Function Multi Versioning features aes and pmull.
421421
* Unified Function Multi Versioning features sve2-aes and sve2-pmull128.
422+
* Removed Function Multi Versioning features sve-bf16, sve-ebf16, and sve-i8mm.
422423
* Removed Function Multi Versioning features ebf16, memtag3, and rpres.
423424
* Removed Function Multi Versioning feature dgh.
424425
* Fixed range of operand `o0` (too small) in AArch64 system register designations.
@@ -2807,9 +2808,6 @@ The following table lists the architectures feature mapping for AArch64
28072808
| 270 | `FEAT_I8MM` | i8mm | ```ID_AA64ISAR1_EL1.I8MM >= 0b0001``` |
28082809
| 280 | `FEAT_BF16` | bf16 | ```ID_AA64ISAR1_EL1.BF16 >= 0b0001``` |
28092810
| 310 | `FEAT_SVE` | sve | ```ID_AA64PFR0_EL1.SVE >= 0b0001``` |
2810-
| 320 | `FEAT_BF16` | sve-bf16 | ```ID_AA64ZFR0_EL1.BF16 >= 0b0001``` |
2811-
| 330 | `FEAT_EBF16` | sve-ebf16 | ```ID_AA64ZFR0_EL1.BF16 >= 0b0010``` |
2812-
| 340 | `FEAT_I8MM` | sve-i8mm | ```ID_AA64ZFR0_EL1.I8MM >= 0b00001``` |
28132811
| 350 | `FEAT_F32MM` | f32mm | ```ID_AA64ZFR0_EL1.F32MM >= 0b00001``` |
28142812
| 360 | `FEAT_F64MM` | f64mm | ```ID_AA64ZFR0_EL1.F64MM >= 0b00001``` |
28152813
| 370 | `FEAT_SVE2` | sve2 | ```ID_AA64ZFR0_EL1.SVEver >= 0b0001``` |

0 commit comments

Comments
 (0)