]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Mark relevant SVE instructions as non-streaming
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:24 +0000 (10:11 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:24 +0000 (10:11 +0000)
commit983b4365028e9a059b5fb1eef85a297bea19fc8e
treef924752ae508b1e0a2218ea230539a5e9d3bebfb
parentc86ee4f683e05e5809597d96b5eeb261c9c92cac
aarch64: Mark relevant SVE instructions as non-streaming

Following on from the previous Advanced SIMD patch, this one
divides SVE instructions into non-streaming and streaming-
compatible groups.

gcc/
* config/aarch64/aarch64.h (TARGET_NON_STREAMING): New macro.
(TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Use it.
(TARGET_SVE2_SHA3, TARGET_SVE2_SM4): Likewise.
* config/aarch64/aarch64-sve-builtins-base.def: Separate out
the functions that require PSTATE.SM to be 0 and guard them
with AARCH64_FL_SM_OFF.
* config/aarch64/aarch64-sve-builtins-sve2.def: Likewise.
* config/aarch64/aarch64-sve-builtins.cc (check_required_extensions):
Enforce AARCH64_FL_SM_OFF requirements.
* config/aarch64/aarch64-sve.md (aarch64_wrffr): Require
TARGET_NON_STREAMING
(aarch64_rdffr, aarch64_rdffr_z, *aarch64_rdffr_z_ptest): Likewise.
(*aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc)
(@aarch64_ld<fn>f1<mode>): Likewise.
(@aarch64_ld<fn>f1_<ANY_EXTEND:optab><SVE_HSDI:mode><SVE_PARTIAL_I:mode>)
(gather_load<mode><v_int_container>): Likewise
(mask_gather_load<mode><v_int_container>): Likewise.
(mask_gather_load<mode><v_int_container>): Likewise.
(*mask_gather_load<mode><v_int_container>_<su>xtw_unpacked): Likewise.
(*mask_gather_load<mode><v_int_container>_sxtw): Likewise.
(*mask_gather_load<mode><v_int_container>_uxtw): Likewise.
(@aarch64_gather_load_<ANY_EXTEND:optab><SVE_4HSI:mode><SVE_4BHI:mode>)
(@aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode>
<SVE_2BHSI:mode>): Likewise.
(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode>
<SVE_2BHSI:mode>_<ANY_EXTEND2:su>xtw_unpacked)
(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode>
<SVE_2BHSI:mode>_sxtw): Likewise.
(*aarch64_gather_load_<ANY_EXTEND:optab><SVE_2HSDI:mode>
<SVE_2BHSI:mode>_uxtw): Likewise.
(@aarch64_ldff1_gather<mode>, @aarch64_ldff1_gather<mode>): Likewise.
(*aarch64_ldff1_gather<mode>_sxtw): Likewise.
(*aarch64_ldff1_gather<mode>_uxtw): Likewise.
(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx4_WIDE:mode>
<VNx4_NARROW:mode>): Likewise.
(@aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode>
<VNx2_NARROW:mode>): Likewise.
(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode>
<VNx2_NARROW:mode>_sxtw): Likewise.
(*aarch64_ldff1_gather_<ANY_EXTEND:optab><VNx2_WIDE:mode>
<VNx2_NARROW:mode>_uxtw): Likewise.
(@aarch64_sve_gather_prefetch<SVE_FULL_I:mode><VNx4SI_ONLY:mode>)
(@aarch64_sve_gather_prefetch<SVE_FULL_I:mode><VNx2DI_ONLY:mode>)
(*aarch64_sve_gather_prefetch<SVE_FULL_I:mode><VNx2DI_ONLY:mode>_sxtw)
(*aarch64_sve_gather_prefetch<SVE_FULL_I:mode><VNx2DI_ONLY:mode>_uxtw)
(scatter_store<mode><v_int_container>): Likewise.
(mask_scatter_store<mode><v_int_container>): Likewise.
(*mask_scatter_store<mode><v_int_container>_<su>xtw_unpacked)
(*mask_scatter_store<mode><v_int_container>_sxtw): Likewise.
(*mask_scatter_store<mode><v_int_container>_uxtw): Likewise.
(@aarch64_scatter_store_trunc<VNx4_NARROW:mode><VNx4_WIDE:mode>)
(@aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>)
(*aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>_sxtw)
(*aarch64_scatter_store_trunc<VNx2_NARROW:mode><VNx2_WIDE:mode>_uxtw)
(@aarch64_sve_ld1ro<mode>, @aarch64_adr<mode>): Likewise.
(*aarch64_adr_sxtw, *aarch64_adr_uxtw_unspec): Likewise.
(*aarch64_adr_uxtw_and, @aarch64_adr<mode>_shift): Likewise.
(*aarch64_adr<mode>_shift, *aarch64_adr_shift_sxtw): Likewise.
(*aarch64_adr_shift_uxtw, @aarch64_sve_add_<optab><vsi2qi>): Likewise.
(@aarch64_sve_<sve_fp_op><mode>, fold_left_plus_<mode>): Likewise.
(mask_fold_left_plus_<mode>, @aarch64_sve_compact<mode>): Likewise.
* config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt<mode>)
(@aarch64_gather_ldnt_<ANY_EXTEND:optab><SVE_FULL_SDI:mode>
<SVE_PARTIAL_I:mode>): Likewise.
(@aarch64_sve2_histcnt<mode>, @aarch64_sve2_histseg<mode>): Likewise.
(@aarch64_pred_<SVE2_MATCH:sve_int_op><mode>): Likewise.
(*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_cc): Likewise.
(*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_ptest): Likewise.
* config/aarch64/iterators.md (SVE_FP_UNARY_INT): Make FEXPA
depend on TARGET_NON_STREAMING.
(SVE_BFLOAT_TERNARY_LONG): Likewise BFMMLA.

gcc/testsuite/
* g++.target/aarch64/sve/aarch64-ssve.exp: New harness.
* g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Add
-DSTREAMING_COMPATIBLE to the list of options.
* g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise.
* gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp: Likewise.
* gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp: Likewise.
Fix pasto in variable name.
* gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Mark functions
as streaming-compatible if STREAMING_COMPATIBLE is defined.
* gcc.target/aarch64/sve/acle/asm/adda_f16.c: Disable for
streaming-compatible code.
* gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adrb.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adrd.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adrh.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adrw.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/compact_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/expa_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/expa_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/expa_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_s8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1_u8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/mmla_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/mmla_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/mmla_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/mmla_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/prfb_gather.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/prfd_gather.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/prfh_gather.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/prfw_gather.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/rdffr_1.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tmad_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tmad_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tmad_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tsmul_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tsmul_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tsmul_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tssel_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tssel_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/tssel_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/usmmla_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/aesd_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/aese_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bdep_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bdep_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bdep_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bdep_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bext_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bext_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bext_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bext_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histseg_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/histseg_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/match_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/match_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/match_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/match_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/rax1_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/rax1_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c: Likewise.
279 files changed:
gcc/config/aarch64/aarch64-sve-builtins-base.def
gcc/config/aarch64/aarch64-sve-builtins-sve2.def
gcc/config/aarch64/aarch64-sve-builtins.cc
gcc/config/aarch64/aarch64-sve.md
gcc/config/aarch64/aarch64-sve2.md
gcc/config/aarch64/aarch64.h
gcc/config/aarch64/iterators.md
gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp [new file with mode: 0644]
gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrb.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrd.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrh.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrw.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfb_gather.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfd_gather.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfh_gather.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfw_gather.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/rdffr_1.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/usmmla_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesd_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aese_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_s8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c