Releases: ARM-software/acle
ACLE 2024 Q3
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
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
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
andslice_offset
arguments into a singleslice
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
forrdm
. - 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
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
Release highlights
The only document changed in this release is the main Arm C Language Extensions, at version 2022Q4.
List of changes:
- Added Alpha support for SME.
- Added feature detection macro
__ARM_FEATURE_RCPC
for RCpc (Release Consistent processor consistent) model at RCpc. - Added two new valid values to the SVE feature macros:
__ARM_FEATURE_SVE_VECTOR_OPERATORS=2
.__ARM_FEATURE_SVE_PREDICATE_OPERATORS=2
.
- Fixes for Function Multi Versioning:
- Added missing features of
ID_AA64ISAR1_EL1
andID_AA64ISAR2_EL1
. - Renamed the feature macro to
__HAVE_FUNCTION_MULTI_VERSIONING
. - Added some clarifications.
- Added missing features of
ACLE 2022 Q2
Release highlights
The only document changed in this release is the main Arm C Language Extensions, at version 2022Q2.
List of changes:
- 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 - Added section Scalable Vector Extension procedure call standard attribute
- Fixes for Function Multi Versioning:
- typo in
FEAT_DPB2
. - added
FEAT_LS64*
.
- typo in
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
Release highlights
- Open source publication of Arm®v8-M Security Extensions - Requirements on Development Tools, version
1.2
(HTML | PDF | Full changelog) - Support added for Function Multi Versioning (beta quality) in Arm C Language Extensions, version
2022Q1
(HTML | PDF | Full changelog).
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
ACLE 2021Q4
List of changes
- The specification are published in HTML format at arm-software.github.io/acle/. The HTML version is generated via GitHub Pages from the markdown sources of the project.
- The PDF version of the specifications is now published following the layout for official Arm official documents. Docker is used to guarantee an uniform output across a variety of machines (see the script
build_with_docker.sh
in the root folder). - Main ACLE, with the addition of the followoing macros:
- Morello ACLE
- MVE intrinsics
- Neon intrinsics
ACLE 2021Q3
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.
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.