Skip to content

Releases: ARM-software/acle

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.

First official Open Source release.

02 Jul 15:37
Compare
Choose a tag to compare

These are the PDF renderings of the the first documents released with an open source release.

To contribute and report issues, see https://github.com/ARM-software/acle.

The following documents are included:

Document sources Latest official release
Arm C Language Extensions 2021Q2
Morello Supplement to the Arm C Language Extensions 01alpha
Arm MVE Intrinsics 2021Q2
Arm Neon Intrinsics Reference 2021Q2

Please note that not all ACLE specifications have yet transitioned to an open source license. Please refer to Arm Developer for the documents missing from this release.