Skip to content

Releases: ARM-software/acle

ACLE 2024 Q4

21 Feb 10:41
Compare
Choose a tag to compare

Release highlights

The documents modified in this release are:

  • Arm C Language Extensions.
  • Arm Neon Intrinsics Reference.

List of changes

  • Unified Function Multi Versioning features ssbs and ssbs2.
  • Unified Function Multi Versioning features memtag and memtag2.
  • Unified Function Multi Versioning features aes and pmull.
  • Unified Function Multi Versioning features sve2-aes and sve2-pmull128.
  • Removed Function Multi Versioning features sve-bf16, sve-ebf16, and sve-i8mm.
  • Removed Function Multi Versioning features ebf16, memtag3, and rpres.
  • Removed Function Multi Versioning feature dgh.
  • Removed Function Multi Versioning features ls64 and predres.
  • Document Function Multi Versioning feature dependencies.
  • Clarify Function Multi Versioning feature dependency rule.
  • Simplified Function Multi Versioning version selection rules.
  • Fixed range of operand o0 (too small) in AArch64 system register designations.
  • Fixed SVE2.1 quadword gather load/scatter store intrinsics.
  • Removed unnecessary Zd argument from svcvtnb_mf8[_f32_x2]_fpm.
  • Changed name mangling of function types to include SME attributes.
  • Changed __ARM_NEON_SVE_BRIDGE to refer to the availability of the arm_neon_sve_bridge.h header file, rather than the NEON-SVE bridge intrinsics.
  • Removed extraneous const from SVE2.1 store intrinsics.
  • Added __arm_agnostic keyword attribute.
  • Refined function versioning scope and signature rules to use the default version scope and signature.
  • Added _n forms of the SVE2p1 and SME2 svdot intrinsics.
  • Changed the status of the SME2p1 from Alpha to Beta.
  • Changed the status of the SVE2p1 from Alpha to Beta.
  • Added mf8 variants of SME 2.1 intrinsics.
  • Added svdot[_n_f16_mf8]_fpm and svdot[_n_f32_mf8]_fpm.
  • Added Guarded Control Stack (GCS) at Beta quality level.

ACLE 2024 Q3

30 Sep 09:11
Compare
Choose a tag to compare

Release highlights

The documents modified in this release are:

  • Arm C Language Extensions.
  • Arm Neon Intrinsics Reference.

List of changes

  • Fixed incorrect system register dependencies in Function Multi Versioning.
  • Added a requirement for function version declaration in Function Multi Versioning.
  • Added __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL to indicate the support level of the Function Multi
    Versioning.
  • Unified Function Multi Versioning features sha1 and sha2.
  • Unified Function Multi Versioning features ls64, ls64_v, and ls64_accdata.
  • Added Alpha support for SME2.1 (FEAT_SME2p1).
  • Removed requirement to add preprocessor guards for header files.
  • Added specifications for floating-point absolute minimum and maximum intrinsics (FEAT_FAMINMAX).
  • Added specifications for table lookup intrinsics (FEAT_LUT, FEAT_SME_LUTv2).
  • Added Release support level for the Custom Datapath Extension.
  • Added Alpha support for modal 8-bit floating point intrinsics.
  • Fixed the range of the lane immediate argument for vst2q_lane_f64.

ACLE 2024 Q2

21 Jun 11:13
Compare
Choose a tag to compare

Release highlights

The documents modified in this release are:

  • Arm C Language Extensions.
  • Arm®v8-M Security Extensions Requirements on Development Tools.

List of changes

  • Added new content for the handling of arguments in CMSE Entry functions and return values of CMSE Nonsecure calls in order to address security issues.
  • Added Alpha support for SVE2.1 (FEAT_SVE2p1).

ACLE 2024 Q1

11 Apr 13:03
Compare
Choose a tag to compare

Release highlights

The documents modified in this release are:

  • Arm C Language Extensions.

List of changes

  • Changed the definition of the __ARM_ACLE macro to reflect the current versioning scheme.
  • Added __ARM_ACLE_VERSION to express a given ACLE version.
  • Combined the SME slice_base and slice_offset arguments into a single slice argument.
  • Added the Keyword attributes section.
  • Changed the SME language extensions to use keyword attributes instead of GNU-style attributes.
  • Added description of SVE reinterpret intrinsics.
  • Changes and fixes for Function Multi Versioning:
    • Changed the mangling rules, such that feature names are appended in lexicographic order, not in priority order.
    • Mangled names contain a unique set of features (no duplicates).
    • Added MOPS.
    • Changed name mangling of the default version.
    • Aligned priorities to account for feature dependencies.
    • Introduced alternative names (aliases) rdma for rdm.
    • Corrected FEAT_BTI feature register value.
  • Introduced the __ARM_FEATURE_PAUTH_LR feature macro in section Pointer Authentication to indicate target support for the Armv9.5-A PAC Enhancements.
  • Introduced a new value to the __ARM_FEATURE_PAC_DEFAULT macro to indicate the use of PC as a diversifier for Pointer Authentication.
  • Added a State management section, replacing the __arm_shared_za, __arm_new_za, and __arm_preserves_za attributes in the previous Alpha SME spec.
  • Changed the status of the SME ACLE from Alpha to Beta.

