aarch64: Add support for FEAT_SME_B16B16 feature.

This patch adds support for SME ZA-targeting non-widening BFloat16 instructions,
under tick FEAT_SME_B16B16 and command line flag "+sme-b16b16".

FEAT_SME_B16B16 implements FEAT_SME2 and FEAT_SVE_B16B16, in accordance with that
"+sme-b16b16" enables "+sme2" and "+sve-b16b16".

Also the test files related to FEAT_SME_B16B16 are prefixed with sme-b16b16*.
eg: sme-b16b16-1.s, sme-b16b16-1.d.

The spec for this feature and instructions is availabe here [1]:
[1]: https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions?lang=en
This commit is contained in:
Srinath Parvathaneni
2025-01-10 16:47:32 +00:00
parent 150bfae1d7
commit 308d7670f0
11 changed files with 1182 additions and 311 deletions

View File

@@ -266,6 +266,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SME_F16F16,
/* SVE Z-targeting non-widening BFloat16 instructions. */
AARCH64_FEATURE_SVE_B16B16,
/* SME non-widening BFloat16 instructions. */
AARCH64_FEATURE_SME_B16B16,
/* Virtual features. These are used to gate instructions that are enabled
by either of two (or more) sets of command line flags. */