andrewcarlotti wrote:

> However the architecture does not mandate that both need to be implemented at 
> the same time.

This premise is incorrect. For FEAT_SVE_AES and FEAT_SVE_PMULL128, the latest 
version of the Arm ARM (DDI 0487K.a) includes the following in the definition 
of  `ID_AA64ZFR0_EL1.AES`:

> FEAT_SVE_AES implements the functionality identified by the value 0b0001.
FEAT_SVE_PMULL128 implements the functionality identified by the value 0b0010.
The permitted values are 0b0000 and 0b0010.

So it isn't permitted to implement just one of FEAT_SVE_AES and 
FEAT_SVE_PMULL128.

Similarly, for FEAT_AES and FEAT_PMULL, the previous version of the Arm ARM 
(DDI 0487J.a) includes the following in the definition of  
`ID_AA64ISAR0_EL1.AES`:

>FEAT_AES implements the functionality identified by the value 0b0001.
FEAT_PMULL implements the functionality identified by the value 0b0010.
>From Armv8, the permitted values are 0b0000 and 0b0010.

This last line was deleted in the latest Arm ARM (DDI 0487K.a), but it appears 
to be a mistake that was not intended to relax the architecture constraints. 
I've reported this discrepancy internally.

https://github.com/llvm/llvm-project/pull/110816
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to