ACLE 2023 Q2

07 Aug 08:23
Compare
Choose a tag to compare

Release highlights

The documents modified in this release are:

  • Arm C Language Extensions.
  • Arm Neon Intrinsics Reference.
  • Armv8-M Security Extensions Requirements on Development Tools.

List of changes

  • Added SLC as a valid Cache Level for the Memory prefetch intrinsics.
  • Added support for 128-bit system registers, including two intrinsics for accessing them (__rsr128 and __wsr128), and a feature macro to detect if they are available (__ARM_FEATURE_SYSREG128).
  • Added support for FEAT_LRCPC3 LDAP1/STL1 intrinsics and __ARM_FEATURE_RCPC.
  • Corrected the mandatory architecture versions for FEAT_LRCPC and FEAT_LRCPC2.
  • Corrected references to -pedantic flag.
  • Fixed typos.
  • Fixes for Function Multi Versioning:
    • Renamed features to sme-f64f64 and sme-i16i64
    • Corrected register name to ID_AA64SMFR0_EL1.I16I64
  • Removed incorrect optimisation remark in CMSE's floating-point register clearing.
  • Removed incorrect information about the floating-point ABI used in CMSE's Arguments on the stack and floating point handling.
  • Corrected description and example in CMSE's section about non-secure function pointers.

ACLE 2022 Q4

23 Nov 14:30
Compare
Choose a tag to compare

Release highlights

The only document changed in this release is the main Arm C Language Extensions, at version 2022Q4.

List of changes:

  1. Added Alpha support for SME.
  2. Added feature detection macro __ARM_FEATURE_RCPC for RCpc (Release Consistent processor consistent) model at RCpc.
  3. Added two new valid values to the SVE feature macros:
    • __ARM_FEATURE_SVE_VECTOR_OPERATORS=2.
    • __ARM_FEATURE_SVE_PREDICATE_OPERATORS=2.
  4. Fixes for Function Multi Versioning:
    • Added missing features of ID_AA64ISAR1_EL1 and ID_AA64ISAR2_EL1.
    • Renamed the feature macro to __HAVE_FUNCTION_MULTI_VERSIONING.
    • Added some clarifications.

ACLE 2022 Q2

12 Jul 10:04
6eb8516
Compare
Choose a tag to compare

Release highlights

The only document changed in this release is the main Arm C Language Extensions, at version 2022Q2.

List of changes:

  1. Added support for SVE and SVE2. This incorporates the final 00bet6 version of the separate beta document Arm C Language Extensions for SVE, except that the optional feature __ARM_FEATURE_SVE_NONMEMBER_OPERATORS has been removed. The SVE and SVE2 support is now at “release” rather than beta quality and the separate beta document is no longer maintained. The mapping of SVE and SVE2 instructions to the intrinsics can be browsed in the section Mapping of SVE instructions to intrinsics
  2. Added section Scalable Vector Extension procedure call standard attribute
  3. Fixes for Function Multi Versioning:
    • typo in FEAT_DPB2.
    • added FEAT_LS64*.

SME ACLE

Support for Scalable Matrix Extension (SME) (alpha quality) is not been included in this release, as we are still gathering feedback on the content of the pull request at #188

ACLE 2022 Q1

25 Apr 14:37
Compare
Choose a tag to compare

Release highlights

Note: Support for Scalable Matrix Extension (SME) (alpha quality) is not been included in this release, as we would firstly like to gather feedback on the content of the pull request at #188

Documents unchanged

  • Arm Neon Intrinsics Reference, version 2021Q4 (HTML |PDF)
  • Arm MVE Intrinsics Reference, version 2021Q4 (HTML |PDF)
  • Morello Supplement to the Arm C Language Extensions, version 02alpha (HTML |PDF)

ACLE 2021Q4

07 Feb 11:33
Compare
Choose a tag to compare

List of changes

ACLE 2021Q3

20 Oct 17:27
Compare
Choose a tag to compare

List of changes

No changes in the Morello (morello-01alpha.pdf) and MVE (mve-2021Q2.pdf) documents.

List of changes in the main ACLE document (acle-2021Q3.pdf)

  • Fix paragraph on lane intrinsics. NFCI. (#14)
  • [bugfix] Fix FP16 format description in main ACLE specs (#22)

List of changes in the NEON intrinsics document (advsimd-2021Q3.pdf)

  • acle: Correct udot, sdot specification on AArch32 (#19, #20)
  • [intrinsics] Use the __ARM_NEON macro for the Advanced SIMD support. (#17)

Acknowledgments

This release sees the contributions of @TamarChristinaArm , @ValeriaDaneva , @MattPD , @fpetrogalli , and Jakub Łopuszański.