From: Richard Sandiford <richard.sandiford@arm.com>
To: gcc-patches@gcc.gnu.org
Cc: Richard Sandiford <richard.sandiford@arm.com>
Subject: [pushed v2 00/25] aarch64: Add support for SME
Date: Tue, 5 Dec 2023 10:12:58 +0000 [thread overview]
Message-ID: <20231205101323.1914247-1-richard.sandiford@arm.com> (raw)
This is the version of the SME support that I pushed to trunk.
The only significant difference from the original version:
https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637049.html
is that it includes some tweaks to the C overload resolution code,
since it turned out that the current code gives misleading diagnostics
for some SME2 cases.
Retested on aarch64-linux-gnu.
Richard Sandiford (25):
aarch64: Generalise require_immediate_lane_index
aarch64: Use SVE's RDVL instruction
aarch64: Make AARCH64_FL_SVE requirements explicit
aarch64: Add group suffixes to SVE intrinsics
aarch64: Add sve_type to SVE builtins code
aarch64: Generalise some SVE ACLE error messages
aarch64: Replace vague "previous arguments" message
aarch64: Make more use of sve_type in ACLE code
aarch64: Tweak error message for (tuple,vector) pairs
aarch64: Add tuple forms of svreinterpret
aarch64: Add arm_streaming(_compatible) attributes
aarch64: Add +sme
aarch64: Distinguish streaming-compatible AdvSIMD insns
aarch64: Mark relevant SVE instructions as non-streaming
aarch64: Switch PSTATE.SM around calls
aarch64: Add support for SME ZA attributes
aarch64: Add a register class for w12-w15
aarch64: Add a VNx1TI mode
aarch64: Generalise unspec_based_function_base
aarch64: Generalise _m rules for SVE intrinsics
aarch64: Add support for <arm_sme.h>
aarch64: Add support for __arm_locally_streaming
aarch64: Handle PSTATE.SM across abnormal edges
aarch64: Enforce inlining restrictions for SME
aarch64: Update sibcall handling for SME
gcc/config.gcc | 4 +-
gcc/config/aarch64/aarch64-c.cc | 53 +
gcc/config/aarch64/aarch64-isa-modes.def | 40 +
gcc/config/aarch64/aarch64-modes.def | 21 +-
.../aarch64/aarch64-option-extensions.def | 6 +
gcc/config/aarch64/aarch64-passes.def | 1 +
gcc/config/aarch64/aarch64-protos.h | 21 +-
gcc/config/aarch64/aarch64-simd.md | 48 +-
gcc/config/aarch64/aarch64-sme.md | 831 ++++
.../aarch64/aarch64-sve-builtins-base.cc | 5 +-
.../aarch64/aarch64-sve-builtins-base.def | 168 +-
.../aarch64/aarch64-sve-builtins-functions.h | 100 +-
.../aarch64/aarch64-sve-builtins-shapes.cc | 435 ++-
.../aarch64/aarch64-sve-builtins-shapes.h | 14 +
.../aarch64/aarch64-sve-builtins-sme.cc | 412 ++
.../aarch64/aarch64-sve-builtins-sme.def | 76 +
gcc/config/aarch64/aarch64-sve-builtins-sme.h | 57 +
.../aarch64/aarch64-sve-builtins-sve2.cc | 10 +-
.../aarch64/aarch64-sve-builtins-sve2.def | 73 +-
gcc/config/aarch64/aarch64-sve-builtins.cc | 716 +++-
gcc/config/aarch64/aarch64-sve-builtins.def | 45 +-
gcc/config/aarch64/aarch64-sve-builtins.h | 214 +-
gcc/config/aarch64/aarch64-sve.md | 132 +-
gcc/config/aarch64/aarch64-sve2.md | 14 +-
gcc/config/aarch64/aarch64.cc | 3338 ++++++++++++++++-
gcc/config/aarch64/aarch64.h | 196 +-
gcc/config/aarch64/aarch64.md | 176 +-
gcc/config/aarch64/arm_sme.h | 45 +
gcc/config/aarch64/constraints.md | 21 +
gcc/config/aarch64/iterators.md | 124 +-
gcc/config/aarch64/predicates.md | 8 +-
gcc/config/aarch64/t-aarch64 | 27 +-
gcc/doc/invoke.texi | 6 +
gcc/doc/sourcebuild.texi | 2 +
.../aarch64/sme/aarch64-sme-acle-asm.exp | 82 +
.../g++.target/aarch64/sme/aarch64-sme.exp | 46 +
.../g++.target/aarch64/sme/exceptions_1.C | 189 +
.../g++.target/aarch64/sme/exceptions_2.C | 148 +
.../g++.target/aarch64/sme/keyword_macros_1.C | 10 +
.../g++.target/aarch64/sme/streaming_mode_1.C | 142 +
.../g++.target/aarch64/sme/streaming_mode_2.C | 25 +
.../g++.target/aarch64/sve/aarch64-ssve.exp | 308 ++
.../aarch64/sve/acle/aarch64-sve-acle-asm.exp | 1 +
.../sve/acle/general-c++/func_redef_4.c | 3 +-
.../sve/acle/general-c++/func_redef_5.c | 1 +
.../sve/acle/general-c++/func_redef_7.c | 1 +
.../sve2/acle/aarch64-sve2-acle-asm.exp | 1 +
.../gcc.target/aarch64/auto-init-1.c | 3 +-
gcc/testsuite/gcc.target/aarch64/movdf_2.c | 51 +
gcc/testsuite/gcc.target/aarch64/movdi_3.c | 59 +
gcc/testsuite/gcc.target/aarch64/movhf_2.c | 53 +
gcc/testsuite/gcc.target/aarch64/movhi_2.c | 61 +
gcc/testsuite/gcc.target/aarch64/movqi_2.c | 59 +
gcc/testsuite/gcc.target/aarch64/movsf_2.c | 51 +
gcc/testsuite/gcc.target/aarch64/movsi_2.c | 59 +
gcc/testsuite/gcc.target/aarch64/movtf_3.c | 81 +
gcc/testsuite/gcc.target/aarch64/movtf_4.c | 78 +
gcc/testsuite/gcc.target/aarch64/movti_3.c | 86 +
gcc/testsuite/gcc.target/aarch64/movti_4.c | 83 +
gcc/testsuite/gcc.target/aarch64/movv16qi_4.c | 82 +
gcc/testsuite/gcc.target/aarch64/movv16qi_5.c | 79 +
gcc/testsuite/gcc.target/aarch64/movv8qi_4.c | 55 +
.../gcc.target/aarch64/pragma_cpp_predefs_4.c | 38 +
.../aarch64/sme/aarch64-sme-acle-asm.exp | 81 +
.../gcc.target/aarch64/sme/aarch64-sme.exp | 46 +
.../aarch64/sme/acle-asm/addha_za32.c | 48 +
.../aarch64/sme/acle-asm/addha_za64.c | 50 +
.../aarch64/sme/acle-asm/addva_za32.c | 48 +
.../aarch64/sme/acle-asm/addva_za64.c | 50 +
.../aarch64/sme/acle-asm/arm_has_sme_sc.c | 25 +
.../sme/acle-asm/arm_in_streaming_mode_ns.c | 11 +
.../sme/acle-asm/arm_in_streaming_mode_s.c | 11 +
.../sme/acle-asm/arm_in_streaming_mode_sc.c | 26 +
.../gcc.target/aarch64/sme/acle-asm/cntsb_s.c | 310 ++
.../aarch64/sme/acle-asm/cntsb_sc.c | 12 +
.../gcc.target/aarch64/sme/acle-asm/cntsd_s.c | 277 ++
.../aarch64/sme/acle-asm/cntsd_sc.c | 13 +
.../gcc.target/aarch64/sme/acle-asm/cntsh_s.c | 279 ++
.../aarch64/sme/acle-asm/cntsh_sc.c | 13 +
.../gcc.target/aarch64/sme/acle-asm/cntsw_s.c | 278 ++
.../aarch64/sme/acle-asm/cntsw_sc.c | 13 +
.../aarch64/sme/acle-asm/ld1_hor_vnum_za128.c | 77 +
.../aarch64/sme/acle-asm/ld1_hor_vnum_za16.c | 123 +
.../aarch64/sme/acle-asm/ld1_hor_vnum_za32.c | 123 +
.../aarch64/sme/acle-asm/ld1_hor_vnum_za64.c | 112 +
.../aarch64/sme/acle-asm/ld1_hor_vnum_za8.c | 112 +
.../aarch64/sme/acle-asm/ld1_hor_za128.c | 83 +
.../aarch64/sme/acle-asm/ld1_hor_za16.c | 126 +
.../aarch64/sme/acle-asm/ld1_hor_za32.c | 125 +
.../aarch64/sme/acle-asm/ld1_hor_za64.c | 105 +
.../aarch64/sme/acle-asm/ld1_hor_za8.c | 95 +
.../aarch64/sme/acle-asm/ld1_ver_vnum_za128.c | 77 +
.../aarch64/sme/acle-asm/ld1_ver_vnum_za16.c | 123 +
.../aarch64/sme/acle-asm/ld1_ver_vnum_za32.c | 123 +
.../aarch64/sme/acle-asm/ld1_ver_vnum_za64.c | 112 +
.../aarch64/sme/acle-asm/ld1_ver_vnum_za8.c | 112 +
.../aarch64/sme/acle-asm/ld1_ver_za128.c | 83 +
.../aarch64/sme/acle-asm/ld1_ver_za16.c | 126 +
.../aarch64/sme/acle-asm/ld1_ver_za32.c | 125 +
.../aarch64/sme/acle-asm/ld1_ver_za64.c | 105 +
.../aarch64/sme/acle-asm/ld1_ver_za8.c | 95 +
.../aarch64/sme/acle-asm/ldr_vnum_za_s.c | 147 +
.../aarch64/sme/acle-asm/ldr_vnum_za_sc.c | 148 +
.../aarch64/sme/acle-asm/ldr_za_s.c | 124 +
.../aarch64/sme/acle-asm/ldr_za_sc.c | 71 +
.../aarch64/sme/acle-asm/mopa_za32.c | 102 +
.../aarch64/sme/acle-asm/mopa_za64.c | 70 +
.../aarch64/sme/acle-asm/mops_za32.c | 102 +
.../aarch64/sme/acle-asm/mops_za64.c | 70 +
.../aarch64/sme/acle-asm/read_hor_za128.c | 435 +++
.../aarch64/sme/acle-asm/read_hor_za16.c | 207 +
.../aarch64/sme/acle-asm/read_hor_za32.c | 196 +
.../aarch64/sme/acle-asm/read_hor_za64.c | 186 +
.../aarch64/sme/acle-asm/read_hor_za8.c | 125 +
.../aarch64/sme/acle-asm/read_ver_za128.c | 435 +++
.../aarch64/sme/acle-asm/read_ver_za16.c | 207 +
.../aarch64/sme/acle-asm/read_ver_za32.c | 196 +
.../aarch64/sme/acle-asm/read_ver_za64.c | 186 +
.../aarch64/sme/acle-asm/read_ver_za8.c | 125 +
.../aarch64/sme/acle-asm/st1_hor_vnum_za128.c | 77 +
.../aarch64/sme/acle-asm/st1_hor_vnum_za16.c | 123 +
.../aarch64/sme/acle-asm/st1_hor_vnum_za32.c | 123 +
.../aarch64/sme/acle-asm/st1_hor_vnum_za64.c | 112 +
.../aarch64/sme/acle-asm/st1_hor_vnum_za8.c | 112 +
.../aarch64/sme/acle-asm/st1_hor_za128.c | 83 +
.../aarch64/sme/acle-asm/st1_hor_za16.c | 126 +
.../aarch64/sme/acle-asm/st1_hor_za32.c | 125 +
.../aarch64/sme/acle-asm/st1_hor_za64.c | 105 +
.../aarch64/sme/acle-asm/st1_hor_za8.c | 95 +
.../aarch64/sme/acle-asm/st1_ver_vnum_za128.c | 77 +
.../aarch64/sme/acle-asm/st1_ver_vnum_za16.c | 123 +
.../aarch64/sme/acle-asm/st1_ver_vnum_za32.c | 123 +
.../aarch64/sme/acle-asm/st1_ver_vnum_za64.c | 112 +
.../aarch64/sme/acle-asm/st1_ver_vnum_za8.c | 112 +
.../aarch64/sme/acle-asm/st1_ver_za128.c | 83 +
.../aarch64/sme/acle-asm/st1_ver_za16.c | 126 +
.../aarch64/sme/acle-asm/st1_ver_za32.c | 125 +
.../aarch64/sme/acle-asm/st1_ver_za64.c | 105 +
.../aarch64/sme/acle-asm/st1_ver_za8.c | 95 +
.../aarch64/sme/acle-asm/str_vnum_za_s.c | 147 +
.../aarch64/sme/acle-asm/str_vnum_za_sc.c | 148 +
.../aarch64/sme/acle-asm/str_za_s.c | 124 +
.../aarch64/sme/acle-asm/str_za_sc.c | 71 +
.../aarch64/sme/acle-asm/sumopa_za32.c | 30 +
.../aarch64/sme/acle-asm/sumopa_za64.c | 32 +
.../aarch64/sme/acle-asm/sumops_za32.c | 30 +
.../aarch64/sme/acle-asm/sumops_za64.c | 32 +
.../aarch64/sme/acle-asm/test_sme_acle.h | 62 +
.../aarch64/sme/acle-asm/undef_za.c | 33 +
.../aarch64/sme/acle-asm/usmopa_za32.c | 30 +
.../aarch64/sme/acle-asm/usmopa_za64.c | 32 +
.../aarch64/sme/acle-asm/usmops_za32.c | 30 +
.../aarch64/sme/acle-asm/usmops_za64.c | 32 +
.../aarch64/sme/acle-asm/write_hor_za128.c | 193 +
.../aarch64/sme/acle-asm/write_hor_za16.c | 133 +
.../aarch64/sme/acle-asm/write_hor_za32.c | 143 +
.../aarch64/sme/acle-asm/write_hor_za64.c | 133 +
.../aarch64/sme/acle-asm/write_hor_za8.c | 93 +
.../aarch64/sme/acle-asm/write_ver_za128.c | 193 +
.../aarch64/sme/acle-asm/write_ver_za16.c | 133 +
.../aarch64/sme/acle-asm/write_ver_za32.c | 143 +
.../aarch64/sme/acle-asm/write_ver_za64.c | 133 +
.../aarch64/sme/acle-asm/write_ver_za8.c | 93 +
.../aarch64/sme/acle-asm/zero_mask_za.c | 130 +
.../gcc.target/aarch64/sme/acle-asm/zero_za.c | 11 +
.../gcc.target/aarch64/sme/arm_neon_1.c | 13 +
.../gcc.target/aarch64/sme/arm_neon_2.c | 11 +
.../gcc.target/aarch64/sme/arm_neon_3.c | 11 +
.../gcc.target/aarch64/sme/call_sm_switch_1.c | 233 ++
.../aarch64/sme/call_sm_switch_10.c | 37 +
.../gcc.target/aarch64/sme/call_sm_switch_2.c | 43 +
.../gcc.target/aarch64/sme/call_sm_switch_3.c | 166 +
.../gcc.target/aarch64/sme/call_sm_switch_4.c | 43 +
.../gcc.target/aarch64/sme/call_sm_switch_5.c | 318 ++
.../gcc.target/aarch64/sme/call_sm_switch_6.c | 45 +
.../gcc.target/aarch64/sme/call_sm_switch_7.c | 516 +++
.../gcc.target/aarch64/sme/call_sm_switch_8.c | 87 +
.../gcc.target/aarch64/sme/call_sm_switch_9.c | 103 +
.../gcc.target/aarch64/sme/inlining_1.c | 47 +
.../gcc.target/aarch64/sme/inlining_10.c | 57 +
.../gcc.target/aarch64/sme/inlining_11.c | 57 +
.../gcc.target/aarch64/sme/inlining_12.c | 15 +
.../gcc.target/aarch64/sme/inlining_13.c | 15 +
.../gcc.target/aarch64/sme/inlining_14.c | 15 +
.../gcc.target/aarch64/sme/inlining_15.c | 27 +
.../gcc.target/aarch64/sme/inlining_2.c | 47 +
.../gcc.target/aarch64/sme/inlining_3.c | 47 +
.../gcc.target/aarch64/sme/inlining_4.c | 47 +
.../gcc.target/aarch64/sme/inlining_5.c | 47 +
.../gcc.target/aarch64/sme/inlining_6.c | 31 +
.../gcc.target/aarch64/sme/inlining_7.c | 31 +
.../gcc.target/aarch64/sme/inlining_8.c | 31 +
.../gcc.target/aarch64/sme/inlining_9.c | 55 +
.../gcc.target/aarch64/sme/keyword_macros_1.c | 10 +
.../aarch64/sme/locally_streaming_1.c | 466 +++
.../aarch64/sme/locally_streaming_2.c | 177 +
.../aarch64/sme/locally_streaming_3.c | 273 ++
.../aarch64/sme/locally_streaming_4.c | 145 +
.../gcc.target/aarch64/sme/nonlocal_goto_1.c | 58 +
.../gcc.target/aarch64/sme/nonlocal_goto_2.c | 44 +
.../gcc.target/aarch64/sme/nonlocal_goto_3.c | 46 +
.../gcc.target/aarch64/sme/nonlocal_goto_4.c | 25 +
.../gcc.target/aarch64/sme/nonlocal_goto_5.c | 26 +
.../gcc.target/aarch64/sme/nonlocal_goto_6.c | 31 +
.../gcc.target/aarch64/sme/nonlocal_goto_7.c | 25 +
.../gcc.target/aarch64/sme/sibcall_1.c | 45 +
.../gcc.target/aarch64/sme/sibcall_2.c | 45 +
.../gcc.target/aarch64/sme/sibcall_3.c | 45 +
.../gcc.target/aarch64/sme/sibcall_4.c | 45 +
.../gcc.target/aarch64/sme/sibcall_5.c | 45 +
.../gcc.target/aarch64/sme/sibcall_6.c | 26 +
.../gcc.target/aarch64/sme/sibcall_7.c | 26 +
.../gcc.target/aarch64/sme/sibcall_8.c | 19 +
.../gcc.target/aarch64/sme/streaming_mode_1.c | 130 +
.../gcc.target/aarch64/sme/streaming_mode_2.c | 25 +
.../gcc.target/aarch64/sme/streaming_mode_3.c | 63 +
.../gcc.target/aarch64/sme/streaming_mode_4.c | 22 +
.../gcc.target/aarch64/sme/za_state_1.c | 154 +
.../gcc.target/aarch64/sme/za_state_2.c | 73 +
.../gcc.target/aarch64/sme/za_state_3.c | 31 +
.../gcc.target/aarch64/sme/za_state_4.c | 585 +++
.../gcc.target/aarch64/sme/za_state_5.c | 595 +++
.../gcc.target/aarch64/sme/za_state_6.c | 23 +
.../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 +
.../gcc.target/aarch64/sve/acle/asm/cntb.c | 71 +-
.../gcc.target/aarch64/sve/acle/asm/cntd.c | 12 +-
.../gcc.target/aarch64/sve/acle/asm/cnth.c | 20 +-
.../gcc.target/aarch64/sve/acle/asm/cntw.c | 16 +-
.../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 +
.../gcc.target/aarch64/sve/acle/asm/prfb.c | 6 +-
.../aarch64/sve/acle/asm/prfb_gather.c | 1 +
.../gcc.target/aarch64/sve/acle/asm/prfd.c | 4 +-
.../aarch64/sve/acle/asm/prfd_gather.c | 1 +
.../gcc.target/aarch64/sve/acle/asm/prfh.c | 4 +-
.../aarch64/sve/acle/asm/prfh_gather.c | 1 +
.../gcc.target/aarch64/sve/acle/asm/prfw.c | 4 +-
.../aarch64/sve/acle/asm/prfw_gather.c | 1 +
.../gcc.target/aarch64/sve/acle/asm/rdffr_1.c | 1 +
.../aarch64/sve/acle/asm/reinterpret_bf16.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_f16.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_f32.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_f64.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_s16.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_s32.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_s64.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_s8.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_u16.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_u32.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_u64.c | 62 +
.../aarch64/sve/acle/asm/reinterpret_u8.c | 62 +
.../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 | 35 +-
.../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 +
.../aarch64/sve/acle/general-c/adr_index_1.c | 6 +-
.../aarch64/sve/acle/general-c/adr_offset_1.c | 6 +-
.../aarch64/sve/acle/general-c/binary_1.c | 8 +-
.../sve/acle/general-c/binary_int_opt_n.c | 2 +-
.../sve/acle/general-c/binary_lane_1.c | 6 +-
.../sve/acle/general-c/binary_long_lane_1.c | 6 +-
.../sve/acle/general-c/binary_long_opt_n_1.c | 10 +-
.../aarch64/sve/acle/general-c/binary_n_1.c | 2 +-
.../acle/general-c/binary_narrowb_opt_n_1.c | 10 +-
.../acle/general-c/binary_narrowt_opt_n_1.c | 12 +-
.../sve/acle/general-c/binary_opt_n_2.c | 16 +-
.../sve/acle/general-c/binary_opt_n_3.c | 18 +-
.../sve/acle/general-c/binary_rotate_1.c | 6 +-
.../sve/acle/general-c/binary_to_uint_1.c | 8 +-
.../sve/acle/general-c/binary_uint64_n_1.c | 2 +-
.../acle/general-c/binary_uint64_opt_n_2.c | 2 +-
.../sve/acle/general-c/binary_uint_1.c | 2 +-
.../sve/acle/general-c/binary_uint_n_1.c | 2 +-
.../sve/acle/general-c/binary_uint_opt_n_1.c | 2 +-
.../sve/acle/general-c/binary_wide_1.c | 8 +-
.../sve/acle/general-c/binary_wide_opt_n_1.c | 4 +-
.../sve/acle/general-c/binary_za_int_m_1.c | 50 +
.../sve/acle/general-c/binary_za_m_1.c | 49 +
.../sve/acle/general-c/binary_za_m_2.c | 11 +
.../sve/acle/general-c/binary_za_uint_m_1.c | 50 +
.../aarch64/sve/acle/general-c/clast_1.c | 6 +-
.../aarch64/sve/acle/general-c/compare_1.c | 18 +-
.../sve/acle/general-c/compare_opt_n_1.c | 16 +-
.../sve/acle/general-c/compare_wide_opt_n_1.c | 2 +-
.../sve/acle/general-c/count_vector_1.c | 2 +-
.../aarch64/sve/acle/general-c/create_1.c | 10 +-
.../aarch64/sve/acle/general-c/create_3.c | 10 +-
.../aarch64/sve/acle/general-c/create_5.c | 10 +-
.../aarch64/sve/acle/general-c/fold_left_1.c | 4 +-
.../aarch64/sve/acle/general-c/func_redef_4.c | 3 +-
.../aarch64/sve/acle/general-c/func_redef_5.c | 1 +
.../sve/acle/general-c/inc_dec_pred_1.c | 2 +-
.../aarch64/sve/acle/general-c/mmla_1.c | 24 +-
.../acle/general-c/prefetch_gather_offset_2.c | 2 +-
.../aarch64/sve/acle/general-c/read_za_m_1.c | 48 +
.../aarch64/sve/acle/general-c/reduction_1.c | 2 +-
.../sve/acle/general-c/reduction_wide_1.c | 2 +-
.../aarch64/sve/acle/general-c/set_1.c | 4 +-
.../aarch64/sve/acle/general-c/set_3.c | 4 +-
.../aarch64/sve/acle/general-c/set_5.c | 4 +-
.../general-c/shift_right_imm_narrowb_1.c | 2 +-
.../shift_right_imm_narrowb_to_uint_1.c | 2 +-
.../general-c/shift_right_imm_narrowt_1.c | 4 +-
.../shift_right_imm_narrowt_to_uint_1.c | 4 +-
.../aarch64/sve/acle/general-c/store_1.c | 2 +-
.../aarch64/sve/acle/general-c/store_2.c | 2 +-
.../acle/general-c/store_scatter_offset_1.c | 4 +-
.../sve/acle/general-c/ternary_bfloat16_1.c | 2 +-
.../acle/general-c/ternary_bfloat16_lane_1.c | 2 +-
.../general-c/ternary_bfloat16_lanex2_1.c | 2 +-
.../acle/general-c/ternary_bfloat16_opt_n_1.c | 2 +-
.../general-c/ternary_intq_uintq_lane_1.c | 6 +-
.../general-c/ternary_intq_uintq_opt_n_1.c | 4 +-
.../sve/acle/general-c/ternary_lane_1.c | 10 +-
.../acle/general-c/ternary_lane_rotate_1.c | 10 +-
.../sve/acle/general-c/ternary_long_lane_1.c | 6 +-
.../sve/acle/general-c/ternary_long_opt_n_1.c | 4 +-
.../sve/acle/general-c/ternary_opt_n_1.c | 32 +-
.../sve/acle/general-c/ternary_qq_lane_1.c | 6 +-
.../acle/general-c/ternary_qq_lane_rotate_1.c | 6 +-
.../sve/acle/general-c/ternary_qq_opt_n_2.c | 4 +-
.../sve/acle/general-c/ternary_qq_rotate_1.c | 6 +-
.../sve/acle/general-c/ternary_rotate_1.c | 10 +-
.../general-c/ternary_shift_right_imm_1.c | 10 +-
.../sve/acle/general-c/ternary_uint_1.c | 12 +-
.../sve/acle/general-c/ternary_uintq_intq_1.c | 6 +-
.../general-c/ternary_uintq_intq_lane_1.c | 6 +-
.../general-c/ternary_uintq_intq_opt_n_1.c | 4 +-
.../aarch64/sve/acle/general-c/tmad_1.c | 6 +-
.../aarch64/sve/acle/general-c/unary_1.c | 10 +-
.../aarch64/sve/acle/general-c/unary_2.c | 2 +-
.../sve/acle/general-c/unary_convert_1.c | 2 +-
.../sve/acle/general-c/unary_convert_2.c | 2 +-
.../acle/general-c/unary_convert_narrowt_1.c | 2 +-
.../sve/acle/general-c/unary_narrowb_1.c | 2 +-
.../acle/general-c/unary_narrowb_to_uint_1.c | 2 +-
.../sve/acle/general-c/unary_narrowt_1.c | 4 +-
.../acle/general-c/unary_narrowt_to_uint_1.c | 4 +-
.../sve/acle/general-c/unary_to_int_1.c | 2 +-
.../sve/acle/general-c/unary_to_uint_1.c | 2 +-
.../sve/acle/general-c/unary_to_uint_2.c | 2 +-
.../sve/acle/general-c/unary_to_uint_3.c | 2 +-
.../aarch64/sve/acle/general-c/unary_uint_1.c | 2 +-
.../sve/acle/general-c/unary_widen_1.c | 4 +-
.../aarch64/sve/acle/general-c/unary_za_m_1.c | 49 +
.../aarch64/sve/acle/general-c/undeclared_2.c | 2 +-
.../aarch64/sve/acle/general-c/write_za_m_1.c | 48 +
.../gcc.target/aarch64/sve/loop_add_4.c | 6 +-
.../aarch64/sve/pcs/stack_clash_1.c | 3 +-
.../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 +
gcc/testsuite/lib/target-supports.exp | 15 +-
607 files changed, 27288 insertions(+), 1014 deletions(-)
create mode 100644 gcc/config/aarch64/aarch64-isa-modes.def
create mode 100644 gcc/config/aarch64/aarch64-sme.md
create mode 100644 gcc/config/aarch64/aarch64-sve-builtins-sme.cc
create mode 100644 gcc/config/aarch64/aarch64-sve-builtins-sme.def
create mode 100644 gcc/config/aarch64/aarch64-sve-builtins-sme.h
create mode 100644 gcc/config/aarch64/arm_sme.h
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/aarch64-sme-acle-asm.exp
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/aarch64-sme.exp
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/exceptions_1.C
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/exceptions_2.C
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/keyword_macros_1.C
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/streaming_mode_1.C
create mode 100644 gcc/testsuite/g++.target/aarch64/sme/streaming_mode_2.C
create mode 100644 gcc/testsuite/g++.target/aarch64/sve/aarch64-ssve.exp
create mode 100644 gcc/testsuite/gcc.target/aarch64/movdf_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movdi_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movhf_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movhi_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movqi_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movsf_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movsi_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movtf_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movtf_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movti_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movti_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movv16qi_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movv16qi_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/movv8qi_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/aarch64-sme-acle-asm.exp
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/aarch64-sme.exp
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addha_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addha_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addva_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/addva_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_has_sme_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_ns.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/arm_in_streaming_mode_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsb_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsb_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsd_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsd_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsh_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsh_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsw_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/cntsw_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_vnum_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_hor_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_vnum_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ld1_ver_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_vnum_za_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_za_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/ldr_za_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mopa_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mopa_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mops_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/mops_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_vnum_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_hor_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_vnum_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/st1_ver_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_vnum_za_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_vnum_za_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_za_s.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/str_za_sc.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumopa_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumopa_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumops_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/sumops_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/test_sme_acle.h
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/undef_za.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmopa_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmopa_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmops_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/usmops_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za128.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za16.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za32.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za64.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_mask_za.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_za.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/arm_neon_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/arm_neon_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/arm_neon_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_10.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_7.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/call_sm_switch_9.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_10.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_11.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_12.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_13.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_14.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_15.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_7.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/inlining_9.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/keyword_macros_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/locally_streaming_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/locally_streaming_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/locally_streaming_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/locally_streaming_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/nonlocal_goto_7.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_7.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/sibcall_8.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/streaming_mode_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_3.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_5.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/za_state_6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_int_m_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_m_2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_uint_m_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/read_za_m_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/unary_za_m_1.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/write_za_m_1.c
--
2.25.1
next reply other threads:[~2023-12-05 10:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-05 10:12 Richard Sandiford [this message]
2023-12-05 10:12 ` [pushed v2 01/25] aarch64: Generalise require_immediate_lane_index Richard Sandiford
2023-12-05 10:13 ` [pushed v2 02/25] aarch64: Use SVE's RDVL instruction Richard Sandiford
2023-12-05 10:13 ` [pushed v2 03/25] aarch64: Make AARCH64_FL_SVE requirements explicit Richard Sandiford
2023-12-05 10:13 ` [pushed v2 04/25] aarch64: Add group suffixes to SVE intrinsics Richard Sandiford
2023-12-05 10:13 ` [pushed v2 05/25] aarch64: Add sve_type to SVE builtins code Richard Sandiford
2023-12-05 10:13 ` [pushed v2 06/25] aarch64: Generalise some SVE ACLE error messages Richard Sandiford
2023-12-05 10:13 ` [pushed v2 07/25] aarch64: Replace vague "previous arguments" message Richard Sandiford
2023-12-05 10:13 ` [pushed v2 08/25] aarch64: Make more use of sve_type in ACLE code Richard Sandiford
2023-12-05 10:13 ` [pushed v2 09/25] aarch64: Tweak error message for (tuple,vector) pairs Richard Sandiford
2023-12-05 10:13 ` [pushed v2 10/25] aarch64: Add tuple forms of svreinterpret Richard Sandiford
2023-12-05 10:13 ` [pushed v2 11/25] aarch64: Add arm_streaming(_compatible) attributes Richard Sandiford
2023-12-05 10:13 ` [pushed v2 12/25] aarch64: Add +sme Richard Sandiford
2023-12-05 10:13 ` [pushed v2 13/25] aarch64: Distinguish streaming-compatible AdvSIMD insns Richard Sandiford
2023-12-05 10:13 ` [pushed v2 14/25] aarch64: Mark relevant SVE instructions as non-streaming Richard Sandiford
2023-12-05 10:13 ` [pushed v2 15/25] aarch64: Switch PSTATE.SM around calls Richard Sandiford
2023-12-05 10:13 ` [pushed v2 16/25] aarch64: Add support for SME ZA attributes Richard Sandiford
2023-12-05 10:13 ` [pushed v2 17/25] aarch64: Add a register class for w12-w15 Richard Sandiford
2023-12-05 10:13 ` [pushed v2 18/25] aarch64: Add a VNx1TI mode Richard Sandiford
2023-12-05 10:13 ` [pushed v2 19/25] aarch64: Generalise unspec_based_function_base Richard Sandiford
2023-12-05 10:13 ` [pushed v2 20/25] aarch64: Generalise _m rules for SVE intrinsics Richard Sandiford
2023-12-05 10:13 ` [pushed v2 21/25] aarch64: Add support for <arm_sme.h> Richard Sandiford
2023-12-05 10:13 ` [pushed v2 22/25] aarch64: Add support for __arm_locally_streaming Richard Sandiford
2023-12-05 10:13 ` [pushed v2 23/25] aarch64: Handle PSTATE.SM across abnormal edges Richard Sandiford
2023-12-05 10:13 ` [pushed v2 24/25] aarch64: Enforce inlining restrictions for SME Richard Sandiford
2023-12-05 10:13 ` [pushed v2 25/25] aarch64: Update sibcall handling " Richard Sandiford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231205101323.1914247-1-richard.sandiford@arm.com \
--to=richard.sandiford@arm.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).