]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Add support for <arm_sme.h>
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:28 +0000 (10:11 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 5 Dec 2023 10:11:28 +0000 (10:11 +0000)
commit4f6ab9537051e156d52bd8e9df40107ba6685895
treec3e6b40a4f2cbc8b65117437606486e14322e85a
parent8de9304d94d4ec42863a25c1cb1a1ba9a1e3e0fe
aarch64: Add support for <arm_sme.h>

This adds support for the SME parts of arm_sme.h.

gcc/
* doc/invoke.texi: Document +sme-i16i64 and +sme-f64f64.
* config.gcc (aarch64*-*-*): Add arm_sme.h to the list of headers
to install and aarch64-sve-builtins-sme.o to the list of objects
to build.
* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
or undefine TARGET_SME, TARGET_SME_I16I64 and TARGET_SME_F64F64.
(aarch64_pragma_aarch64): Handle arm_sme.h.
* config/aarch64/aarch64-option-extensions.def (sme-i16i64)
(sme-f64f64): New extensions.
* config/aarch64/aarch64-protos.h (aarch64_sme_vq_immediate)
(aarch64_addsvl_addspl_immediate_p, aarch64_output_addsvl_addspl)
(aarch64_output_sme_zero_za): Declare.
(aarch64_output_move_struct): Delete.
(aarch64_sme_ldr_vnum_offset): Declare.
(aarch64_sve::handle_arm_sme_h): Likewise.
* config/aarch64/aarch64.h (AARCH64_ISA_SM_ON): New macro.
(AARCH64_ISA_SME_I16I64, AARCH64_ISA_SME_F64F64): Likewise.
(TARGET_STREAMING, TARGET_STREAMING_SME): Likewise.
(TARGET_SME_I16I64, TARGET_SME_F64F64): Likewise.
* config/aarch64/aarch64.cc (aarch64_sve_rdvl_factor_p): Rename to...
(aarch64_sve_rdvl_addvl_factor_p): ...this.
(aarch64_sve_rdvl_immediate_p): Update accordingly.
(aarch64_rdsvl_immediate_p, aarch64_add_offset): Likewise.
(aarch64_sme_vq_immediate): Likewise.  Make public.
(aarch64_sve_addpl_factor_p): New function.
(aarch64_sve_addvl_addpl_immediate_p): Use
aarch64_sve_rdvl_addvl_factor_p and aarch64_sve_addpl_factor_p.
(aarch64_addsvl_addspl_immediate_p): New function.
(aarch64_output_addsvl_addspl): Likewise.
(aarch64_cannot_force_const_mem): Return true for RDSVL immediates.
(aarch64_classify_index): Handle .Q scaling for VNx1TImode.
(aarch64_classify_address): Likewise for vnum offsets.
(aarch64_output_sme_zero_za): New function.
(aarch64_sme_ldr_vnum_offset_p): Likewise.
* config/aarch64/predicates.md (aarch64_addsvl_addspl_immediate):
New predicate.
(aarch64_pluslong_operand): Include it for SME.
* config/aarch64/constraints.md (Ucj, Uav): New constraints.
* config/aarch64/iterators.md (VNx1TI_ONLY): New mode iterator.
(SME_ZA_I, SME_ZA_SDI, SME_ZA_SDF_I, SME_MOP_BHI): Likewise.
(SME_MOP_HSDF): Likewise.
(UNSPEC_SME_ADDHA, UNSPEC_SME_ADDVA, UNSPEC_SME_FMOPA)
(UNSPEC_SME_FMOPS, UNSPEC_SME_LD1_HOR, UNSPEC_SME_LD1_VER)
(UNSPEC_SME_READ_HOR, UNSPEC_SME_READ_VER, UNSPEC_SME_SMOPA)
(UNSPEC_SME_SMOPS, UNSPEC_SME_ST1_HOR, UNSPEC_SME_ST1_VER)
(UNSPEC_SME_SUMOPA, UNSPEC_SME_SUMOPS, UNSPEC_SME_UMOPA)
(UNSPEC_SME_UMOPS, UNSPEC_SME_USMOPA, UNSPEC_SME_USMOPS)
(UNSPEC_SME_WRITE_HOR, UNSPEC_SME_WRITE_VER): New unspecs.
(elem_bits): Handle x2 and x4 structure modes, plus VNx1TI.
(Vetype, Vesize, VPRED): Handle VNx1TI.
(b): New mode attribute.
(SME_LD1, SME_READ, SME_ST1, SME_WRITE, SME_BINARY_SDI, SME_INT_MOP)
(SME_FP_MOP): New int iterators.
(optab): Handle SME unspecs.
(hv): New int attribute.
* config/aarch64/aarch64.md (*add<mode>3_aarch64): Handle ADDSVL
and ADDSPL.
* config/aarch64/aarch64-sme.md (UNSPEC_SME_LDR): New unspec.
(@aarch64_sme_<optab><mode>, @aarch64_sme_<optab><mode>_plus)
(aarch64_sme_ldr0, @aarch64_sme_ldrn<mode>): New patterns.
(UNSPEC_SME_STR): New unspec.
(@aarch64_sme_<optab><mode>, @aarch64_sme_<optab><mode>_plus)
(aarch64_sme_str0, @aarch64_sme_strn<mode>): New patterns.
(@aarch64_sme_<optab><v_int_container><mode>): Likewise.
(*aarch64_sme_<optab><v_int_container><mode>_plus): Likewise.
(@aarch64_sme_<optab><VNx1TI_ONLY:mode><SVE_FULL:mode>): Likewise.
(@aarch64_sme_<optab><v_int_container><mode>): Likewise.
(*aarch64_sme_<optab><v_int_container><mode>_plus): Likewise.
(@aarch64_sme_<optab><VNx1TI_ONLY:mode><SVE_FULL:mode>): Likewise.
(UNSPEC_SME_ZERO): New unspec.
(aarch64_sme_zero): New pattern.
(@aarch64_sme_<SME_BINARY_SDI:optab><mode>): Likewise.
(@aarch64_sme_<SME_INT_MOP:optab><mode>): Likewise.
(@aarch64_sme_<SME_FP_MOP:optab><mode>): Likewise.
* config/aarch64/aarch64-sve-builtins.def: Add ZA type suffixes.
Include aarch64-sve-builtins-sme.def.
(DEF_SME_ZA_FUNCTION): New macro.
* config/aarch64/aarch64-sve-builtins.h (CP_READ_ZA): New call
property.
(CP_WRITE_ZA): Likewise.
(PRED_za_m): New predication type.
(type_suffix_index): Handle DEF_SME_ZA_SUFFIX.
(type_suffix_info): Add vector_p and za_p fields.
(function_instance::num_za_tiles): New member function.
(function_builder::get_attributes): Add an aarch64_feature_flags
argument.
(function_expander::get_contiguous_base): Take a base argument
number, a vnum argument number, and an argument that indicates
whether the vnum parameter is a factor of the SME vector length
or the prevailing vector length.
(function_expander::add_integer_operand): Take a poly_int64.
(sve_switcher::sve_switcher): Take a base set of flags.
(sme_switcher): New class.
(scalar_types): Add a null entry for NUM_VECTOR_TYPES.
* config/aarch64/aarch64-sve-builtins.cc: Include
aarch64-sve-builtins-sme.h.
(pred_suffixes): Add an entry for PRED_za_m.
(type_suffixes): Initialize vector_p and za_p.  Handle ZA suffixes.
(TYPES_all_za, TYPES_d_za, TYPES_za_bhsd_data, TYPES_za_all_data)
(TYPES_za_s_integer, TYPES_za_d_integer, TYPES_mop_base)
(TYPES_mop_base_signed, TYPES_mop_base_unsigned, TYPES_mop_i16i64)
(TYPES_mop_i16i64_signed, TYPES_mop_i16i64_unsigned, TYPES_za): New
type suffix macros.
(preds_m, preds_za_m): New predication lists.
(function_groups): Handle DEF_SME_ZA_FUNCTION.
(scalar_types): Add an entry for NUM_VECTOR_TYPES.
(find_type_suffix_for_scalar_type): Check positively for vectors
rather than negatively for predicates.
(check_required_extensions): Handle PSTATE.SM and PSTATE.ZA
requirements.
(report_out_of_range): Handle the case where the minimum and
maximum are the same.
(function_instance::reads_global_state_p): Return true for functions
that read ZA.
(function_instance::modifies_global_state_p): Return true for functions
that write to ZA.
(sve_switcher::sve_switcher): Add a base flags argument.
(function_builder::get_name): Handle "__arm_" prefixes.
(add_attribute): Add an overload that takes a namespaces.
(add_shared_state_attribute): New function.
(function_builder::get_attributes): Take the required feature flags
as argument.  Add streaming and ZA attributes where appropriate.
(function_builder::add_unique_function): Update calls accordingly.
(function_resolver::check_gp_argument): Assert that the predication
isn't ZA _m predication.
(function_checker::function_checker): Don't bias the argument
number for ZA _m predication.
(function_expander::get_contiguous_base): Add arguments that
specify the base argument number, the vnum argument number,
and an argument that indicates whether the vnum parameter is
a factor of the SME vector length or the prevailing vector length.
Handle the SME case.
(function_expander::add_input_operand): Handle pmode_register_operand.
(function_expander::add_integer_operand): Take a poly_int64.
(init_builtins): Call handle_arm_sme_h for LTO.
(handle_arm_sve_h): Skip SME intrinsics.
(handle_arm_sme_h): New function.
* config/aarch64/aarch64-sve-builtins-functions.h
(read_write_za, write_za): New classes.
(unspec_based_sme_function, za_arith_function): New using aliases.
(quiet_za_arith_function): Likewise.
* config/aarch64/aarch64-sve-builtins-shapes.h
(binary_za_int_m, binary_za_m, binary_za_uint_m, bool_inherent)
(inherent_za, inherent_mask_za, ldr_za, load_za, read_za_m, store_za)
(str_za, unary_za_m, write_za_m): Declare.
* config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication):
Expect za_m functions to have an existing governing predicate.
(binary_za_m_base, binary_za_int_m_def, binary_za_m_def): New classes.
(binary_za_uint_m_def, bool_inherent_def, inherent_za_def): Likewise.
(inherent_mask_za_def, ldr_za_def, load_za_def, read_za_m_def)
(store_za_def, str_za_def, unary_za_m_def, write_za_m_def): Likewise.
* config/aarch64/arm_sme.h: New file.
* config/aarch64/aarch64-sve-builtins-sme.h: Likewise.
* config/aarch64/aarch64-sve-builtins-sme.cc: Likewise.
* config/aarch64/aarch64-sve-builtins-sme.def: Likewise.
* config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on
aarch64-sve-builtins-sme.def and aarch64-sve-builtins-sme.h.
(aarch64-sve-builtins-sme.o): New rule.

