]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Add remaining SVE2p1 support
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 11 Nov 2024 12:32:21 +0000 (12:32 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 11 Nov 2024 12:32:21 +0000 (12:32 +0000)
commit2cc4c2a281e983d735c4c38091d67508d3b4f892
tree8a8ea1472be142f47e9f57addd5e0ce998b51cd3
parentf7ed863632547705a6c791ea6487fcb33ee029a8
aarch64: Add remaining SVE2p1 support

This patch adds the instructions that are new to FEAT_SVE2p1.
It mostly contains simple additions, so it didn't seem worth
splitting up further.

It's likely that we'll find more autovec uses for some of these
instructions, but for now this patch just deals with one obvious case:
using the new hybrid-VLA permutations to handle "stepped" versions of
some Advanced SIMD permutations.  See aarch64_evpc_hvla for details.

The patch also continues the existing practice of lowering ACLE
permutation intrinsics to VEC_PERM_EXPR.  That's admittedly a bit
inconsistent with the approach I've been advocating for when it comes
to arithmetic, but I think the difference is that (a) these are pure
data movement, and so there's limited scope for things like gimple
canonicalisations to mess with the instruction selection or operation
mix; and (b) there are no added UB rules to worry about.

Another new thing in the patch is the concept of "memory-only"
SVE vector modes.  These are used to represent the memory operands
of the new LD1[DW] (to .Q), LD[234]Q, ST1[DW] (from .Q), and ST[234]Q
instructions.  We continue to use .B, .H, .S, and .D modes for the
registers, since there's no predicated contiguous LD1Q instruction,
and since there's no arithmetic that can be done on TI.  (The new
instructions are instead intended for hybrid VLA, i.e. for vectors
of vectors.)

For now, all of the new instructions are non-streaming-only.
Some of them are streaming-compatible with SME2p1, but that's
a later patch.

