Hi Artemiy,
> On 2 Feb 2026, at 14:22, Artemiy Volkov <[email protected]> wrote:
>
> Not sure if anyone is around at this point to review this, but sending
> this now on the off-chance someone has some spare cycles:
I had a look at this series on and off this week. I have small comments on some
of the patches that I’ll reply to individually.
Were you intending to land this in GCC 16? Such new functionality would usually
wait for next stage 1 though I suppose for new -march options and ACLE
intrinsics the impact is fairly isolated and lower risk…
Thanks,
Kyrill
>
> This patch series implements the SVE2.2 and SME2.2 extensions for the
> aarch64 architecture.
>
> After some preparatory changes (patch 1) follows the bulk of the series
> (patches 2-8), which deals with adding zeroing predication support for
> many SVE and SVE2 unary integer and FP instructions, namely:
>
> - (Patch 2) Unary integer arithmetic instructions.
> - (Patch 3) Integer sign/zero extension instructions.
> - (Patch 4) Integer bit reversal operations.
> - (Patch 5) Unary floating-point arithmetic instructions.
> - (Patch 6) FP-to-int conversions.
> - (Patch 7) Int-to-FP and FP-to-FP conversions.
> - (Patch 8) Top (accessing only odd-numbered elements of the wider vector)
> widening and narrowing floating-point conversions. This patch is
> different from the rest in this group in that it also includes the new _z
> versions of the relevant intrinsics (only the _m and _x versions are
> currently available).
>
> The next 3 patches add either completely new SVE instructions or new
> variants of existing SVE instructions, together with supporting intrinsics:
>
> - (Patch 9) FRINT{32,64}{X,Z} (Convert a 32- or 64-bit floating-point
> value to a 32- or 64-bit integer value, rounding either using current
> mode or towards zero).
> - (Patch 10) FIRSTP/LASTP (Return index of the first/last true element of
> an SVE predicate value).
> - (Patch 11) 8-bit and 16-bit variants of the COMPACT instruction, as well
> as the new EXPAND instruction (Compress and decompress elements in an
> SVE vector).
>
> The final patch adds a new SME instruction:
>
> - (Patch 12) FMUL (Multi-vector floating-point multiply by vector /
> Multi-vector floating-point multiply)
>
> This series is based on these GCC17-bound changes already on the ML but
> not yet on the trunk:
>
> - Alfie's FEAT_SSVE_BitPerm patch
> (https://gcc.gnu.org/pipermail/gcc-patches/2025-November/699618.html)
> - Karl's FEAT_SME_MOP4 series
> (https://gcc.gnu.org/pipermail/gcc-patches/2025-December/703420.html)
> - Claudio's FEAT_SME_TMOP patch
> (https://gcc.gnu.org/pipermail/gcc-patches/2026-January/705823.html)
>
> so ideally it should go in right after those; however, small variations in
> this order are OK since conflicts are minimal and limited to
> aarch64-sve-builtins*.def, target-supports.exp, and some target macro
> tests and are easy enough to resolve.
>
> Regression-tested on aarch64-linux-gnu.
>
> Artemiy Volkov (12):
> aarch64: add preliminary definitions for SVE2.2/SME2.2
> aarch64: add zeroing forms for predicated SVE integer unary operations
> aarch64: add zeroing forms for predicated SVE integer extends
> aarch64: add zeroing forms for predicated SVE bit reversal operations
> aarch64: add zeroing forms for predicated SVE FP unary operations
> aarch64: add zeroing forms for predicated SVE FP-to-integer
> conversions
> aarch64: add zeroing forms for predicated SVE int-/FP-to-FP
> conversions
> aarch64: add zeroing forms for predicated SVE top FP conversions
> aarch64: implement FRINT32/64 SVE instructions
> aarch64: implement FIRSTP and LASTP SVE instructions
> aarch64: implement changes for COMPACT and EXPAND SVE instructions
> aarch64: implement FMUL SME instruction
>
> gcc/config/aarch64/aarch64-c.cc | 2 +
> .../aarch64/aarch64-sve-builtins-base.cc | 28 ++-
> .../aarch64/aarch64-sve-builtins-base.def | 5 +-
> .../aarch64/aarch64-sve-builtins-base.h | 1 +
> .../aarch64/aarch64-sve-builtins-functions.h | 41 +++
> .../aarch64/aarch64-sve-builtins-sve2.cc | 79 +++++-
> .../aarch64/aarch64-sve-builtins-sve2.def | 19 ++
> .../aarch64/aarch64-sve-builtins-sve2.h | 6 +
> gcc/config/aarch64/aarch64-sve-builtins.cc | 5 +
> gcc/config/aarch64/aarch64-sve.md | 234 +++++++++++-------
> gcc/config/aarch64/aarch64-sve2.md | 204 +++++++++++----
> gcc/config/aarch64/aarch64.h | 16 ++
> gcc/config/aarch64/aarch64.md | 8 +-
> gcc/config/aarch64/iterators.md | 1 +
> gcc/doc/invoke.texi | 5 +
> .../g++.target/aarch64/sve/aarch64-ssve.exp | 8 +-
> .../gcc.target/aarch64/pragma_cpp_predefs_3.c | 100 ++++++++
> .../gcc.target/aarch64/pragma_cpp_predefs_4.c | 14 ++
> .../aarch64/sme2/acle-asm/mul_f16_x2.c | 193 +++++++++++++++
> .../aarch64/sme2/acle-asm/mul_f16_x4.c | 227 +++++++++++++++++
> .../aarch64/sme2/acle-asm/mul_f32_x2.c | 193 +++++++++++++++
> .../aarch64/sme2/acle-asm/mul_f32_x4.c | 227 +++++++++++++++++
> .../aarch64/sme2/acle-asm/mul_f64_x2.c | 193 +++++++++++++++
> .../aarch64/sme2/acle-asm/mul_f64_x4.c | 227 +++++++++++++++++
> .../aarch64/sve2/acle/asm/abs_f16_z.c | 30 +++
> .../aarch64/sve2/acle/asm/abs_f32_z.c | 30 +++
> .../aarch64/sve2/acle/asm/abs_f64_z.c | 30 +++
> .../aarch64/sve2/acle/asm/abs_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/abs_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/abs_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/abs_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cls_s16_z.c | 20 ++
> .../aarch64/sve2/acle/asm/cls_s32_z.c | 20 ++
> .../aarch64/sve2/acle/asm/cls_s64_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cls_s8_z.c | 20 ++
> .../aarch64/sve2/acle/asm/clz_s16_z.c | 19 ++
> .../aarch64/sve2/acle/asm/clz_s32_z.c | 19 ++
> .../aarch64/sve2/acle/asm/clz_s64_z.c | 19 ++
> .../aarch64/sve2/acle/asm/clz_s8_z.c | 19 ++
> .../aarch64/sve2/acle/asm/clz_u16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/clz_u32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/clz_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/clz_u8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cnot_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cnot_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cnot_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cnot_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cnot_u16_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnot_u32_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnot_u64_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnot_u8_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnt_bf16_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_f16_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_f32_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_f64_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_s16_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_s32_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_s64_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_s8_z.c | 19 ++
> .../aarch64/sve2/acle/asm/cnt_u16_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnt_u32_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnt_u64_z.c | 30 +++
> .../aarch64/sve2/acle/asm/cnt_u8_z.c | 30 +++
> .../aarch64/sve2/acle/asm/compact_bf16.c | 28 +++
> .../aarch64/sve2/acle/asm/compact_f32.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_f64.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_mf8.c | 28 +++
> .../aarch64/sve2/acle/asm/compact_s16.c | 28 +++
> .../aarch64/sve2/acle/asm/compact_s32.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_s64.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_s8.c | 28 +++
> .../aarch64/sve2/acle/asm/compact_u16.c | 28 +++
> .../aarch64/sve2/acle/asm/compact_u32.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_u64.c | 22 ++
> .../aarch64/sve2/acle/asm/compact_u8.c | 28 +++
> .../aarch64/sve2/acle/asm/cvt_bf16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/cvt_f16_z.c | 160 ++++++++++++
> .../aarch64/sve2/acle/asm/cvt_f32_z.c | 122 +++++++++
> .../aarch64/sve2/acle/asm/cvt_f64_z.c | 120 +++++++++
> .../aarch64/sve2/acle/asm/cvt_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cvt_s32_z.c | 67 +++++
> .../aarch64/sve2/acle/asm/cvt_s64_z.c | 67 +++++
> .../aarch64/sve2/acle/asm/cvt_u16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cvt_u32_z.c | 67 +++++
> .../aarch64/sve2/acle/asm/cvt_u64_z.c | 67 +++++
> .../aarch64/sve2/acle/asm/cvtlt_f32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/cvtlt_f64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/cvtnt_bf16_z.c | 34 +++
> .../aarch64/sve2/acle/asm/cvtnt_f16_z.c | 34 +++
> .../aarch64/sve2/acle/asm/cvtnt_f32_z.c | 34 +++
> .../aarch64/sve2/acle/asm/cvtx_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/cvtxnt_f32_z.c | 34 +++
> .../aarch64/sve2/acle/asm/expand_bf16.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_f32.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_f64.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_mf8.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_s16.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_s32.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_s64.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_s8.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_u16.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_u32.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_u64.c | 28 +++
> .../aarch64/sve2/acle/asm/expand_u8.c | 28 +++
> .../aarch64/sve2/acle/asm/extb_s16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/extb_s32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/extb_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/extb_u16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/extb_u32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/extb_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/exth_s32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/exth_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/exth_u32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/exth_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/extw_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/extw_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/firstp_b16.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/firstp_b32.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/firstp_b64.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/firstp_b8.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/lastp_b16.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/lastp_b32.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/lastp_b64.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/lastp_b8.c | 192 ++++++++++++++
> .../aarch64/sve2/acle/asm/logb_f16_z.c | 19 ++
> .../aarch64/sve2/acle/asm/logb_f32_z.c | 19 ++
> .../aarch64/sve2/acle/asm/logb_f64_z.c | 19 ++
> .../aarch64/sve2/acle/asm/neg_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/neg_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_u16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_u32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/not_u8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qabs_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qabs_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qabs_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qabs_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qneg_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qneg_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qneg_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/qneg_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_s16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_s32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_s64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_s8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_u16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_u32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rbit_u8_z.c | 29 +++
> .../aarch64/sve2/acle/asm/recpe_u32_z.c | 26 ++
> .../aarch64/sve2/acle/asm/recpx_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/recpx_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/recpx_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/revb_s16_z.c | 30 +++
> .../aarch64/sve2/acle/asm/revb_s32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revb_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revb_u16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revb_u32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revb_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/revd_bf16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_f16_z.c | 47 ++++
> .../aarch64/sve2/acle/asm/revd_f32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_f64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_s16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_s32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_s8_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_u16_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_u32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_u64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revd_u8_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revh_s32_z.c | 30 +++
> .../aarch64/sve2/acle/asm/revh_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revh_u32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revh_u64_z.c | 30 +++
> .../aarch64/sve2/acle/asm/revw_s64_z.c | 28 +++
> .../aarch64/sve2/acle/asm/revw_u64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rint32x_f32.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint32x_f64.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint32z_f32.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint32z_f64.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint64x_f32.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint64x_f64.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint64z_f32.c | 59 +++++
> .../aarch64/sve2/acle/asm/rint64z_f64.c | 59 +++++
> .../aarch64/sve2/acle/asm/rinta_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rinta_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rinta_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rinti_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rinti_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rinti_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintm_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintm_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintm_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintn_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintn_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintn_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintp_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintp_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintp_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintx_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintx_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintx_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintz_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintz_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rintz_f64_z.c | 29 +++
> .../aarch64/sve2/acle/asm/rsqrte_u32_z.c | 28 +++
> .../aarch64/sve2/acle/asm/sqrt_f16_z.c | 29 +++
> .../aarch64/sve2/acle/asm/sqrt_f32_z.c | 29 +++
> .../aarch64/sve2/acle/asm/sqrt_f64_z.c | 29 +++
> .../aarch64/sve2/acle/general/firstp.c | 212 ++++++++++++++++
> .../aarch64/sve2/acle/general/lastp.c | 212 ++++++++++++++++
> gcc/testsuite/lib/target-supports.exp | 29 ++-
> 222 files changed, 9759 insertions(+), 170 deletions(-)
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f16_x2.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f16_x4.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f32_x2.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f32_x4.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f64_x2.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mul_f64_x4.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/abs_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cls_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cls_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cls_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cls_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/clz_u8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnot_u8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_bf16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cnt_u8_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_bf16.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_f32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_f64.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_mf8.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_s16.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_s32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_s64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_s8.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_u16.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_u32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_u64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/compact_u8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_bf16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_u64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtlt_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtlt_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtnt_bf16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtnt_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtnt_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtx_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvtxnt_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_bf16.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_f32.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_f64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_mf8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_s16.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_s32.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_s64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_s8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_u16.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_u32.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_u64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/expand_u8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extb_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/exth_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/exth_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/exth_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/exth_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extw_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extw_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/firstp_b16.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/firstp_b32.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/firstp_b64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/firstp_b8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/lastp_b16.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/lastp_b32.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/lastp_b64.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/lastp_b8.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/logb_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/logb_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/logb_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/neg_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/not_u8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qabs_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qabs_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qabs_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qabs_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qneg_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qneg_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qneg_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/qneg_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rbit_u8_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/recpe_u32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/recpx_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/recpx_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/recpx_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revb_u64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_bf16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_s16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_s8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_u16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_u8_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revh_s32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revh_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revh_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revh_u64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revw_s64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revw_u64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint32x_f32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint32x_f64.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint32z_f32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint32z_f64.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint64x_f32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint64x_f64.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint64z_f32.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rint64z_f64.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinta_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinta_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinta_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinti_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinti_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rinti_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintm_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintm_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintm_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintn_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintn_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintn_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintp_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintp_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintp_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintx_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintx_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintx_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintz_f16_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintz_f32_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rintz_f64_z.c
> create mode 100644
> gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rsqrte_u32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sqrt_f16_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sqrt_f32_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sqrt_f64_z.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/general/firstp.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/general/lastp.c
>
> --
> 2.43.0
>