diff options
author | CoprDistGit <infra@openeuler.org> | 2025-02-28 10:03:49 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-02-28 10:03:49 +0000 |
commit | 73127104a245052cd5cf29cdaaca3e5c32c70348 (patch) | |
tree | 8e28b63e478c43c252f18b49836dff7313affe54 /0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch | |
parent | 49d3feaf4665cdb07576fc1a2382a4d82a612d35 (diff) |
automatic import of gccopeneuler24.03_LTS_SP1
Diffstat (limited to '0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch')
-rw-r--r-- | 0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch | 4506 |
1 files changed, 4506 insertions, 0 deletions
diff --git a/0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch b/0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch new file mode 100644 index 0000000..679e26e --- /dev/null +++ b/0180-Backport-SME-aarch64-Mark-relevant-SVE-instructions-.patch @@ -0,0 +1,4506 @@ +From 0404dfa43633a35460aba1b96d04f62cc7d6103b Mon Sep 17 00:00:00 2001 +From: Richard Sandiford <richard.sandiford@arm.com> +Date: Tue, 5 Dec 2023 10:11:24 +0000 +Subject: [PATCH 081/157] [Backport][SME] aarch64: Mark relevant SVE + instructions as non-streaming + +Reference: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=983b4365028e9a059b5fb1eef85a297bea19fc8e + +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. +--- + .../aarch64/aarch64-sve-builtins-base.def | 158 +++++---- + .../aarch64/aarch64-sve-builtins-sve2.def | 63 ++-- + gcc/config/aarch64/aarch64-sve-builtins.cc | 7 + + gcc/config/aarch64/aarch64-sve.md | 124 +++---- + gcc/config/aarch64/aarch64-sve2.md | 14 +- + gcc/config/aarch64/aarch64.h | 11 +- + gcc/config/aarch64/iterators.md | 4 +- + .../g++.target/aarch64/sve/aarch64-ssve.exp | 308 ++++++++++++++++++ + .../aarch64/sve/acle/aarch64-sve-acle-asm.exp | 1 + + .../sve2/acle/aarch64-sve2-acle-asm.exp | 1 + + .../aarch64/sve/acle/aarch64-sve-acle-asm.exp | 1 + + .../aarch64/sve/acle/asm/adda_f16.c | 1 + + .../aarch64/sve/acle/asm/adda_f32.c | 1 + + .../aarch64/sve/acle/asm/adda_f64.c | 1 + + .../gcc.target/aarch64/sve/acle/asm/adrb.c | 1 + + .../gcc.target/aarch64/sve/acle/asm/adrd.c | 1 + + .../gcc.target/aarch64/sve/acle/asm/adrh.c | 1 + + .../gcc.target/aarch64/sve/acle/asm/adrw.c | 1 + + .../aarch64/sve/acle/asm/bfmmla_f32.c | 1 + + .../aarch64/sve/acle/asm/compact_f32.c | 1 + + .../aarch64/sve/acle/asm/compact_f64.c | 1 + + .../aarch64/sve/acle/asm/compact_s32.c | 1 + + .../aarch64/sve/acle/asm/compact_s64.c | 1 + + .../aarch64/sve/acle/asm/compact_u32.c | 1 + + .../aarch64/sve/acle/asm/compact_u64.c | 1 + + .../aarch64/sve/acle/asm/expa_f16.c | 1 + + .../aarch64/sve/acle/asm/expa_f32.c | 1 + + .../aarch64/sve/acle/asm/expa_f64.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_f32.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_f64.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_bf16.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_f16.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_f32.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_f64.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_s16.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_s8.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_u16.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1ro_u8.c | 1 + + .../aarch64/sve/acle/asm/ld1sb_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1sb_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1sb_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1sb_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1sh_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1sh_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1sh_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1sh_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1sw_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1sw_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1ub_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1ub_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1ub_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1ub_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1uh_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ld1uh_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1uh_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ld1uh_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ld1uw_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ld1uw_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_bf16.c | 1 + + .../aarch64/sve/acle/asm/ldff1_f16.c | 1 + + .../aarch64/sve/acle/asm/ldff1_f32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_f64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_f32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_f64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_s16.c | 1 + + .../aarch64/sve/acle/asm/ldff1_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_s8.c | 1 + + .../aarch64/sve/acle/asm/ldff1_u16.c | 1 + + .../aarch64/sve/acle/asm/ldff1_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1_u8.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_s16.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_u16.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sb_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1sh_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sw_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sw_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sw_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1sw_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_s16.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_u16.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1ub_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_gather_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_gather_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_s32.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_u32.c | 1 + + .../aarch64/sve/acle/asm/ldff1uh_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uw_gather_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uw_gather_u64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uw_s64.c | 1 + + .../aarch64/sve/acle/asm/ldff1uw_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_bf16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_f16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_f32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_f64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_s16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_s32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_s8.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_u16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_u32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1_u8.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_s16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_s32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_u16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_u32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sb_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sh_s32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sh_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sh_u32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sh_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sw_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1sw_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_s16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_s32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_u16.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_u32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1ub_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uh_s32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uh_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uh_u32.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uh_u64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uw_s64.c | 1 + + .../aarch64/sve/acle/asm/ldnf1uw_u64.c | 1 + + .../aarch64/sve/acle/asm/mmla_f32.c | 1 + + .../aarch64/sve/acle/asm/mmla_f64.c | 1 + + .../aarch64/sve/acle/asm/mmla_s32.c | 1 + + .../aarch64/sve/acle/asm/mmla_u32.c | 1 + + .../aarch64/sve/acle/asm/prfb_gather.c | 1 + + .../aarch64/sve/acle/asm/prfd_gather.c | 1 + + .../aarch64/sve/acle/asm/prfh_gather.c | 1 + + .../aarch64/sve/acle/asm/prfw_gather.c | 1 + + .../gcc.target/aarch64/sve/acle/asm/rdffr_1.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_f32.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_f64.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_s32.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_s64.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_u32.c | 1 + + .../aarch64/sve/acle/asm/st1_scatter_u64.c | 1 + + .../aarch64/sve/acle/asm/st1b_scatter_s32.c | 1 + + .../aarch64/sve/acle/asm/st1b_scatter_s64.c | 1 + + .../aarch64/sve/acle/asm/st1b_scatter_u32.c | 1 + + .../aarch64/sve/acle/asm/st1b_scatter_u64.c | 1 + + .../aarch64/sve/acle/asm/st1h_scatter_s32.c | 1 + + .../aarch64/sve/acle/asm/st1h_scatter_s64.c | 1 + + .../aarch64/sve/acle/asm/st1h_scatter_u32.c | 1 + + .../aarch64/sve/acle/asm/st1h_scatter_u64.c | 1 + + .../aarch64/sve/acle/asm/st1w_scatter_s64.c | 1 + + .../aarch64/sve/acle/asm/st1w_scatter_u64.c | 1 + + .../aarch64/sve/acle/asm/test_sve_acle.h | 11 +- + .../aarch64/sve/acle/asm/tmad_f16.c | 1 + + .../aarch64/sve/acle/asm/tmad_f32.c | 1 + + .../aarch64/sve/acle/asm/tmad_f64.c | 1 + + .../aarch64/sve/acle/asm/tsmul_f16.c | 1 + + .../aarch64/sve/acle/asm/tsmul_f32.c | 1 + + .../aarch64/sve/acle/asm/tsmul_f64.c | 1 + + .../aarch64/sve/acle/asm/tssel_f16.c | 1 + + .../aarch64/sve/acle/asm/tssel_f32.c | 1 + + .../aarch64/sve/acle/asm/tssel_f64.c | 1 + + .../aarch64/sve/acle/asm/usmmla_s32.c | 1 + + .../sve2/acle/aarch64-sve2-acle-asm.exp | 1 + + .../aarch64/sve2/acle/asm/aesd_u8.c | 1 + + .../aarch64/sve2/acle/asm/aese_u8.c | 1 + + .../aarch64/sve2/acle/asm/aesimc_u8.c | 1 + + .../aarch64/sve2/acle/asm/aesmc_u8.c | 1 + + .../aarch64/sve2/acle/asm/bdep_u16.c | 1 + + .../aarch64/sve2/acle/asm/bdep_u32.c | 1 + + .../aarch64/sve2/acle/asm/bdep_u64.c | 1 + + .../aarch64/sve2/acle/asm/bdep_u8.c | 1 + + .../aarch64/sve2/acle/asm/bext_u16.c | 1 + + .../aarch64/sve2/acle/asm/bext_u32.c | 1 + + .../aarch64/sve2/acle/asm/bext_u64.c | 1 + + .../aarch64/sve2/acle/asm/bext_u8.c | 1 + + .../aarch64/sve2/acle/asm/bgrp_u16.c | 1 + + .../aarch64/sve2/acle/asm/bgrp_u32.c | 1 + + .../aarch64/sve2/acle/asm/bgrp_u64.c | 1 + + .../aarch64/sve2/acle/asm/bgrp_u8.c | 1 + + .../aarch64/sve2/acle/asm/histcnt_s32.c | 1 + + .../aarch64/sve2/acle/asm/histcnt_s64.c | 1 + + .../aarch64/sve2/acle/asm/histcnt_u32.c | 1 + + .../aarch64/sve2/acle/asm/histcnt_u64.c | 1 + + .../aarch64/sve2/acle/asm/histseg_s8.c | 1 + + .../aarch64/sve2/acle/asm/histseg_u8.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_f32.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_f64.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_s32.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_s64.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_u32.c | 1 + + .../aarch64/sve2/acle/asm/ldnt1_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1sb_gather_s32.c | 1 + + .../sve2/acle/asm/ldnt1sb_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1sb_gather_u32.c | 1 + + .../sve2/acle/asm/ldnt1sb_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1sh_gather_s32.c | 1 + + .../sve2/acle/asm/ldnt1sh_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1sh_gather_u32.c | 1 + + .../sve2/acle/asm/ldnt1sh_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1sw_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1sw_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1ub_gather_s32.c | 1 + + .../sve2/acle/asm/ldnt1ub_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1ub_gather_u32.c | 1 + + .../sve2/acle/asm/ldnt1ub_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1uh_gather_s32.c | 1 + + .../sve2/acle/asm/ldnt1uh_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1uh_gather_u32.c | 1 + + .../sve2/acle/asm/ldnt1uh_gather_u64.c | 1 + + .../sve2/acle/asm/ldnt1uw_gather_s64.c | 1 + + .../sve2/acle/asm/ldnt1uw_gather_u64.c | 1 + + .../aarch64/sve2/acle/asm/match_s16.c | 1 + + .../aarch64/sve2/acle/asm/match_s8.c | 1 + + .../aarch64/sve2/acle/asm/match_u16.c | 1 + + .../aarch64/sve2/acle/asm/match_u8.c | 1 + + .../aarch64/sve2/acle/asm/nmatch_s16.c | 1 + + .../aarch64/sve2/acle/asm/nmatch_s8.c | 1 + + .../aarch64/sve2/acle/asm/nmatch_u16.c | 1 + + .../aarch64/sve2/acle/asm/nmatch_u8.c | 1 + + .../aarch64/sve2/acle/asm/pmullb_pair_u64.c | 1 + + .../aarch64/sve2/acle/asm/pmullt_pair_u64.c | 1 + + .../aarch64/sve2/acle/asm/rax1_s64.c | 1 + + .../aarch64/sve2/acle/asm/rax1_u64.c | 1 + + .../aarch64/sve2/acle/asm/sm4e_u32.c | 1 + + .../aarch64/sve2/acle/asm/sm4ekey_u32.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_f32.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_f64.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_s32.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_s64.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_u32.c | 1 + + .../aarch64/sve2/acle/asm/stnt1_scatter_u64.c | 1 + + .../sve2/acle/asm/stnt1b_scatter_s32.c | 1 + + .../sve2/acle/asm/stnt1b_scatter_s64.c | 1 + + .../sve2/acle/asm/stnt1b_scatter_u32.c | 1 + + .../sve2/acle/asm/stnt1b_scatter_u64.c | 1 + + .../sve2/acle/asm/stnt1h_scatter_s32.c | 1 + + .../sve2/acle/asm/stnt1h_scatter_s64.c | 1 + + .../sve2/acle/asm/stnt1h_scatter_u32.c | 1 + + .../sve2/acle/asm/stnt1h_scatter_u64.c | 1 + + .../sve2/acle/asm/stnt1w_scatter_s64.c | 1 + + .../sve2/acle/asm/stnt1w_scatter_u64.c | 1 + + 279 files changed, 805 insertions(+), 165 deletions(-) + create mode 100644 gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp + +diff --git a/gcc/config/aarch64/aarch64-sve-builtins-base.def b/gcc/config/aarch64/aarch64-sve-builtins-base.def +index 756469959..e732b4792 100644 +--- a/gcc/config/aarch64/aarch64-sve-builtins-base.def ++++ b/gcc/config/aarch64/aarch64-sve-builtins-base.def +@@ -25,12 +25,7 @@ DEF_SVE_FUNCTION (svacgt, compare_opt_n, all_float, implicit) + DEF_SVE_FUNCTION (svacle, compare_opt_n, all_float, implicit) + DEF_SVE_FUNCTION (svaclt, compare_opt_n, all_float, implicit) + DEF_SVE_FUNCTION (svadd, binary_opt_n, all_arith, mxz) +-DEF_SVE_FUNCTION (svadda, fold_left, all_float, implicit) + DEF_SVE_FUNCTION (svaddv, reduction_wide, all_arith, implicit) +-DEF_SVE_FUNCTION (svadrb, adr_offset, none, none) +-DEF_SVE_FUNCTION (svadrd, adr_index, none, none) +-DEF_SVE_FUNCTION (svadrh, adr_index, none, none) +-DEF_SVE_FUNCTION (svadrw, adr_index, none, none) + DEF_SVE_FUNCTION (svand, binary_opt_n, all_integer, mxz) + DEF_SVE_FUNCTION (svand, binary_opt_n, b, z) + DEF_SVE_FUNCTION (svandv, reduction, all_integer, implicit) +@@ -75,7 +70,6 @@ DEF_SVE_FUNCTION (svcnth_pat, count_pat, none, none) + DEF_SVE_FUNCTION (svcntp, count_pred, all_pred, implicit) + DEF_SVE_FUNCTION (svcntw, count_inherent, none, none) + DEF_SVE_FUNCTION (svcntw_pat, count_pat, none, none) +-DEF_SVE_FUNCTION (svcompact, unary, sd_data, implicit) + DEF_SVE_FUNCTION (svcreate2, create, all_data, none) + DEF_SVE_FUNCTION (svcreate3, create, all_data, none) + DEF_SVE_FUNCTION (svcreate4, create, all_data, none) +@@ -93,7 +87,6 @@ DEF_SVE_FUNCTION (svdupq_lane, binary_uint64_n, all_data, none) + DEF_SVE_FUNCTION (sveor, binary_opt_n, all_integer, mxz) + DEF_SVE_FUNCTION (sveor, binary_opt_n, b, z) + DEF_SVE_FUNCTION (sveorv, reduction, all_integer, implicit) +-DEF_SVE_FUNCTION (svexpa, unary_uint, all_float, none) + DEF_SVE_FUNCTION (svext, ext, all_data, none) + DEF_SVE_FUNCTION (svextb, unary, hsd_integer, mxz) + DEF_SVE_FUNCTION (svexth, unary, sd_integer, mxz) +@@ -106,51 +99,13 @@ DEF_SVE_FUNCTION (svinsr, binary_n, all_data, none) + DEF_SVE_FUNCTION (svlasta, reduction, all_data, implicit) + DEF_SVE_FUNCTION (svlastb, reduction, all_data, implicit) + DEF_SVE_FUNCTION (svld1, load, all_data, implicit) +-DEF_SVE_FUNCTION (svld1_gather, load_gather_sv, sd_data, implicit) +-DEF_SVE_FUNCTION (svld1_gather, load_gather_vs, sd_data, implicit) + DEF_SVE_FUNCTION (svld1rq, load_replicate, all_data, implicit) + DEF_SVE_FUNCTION (svld1sb, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svld1sb_gather, load_ext_gather_offset, sd_integer, implicit) + DEF_SVE_FUNCTION (svld1sh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_index, sd_integer, implicit) + DEF_SVE_FUNCTION (svld1sw, load_ext, d_integer, implicit) +-DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_offset, d_integer, implicit) +-DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_index, d_integer, implicit) + DEF_SVE_FUNCTION (svld1ub, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svld1ub_gather, load_ext_gather_offset, sd_integer, implicit) + DEF_SVE_FUNCTION (svld1uh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_index, sd_integer, implicit) + DEF_SVE_FUNCTION (svld1uw, load_ext, d_integer, implicit) +-DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_offset, d_integer, implicit) +-DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_index, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1, load, all_data, implicit) +-DEF_SVE_FUNCTION (svldff1_gather, load_gather_sv, sd_data, implicit) +-DEF_SVE_FUNCTION (svldff1_gather, load_gather_vs, sd_data, implicit) +-DEF_SVE_FUNCTION (svldff1sb, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sb_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_index, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sw, load_ext, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_offset, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_index, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1ub, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1ub_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_offset, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_index, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uw, load_ext, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_offset, d_integer, implicit) +-DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_index, d_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1, load, all_data, implicit) +-DEF_SVE_FUNCTION (svldnf1sb, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1sh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1sw, load_ext, d_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1ub, load_ext, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1uh, load_ext, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnf1uw, load_ext, d_integer, implicit) + DEF_SVE_FUNCTION (svldnt1, load, all_data, implicit) + DEF_SVE_FUNCTION (svld2, load, all_data, implicit) + DEF_SVE_FUNCTION (svld3, load, all_data, implicit) +@@ -173,7 +128,6 @@ DEF_SVE_FUNCTION (svmla, ternary_opt_n, all_arith, mxz) + DEF_SVE_FUNCTION (svmla_lane, ternary_lane, all_float, none) + DEF_SVE_FUNCTION (svmls, ternary_opt_n, all_arith, mxz) + DEF_SVE_FUNCTION (svmls_lane, ternary_lane, all_float, none) +-DEF_SVE_FUNCTION (svmmla, mmla, none, none) + DEF_SVE_FUNCTION (svmov, unary, b, z) + DEF_SVE_FUNCTION (svmsb, ternary_opt_n, all_arith, mxz) + DEF_SVE_FUNCTION (svmul, binary_opt_n, all_arith, mxz) +@@ -197,13 +151,9 @@ DEF_SVE_FUNCTION (svpfalse, inherent_b, b, none) + DEF_SVE_FUNCTION (svpfirst, unary, b, implicit) + DEF_SVE_FUNCTION (svpnext, unary_pred, all_pred, implicit) + DEF_SVE_FUNCTION (svprfb, prefetch, none, implicit) +-DEF_SVE_FUNCTION (svprfb_gather, prefetch_gather_offset, none, implicit) + DEF_SVE_FUNCTION (svprfd, prefetch, none, implicit) +-DEF_SVE_FUNCTION (svprfd_gather, prefetch_gather_index, none, implicit) + DEF_SVE_FUNCTION (svprfh, prefetch, none, implicit) +-DEF_SVE_FUNCTION (svprfh_gather, prefetch_gather_index, none, implicit) + DEF_SVE_FUNCTION (svprfw, prefetch, none, implicit) +-DEF_SVE_FUNCTION (svprfw_gather, prefetch_gather_index, none, implicit) + DEF_SVE_FUNCTION (svptest_any, ptest, none, implicit) + DEF_SVE_FUNCTION (svptest_first, ptest, none, implicit) + DEF_SVE_FUNCTION (svptest_last, ptest, none, implicit) +@@ -244,7 +194,6 @@ DEF_SVE_FUNCTION (svqincw_pat, inc_dec_pat, s_integer, none) + DEF_SVE_FUNCTION (svqincw_pat, inc_dec_pat, sd_integer, none) + DEF_SVE_FUNCTION (svqsub, binary_opt_n, all_integer, none) + DEF_SVE_FUNCTION (svrbit, unary, all_integer, mxz) +-DEF_SVE_FUNCTION (svrdffr, rdffr, none, z_or_none) + DEF_SVE_FUNCTION (svrecpe, unary, all_float, none) + DEF_SVE_FUNCTION (svrecps, binary, all_float, none) + DEF_SVE_FUNCTION (svrecpx, unary, all_float, mxz) +@@ -269,20 +218,12 @@ DEF_SVE_FUNCTION (svsel, binary, b, implicit) + DEF_SVE_FUNCTION (svset2, set, all_data, none) + DEF_SVE_FUNCTION (svset3, set, all_data, none) + DEF_SVE_FUNCTION (svset4, set, all_data, none) +-DEF_SVE_FUNCTION (svsetffr, setffr, none, none) + DEF_SVE_FUNCTION (svsplice, binary, all_data, implicit) + DEF_SVE_FUNCTION (svsqrt, unary, all_float, mxz) + DEF_SVE_FUNCTION (svst1, store, all_data, implicit) +-DEF_SVE_FUNCTION (svst1_scatter, store_scatter_index, sd_data, implicit) +-DEF_SVE_FUNCTION (svst1_scatter, store_scatter_offset, sd_data, implicit) + DEF_SVE_FUNCTION (svst1b, store, hsd_integer, implicit) +-DEF_SVE_FUNCTION (svst1b_scatter, store_scatter_offset, sd_integer, implicit) + DEF_SVE_FUNCTION (svst1h, store, sd_integer, implicit) +-DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_index, sd_integer, implicit) +-DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_offset, sd_integer, implicit) + DEF_SVE_FUNCTION (svst1w, store, d_integer, implicit) +-DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_index, d_integer, implicit) +-DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_offset, d_integer, implicit) + DEF_SVE_FUNCTION (svst2, store, all_data, implicit) + DEF_SVE_FUNCTION (svst3, store, all_data, implicit) + DEF_SVE_FUNCTION (svst4, store, all_data, implicit) +@@ -290,13 +231,10 @@ DEF_SVE_FUNCTION (svstnt1, store, all_data, implicit) + DEF_SVE_FUNCTION (svsub, binary_opt_n, all_arith, mxz) + DEF_SVE_FUNCTION (svsubr, binary_opt_n, all_arith, mxz) + DEF_SVE_FUNCTION (svtbl, binary_uint, all_data, none) +-DEF_SVE_FUNCTION (svtmad, tmad, all_float, none) + DEF_SVE_FUNCTION (svtrn1, binary, all_data, none) + DEF_SVE_FUNCTION (svtrn1, binary_pred, all_pred, none) + DEF_SVE_FUNCTION (svtrn2, binary, all_data, none) + DEF_SVE_FUNCTION (svtrn2, binary_pred, all_pred, none) +-DEF_SVE_FUNCTION (svtsmul, binary_uint, all_float, none) +-DEF_SVE_FUNCTION (svtssel, binary_uint, all_float, none) + DEF_SVE_FUNCTION (svundef, inherent, all_data, none) + DEF_SVE_FUNCTION (svundef2, inherent, all_data, none) + DEF_SVE_FUNCTION (svundef3, inherent, all_data, none) +@@ -311,13 +249,78 @@ DEF_SVE_FUNCTION (svuzp2, binary, all_data, none) + DEF_SVE_FUNCTION (svuzp2, binary_pred, all_pred, none) + DEF_SVE_FUNCTION (svwhilele, compare_scalar, while, none) + DEF_SVE_FUNCTION (svwhilelt, compare_scalar, while, none) +-DEF_SVE_FUNCTION (svwrffr, setffr, none, implicit) + DEF_SVE_FUNCTION (svzip1, binary, all_data, none) + DEF_SVE_FUNCTION (svzip1, binary_pred, all_pred, none) + DEF_SVE_FUNCTION (svzip2, binary, all_data, none) + DEF_SVE_FUNCTION (svzip2, binary_pred, all_pred, none) + #undef REQUIRED_EXTENSIONS + ++#define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_SM_OFF ++DEF_SVE_FUNCTION (svadda, fold_left, all_float, implicit) ++DEF_SVE_FUNCTION (svadrb, adr_offset, none, none) ++DEF_SVE_FUNCTION (svadrd, adr_index, none, none) ++DEF_SVE_FUNCTION (svadrh, adr_index, none, none) ++DEF_SVE_FUNCTION (svadrw, adr_index, none, none) ++DEF_SVE_FUNCTION (svcompact, unary, sd_data, implicit) ++DEF_SVE_FUNCTION (svexpa, unary_uint, all_float, none) ++DEF_SVE_FUNCTION (svld1_gather, load_gather_sv, sd_data, implicit) ++DEF_SVE_FUNCTION (svld1_gather, load_gather_vs, sd_data, implicit) ++DEF_SVE_FUNCTION (svld1sb_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_index, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_offset, d_integer, implicit) ++DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_index, d_integer, implicit) ++DEF_SVE_FUNCTION (svld1ub_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_index, sd_integer, implicit) ++DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_offset, d_integer, implicit) ++DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_index, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1, load, all_data, implicit) ++DEF_SVE_FUNCTION (svldff1_gather, load_gather_sv, sd_data, implicit) ++DEF_SVE_FUNCTION (svldff1_gather, load_gather_vs, sd_data, implicit) ++DEF_SVE_FUNCTION (svldff1sb, load_ext, hsd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sb_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sh, load_ext, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_index, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sw, load_ext, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_offset, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_index, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1ub, load_ext, hsd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1ub_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uh, load_ext, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_index, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uw, load_ext, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_offset, d_integer, implicit) ++DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_index, d_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1, load, all_data, implicit) ++DEF_SVE_FUNCTION (svldnf1sb, load_ext, hsd_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1sh, load_ext, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1sw, load_ext, d_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1ub, load_ext, hsd_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1uh, load_ext, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnf1uw, load_ext, d_integer, implicit) ++DEF_SVE_FUNCTION (svmmla, mmla, none, none) ++DEF_SVE_FUNCTION (svprfb_gather, prefetch_gather_offset, none, implicit) ++DEF_SVE_FUNCTION (svprfd_gather, prefetch_gather_index, none, implicit) ++DEF_SVE_FUNCTION (svprfh_gather, prefetch_gather_index, none, implicit) ++DEF_SVE_FUNCTION (svprfw_gather, prefetch_gather_index, none, implicit) ++DEF_SVE_FUNCTION (svrdffr, rdffr, none, z_or_none) ++DEF_SVE_FUNCTION (svsetffr, setffr, none, none) ++DEF_SVE_FUNCTION (svst1_scatter, store_scatter_index, sd_data, implicit) ++DEF_SVE_FUNCTION (svst1_scatter, store_scatter_offset, sd_data, implicit) ++DEF_SVE_FUNCTION (svst1b_scatter, store_scatter_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_index, sd_integer, implicit) ++DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_offset, sd_integer, implicit) ++DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_index, d_integer, implicit) ++DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_offset, d_integer, implicit) ++DEF_SVE_FUNCTION (svtmad, tmad, all_float, none) ++DEF_SVE_FUNCTION (svtsmul, binary_uint, all_float, none) ++DEF_SVE_FUNCTION (svtssel, binary_uint, all_float, none) ++DEF_SVE_FUNCTION (svwrffr, setffr, none, implicit) ++#undef REQUIRED_EXTENSIONS ++ + #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_BF16 + DEF_SVE_FUNCTION (svbfdot, ternary_bfloat_opt_n, s_float, none) + DEF_SVE_FUNCTION (svbfdot_lane, ternary_bfloat_lanex2, s_float, none) +@@ -325,27 +328,37 @@ DEF_SVE_FUNCTION (svbfmlalb, ternary_bfloat_opt_n, s_float, none) + DEF_SVE_FUNCTION (svbfmlalb_lane, ternary_bfloat_lane, s_float, none) + DEF_SVE_FUNCTION (svbfmlalt, ternary_bfloat_opt_n, s_float, none) + DEF_SVE_FUNCTION (svbfmlalt_lane, ternary_bfloat_lane, s_float, none) +-DEF_SVE_FUNCTION (svbfmmla, ternary_bfloat, s_float, none) + DEF_SVE_FUNCTION (svcvt, unary_convert, cvt_bfloat, mxz) + DEF_SVE_FUNCTION (svcvtnt, unary_convert_narrowt, cvt_bfloat, mx) + #undef REQUIRED_EXTENSIONS + ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_BF16 \ ++ | AARCH64_FL_SM_OFF) ++DEF_SVE_FUNCTION (svbfmmla, ternary_bfloat, s_float, none) ++#undef REQUIRED_EXTENSIONS ++ + #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_I8MM +-DEF_SVE_FUNCTION (svmmla, mmla, s_integer, none) +-DEF_SVE_FUNCTION (svusmmla, ternary_uintq_intq, s_signed, none) + DEF_SVE_FUNCTION (svsudot, ternary_intq_uintq_opt_n, s_signed, none) + DEF_SVE_FUNCTION (svsudot_lane, ternary_intq_uintq_lane, s_signed, none) + DEF_SVE_FUNCTION (svusdot, ternary_uintq_intq_opt_n, s_signed, none) + DEF_SVE_FUNCTION (svusdot_lane, ternary_uintq_intq_lane, s_signed, none) + #undef REQUIRED_EXTENSIONS + +-#define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_F32MM ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_I8MM \ ++ | AARCH64_FL_SM_OFF) ++DEF_SVE_FUNCTION (svmmla, mmla, s_integer, none) ++DEF_SVE_FUNCTION (svusmmla, ternary_uintq_intq, s_signed, none) ++#undef REQUIRED_EXTENSIONS ++ ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_F32MM \ ++ | AARCH64_FL_SM_OFF) + DEF_SVE_FUNCTION (svmmla, mmla, s_float, none) + #undef REQUIRED_EXTENSIONS + + #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_F64MM +-DEF_SVE_FUNCTION (svld1ro, load_replicate, all_data, implicit) +-DEF_SVE_FUNCTION (svmmla, mmla, d_float, none) + DEF_SVE_FUNCTION (svtrn1q, binary, all_data, none) + DEF_SVE_FUNCTION (svtrn2q, binary, all_data, none) + DEF_SVE_FUNCTION (svuzp1q, binary, all_data, none) +@@ -353,3 +366,10 @@ DEF_SVE_FUNCTION (svuzp2q, binary, all_data, none) + DEF_SVE_FUNCTION (svzip1q, binary, all_data, none) + DEF_SVE_FUNCTION (svzip2q, binary, all_data, none) + #undef REQUIRED_EXTENSIONS ++ ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_F64MM \ ++ | AARCH64_FL_SM_OFF) ++DEF_SVE_FUNCTION (svld1ro, load_replicate, all_data, implicit) ++DEF_SVE_FUNCTION (svmmla, mmla, d_float, none) ++#undef REQUIRED_EXTENSIONS +diff --git a/gcc/config/aarch64/aarch64-sve-builtins-sve2.def b/gcc/config/aarch64/aarch64-sve-builtins-sve2.def +index d5f23a887..3c0a0e072 100644 +--- a/gcc/config/aarch64/aarch64-sve-builtins-sve2.def ++++ b/gcc/config/aarch64/aarch64-sve-builtins-sve2.def +@@ -51,24 +51,9 @@ DEF_SVE_FUNCTION (sveor3, ternary_opt_n, all_integer, none) + DEF_SVE_FUNCTION (sveorbt, ternary_opt_n, all_integer, none) + DEF_SVE_FUNCTION (sveortb, ternary_opt_n, all_integer, none) + DEF_SVE_FUNCTION (svhadd, binary_opt_n, all_integer, mxz) +-DEF_SVE_FUNCTION (svhistcnt, binary_to_uint, sd_integer, z) +-DEF_SVE_FUNCTION (svhistseg, binary_to_uint, b_integer, none) + DEF_SVE_FUNCTION (svhsub, binary_opt_n, all_integer, mxz) + DEF_SVE_FUNCTION (svhsubr, binary_opt_n, all_integer, mxz) +-DEF_SVE_FUNCTION (svldnt1_gather, load_gather_sv_restricted, sd_data, implicit) +-DEF_SVE_FUNCTION (svldnt1_gather, load_gather_vs, sd_data, implicit) +-DEF_SVE_FUNCTION (svldnt1sb_gather, load_ext_gather_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1sh_gather, load_ext_gather_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1sh_gather, load_ext_gather_index_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1sw_gather, load_ext_gather_offset_restricted, d_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1sw_gather, load_ext_gather_index_restricted, d_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1ub_gather, load_ext_gather_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1uh_gather, load_ext_gather_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1uh_gather, load_ext_gather_index_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1uw_gather, load_ext_gather_offset_restricted, d_integer, implicit) +-DEF_SVE_FUNCTION (svldnt1uw_gather, load_ext_gather_index_restricted, d_integer, implicit) + DEF_SVE_FUNCTION (svlogb, unary_to_int, all_float, mxz) +-DEF_SVE_FUNCTION (svmatch, compare, bh_integer, implicit) + DEF_SVE_FUNCTION (svmaxp, binary, all_arith, mx) + DEF_SVE_FUNCTION (svmaxnmp, binary, all_float, mx) + DEF_SVE_FUNCTION (svmla_lane, ternary_lane, hsd_integer, none) +@@ -91,7 +76,6 @@ DEF_SVE_FUNCTION (svmullb_lane, binary_long_lane, sd_integer, none) + DEF_SVE_FUNCTION (svmullt, binary_long_opt_n, hsd_integer, none) + DEF_SVE_FUNCTION (svmullt_lane, binary_long_lane, sd_integer, none) + DEF_SVE_FUNCTION (svnbsl, ternary_opt_n, all_integer, none) +-DEF_SVE_FUNCTION (svnmatch, compare, bh_integer, implicit) + DEF_SVE_FUNCTION (svpmul, binary_opt_n, b_unsigned, none) + DEF_SVE_FUNCTION (svpmullb, binary_long_opt_n, hd_unsigned, none) + DEF_SVE_FUNCTION (svpmullb_pair, binary_opt_n, bs_unsigned, none) +@@ -164,13 +148,6 @@ DEF_SVE_FUNCTION (svsli, ternary_shift_left_imm, all_integer, none) + DEF_SVE_FUNCTION (svsqadd, binary_int_opt_n, all_unsigned, mxz) + DEF_SVE_FUNCTION (svsra, ternary_shift_right_imm, all_integer, none) + DEF_SVE_FUNCTION (svsri, ternary_shift_right_imm, all_integer, none) +-DEF_SVE_FUNCTION (svstnt1_scatter, store_scatter_index_restricted, sd_data, implicit) +-DEF_SVE_FUNCTION (svstnt1_scatter, store_scatter_offset_restricted, sd_data, implicit) +-DEF_SVE_FUNCTION (svstnt1b_scatter, store_scatter_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svstnt1h_scatter, store_scatter_index_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svstnt1h_scatter, store_scatter_offset_restricted, sd_integer, implicit) +-DEF_SVE_FUNCTION (svstnt1w_scatter, store_scatter_index_restricted, d_integer, implicit) +-DEF_SVE_FUNCTION (svstnt1w_scatter, store_scatter_offset_restricted, d_integer, implicit) + DEF_SVE_FUNCTION (svsubhnb, binary_narrowb_opt_n, hsd_integer, none) + DEF_SVE_FUNCTION (svsubhnt, binary_narrowt_opt_n, hsd_integer, none) + DEF_SVE_FUNCTION (svsublb, binary_long_opt_n, hsd_integer, none) +@@ -191,7 +168,36 @@ DEF_SVE_FUNCTION (svxar, ternary_shift_right_imm, all_integer, none) + + #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ + | AARCH64_FL_SVE2 \ +- | AARCH64_FL_SVE2_AES) ++ | AARCH64_FL_SM_OFF) ++DEF_SVE_FUNCTION (svhistcnt, binary_to_uint, sd_integer, z) ++DEF_SVE_FUNCTION (svhistseg, binary_to_uint, b_integer, none) ++DEF_SVE_FUNCTION (svldnt1_gather, load_gather_sv_restricted, sd_data, implicit) ++DEF_SVE_FUNCTION (svldnt1_gather, load_gather_vs, sd_data, implicit) ++DEF_SVE_FUNCTION (svldnt1sb_gather, load_ext_gather_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1sh_gather, load_ext_gather_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1sh_gather, load_ext_gather_index_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1sw_gather, load_ext_gather_offset_restricted, d_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1sw_gather, load_ext_gather_index_restricted, d_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1ub_gather, load_ext_gather_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1uh_gather, load_ext_gather_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1uh_gather, load_ext_gather_index_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1uw_gather, load_ext_gather_offset_restricted, d_integer, implicit) ++DEF_SVE_FUNCTION (svldnt1uw_gather, load_ext_gather_index_restricted, d_integer, implicit) ++DEF_SVE_FUNCTION (svmatch, compare, bh_integer, implicit) ++DEF_SVE_FUNCTION (svnmatch, compare, bh_integer, implicit) ++DEF_SVE_FUNCTION (svstnt1_scatter, store_scatter_index_restricted, sd_data, implicit) ++DEF_SVE_FUNCTION (svstnt1_scatter, store_scatter_offset_restricted, sd_data, implicit) ++DEF_SVE_FUNCTION (svstnt1b_scatter, store_scatter_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svstnt1h_scatter, store_scatter_index_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svstnt1h_scatter, store_scatter_offset_restricted, sd_integer, implicit) ++DEF_SVE_FUNCTION (svstnt1w_scatter, store_scatter_index_restricted, d_integer, implicit) ++DEF_SVE_FUNCTION (svstnt1w_scatter, store_scatter_offset_restricted, d_integer, implicit) ++#undef REQUIRED_EXTENSIONS ++ ++#define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ ++ | AARCH64_FL_SVE2 \ ++ | AARCH64_FL_SVE2_AES \ ++ | AARCH64_FL_SM_OFF) + DEF_SVE_FUNCTION (svaesd, binary, b_unsigned, none) + DEF_SVE_FUNCTION (svaese, binary, b_unsigned, none) + DEF_SVE_FUNCTION (svaesmc, unary, b_unsigned, none) +@@ -202,7 +208,8 @@ DEF_SVE_FUNCTION (svpmullt_pair, binary_opt_n, d_unsigned, none) + + #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ + | AARCH64_FL_SVE2 \ +- | AARCH64_FL_SVE2_BITPERM) ++ | AARCH64_FL_SVE2_BITPERM \ ++ | AARCH64_FL_SM_OFF) + DEF_SVE_FUNCTION (svbdep, binary_opt_n, all_unsigned, none) + DEF_SVE_FUNCTION (svbext, binary_opt_n, all_unsigned, none) + DEF_SVE_FUNCTION (svbgrp, binary_opt_n, all_unsigned, none) +@@ -210,13 +217,15 @@ DEF_SVE_FUNCTION (svbgrp, binary_opt_n, all_unsigned, none) + + #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ + | AARCH64_FL_SVE2 \ +- | AARCH64_FL_SVE2_SHA3) ++ | AARCH64_FL_SVE2_SHA3 \ ++ | AARCH64_FL_SM_OFF) + DEF_SVE_FUNCTION (svrax1, binary, d_integer, none) + #undef REQUIRED_EXTENSIONS + + #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \ + | AARCH64_FL_SVE2 \ +- | AARCH64_FL_SVE2_SM4) ++ | AARCH64_FL_SVE2_SM4 \ ++ | AARCH64_FL_SM_OFF) + DEF_SVE_FUNCTION (svsm4e, binary, s_unsigned, none) + DEF_SVE_FUNCTION (svsm4ekey, binary, s_unsigned, none) + #undef REQUIRED_EXTENSIONS +diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc +index c439f2e8a..5f3a2baea 100644 +--- a/gcc/config/aarch64/aarch64-sve-builtins.cc ++++ b/gcc/config/aarch64/aarch64-sve-builtins.cc +@@ -738,6 +738,13 @@ check_required_extensions (location_t location, tree fndecl, + if (missing_extensions == 0) + return check_required_registers (location, fndecl); + ++ if (missing_extensions & AARCH64_FL_SM_OFF) ++ { ++ error_at (location, "ACLE function %qD cannot be called when" ++ " SME streaming mode is enabled", fndecl); ++ return false; ++ } ++ + static const struct { + aarch64_feature_flags flag; + const char *name; +diff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md +index 28b73d807..a8a5dc3a2 100644 +--- a/gcc/config/aarch64/aarch64-sve.md ++++ b/gcc/config/aarch64/aarch64-sve.md +@@ -1082,7 +1082,7 @@ + (match_operand:VNx16BI 0 "aarch64_simd_reg_or_minus_one" "Dm, Upa")) + (set (reg:VNx16BI FFRT_REGNUM) + (unspec:VNx16BI [(match_dup 0)] UNSPEC_WRFFR))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + setffr + wrffr\t%0.b" +@@ -1123,7 +1123,7 @@ + (define_insn "aarch64_rdffr" + [(set (match_operand:VNx16BI 0 "register_operand" "=Upa") + (reg:VNx16BI FFRT_REGNUM))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffr\t%0.b" + ) + +@@ -1133,7 +1133,7 @@ + (and:VNx16BI + (reg:VNx16BI FFRT_REGNUM) + (match_operand:VNx16BI 1 "register_operand" "Upa")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffr\t%0.b, %1/z" + ) + +@@ -1149,7 +1149,7 @@ + (match_dup 1))] + UNSPEC_PTEST)) + (clobber (match_scratch:VNx16BI 0 "=Upa"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffrs\t%0.b, %1/z" + ) + +@@ -1163,7 +1163,7 @@ + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_PTEST)) + (clobber (match_scratch:VNx16BI 0 "=Upa"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffrs\t%0.b, %1/z" + ) + +@@ -1182,7 +1182,7 @@ + (and:VNx16BI + (reg:VNx16BI FFRT_REGNUM) + (match_dup 1)))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffrs\t%0.b, %1/z" + ) + +@@ -1197,7 +1197,7 @@ + UNSPEC_PTEST)) + (set (match_operand:VNx16BI 0 "register_operand" "=Upa") + (reg:VNx16BI FFRT_REGNUM))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "rdffrs\t%0.b, %1/z" + ) + +@@ -1327,7 +1327,7 @@ + (match_operand:SVE_FULL 1 "aarch64_sve_ld<fn>f1_operand" "Ut<fn>") + (reg:VNx16BI FFRT_REGNUM)] + SVE_LDFF1_LDNF1))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "ld<fn>f1<Vesize>\t%0.<Vetype>, %2/z, %1" + ) + +@@ -1361,7 +1361,9 @@ + (reg:VNx16BI FFRT_REGNUM)] + SVE_LDFF1_LDNF1))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_HSDI:narrower_mask> & <SVE_PARTIAL_I:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_HSDI:narrower_mask> & <SVE_PARTIAL_I:self_mask>) == 0" + "ld<fn>f1<ANY_EXTEND:s><SVE_PARTIAL_I:Vesize>\t%0.<SVE_HSDI:Vctype>, %2/z, %1" + "&& !CONSTANT_P (operands[3])" + { +@@ -1409,7 +1411,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + operands[5] = aarch64_ptrue_reg (<VPRED>mode); + } +@@ -1427,7 +1429,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>" "Ui1, Ui1, Ui1, Ui1, i, i") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ld1<Vesize>\t%0.s, %5/z, [%2.s] + ld1<Vesize>\t%0.s, %5/z, [%2.s, #%1] +@@ -1449,7 +1451,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>" "Ui1, Ui1, Ui1, i") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ld1<Vesize>\t%0.d, %5/z, [%2.d] + ld1<Vesize>\t%0.d, %5/z, [%2.d, #%1] +@@ -1472,7 +1474,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, <su>xtw] + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, <su>xtw %p4]" +@@ -1499,7 +1501,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw] + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw %p4]" +@@ -1523,7 +1525,7 @@ + (match_operand:DI 4 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw] + ld1<Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw %p4]" +@@ -1557,7 +1559,9 @@ + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_4HSI:narrower_mask> & <SVE_4BHI:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_4HSI:narrower_mask> & <SVE_4BHI:self_mask>) == 0" + "@ + ld1<ANY_EXTEND:s><SVE_4BHI:Vesize>\t%0.s, %5/z, [%2.s] + ld1<ANY_EXTEND:s><SVE_4BHI:Vesize>\t%0.s, %5/z, [%2.s, #%1] +@@ -1587,7 +1591,9 @@ + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" + "@ + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%2.d] + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%2.d, #%1] +@@ -1618,7 +1624,9 @@ + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" + "@ + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, <ANY_EXTEND2:su>xtw] + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, <ANY_EXTEND2:su>xtw %p4]" +@@ -1650,7 +1658,9 @@ + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" + "@ + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw] + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw %p4]" +@@ -1679,7 +1689,9 @@ + (mem:BLK (scratch))] + UNSPEC_LD1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" ++ "TARGET_SVE ++ && TARGET_NON_STREAMING ++ && (~<SVE_2HSDI:narrower_mask> & <SVE_2BHSI:self_mask>) == 0" + "@ + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw] + ld1<ANY_EXTEND:s><SVE_2BHSI:Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw %p4]" +@@ -1710,7 +1722,7 @@ + (mem:BLK (scratch)) + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1w\t%0.s, %5/z, [%2.s] + ldff1w\t%0.s, %5/z, [%2.s, #%1] +@@ -1733,7 +1745,7 @@ + (mem:BLK (scratch)) + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1d\t%0.d, %5/z, [%2.d] + ldff1d\t%0.d, %5/z, [%2.d, #%1] +@@ -1758,7 +1770,7 @@ + (mem:BLK (scratch)) + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1d\t%0.d, %5/z, [%1, %2.d, sxtw] + ldff1d\t%0.d, %5/z, [%1, %2.d, sxtw %p4]" +@@ -1782,7 +1794,7 @@ + (mem:BLK (scratch)) + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1d\t%0.d, %5/z, [%1, %2.d, uxtw] + ldff1d\t%0.d, %5/z, [%1, %2.d, uxtw %p4]" +@@ -1817,7 +1829,7 @@ + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1<ANY_EXTEND:s><VNx4_NARROW:Vesize>\t%0.s, %5/z, [%2.s] + ldff1<ANY_EXTEND:s><VNx4_NARROW:Vesize>\t%0.s, %5/z, [%2.s, #%1] +@@ -1848,7 +1860,7 @@ + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%2.d] + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%2.d, #%1] +@@ -1881,7 +1893,7 @@ + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw] + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%1, %2.d, sxtw %p4]" +@@ -1910,7 +1922,7 @@ + (reg:VNx16BI FFRT_REGNUM)] + UNSPEC_LDFF1_GATHER))] + UNSPEC_PRED_X))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw] + ldff1<ANY_EXTEND:s><VNx2_NARROW:Vesize>\t%0.d, %5/z, [%1, %2.d, uxtw %p4]" +@@ -1985,7 +1997,7 @@ + UNSPEC_SVE_PREFETCH_GATHER) + (match_operand:DI 7 "const_int_operand") + (match_operand:DI 8 "const_int_operand"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + static const char *const insns[][2] = { + "prf<SVE_FULL_I:Vesize>", "%0, [%2.s]", +@@ -2014,7 +2026,7 @@ + UNSPEC_SVE_PREFETCH_GATHER) + (match_operand:DI 7 "const_int_operand") + (match_operand:DI 8 "const_int_operand"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + static const char *const insns[][2] = { + "prf<SVE_FULL_I:Vesize>", "%0, [%2.d]", +@@ -2045,7 +2057,7 @@ + UNSPEC_SVE_PREFETCH_GATHER) + (match_operand:DI 7 "const_int_operand") + (match_operand:DI 8 "const_int_operand"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + static const char *const insns[][2] = { + "prfb", "%0, [%1, %2.d, sxtw]", +@@ -2075,7 +2087,7 @@ + UNSPEC_SVE_PREFETCH_GATHER) + (match_operand:DI 7 "const_int_operand") + (match_operand:DI 8 "const_int_operand"))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + static const char *const insns[][2] = { + "prfb", "%0, [%1, %2.d, uxtw]", +@@ -2242,7 +2254,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>") + (match_operand:SVE_24 4 "register_operand")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + operands[5] = aarch64_ptrue_reg (<VPRED>mode); + } +@@ -2260,7 +2272,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>" "Ui1, Ui1, Ui1, Ui1, i, i") + (match_operand:SVE_4 4 "register_operand" "w, w, w, w, w, w")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<Vesize>\t%4.s, %5, [%1.s] + st1<Vesize>\t%4.s, %5, [%1.s, #%0] +@@ -2282,7 +2294,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>" "Ui1, Ui1, Ui1, i") + (match_operand:SVE_2 4 "register_operand" "w, w, w, w")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<Vesize>\t%4.d, %5, [%1.d] + st1<Vesize>\t%4.d, %5, [%1.d, #%0] +@@ -2305,7 +2317,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (match_operand:SVE_2 4 "register_operand" "w, w")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<Vesize>\t%4.d, %5, [%0, %1.d, <su>xtw] + st1<Vesize>\t%4.d, %5, [%0, %1.d, <su>xtw %p3]" +@@ -2332,7 +2344,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (match_operand:SVE_2 4 "register_operand" "w, w")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<Vesize>\t%4.d, %5, [%0, %1.d, sxtw] + st1<Vesize>\t%4.d, %5, [%0, %1.d, sxtw %p3]" +@@ -2356,7 +2368,7 @@ + (match_operand:DI 3 "aarch64_gather_scale_operand_<Vesize>" "Ui1, i") + (match_operand:SVE_2 4 "register_operand" "w, w")] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<Vesize>\t%4.d, %5, [%0, %1.d, uxtw] + st1<Vesize>\t%4.d, %5, [%0, %1.d, uxtw %p3]" +@@ -2384,7 +2396,7 @@ + (truncate:VNx4_NARROW + (match_operand:VNx4_WIDE 4 "register_operand" "w, w, w, w, w, w"))] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<VNx4_NARROW:Vesize>\t%4.s, %5, [%1.s] + st1<VNx4_NARROW:Vesize>\t%4.s, %5, [%1.s, #%0] +@@ -2407,7 +2419,7 @@ + (truncate:VNx2_NARROW + (match_operand:VNx2_WIDE 4 "register_operand" "w, w, w, w"))] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%1.d] + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%1.d, #%0] +@@ -2432,7 +2444,7 @@ + (truncate:VNx2_NARROW + (match_operand:VNx2_WIDE 4 "register_operand" "w, w"))] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%0, %1.d, sxtw] + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%0, %1.d, sxtw %p3]" +@@ -2456,7 +2468,7 @@ + (truncate:VNx2_NARROW + (match_operand:VNx2_WIDE 4 "register_operand" "w, w"))] + UNSPEC_ST1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%0, %1.d, uxtw] + st1<VNx2_NARROW:Vesize>\t%4.d, %5, [%0, %1.d, uxtw %p3]" +@@ -2602,7 +2614,7 @@ + (match_operand:OI 1 "aarch64_sve_ld1ro_operand_<Vesize>" + "UO<Vesize>")] + UNSPEC_LD1RO))] +- "TARGET_SVE_F64MM" ++ "TARGET_SVE_F64MM && TARGET_NON_STREAMING" + { + operands[1] = gen_rtx_MEM (<VEL>mode, XEXP (operands[1], 0)); + return "ld1ro<Vesize>\t%0.<Vetype>, %2/z, %1"; +@@ -3834,7 +3846,7 @@ + [(match_operand:SVE_FULL_SDI 1 "register_operand" "w") + (match_operand:SVE_FULL_SDI 2 "register_operand" "w")] + UNSPEC_ADR))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.<Vetype>, [%1.<Vetype>, %2.<Vetype>]" + ) + +@@ -3850,7 +3862,7 @@ + (match_operand:VNx2DI 2 "register_operand" "w")))] + UNSPEC_PRED_X)] + UNSPEC_ADR))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.d, [%1.d, %2.d, sxtw]" + "&& !CONSTANT_P (operands[3])" + { +@@ -3867,7 +3879,7 @@ + (match_operand:VNx2DI 2 "register_operand" "w") + (match_operand:VNx2DI 3 "aarch64_sve_uxtw_immediate"))] + UNSPEC_ADR))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.d, [%1.d, %2.d, uxtw]" + ) + +@@ -3879,7 +3891,7 @@ + (match_operand:VNx2DI 2 "register_operand" "w") + (match_operand:VNx2DI 3 "aarch64_sve_uxtw_immediate")) + (match_operand:VNx2DI 1 "register_operand" "w")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.d, [%1.d, %2.d, uxtw]" + ) + +@@ -3894,7 +3906,7 @@ + (match_operand:SVE_FULL_SDI 3 "const_1_to_3_operand"))] + UNSPEC_PRED_X) + (match_operand:SVE_FULL_SDI 1 "register_operand")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + operands[4] = CONSTM1_RTX (<VPRED>mode); + } +@@ -3910,7 +3922,7 @@ + (match_operand:SVE_24I 3 "const_1_to_3_operand"))] + UNSPEC_PRED_X) + (match_operand:SVE_24I 1 "register_operand" "w")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.<Vctype>, [%1.<Vctype>, %2.<Vctype>, lsl %3]" + "&& !CONSTANT_P (operands[4])" + { +@@ -3934,7 +3946,7 @@ + (match_operand:VNx2DI 3 "const_1_to_3_operand"))] + UNSPEC_PRED_X) + (match_operand:VNx2DI 1 "register_operand" "w")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.d, [%1.d, %2.d, sxtw %3]" + "&& (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5]))" + { +@@ -3955,7 +3967,7 @@ + (match_operand:VNx2DI 3 "const_1_to_3_operand"))] + UNSPEC_PRED_X) + (match_operand:VNx2DI 1 "register_operand" "w")))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "adr\t%0.d, [%1.d, %2.d, uxtw %3]" + "&& !CONSTANT_P (operands[5])" + { +@@ -6967,7 +6979,7 @@ + (match_operand:<VSI2QI> 3 "register_operand" "w, w")] + MATMUL) + (match_operand:VNx4SI_ONLY 1 "register_operand" "0, w")))] +- "TARGET_SVE_I8MM" ++ "TARGET_SVE_I8MM && TARGET_NON_STREAMING" + "@ + <sur>mmla\\t%0.s, %2.b, %3.b + movprfx\t%0, %1\;<sur>mmla\\t%0.s, %2.b, %3.b" +@@ -7538,7 +7550,7 @@ + (match_operand:SVE_MATMULF 3 "register_operand" "w, w") + (match_operand:SVE_MATMULF 1 "register_operand" "0, w")] + FMMLA))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + <sve_fp_op>\\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype> + movprfx\t%0, %1\;<sve_fp_op>\\t%0.<Vetype>, %2.<Vetype>, %3.<Vetype>" +@@ -8601,7 +8613,7 @@ + (match_operand:<VEL> 1 "register_operand") + (match_operand:SVE_FULL_F 2 "register_operand")] + UNSPEC_FADDA))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + { + operands[3] = aarch64_ptrue_reg (<VPRED>mode); + } +@@ -8614,7 +8626,7 @@ + (match_operand:<VEL> 1 "register_operand" "0") + (match_operand:SVE_FULL_F 2 "register_operand" "w")] + UNSPEC_FADDA))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "fadda\t%<Vetype>0, %3, %<Vetype>0, %2.<Vetype>" + ) + +@@ -8668,7 +8680,7 @@ + [(match_operand:<VPRED> 1 "register_operand" "Upl") + (match_operand:SVE_FULL_SD 2 "register_operand" "w")] + UNSPEC_SVE_COMPACT))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "compact\t%0.<Vetype>, %1, %2.<Vetype>" + ) + +diff --git a/gcc/config/aarch64/aarch64-sve2.md b/gcc/config/aarch64/aarch64-sve2.md +index f138f4be4..36555f65c 100644 +--- a/gcc/config/aarch64/aarch64-sve2.md ++++ b/gcc/config/aarch64/aarch64-sve2.md +@@ -109,7 +109,7 @@ + (match_operand:<V_INT_EQUIV> 3 "register_operand" "w, w") + (mem:BLK (scratch))] + UNSPEC_LDNT1_GATHER))] +- "TARGET_SVE2" ++ "TARGET_SVE2 && TARGET_NON_STREAMING" + "@ + ldnt1<Vesize>\t%0.<Vetype>, %1/z, [%3.<Vetype>] + ldnt1<Vesize>\t%0.<Vetype>, %1/z, [%3.<Vetype>, %2]" +@@ -129,6 +129,7 @@ + UNSPEC_LDNT1_GATHER))] + UNSPEC_PRED_X))] + "TARGET_SVE2 ++ && TARGET_NON_STREAMING + && (~<SVE_FULL_SDI:narrower_mask> & <SVE_PARTIAL_I:self_mask>) == 0" + "@ + ldnt1<ANY_EXTEND:s><SVE_PARTIAL_I:Vesize>\t%0.<SVE_FULL_SDI:Vetype>, %1/z, [%3.<SVE_FULL_SDI:Vetype>] +@@ -159,7 +160,7 @@ + (match_operand:SVE_FULL_SD 3 "register_operand" "w, w")] + + UNSPEC_STNT1_SCATTER))] +- "TARGET_SVE" ++ "TARGET_SVE && TARGET_NON_STREAMING" + "@ + stnt1<Vesize>\t%3.<Vetype>, %0, [%2.<Vetype>] + stnt1<Vesize>\t%3.<Vetype>, %0, [%2.<Vetype>, %1]" +@@ -176,6 +177,7 @@ + (match_operand:SVE_FULL_SDI 3 "register_operand" "w, w"))] + UNSPEC_STNT1_SCATTER))] + "TARGET_SVE2 ++ && TARGET_NON_STREAMING + && (~<SVE_FULL_SDI:narrower_mask> & <SVE_PARTIAL_I:self_mask>) == 0" + "@ + stnt1<SVE_PARTIAL_I:Vesize>\t%3.<SVE_FULL_SDI:Vetype>, %0, [%2.<SVE_FULL_SDI:Vetype>] +@@ -2426,7 +2428,7 @@ + (match_operand:SVE_FULL_SDI 2 "register_operand" "w") + (match_operand:SVE_FULL_SDI 3 "register_operand" "w")] + UNSPEC_HISTCNT))] +- "TARGET_SVE2" ++ "TARGET_SVE2 && TARGET_NON_STREAMING" + "histcnt\t%0.<Vetype>, %1/z, %2.<Vetype>, %3.<Vetype>" + ) + +@@ -2436,7 +2438,7 @@ + [(match_operand:VNx16QI_ONLY 1 "register_operand" "w") + (match_operand:VNx16QI_ONLY 2 "register_operand" "w")] + UNSPEC_HISTSEG))] +- "TARGET_SVE2" ++ "TARGET_SVE2 && TARGET_NON_STREAMING" + "histseg\t%0.<Vetype>, %1.<Vetype>, %2.<Vetype>" + ) + +@@ -2460,7 +2462,7 @@ + SVE2_MATCH)] + UNSPEC_PRED_Z)) + (clobber (reg:CC_NZC CC_REGNUM))] +- "TARGET_SVE2" ++ "TARGET_SVE2 && TARGET_NON_STREAMING" + "<sve_int_op>\t%0.<Vetype>, %1/z, %3.<Vetype>, %4.<Vetype>" + ) + +@@ -2491,6 +2493,7 @@ + SVE2_MATCH)] + UNSPEC_PRED_Z))] + "TARGET_SVE2 ++ && TARGET_NON_STREAMING + && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])" + "<sve_int_op>\t%0.<Vetype>, %1/z, %2.<Vetype>, %3.<Vetype>" + "&& !rtx_equal_p (operands[4], operands[6])" +@@ -2518,6 +2521,7 @@ + UNSPEC_PTEST)) + (clobber (match_scratch:<VPRED> 0 "=Upa"))] + "TARGET_SVE2 ++ && TARGET_NON_STREAMING + && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])" + "<sve_int_op>\t%0.<Vetype>, %1/z, %2.<Vetype>, %3.<Vetype>" + "&& !rtx_equal_p (operands[4], operands[6])" +diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h +index a3c83a3b1..8f0ac2cde 100644 +--- a/gcc/config/aarch64/aarch64.h ++++ b/gcc/config/aarch64/aarch64.h +@@ -252,6 +252,9 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE = AARCH64_FL_SM_OFF; + #define AARCH64_ISA_MOPS (aarch64_isa_flags & AARCH64_FL_MOPS) + #define AARCH64_ISA_LS64 (aarch64_isa_flags & AARCH64_FL_LS64) + ++/* The current function is a normal non-streaming function. */ ++#define TARGET_NON_STREAMING (AARCH64_ISA_SM_OFF) ++ + /* Crypto is an optional extension to AdvSIMD. */ + #define TARGET_CRYPTO (AARCH64_ISA_CRYPTO) + +@@ -290,16 +293,16 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE = AARCH64_FL_SM_OFF; + #define TARGET_SVE2 (AARCH64_ISA_SVE2) + + /* SVE2 AES instructions, enabled through +sve2-aes. */ +-#define TARGET_SVE2_AES (AARCH64_ISA_SVE2_AES) ++#define TARGET_SVE2_AES (AARCH64_ISA_SVE2_AES && TARGET_NON_STREAMING) + + /* SVE2 BITPERM instructions, enabled through +sve2-bitperm. */ +-#define TARGET_SVE2_BITPERM (AARCH64_ISA_SVE2_BITPERM) ++#define TARGET_SVE2_BITPERM (AARCH64_ISA_SVE2_BITPERM && TARGET_NON_STREAMING) + + /* SVE2 SHA3 instructions, enabled through +sve2-sha3. */ +-#define TARGET_SVE2_SHA3 (AARCH64_ISA_SVE2_SHA3) ++#define TARGET_SVE2_SHA3 (AARCH64_ISA_SVE2_SHA3 && TARGET_NON_STREAMING) + + /* SVE2 SM4 instructions, enabled through +sve2-sm4. */ +-#define TARGET_SVE2_SM4 (AARCH64_ISA_SVE2_SM4) ++#define TARGET_SVE2_SM4 (AARCH64_ISA_SVE2_SM4 && TARGET_NON_STREAMING) + + /* SME instructions, enabled through +sme. Note that this does not + imply anything about the state of PSTATE.SM. */ +diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md +index 8dd2035bc..226dea48a 100644 +--- a/gcc/config/aarch64/iterators.md ++++ b/gcc/config/aarch64/iterators.md +@@ -2706,7 +2706,7 @@ + + (define_int_iterator SVE_FP_UNARY [UNSPEC_FRECPE UNSPEC_RSQRTE]) + +-(define_int_iterator SVE_FP_UNARY_INT [UNSPEC_FEXPA]) ++(define_int_iterator SVE_FP_UNARY_INT [(UNSPEC_FEXPA "TARGET_NON_STREAMING")]) + + (define_int_iterator SVE_INT_SHIFT_IMM [UNSPEC_ASRD + (UNSPEC_SQSHLU "TARGET_SVE2") +@@ -2720,7 +2720,7 @@ + (define_int_iterator SVE_BFLOAT_TERNARY_LONG [UNSPEC_BFDOT + UNSPEC_BFMLALB + UNSPEC_BFMLALT +- UNSPEC_BFMMLA]) ++ (UNSPEC_BFMMLA "TARGET_NON_STREAMING")]) + + (define_int_iterator SVE_BFLOAT_TERNARY_LONG_LANE [UNSPEC_BFDOT + UNSPEC_BFMLALB +diff --git a/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp b/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp +new file mode 100644 +index 000000000..d6a5a561a +--- /dev/null ++++ b/gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp +@@ -0,0 +1,308 @@ ++# Specific regression driver for AArch64 SME. ++# Copyright (C) 2009-2023 Free Software Foundation, Inc. ++# ++# This file is part of GCC. ++# ++# GCC is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 3, or (at your option) ++# any later version. ++# ++# GCC is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with GCC; see the file COPYING3. If not see ++# <http://www.gnu.org/licenses/>. */ ++ ++# Test whether certain SVE instructions are accepted or rejected in ++# SME streaming mode. ++ ++# Exit immediately if this isn't an AArch64 target. ++if {![istarget aarch64*-*-*] } { ++ return ++} ++ ++load_lib gcc-defs.exp ++ ++gcc_parallel_test_enable 0 ++ ++# Code shared by all tests. ++set preamble { ++#include <arm_sve.h> ++ ++#pragma GCC target "+i8mm+f32mm+f64mm+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+sme" ++ ++extern svbool_t &pred; ++ ++extern svint8_t &s8; ++extern svint32_t &s32; ++ ++extern svuint8_t &u8; ++extern svuint16_t &u16; ++extern svuint32_t &u32; ++extern svuint64_t &u64; ++ ++extern svbfloat16_t &bf16; ++extern svfloat32_t &f32; ++ ++extern void *void_ptr; ++ ++extern int8_t *s8_ptr; ++extern int16_t *s16_ptr; ++extern int32_t *s32_ptr; ++ ++extern uint8_t *u8_ptr; ++extern uint16_t *u16_ptr; ++extern uint32_t *u32_ptr; ++extern uint64_t *u64_ptr; ++ ++extern uint64_t indx; ++} ++ ++# Wrap a standalone call in a streaming-compatible function. ++set sc_harness { ++void ++foo () [[arm::streaming_compatible]] ++{ ++ $CALL; ++} ++} ++ ++# HARNESS is some source code that should be appended to the preamble ++# variable defined above. It includes the string "$CALL", which should be ++# replaced by the function call in CALL. The result after both steps is ++# a complete C++ translation unit. ++# ++# Try compiling the C++ code and see what output GCC produces. ++# The expected output is either: ++# ++# - empty, if SHOULD_PASS is true ++# - a message rejecting CALL in streaming mode, if SHOULD_PASS is false ++# ++# CALL is simple enough that it can be used in test names. ++proc check_ssve_call { harness name call should_pass } { ++ global preamble ++ ++ set filename test-[pid] ++ set fd [open $filename.cc w] ++ puts $fd $preamble ++ puts -nonewline $fd [string map [list {$CALL} $call] $harness] ++ close $fd ++ remote_download host $filename.cc ++ ++ set test "streaming SVE call $name" ++ ++ set gcc_output [g++_target_compile $filename.cc $filename.s assembly ""] ++ remote_file build delete $filename.cc $filename.s ++ ++ if { [string equal $gcc_output ""] } { ++ if { $should_pass } { ++ pass $test ++ } else { ++ fail $test ++ } ++ return ++ } ++ ++ set lines [split $gcc_output "\n"] ++ set error_text "cannot be called when SME streaming mode is enabled" ++ if { [llength $lines] == 3 ++ && [string first "In function" [lindex $lines 0]] >= 0 ++ && [string first $error_text [lindex $lines 1]] >= 0 ++ && [string equal [lindex $lines 2] ""] } { ++ if { $should_pass } { ++ fail $test ++ } else { ++ pass $test ++ } ++ return ++ } ++ ++ verbose -log "$test: unexpected output" ++ fail $test ++} ++ ++# Apply check_ssve_call to each line in CALLS. The other arguments are ++# as for check_ssve_call. ++proc check_ssve_calls { harness calls should_pass } { ++ foreach line [split $calls "\n"] { ++ set call [string trim $line] ++ if { [string equal $call ""] } { ++ continue ++ } ++ check_ssve_call $harness "$call" $call $should_pass ++ } ++} ++ ++# A small selection of things that are valid in streaming mode. ++set streaming_ok { ++ s8 = svadd_x (pred, s8, s8) ++ s8 = svld1 (pred, s8_ptr) ++} ++ ++# This order follows the list in the SME manual. ++set nonstreaming_only { ++ u32 = svadrb_offset (u32, u32) ++ u64 = svadrb_offset (u64, u64) ++ u32 = svadrh_index (u32, u32) ++ u64 = svadrh_index (u64, u64) ++ u32 = svadrw_index (u32, u32) ++ u64 = svadrw_index (u64, u64) ++ u32 = svadrd_index (u32, u32) ++ u64 = svadrd_index (u64, u64) ++ u8 = svaesd (u8, u8) ++ u8 = svaese (u8, u8) ++ u8 = svaesimc (u8) ++ u8 = svaesmc (u8) ++ u8 = svbdep (u8, u8) ++ u8 = svbext (u8, u8) ++ f32 = svbfmmla (f32, bf16, bf16) ++ u8 = svbgrp (u8, u8) ++ u32 = svcompact (pred, u32) ++ f32 = svadda (pred, 1.0f, f32) ++ f32 = svexpa (u32) ++ f32 = svmmla (f32, f32, f32) ++ f32 = svtmad (f32, f32, 0) ++ f32 = svtsmul (f32, u32) ++ f32 = svtssel (f32, u32) ++ u32 = svhistcnt_z (pred, u32, u32) ++ u8 = svhistseg (u8, u8) ++ u32 = svld1ub_gather_offset_u32 (pred, u8_ptr, u32) ++ u32 = svld1ub_gather_offset_u32 (pred, u32, 1) ++ u64 = svld1_gather_index (pred, u64_ptr, u64) ++ u64 = svld1_gather_index_u64 (pred, u64, 1) ++ u32 = svld1uh_gather_index_u32 (pred, u16_ptr, u32) ++ u32 = svld1uh_gather_index_u32 (pred, u32, 1) ++ u8 = svld1ro (pred, u8_ptr + indx) ++ u8 = svld1ro (pred, u8_ptr + 1) ++ u16 = svld1ro (pred, u16_ptr + indx) ++ u16 = svld1ro (pred, u16_ptr + 1) ++ u32 = svld1ro (pred, u32_ptr + indx) ++ u32 = svld1ro (pred, u32_ptr + 1) ++ u64 = svld1ro (pred, u64_ptr + indx) ++ u64 = svld1ro (pred, u64_ptr + 1) ++ u32 = svld1sb_gather_offset_u32 (pred, s8_ptr, u32) ++ u32 = svld1sb_gather_offset_u32 (pred, u32, 1) ++ u32 = svld1sh_gather_index_u32 (pred, s16_ptr, u32) ++ u32 = svld1sh_gather_index_u32 (pred, u32, 1) ++ u64 = svld1sw_gather_index_u64 (pred, s32_ptr, u64) ++ u64 = svld1sw_gather_index_u64 (pred, u64, 1) ++ u64 = svld1uw_gather_index_u64 (pred, u32_ptr, u64) ++ u64 = svld1uw_gather_index_u64 (pred, u64, 1) ++ u32 = svld1_gather_index (pred, u32_ptr, u32) ++ u32 = svld1_gather_index_u32 (pred, u32, 1) ++ u8 = svldff1(pred, u8_ptr) ++ u16 = svldff1ub_u16(pred, u8_ptr) ++ u32 = svldff1ub_u32(pred, u8_ptr) ++ u64 = svldff1ub_u64(pred, u8_ptr) ++ u32 = svldff1ub_gather_offset_u32 (pred, u8_ptr, u32) ++ u32 = svldff1ub_gather_offset_u32 (pred, u32, 1) ++ u64 = svldff1(pred, u64_ptr) ++ u64 = svldff1_gather_index (pred, u64_ptr, u64) ++ u64 = svldff1_gather_index_u64 (pred, u64, 1) ++ u16 = svldff1(pred, u16_ptr) ++ u32 = svldff1uh_u32(pred, u16_ptr) ++ u64 = svldff1uh_u64(pred, u16_ptr) ++ u32 = svldff1uh_gather_offset_u32 (pred, u16_ptr, u32) ++ u32 = svldff1uh_gather_offset_u32 (pred, u32, 1) ++ u16 = svldff1sb_u16(pred, s8_ptr) ++ u32 = svldff1sb_u32(pred, s8_ptr) ++ u64 = svldff1sb_u64(pred, s8_ptr) ++ u32 = svldff1sb_gather_offset_u32 (pred, s8_ptr, u32) ++ u32 = svldff1sb_gather_offset_u32 (pred, u32, 1) ++ u32 = svldff1sh_u32(pred, s16_ptr) ++ u64 = svldff1sh_u64(pred, s16_ptr) ++ u32 = svldff1sh_gather_offset_u32 (pred, s16_ptr, u32) ++ u32 = svldff1sh_gather_offset_u32 (pred, u32, 1) ++ u64 = svldff1sw_u64(pred, s32_ptr) ++ u64 = svldff1sw_gather_offset_u64 (pred, s32_ptr, u64) ++ u64 = svldff1sw_gather_offset_u64 (pred, u64, 1) ++ u32 = svldff1(pred, u32_ptr) ++ u32 = svldff1_gather_index (pred, u32_ptr, u32) ++ u32 = svldff1_gather_index_u32 (pred, u32, 1) ++ u64 = svldff1uw_u64(pred, u32_ptr) ++ u64 = svldff1uw_gather_offset_u64 (pred, u32_ptr, u64) ++ u64 = svldff1uw_gather_offset_u64 (pred, u64, 1) ++ u8 = svldnf1(pred, u8_ptr) ++ u16 = svldnf1ub_u16(pred, u8_ptr) ++ u32 = svldnf1ub_u32(pred, u8_ptr) ++ u64 = svldnf1ub_u64(pred, u8_ptr) ++ u64 = svldnf1(pred, u64_ptr) ++ u16 = svldnf1(pred, u16_ptr) ++ u32 = svldnf1uh_u32(pred, u16_ptr) ++ u64 = svldnf1uh_u64(pred, u16_ptr) ++ u16 = svldnf1sb_u16(pred, s8_ptr) ++ u32 = svldnf1sb_u32(pred, s8_ptr) ++ u64 = svldnf1sb_u64(pred, s8_ptr) ++ u32 = svldnf1sh_u32(pred, s16_ptr) ++ u64 = svldnf1sh_u64(pred, s16_ptr) ++ u64 = svldnf1sw_u64(pred, s32_ptr) ++ u32 = svldnf1(pred, u32_ptr) ++ u64 = svldnf1uw_u64(pred, u32_ptr) ++ u32 = svldnt1ub_gather_offset_u32 (pred, u8_ptr, u32) ++ u32 = svldnt1ub_gather_offset_u32 (pred, u32, 1) ++ u64 = svldnt1_gather_index (pred, u64_ptr, u64) ++ u64 = svldnt1_gather_index_u64 (pred, u64, 1) ++ u32 = svldnt1uh_gather_offset_u32 (pred, u16_ptr, u32) ++ u32 = svldnt1uh_gather_offset_u32 (pred, u32, 1) ++ u32 = svldnt1sb_gather_offset_u32 (pred, s8_ptr, u32) ++ u32 = svldnt1sb_gather_offset_u32 (pred, u32, 1) ++ u32 = svldnt1sh_gather_offset_u32 (pred, s16_ptr, u32) ++ u32 = svldnt1sh_gather_offset_u32 (pred, u32, 1) ++ u64 = svldnt1sw_gather_offset_u64 (pred, s32_ptr, u64) ++ u64 = svldnt1sw_gather_offset_u64 (pred, u64, 1) ++ u64 = svldnt1uw_gather_offset_u64 (pred, u32_ptr, u64) ++ u64 = svldnt1uw_gather_offset_u64 (pred, u64, 1) ++ u32 = svldnt1_gather_offset (pred, u32_ptr, u32) ++ u32 = svldnt1_gather_offset_u32 (pred, u32, 1) ++ pred = svmatch (pred, u8, u8) ++ pred = svnmatch (pred, u8, u8) ++ u64 = svpmullb_pair (u64, u64) ++ u64 = svpmullt_pair (u64, u64) ++ svprfb_gather_offset (pred, void_ptr, u64, SV_PLDL1KEEP) ++ svprfb_gather_offset (pred, u64, 1, SV_PLDL1KEEP) ++ svprfd_gather_index (pred, void_ptr, u64, SV_PLDL1KEEP) ++ svprfd_gather_index (pred, u64, 1, SV_PLDL1KEEP) ++ svprfh_gather_index (pred, void_ptr, u64, SV_PLDL1KEEP) ++ svprfh_gather_index (pred, u64, 1, SV_PLDL1KEEP) ++ svprfw_gather_index (pred, void_ptr, u64, SV_PLDL1KEEP) ++ svprfw_gather_index (pred, u64, 1, SV_PLDL1KEEP) ++ u64 = svrax1 (u64, u64) ++ pred = svrdffr () ++ pred = svrdffr_z (pred) ++ svsetffr () ++ u32 = svsm4e (u32, u32) ++ u32 = svsm4ekey (u32, u32) ++ s32 = svmmla (s32, s8, s8) ++ svst1b_scatter_offset (pred, u8_ptr, u32, u32) ++ svst1b_scatter_offset (pred, u32, 1, u32) ++ svst1_scatter_index (pred, u64_ptr, u64, u64) ++ svst1_scatter_index (pred, u64, 1, u64) ++ svst1h_scatter_index (pred, u16_ptr, u32, u32) ++ svst1h_scatter_index (pred, u32, 1, u32) ++ svst1w_scatter_index (pred, u32_ptr, u64, u64) ++ svst1w_scatter_index (pred, u64, 1, u64) ++ svst1_scatter_index (pred, u32_ptr, u32, u32) ++ svst1_scatter_index (pred, u32, 1, u32) ++ svstnt1b_scatter_offset (pred, u8_ptr, u32, u32) ++ svstnt1b_scatter_offset (pred, u32, 1, u32) ++ svstnt1_scatter_offset (pred, u64_ptr, u64, u64) ++ svstnt1_scatter_offset (pred, u64, 1, u64) ++ svstnt1h_scatter_offset (pred, u16_ptr, u32, u32) ++ svstnt1h_scatter_offset (pred, u32, 1, u32) ++ svstnt1w_scatter_offset (pred, u32_ptr, u64, u64) ++ svstnt1w_scatter_offset (pred, u64, 1, u64) ++ svstnt1_scatter_offset (pred, u32_ptr, u32, u32) ++ svstnt1_scatter_offset (pred, u32, 1, u32) ++ u32 = svmmla (u32, u8, u8) ++ s32 = svusmmla (s32, u8, s8) ++ svwrffr (pred) ++} ++ ++check_ssve_calls $sc_harness $streaming_ok 1 ++check_ssve_calls $sc_harness $nonstreaming_only 0 ++ ++gcc_parallel_test_enable 1 +diff --git a/gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp b/gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp +index 38140413a..45270be60 100644 +--- a/gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ++++ b/gcc/testsuite/g++.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp +@@ -50,6 +50,7 @@ if { [info exists gcc_runtest_parallelize_limit_minor] } { + torture-init + set-torture-options { + "-std=c++98 -O0 -g" ++ "-std=c++11 -O0 -DSTREAMING_COMPATIBLE" + "-std=c++98 -O1 -g" + "-std=c++11 -O2 -g" + "-std=c++14 -O3 -g" +diff --git a/gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp b/gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp +index 78e8ecae7..0a7151220 100644 +--- a/gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp ++++ b/gcc/testsuite/g++.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp +@@ -53,6 +53,7 @@ if { [info exists gcc_runtest_parallelize_limit_minor] } { + torture-init + set-torture-options { + "-std=c++98 -O0 -g" ++ "-std=c++11 -O0 -DSTREAMING_COMPATIBLE" + "-std=c++98 -O1 -g" + "-std=c++11 -O2 -g" + "-std=c++14 -O3 -g" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp b/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp +index a271f1793..8cb2b9bb4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/aarch64-sve-acle-asm.exp +@@ -50,6 +50,7 @@ if { [info exists gcc_runtest_parallelize_limit_minor] } { + torture-init + set-torture-options { + "-std=c90 -O0 -g" ++ "-std=c90 -O0 -DSTREAMING_COMPATIBLE" + "-std=c90 -O1 -g" + "-std=c99 -O2 -g" + "-std=c11 -O3 -g" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c +index 6c6bfa1c2..4d6ec2d65 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c +index 8b2a1dd1c..04afbcee6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c +index 90a56420a..8b4c7d1ff 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrb.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrb.c +index a61eec971..5dcdc54b0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrb.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrb.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrd.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrd.c +index 970485bd6..d9d16ce3f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrd.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrd.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrh.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrh.c +index d06f51fe3..a358c2403 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrh.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrh.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrw.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrw.c +index b23f25a11..bd1e9af0a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrw.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adrw.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c +index b1d98fbf5..4bb2912a4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/bfmmla_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-additional-options "-march=armv8.2-a+sve+bf16" } */ + /* { dg-require-effective-target aarch64_asm_bf16_ok } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f32.c +index 2e80d6830..d261ec00b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f64.c +index e0bc33efe..024b0510f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s32.c +index e4634982b..0b32dfb60 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s64.c +index 71cb97b8a..38688dbca 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u32.c +index 954329a0b..a3e89cc97 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u64.c +index ec664845f..602ab048c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/compact_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c +index 5a5411e46..87c26e6ea 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c +index 4ded1c575..5e9839537 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c +index c31f9ccb5..b117df2a4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/expa_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c +index 00b68ff29..8b972f61b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c +index 47127960c..413d4d62d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c +index 9b6335547..b3df7d154 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c +index c9cea3ad8..0da1e5296 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c +index 2cccc8d49..a3304c419 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c +index 6ee1d48ab..73ef94805 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c +index cb1801778..fe909b666 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_bf16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c +index 86081edbd..30ba30639 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c +index c8df00f8a..cf62fada9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c +index 2fb9d5b74..b9fde4dac 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c +index 3cd211b16..35b7dd1d2 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c +index 44b16ed5f..57b6a6567 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c +index 3aa9a15ee..bd7e28478 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c +index 49aff5146..143800003 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c +index 00bf9e129..145b0b7f3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c +index 9e9b3290a..9f150631b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c +index 64ec62871..8dd75d136 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c +index 22701320b..f15454586 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + /* { dg-additional-options "-march=armv8.6-a+f64mm" } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c +index 16a5316a9..06249ad4c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c +index 3f953247e..8d141e133 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c +index 424de65a6..77836cbf6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c +index aa375bea2..f4b24ab41 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sb_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c +index ed07b4dfc..1b9782368 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c +index 20ca42720..2009dec81 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c +index e3a85a23f..0e1d48966 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c +index 3a0094fba..115d7d3a9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c +index 4d076b486..5dc44421c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c +index ffa85eb3e..fac4ec41c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1sw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c +index a9c418265..f57df4226 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c +index 99af86ddf..0c069fa4f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c +index 77c7e0a2d..98102e013 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c +index b605f8b67..f86a34d12 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ub_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c +index 84fb5c335..139371878 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c +index 447001793..f0338aae6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c +index 09d3cc8c2..5810bc0ac 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c +index f3dcf03cd..52e95abb9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c +index f4e9d5db9..0889eefdd 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c +index 854d19233..fb144d756 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1uw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c +index 80f646870..1f997480e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_bf16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f16.c +index 13ce863c9..60405d0a0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f32.c +index 2fcc63390..225e9969d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f64.c +index cc15b927a..366e36afd 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c +index 7e330c042..b84b9bcdd 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c +index d0e47f0bf..e779b0712 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c +index 66bf0f746..17e0f9aa2 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c +index faf71bf9d..030f187b1 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c +index 41c7dc9cf..fb8653016 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c +index 8b53ce94f..5be30a2d8 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s16.c +index 1d5fde0e6..61d242c07 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s32.c +index 97a36e884..afe748ef9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s64.c +index c018a4c1c..bee222855 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s8.c +index cf620d1f4..ccaac2ca4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u16.c +index 1fa819296..c8416f99d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u32.c +index 5224ec40a..ec26a82ca 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u64.c +index 18e87f2b8..e211f1794 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u8.c +index 83883fca4..24dfe452f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c +index c2a676807..f7e3977bf 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c +index 2f2a04d24..7f2a829a8 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c +index e3e83a205..685f62808 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c +index 769f2c266..49a7a8536 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c +index e0a748c6a..1d30c7ba6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c +index 86716da9b..c2b3f42cb 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c +index e7a4aa6e9..585a6241e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c +index 69ba96d52..ebb2f0f66 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c +index e1a1873f0..f4ea96cf9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c +index 0a49cbcc0..e3735239c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sb_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c +index b633335dc..67e70361b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c +index 32a4309b6..5755c79bc 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c +index 73a9be892..a58489995 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c +index 94ea73b63..b18751209 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c +index 81b64e836..bffac9365 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c +index 453b3ff24..a4acb1e5e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c +index bbbed79dc..828288cd8 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c +index 5430e256b..e3432c46c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sh_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c +index e5da8a83d..78aa34ec0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c +index 411428756..9dad1212c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c +index d795ace63..33b6c10dd 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c +index 6caf2f504..e8c9c845f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1sw_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c +index af0be08d2..b1c9c8135 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c +index 43124dd89..9ab776a21 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c +index 90c4e58a2..745740dfa 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c +index 302623a40..3a7bd6a43 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c +index 88ad2d1dc..ade0704f7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c +index e8e06411f..5d3e0ce95 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c +index 21d02ddb7..08ae802ee 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c +index 904cb027e..d8dc5e157 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c +index a40012318..042ae5a9f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c +index a9a98a683..d0844fa51 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1ub_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c +index d02e44342..12460105d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c +index 663a73d27..536331371 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c +index 5e0ef067f..602e6a686 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c +index 1cfae1b95..4b307b341 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c +index abb3d769a..db205b1ef 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c +index 6e330e8e8..0eac877eb 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c +index 4eb5323e9..266ecf167 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c +index ebac26e7d..bdd725e4a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uh_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c +index 6c0daea52..ab2c79da7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c +index 0e400c679..361d7de05 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c +index ac9779899..8adcec3d5 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c +index c7ab06171..781fc1a9c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldff1uw_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c +index 947a896e7..93b4425ec 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_bf16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c +index cf0178688..d47d748c7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c +index 83b73ec8e..e390d6857 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c +index 778096e82..97a0e39e7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c +index 592c8237d..21008d7f9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c +index 634092af8..8a3d795b3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c +index 4a03f6676..c0b57a2f3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c +index 162ee176a..6714152d9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c +index e920ac43b..3df404d77 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c +index 65e28c5c2..e899a4a6f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c +index 70d3f27d8..ab69656cf 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c +index 5c29f1d19..5d7b07497 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c +index e04b9a788..5b53c885d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c +index 0553fc98d..992eba7cc 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c +index 61a474fdf..99e0f8bd0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c +index be63d8bf9..fe23913f2 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c +index 4f52490b4..6deb39770 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c +index 73f50d182..e76457da6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sb_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c +index 08c7dc6dd..e49a7f8ed 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c +index 6a41bc26b..00b40281c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c +index 2f7718730..41560af33 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c +index d7f1a68a4..0acf4b349 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sh_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c +index 5b483e4aa..578212898 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c +index 62121ce0a..8249c4c3f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1sw_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c +index 8fe13411f..e59c451f7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c +index 50122e3b7..d788576e2 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c +index d7cce11b6..b21fdb964 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c +index 7bf82c3b6..1ae41b002 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c +index e2fef064b..e3d8fb3b5 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c +index 57c61e122..df9a0c07f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1ub_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c +index ed9686c4e..c3467d846 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c +index a3107f562..bf3355e99 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c +index 93d5abaf7..bcc3eb3fd 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c +index 32d36a84c..4c01c13ac 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uh_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c +index 373922791..3c6556591 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c +index b3c3be1d0..b222a0dc6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ldnf1uw_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f32.c +index f66dbf397..e1c7f47dc 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-require-effective-target aarch64_asm_f32mm_ok } */ + /* { dg-additional-options "-march=armv8.2-a+f32mm" } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f64.c +index 49dc0607c..c45caa700 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-require-effective-target aarch64_asm_f64mm_ok } */ + /* { dg-additional-options "-march=armv8.2-a+f64mm" } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_s32.c +index e7ce009ac..dc155461c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-require-effective-target aarch64_asm_i8mm_ok } */ + /* { dg-additional-options "-march=armv8.2-a+sve+i8mm" } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_u32.c +index 81f5166fb..43d601a47 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/mmla_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-require-effective-target aarch64_asm_i8mm_ok } */ + /* { dg-additional-options "-march=armv8.2-a+sve+i8mm" } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfb_gather.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfb_gather.c +index c4bfbbbf7..f32cfbfcb 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfb_gather.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfb_gather.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfd_gather.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfd_gather.c +index a84acb1a1..8a4293b62 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfd_gather.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfd_gather.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfh_gather.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfh_gather.c +index 04b7a1575..6beca4b8e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfh_gather.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfh_gather.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfw_gather.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfw_gather.c +index 2bbae1b9e..6af44ac82 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfw_gather.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/prfw_gather.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/rdffr_1.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/rdffr_1.c +index 5564e967f..7e28ef641 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/rdffr_1.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/rdffr_1.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c +index cb6774ad0..1efd43445 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c +index fe978bbe5..f50c43e83 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c +index d244e701a..bb6fb10b8 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c +index 5c4ebf440..19ec78e9e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c +index fe3f7259f..57fbb91b0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c +index 232123566..60018be5b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c +index d59033356..fb1bb29db 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c +index c7a35f1b4..65ee9a071 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c +index e098cb9b7..ceec61939 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c +index 058d1313f..aeedbc6d7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1b_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c +index 2a23d41f3..2d69d085b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c +index 6a1adb056..3e5733ef9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c +index 12197315d..5cd330a3d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c +index 7021ea68f..0ee9948cb 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1h_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c +index 2363f592b..f18bedce1 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c +index 767c009b4..6850865ec 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/st1w_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h +index 2da61ff5c..d8916809b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h +@@ -11,10 +11,17 @@ + #error "Please define -DTEST_OVERLOADS or -DTEST_FULL" + #endif + ++#ifdef STREAMING_COMPATIBLE ++#define ATTR __arm_streaming_compatible ++#else ++#define ATTR ++#endif ++ + #ifdef __cplusplus +-#define PROTO(NAME, RET, ARGS) extern "C" RET NAME ARGS; RET NAME ARGS ++#define PROTO(NAME, RET, ARGS) \ ++ extern "C" RET NAME ARGS ATTR; RET NAME ARGS ATTR + #else +-#define PROTO(NAME, RET, ARGS) RET NAME ARGS ++#define PROTO(NAME, RET, ARGS) RET NAME ARGS ATTR + #endif + + #define TEST_UNIFORM_Z(NAME, TYPE, CODE1, CODE2) \ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f16.c +index 3a00716e3..c0b03a0d3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f32.c +index b73d420fb..8eef8a12c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f64.c +index fc31928a6..5c96c5579 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tmad_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f16.c +index 94bc696eb..9deed667f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f32.c +index d0ec91882..749ea8664 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f64.c +index 23e0da3f7..053abcb26 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tsmul_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f16.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f16.c +index e7c3ea03b..3ab251fe0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f32.c +index 022573a19..6c6471c5e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f64.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f64.c +index ffcdf4224..9559e0f35 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/tssel_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/usmmla_s32.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/usmmla_s32.c +index 9440f3fd9..a0dd7e334 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/usmmla_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/usmmla_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-require-effective-target aarch64_asm_i8mm_ok } */ + /* { dg-additional-options "-march=armv8.2-a+sve+i8mm" } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp b/gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp +index e08cd6121..2fb27fb5e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/aarch64-sve2-acle-asm.exp +@@ -52,6 +52,7 @@ if { [info exists gcc_runtest_parallelize_limit_minor] } { + torture-init + set-torture-options { + "-std=c90 -O0 -g" ++ "-std=c90 -O0 -DSTREAMING_COMPATIBLE" + "-std=c90 -O1 -g" + "-std=c99 -O2 -g" + "-std=c11 -O3 -g" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesd_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesd_u8.c +index 622f5cf46..484f7251f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesd_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesd_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aese_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aese_u8.c +index 6555bbb1d..6869bbd05 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aese_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aese_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c +index 4630595ff..534ffe06f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesimc_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c +index 6e8acf48f..1660a8eaf 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/aesmc_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u16.c +index 14230850f..c1a4e1061 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u32.c +index 7f08df4ba..4f14cc4c4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u64.c +index 7f7cbbeeb..091253ec6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u8.c +index b420323b9..deb1ad27d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bdep_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u16.c +index 50a647918..9efa501ef 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u32.c +index 9f98b843c..18963da5b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u64.c +index 9dbaec1b7..91591f93b 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u8.c +index 81ed5a463..1211587ef 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bext_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c +index 70aeae3f3..72868bea7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c +index 6e19e38d8..c8923816f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c +index 27fa40f47..86989529f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c +index b667e03e3..5cd941a7a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/bgrp_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c +index 7bf783a7c..53d6c5c56 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c +index 001f5f0f1..c6d9862e3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c +index d93091adc..cb11a0026 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c +index 3b8898023..0bb06cdb4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histcnt_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_s8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_s8.c +index 380ccdf85..ce3458e5e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_u8.c +index f43292f0c..7b1eff811 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/histseg_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c +index 102810e25..17e3673a4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c +index a0ed71227..8ce32e9f9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c +index 94c64971c..b7e1d7a99 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c +index a0aa6703f..b0789ad21 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c +index e1479684e..df09eaa76 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c +index 77cdcfeba..5f185ea82 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c +index bb729483f..71fece575 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c +index de5b69314..1183e72f0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c +index d01ec18e4..4d5e6e771 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c +index b96e94353..ed329a23f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sb_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c +index 1dcfbc0fb..6dbd6cea0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c +index 4166ed0a6..4ea3335a2 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c +index 7680344da..d55451519 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c +index 2427c83ab..18c8ca44e 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c +index 2f538e847..41bff31d0 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c +index ace1c2f2f..30b8f6948 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1sw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c +index d3b29eb19..8750d11af 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c +index 3bc406620..f7981991a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c +index 0af4b40b8..4d5ee4ef4 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c +index fe28d78ed..005c29c06 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1ub_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c +index 985432615..92613b166 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c +index 3c5baeee6..be2e6d126 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c +index 4d945e9f9..4d122059f 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c +index 680238ac4..e3bc1044c 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uh_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c +index 787ae9def..9efa4b2cb 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c +index 4810bc3c4..4ded4454d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1uw_gather_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s16.c +index baebc7693..d0ce81294 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s8.c +index f35a75379..03473906a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u16.c +index 0bdf4462f..2a8b4d250 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u8.c +index 6d78692bd..8409276d9 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/match_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c +index 935b19a10..044ba1de3 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c +index 8a00b30f3..6c2d890fa 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_s8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c +index 868c20a11..863e31054 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u16.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c +index af6b58165..a62783db7 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/nmatch_u8.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c +index 944609214..1fd85e0ce 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullb_pair_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c +index 90e2e991f..300d885ab 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/pmullt_pair_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_s64.c +index ea80d40db..9dbc71839 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_u64.c +index b237c7edd..5caa2a544 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/rax1_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c +index 0ff5746d8..14194eef6 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4e_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c +index 58ad33c5d..e72384108 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sm4ekey_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c +index 3f928e20e..75539f692 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c +index 8a35c76b9..c0d47d0c1 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_f64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c +index bd6002682..80fb3e869 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c +index 0bfa2616e..edd2bc418 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c +index fbfa008c1..a6e5059de 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c +index c283135c4..067e5b109 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c +index bf6ba5973..498fe82e5 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c +index a24d0c89c..614f5fb1a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c +index 2b05a7720..ce2c482af 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c +index a13c5f5bb..593dc1939 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1b_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c +index 4e012f61f..b9d06c1c5 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c +index e934a708d..006e0e24d 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c +index db21821eb..8cd7cb86a 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u32.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c +index 53f930da1..972ee3689 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1h_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c +index ec6c837d9..368a17c47 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_s64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c +index 3c5d96de4..57d60a350 100644 +--- a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c ++++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1w_scatter_u64.c +@@ -1,3 +1,4 @@ ++/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */ + /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */ + + #include "test_sve_acle.h" +-- +2.33.0 + |