gcc/
* config/aarch64/aarch64-modes.def (VNx1SI, VNx1DI): New modes.
* config/aarch64/aarch64-sve-builtins-base.cc
(svdup_lane_impl::expand): Update generation of TBL instruction.
(svtbl_impl): Delete.
(svtbl): Use unspec_based_uncond_function instead.
* config/aarch64/aarch64-sve-builtins-functions.h
(permute::fold_permute): Handle trailing immediate arguments.
* config/aarch64/aarch64-sve-builtins-shapes.h (extq): Declare.
(load_gather64_sv_index, load_gather64_sv_offset): Likewise.
(load_gather64_vs_index, load_gather64_vs_offset): Likewise.
(pmov_from_vector, pmov_from_vector_lane, pmov_to_vector_lane)
(reduction_neonq, store_scatter64_index, store_scatter64_offset)
(unary_lane): Likewise.
* config/aarch64/aarch64-sve-builtins-shapes.cc
(load_gather64_sv_base, store_scatter64_base): New classes.
(extq_def, ext): New shape.
(load_gather64_sv_index_def, load_gather64_sv_index): Likewise.
(load_gather64_sv_offset_def, load_gather64_sv_offset): Likewise.
(load_gather64_vs_index_def, load_gather64_vs_index): Likewise.
(load_gather64_vs_offset_def, load_gather64_vs_offset): Likewise.
(pmov_from_vector_def, pmov_from_vector): Likewise.
(pmov_from_vector_lane_def, pmov_from_vector_lane): Likewise.
(pmov_to_vector_lane_def, pmov_to_vector_lane): Likewise.
(reduction_neonq_def, reduction_neonq): Likewise.
(store_scatter64_index_def, store_scatter64_index): Likewise.
(store_scatter64_offset_def, store_scatter64_offset): Likewise.
(unary_lane_def, unary_lane): Likewise.
* config/aarch64/aarch64-sve-builtins-sve2.h (svaddqv, svandqv)
(svdup_laneq, sveorqv, svextq, svld1q_gather, svld1udq, svld1uwq)
(svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv, svminnmqv, svminqv)
(svorqv, svpmov, svpmov_lane, svst1qd, svst1q_scatter, svst1wq)
(svst2q, svst3q, svst4q, svtblq, svtbx, svtbxq, svuzpq1, svuzpq2)
(svzipq1, svzipq2): Declare.
* config/aarch64/aarch64-sve-builtins-sve2.cc (ld1uxq_st1xq_base)
(ld234q_st234q_base, svdup_laneq_impl, svextq_impl): New classes.
(svld1q_gather_impl, svld1uxq_impl, svld234q_impl): Likewise.
(svpmov_impl, svpmov_lane_impl, svst1q_scatter_impl): Likewise.
(svst1xq_impl, svst234q_impl, svuzpq_impl, svzipq_impl): Likewise.
(svaddqv, svandqv, svdup_laneq, sveorqv, svextq, svld1q_gather)
(svld1udq, svld1uwq, svld2q, svld3q, svld4q, svmaxnmqv, svmaxqv)
(svminnmqv, svminqv, svorqv, svpmov, svpmov_lane, svst1qd)
(svst1q_scatter, svst1wq, svst2q, svst3q, svst4q, svtblq, svtbx)
(svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2): New function entries.
* config/aarch64/aarch64-sve-builtins-sve2.def (svaddqv, svandqv)
(svdup_laneq, sveorqv, svextq, svld2q, svld3q, svld4q, svmaxnmqv)
(svmaxqv, svminnmqv, svminqv, svorqv, svpmov, svpmov_lanes, vst2q)
(svst3q, svst4q, svtblq, svtbxq, svuzpq1, svuzpq2, svzipq1, svzipq2)
(svld1q_gather, svld1udq, svld1uwq, svst1dq, svst1q_scatter)
(svst1wq): New function definitions.
* config/aarch64/aarch64-sve-builtins.cc (TYPES_hsd_data)
(hsd_data, s_data): New type lists.
(function_resolver::infer_pointer_type): Give a specific error about
passing a pointer to 8-bit elements to an _index function.
(function_resolver::resolve_sv_displacement): Check whether the
function allows 32-bit bases.
* config/aarch64/iterators.md (UNSPEC_TBLQ, UNSPEC_TBXQ): New unspecs.
(UNSPEC_ADDQV, UNSPEC_ANDQV, UNSPEC_DUPQ, UNSPEC_EORQV, UNSPEC_EXTQ)
(UNSPEC_FADDQV, UNSPEC_FMAXQV, UNSPEC_FMAXNMQV, UNSPEC_FMINQV)
(UNSPEC_FMINNMQV, UNSPEC_LD1_EXTENDQ, UNSPEC_LD1Q_GATHER): Likewise.
(UNSPEC_LDNQ, UNSPEC_ORQV, UNSPEC_PMOV_PACK, UNSPEC_PMOV_PACK_LANE)
(UNSPEC_PMOV_UNPACK, UNSPEC_PMOV_UNPACK_LANE, UNSPEC_SMAXQV): Likewise.
(UNSPEC_SMINQV, UNSPEC_ST1_TRUNCQ, UNSPEC_ST1Q_SCATTER, UNSPEC_STNQ)
(UNSPEC_UMAXQV, UNSPEC_UMINQV, UNSPEC_UZPQ1, UNSPEC_UZPQ2): Likewise.
(UNSPEC_ZIPQ1, UNSPEC_ZIPQ2): Likewise.
(Vtype): Handle single-vector SVE modes.
(Vendreg): Handle SVE structure modes.
(VNxTI, LD1_EXTENDQ_MEM): New mode attributes.
(SVE_PERMUTE, SVE_TBL, SVE_TBX): New int iterators.
(SVE_INT_REDUCTION_128, SVE_FP_REDUCTION_128): Likewise.
(optab): Handle the new SVE2.1 reductions.
(perm_insn): Handle the new SVE2.1 permutations.
* config/aarch64/aarch64-sve.md
(@aarch64_sve_tbl<mode>): Generalize to...
(@aarch64_sve_<SVE_TBL:perm_insn><mode>): ...this.
(@aarch64_sve_<PERMUTE:perm_insn><mode>): Generalize to...
(@aarch64_sve_<SVE_PERMUTE:perm_insn><mode>): ...this.
* config/aarch64/aarch64-sve2.md (@aarch64_pmov_to_<mode>)
(@aarch64_pmov_lane_to_<mode>, @aarch64_pmov_from_<mode>)
(@aarch64_pmov_lane_from_<mode>, @aarch64_sve_ld1_extendq<mode>)
(@aarch64_sve_ldnq<mode>, aarch64_gather_ld1q): New patterns.
(@aarch64_sve_st1_truncq<mode>, @aarch64_sve_stnq<mode>): Likewise.
(aarch64_scatter_st1q, @aarch64_pred_reduc_<optab>_<mode>): Likewise.
(@aarch64_sve_dupq<mode>, @aarch64_sve_extq<mode>): Likewise.
(@aarch64_sve2_tbx<mode>): Generalize to...
(@aarch64_sve_<SVE_TBX:perm_insn><mode>): ...this.
* config/aarch64/aarch64.cc
(aarch64_classify_vector_memory_mode): New function.
(aarch64_regmode_natural_size): Use it.
(aarch64_classify_index): Likewise.
(aarch64_classify_address): Likewise.
(aarch64_print_address_internal): Likewise.
(aarch64_evpc_hvla): New function.
(aarch64_expand_vec_perm_const_1): Use it.

gcc/testsuite/
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c,
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c,
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c,
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c,
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c,
* gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c:
Adjust the "did you mean" suggestion.
* gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c: Removed.
* gcc.target/aarch64/sve/acle/general-c/extq_1.c: New test.
* gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_index_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_offset_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_lane_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_2.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/store_scatter64_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/store_scatter64_index_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/store_scatter64_offset_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/unary_lane_1.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/addqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/andqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/dup_laneq_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/eorqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/extq_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1udq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1udq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1udq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1uwq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1uwq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld1uwq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld2q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld3q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ld4q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxnmqv_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxnmqv_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxnmqv_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/maxqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minnmqv_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minnmqv_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minnmqv_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/minqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/orqv_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmov_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1dq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1dq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1dq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1wq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1wq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st1wq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st2q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st3q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/st4q_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tblq_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/tbxq_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq1_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/uzpq2_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq1_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_bf16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_f16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/zipq2_u8.c: Likewise.
* gcc.target/aarch64/sve2/dupq_1.c: Likewise.
* gcc.target/aarch64/sve2/extq_1.c: Likewise.
* gcc.target/aarch64/sve2/uzpq_1.c: Likewise.
* gcc.target/aarch64/sve2/zipq_1.c: Likewise.
310 files changed:
gcc/config/aarch64/aarch64-modes.def
gcc/config/aarch64/aarch64-sve-builtins-base.cc
gcc/config/aarch64/aarch64-sve-builtins-functions.h
gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
gcc/config/aarch64/aarch64-sve-builtins-shapes.h
gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
gcc/config/aarch64/aarch64-sve-builtins-sve2.def
gcc/config/aarch64/aarch64-sve-builtins-sve2.h
gcc/config/aarch64/aarch64-sve-builtins.cc
gcc/config/aarch64/aarch64-sve.md
gcc/config/aarch64/aarch64-sve2.md
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/iterators.md
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/extq_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ld1sh_gather_1.c [deleted file]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_index_1.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_1.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_2.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_3.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_4.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_ext_gather_offset_5.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_index_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/load_gather64_sv_offset_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/pmov_from_vector_lane_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/pmov_to_vector_lane_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/store_scatter64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/store_scatter64_index_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/store_scatter64_offset_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/unary_lane_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/andqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dup_laneq_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/eorqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/extq_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1q_gather_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1udq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1udq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1udq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1uwq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1uwq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1uwq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld2q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld3q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld4q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxnmqv_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxnmqv_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxnmqv_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/maxqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minnmqv_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minnmqv_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minnmqv_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/minqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/orqv_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmov_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1dq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1dq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1dq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1q_scatter_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1wq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1wq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st1wq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st2q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st3q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/st4q_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tblq_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/tbxq_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq1_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/uzpq2_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq1_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_bf16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_f16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_f32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_f64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_s16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_s32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_s64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_s8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_u16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_u32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_u64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/zipq2_u8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/dupq_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/extq_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/uzpq_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve2/zipq_1.c [new file with mode: 0644]