gcc/testsuite/
* lib/target-supports.exp: Add sme and sme-i16i64 features.
* gcc.target/aarch64/pragma_cpp_predefs_4.c: Test __ARM_FEATURE_SME*
macros.
* gcc.target/aarch64/sve/acle/asm/test_sve_acle.h: Allow functions
to be marked as __arm_streaming, __arm_streaming_compatible, and
__arm_inout("za").
* g++.target/aarch64/sve/acle/general-c++/func_redef_4.c: Mark the
function as __arm_streaming_compatible.
* g++.target/aarch64/sve/acle/general-c++/func_redef_5.c: Likewise.
* g++.target/aarch64/sve/acle/general-c++/func_redef_7.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/func_redef_4.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/func_redef_5.c: Likewise.
* g++.target/aarch64/sme/aarch64-sme-acle-asm.exp: New test harness.
* gcc.target/aarch64/sme/aarch64-sme-acle-asm.exp: Likewise.
* gcc.target/aarch64/sve/acle/general-c/binary_za_int_m_1.c: New test.
* gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/binary_za_m_2.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/binary_za_uint_m_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/read_za_m_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/unary_za_m_1.c: Likewise.
* gcc.target/aarch64/sve/acle/general-c/write_za_m_1.c: Likewise.
140 files changed:
gcc/config.gcc
gcc/config/aarch64/aarch64-c.cc
gcc/config/aarch64/aarch64-option-extensions.def
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64-sme.md
gcc/config/aarch64/aarch64-sve-builtins-functions.h
gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
gcc/config/aarch64/aarch64-sve-builtins-shapes.h
gcc/config/aarch64/aarch64-sve-builtins-sme.cc [new file with mode: 0644]
gcc/config/aarch64/aarch64-sve-builtins-sme.def [new file with mode: 0644]
gcc/config/aarch64/aarch64-sve-builtins-sme.h [new file with mode: 0644]
gcc/config/aarch64/aarch64-sve-builtins.cc
gcc/config/aarch64/aarch64-sve-builtins.def
gcc/config/aarch64/aarch64-sve-builtins.h
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/aarch64.h
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/arm_sme.h [new file with mode: 0644]
gcc/config/aarch64/constraints.md
gcc/config/aarch64/iterators.md
gcc/config/aarch64/predicates.md
gcc/config/aarch64/t-aarch64
gcc/doc/invoke.texi
gcc/testsuite/g++.target/aarch64/sme/aarch64-sme-acle-asm.exp [new file with mode: 0644]
gcc/testsuite/g++.target/aarch64/sve/acle/general-c++/func_redef_4.c
gcc/testsuite/g++.target/aarch64/sve/acle/general-c++/func_redef_5.c
gcc/testsuite/g++.target/aarch64/sve/acle/general-c++/func_redef_7.c
gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c
gcc/testsuite/gcc.target/aarch64/sme/aarch64-sme-acle-asm.exp [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addha_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addha_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addva_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addva_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_has_sme_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_ns.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsb_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsb_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsd_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsd_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsh_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsh_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsw_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsw_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_za_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_za_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mopa_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mopa_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mops_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mops_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_vnum_za_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_vnum_za_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_za_s.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_za_sc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumopa_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumopa_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumops_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumops_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/test_sme_acle.h [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/undef_za.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmopa_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmopa_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmops_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmops_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za128.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za16.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_mask_za.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_za.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_int_m_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_m_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_uint_m_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/func_redef_4.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/func_redef_5.c
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/read_za_m_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/unary_za_m_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/write_za_m_1.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp