11---
22title: Arm C Language Extensions
3- version: 2023Q2
4- date-of-issue: 04 August 2023
3+ version: 2024Q1
4+ date-of-issue: 11 April 2024
55# LaTeX specific variables
66copyright-text: "Copyright: see section \\texorpdfstring{\\nameref{copyright}}{Copyright}."
7- draftversion: true
7+ draftversion: false
88# Jekyll specific variables
99header_counter: true
1010toc: true
@@ -176,6 +176,7 @@ unless a different support level is specified in the text.
176176| 2022Q2 | 01 Jul 2022 | Arm | See [Changes between ACLE Q1 2021 and ACLE Q2 2022](#changes-between-acle-q1-2022-and-acle-q2-2022) |
177177| 2022Q4 | 23 November 2022 | Arm | See [Changes between ACLE Q2 2022 and ACLE Q4 2022](#changes-between-acle-q2-2022-and-acle-q4-2022) |
178178| 2023Q2 | 04 August 2023 | Arm | See [Changes between ACLE Q4 2022 and ACLE Q2 2023](#changes-between-acle-q4-2022-and-acle-q2-2023) |
179+ | 2024Q1 | 11 April 2024 | Arm | See [Changes between ACLE Q2 2023 and ACLE Q1 2024](#changes-between-acle-q2-2023-and-acle-q1-2024) |
179180
180181#### Changes between ACLE Q2 2017 and ACLE Q2 2018
181182
@@ -351,7 +352,7 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
351352* Added a requirement on [`arm_new_za`] to set the initial contents of
352353 ZA to zero.
353354
354- #### Changes for next release
355+ #### Changes between ACLE Q2 2023 and ACLE Q1 2024
355356
356357* Changed the definition of the `__ARM_ACLE` macro to reflect the current
357358 versioning scheme.
@@ -372,13 +373,13 @@ Armv8.4-A [[ARMARMv84]](#ARMARMv84). Support is added for the Dot Product intrin
372373 feature names are appended in lexicographic order, not in priority order.
373374 * Mangled names contain a unique set of features (no duplicates).
374375 * Added [MOPS](#memcpy-family-of-operations-intrinsics---mops).
375- * Change name mangling of the default version.
376- * Align priorities to account for feature dependencies.
377- * Introduce alternative names (aliases) `rdma` for `rdm`.
378- * Correct FEAT_BTI feature register value.
376+ * Changed name mangling of the default version.
377+ * Aligned priorities to account for feature dependencies.
378+ * Introduced alternative names (aliases) `rdma` for `rdm`.
379+ * Corrected FEAT_BTI feature register value.
379380* Introduced the `__ARM_FEATURE_PAUTH_LR` feature macro in section
380381 [Pointer Authentication](#pointer-authentication) to indicate target support
381- for the Armv9.5-A's PAC Enhancements.
382+ for the Armv9.5-A PAC Enhancements.
382383* Introduced a new value to the `__ARM_FEATURE_PAC_DEFAULT` macro to indicate
383384 the use of PC as a diversifier for [Pointer Authentication](#pointer-authentication).
384385* Added a [State management](#state-management) section, replacing the
@@ -5036,7 +5037,7 @@ internally. The comments describe when ZA should be saved and restored:
50365037 }
50375038```
50385039
5039- ZT0 cannot be lazily saved, so if ZT0 is live before a call to a
5040+ ZT0 cannot be saved lazily , so if ZT0 is live before a call to a
50405041function that does not share ZT0, the compiler must save and restore
50415042ZT0 around the call. For example:
50425043
@@ -9375,7 +9376,7 @@ tuple types `svboolx2_t` and `svboolx4_t`.
93759376
93769377These are opaque tuple types that can be accessed using the SVE intrinsics
93779378`svsetN`, `svgetN` and `svcreateN`. `svundef2` and `svundef4` are also extended
9378- to work with `svboolx2_t` and `svboolx4_t`. e.g.
9379+ to work with `svboolx2_t` and `svboolx4_t`. For example:
93799380
93809381``` c
93819382 svbool_t svget2[_b](svboolx2_t tuple, uint64_t imm_index);
@@ -9506,7 +9507,7 @@ SME2 adds operations that work on groups of SVE vectors, ZA tile slices or
95069507ZA array vectors. The intrinsics model this in the following way:
95079508
95089509* Multi-vector operands are groups of SVE data vectors, that use the same
9509- tuple types as defined in the [SVE ACLE](#sve-vector-types), e.g.
9510+ tuple types as defined in the [SVE ACLE](#sve-vector-types), for example,
95109511 `svint32x2_t` for a multi-vector operand of two 32-bit element vectors, or
95119512 `svint64x4_t` for a multi-vector operand of four 64-bit element vectors.
95129513
0 commit comments