Hi gcc-patches mailing list, Claudio Bantaloukas <[email protected]> has requested that the following forgejo pull request be published on the mailing list.
Created on: 2025-11-05 10:06:07+00:00 Latest update: 2025-11-05 10:24:33+00:00 Changes: 131 changed files, 14286 additions, 45 deletions Head revision: rdfm/gcc-TEST ref gcc-fp8-sme commit d24f7e6be8a6faf2f4a58b87a8639cbbbbff9f1d Base revision: gcc/gcc-TEST ref trunk commit 7c4f8ae20cc09e8732739ac839c845ba8c2991c0 r16-5041-g7c4f8ae20cc09e Merge base: 7c4f8ae20cc09e8732739ac839c845ba8c2991c0 Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/120.diff Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/120 Requested Reviewers: This patch series completes support for SME2 and SME2p1 intrinsics relative to modal 8bit floating point types. - The first patch in the series introduces tests for using luti intrinsics with mf8 that was already working since their introduction, now that their use is documented in ACLE. - The second patch extends the definitions of existing non-interpreting sve2/sme intrinsics to support mfloat8 types. - The third and fourth patches add widening and narrowing sme2 fp8 conversions respectively (svcvt). - The fifth patch adds multi-vector floating-point adjust exponent intrinsics (svscale) - The sixth patch adds support for the sme-f8f16 and sme-f8f32 arch features and related defines. - The seventh patch adds Multi-vector 8-bit floating-point multiply-add long (svmla) variants on sme-f8f16 and sme-f8f32. - The eighth patch adds 8-bit floating-point sum of outer products and accumulate (svmopa) on sme-f8f16 and sme-f8f32. - The ninth patch adds 8-bit floating point dot product operations on sme-f8f16 and sme-f8f32. Regression tested on aarch64-unknown-linux-gnu. OK to merge? Thanks, Claudio Bantaloukas Changed files: - A: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/revd_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtl_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za16_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za16_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za16_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za16_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za32_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za32_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za16_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za16_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za32_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za32_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ld1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ld1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ldnt1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ldnt1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x1.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x1.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x1.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x1.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za16_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za32_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_ver_za128.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/sel_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/sel_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/st1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/st1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/stnt1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/stnt1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzp_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzp_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzpq_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzpq_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdot_lane_za16_mf8_vg1x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdotb_lane_za32_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdott_lane_za32_mf8_vg1x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zip_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zip_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zipq_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zipq_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/dot_half_za_slice_lane_fpm.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_mf8_x4.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_mf8.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_mf8_x2.c - A: gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_mf8_x4.c - M: gcc/config/aarch64/aarch64-c.cc - M: gcc/config/aarch64/aarch64-option-extensions.def - M: gcc/config/aarch64/aarch64-sme.md - M: gcc/config/aarch64/aarch64-sve-builtins-base.cc - M: gcc/config/aarch64/aarch64-sve-builtins-functions.h - M: gcc/config/aarch64/aarch64-sve-builtins-shapes.cc - M: gcc/config/aarch64/aarch64-sve-builtins-shapes.h - M: gcc/config/aarch64/aarch64-sve-builtins-sme.cc - M: gcc/config/aarch64/aarch64-sve-builtins-sme.def - M: gcc/config/aarch64/aarch64-sve-builtins-sme.h - M: gcc/config/aarch64/aarch64-sve-builtins-sve2.cc - M: gcc/config/aarch64/aarch64-sve-builtins-sve2.def - M: gcc/config/aarch64/aarch64-sve-builtins-sve2.h - M: gcc/config/aarch64/aarch64-sve-builtins.cc - M: gcc/config/aarch64/aarch64-sve2.md - M: gcc/config/aarch64/aarch64.h - M: gcc/config/aarch64/iterators.md - M: gcc/doc/invoke.texi - M: gcc/testsuite/g++.target/aarch64/sme2/aarch64-sme2-acle-asm.exp - M: gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za128.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_hor_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za128.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/read_ver_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/test_sme_acle.h - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za128.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_hor_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za128.c - M: gcc/testsuite/gcc.target/aarch64/sme/acle-asm/write_ver_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme2/aarch64-sme2-acle-asm.exp - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_hor_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_ver_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/read_za8_vg1x4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_hor_za128.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_hor_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_hor_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_ver_za8.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_ver_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_za8_vg1x4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/test_sme2_acle.h - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_hor_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_ver_za8_vg4.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x2.c - M: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/write_za8_vg1x4.c - M: gcc/testsuite/gcc.target/aarch64/sve/acle/asm/test_sve_acle.h - M: gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_m_1.c - M: gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_slice_lane_1.c - M: gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/binary_za_slice_opt_single_1.c - M: gcc/testsuite/lib/target-supports.exp Claudio Bantaloukas (8): aarch64: add tests for mfloat8 luti functions aarch64: extend sme intrinsics to mfp8 aarch64: add widening sme2 fp8 conversions aarch64: add narrowing sme2 conversions to fp8 aarch64: add multi-vector floating-point adjust exponent intrinsics aarch64: add basic support for sme-f8f16 and sme-f8f32 aarch64: add Multi-vector 8-bit floating-point multiply-add long aarch64: add 8-bit floating-point sum of outer products and accumulate Karl Meakin (1): aarch64: add 8-bit floating point dot product gcc/config/aarch64/aarch64-c.cc | 4 + .../aarch64/aarch64-option-extensions.def | 4 + gcc/config/aarch64/aarch64-sme.md | 578 ++++++++++++++++++ .../aarch64/aarch64-sve-builtins-base.cc | 49 +- .../aarch64/aarch64-sve-builtins-functions.h | 23 +- .../aarch64/aarch64-sve-builtins-shapes.cc | 43 +- .../aarch64/aarch64-sve-builtins-shapes.h | 1 + .../aarch64/aarch64-sve-builtins-sme.cc | 20 +- .../aarch64/aarch64-sve-builtins-sme.def | 55 +- gcc/config/aarch64/aarch64-sve-builtins-sme.h | 2 + .../aarch64/aarch64-sve-builtins-sve2.cc | 2 + .../aarch64/aarch64-sve-builtins-sve2.def | 12 + .../aarch64/aarch64-sve-builtins-sve2.h | 2 + gcc/config/aarch64/aarch64-sve-builtins.cc | 30 +- gcc/config/aarch64/aarch64-sve2.md | 52 +- gcc/config/aarch64/aarch64.h | 10 + gcc/config/aarch64/iterators.md | 73 ++- gcc/doc/invoke.texi | 6 + .../aarch64/sme2/aarch64-sme2-acle-asm.exp | 5 +- .../gcc.target/aarch64/pragma_cpp_predefs_4.c | 34 ++ .../aarch64/sme/acle-asm/read_hor_za128.c | 31 + .../aarch64/sme/acle-asm/read_hor_za8.c | 31 + .../aarch64/sme/acle-asm/read_ver_za128.c | 31 + .../aarch64/sme/acle-asm/read_ver_za8.c | 31 + .../aarch64/sme/acle-asm/revd_mf8.c | 76 +++ .../aarch64/sme/acle-asm/test_sme_acle.h | 2 +- .../aarch64/sme/acle-asm/write_hor_za128.c | 10 + .../aarch64/sme/acle-asm/write_hor_za8.c | 10 + .../aarch64/sme/acle-asm/write_ver_za128.c | 10 + .../aarch64/sme/acle-asm/write_ver_za8.c | 10 + .../aarch64/sme2/aarch64-sme2-acle-asm.exp | 5 +- .../aarch64/sme2/acle-asm/cvt_mf8.c | 47 ++ .../aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c | 56 ++ .../aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c | 56 ++ .../aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c | 72 +++ .../aarch64/sme2/acle-asm/cvtl_mf8.c | 47 ++ .../aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c | 72 +++ .../sme2/acle-asm/dot_lane_za16_mf8_vg1x2.c | 109 ++++ .../sme2/acle-asm/dot_lane_za16_mf8_vg1x4.c | 115 ++++ .../sme2/acle-asm/dot_lane_za32_mf8_vg1x2.c | 109 ++++ .../sme2/acle-asm/dot_lane_za32_mf8_vg1x4.c | 115 ++++ .../sme2/acle-asm/dot_single_za16_mf8_vg1x2.c | 115 ++++ .../sme2/acle-asm/dot_single_za16_mf8_vg1x4.c | 115 ++++ .../sme2/acle-asm/dot_single_za32_mf8_vg1x2.c | 115 ++++ .../sme2/acle-asm/dot_single_za32_mf8_vg1x4.c | 115 ++++ .../sme2/acle-asm/dot_za16_mf8_vg1x2.c | 136 +++++ .../sme2/acle-asm/dot_za16_mf8_vg1x4.c | 152 +++++ .../sme2/acle-asm/dot_za32_mf8_vg1x2.c | 137 +++++ .../sme2/acle-asm/dot_za32_mf8_vg1x4.c | 153 +++++ .../aarch64/sme2/acle-asm/ld1_mf8_x2.c | 262 ++++++++ .../aarch64/sme2/acle-asm/ld1_mf8_x4.c | 354 +++++++++++ .../aarch64/sme2/acle-asm/ldnt1_mf8_x2.c | 262 ++++++++ .../aarch64/sme2/acle-asm/ldnt1_mf8_x4.c | 354 +++++++++++ .../aarch64/sme2/acle-asm/luti2_mf8.c | 48 ++ .../aarch64/sme2/acle-asm/luti2_mf8_x2.c | 50 ++ .../aarch64/sme2/acle-asm/luti2_mf8_x4.c | 56 ++ .../aarch64/sme2/acle-asm/luti4_mf8.c | 48 ++ .../aarch64/sme2/acle-asm/luti4_mf8_x2.c | 50 ++ .../sme2/acle-asm/mla_lane_za16_mf8_vg2x1.c | 167 +++++ .../sme2/acle-asm/mla_lane_za16_mf8_vg2x2.c | 136 +++++ .../sme2/acle-asm/mla_lane_za16_mf8_vg2x4.c | 142 +++++ .../sme2/acle-asm/mla_lane_za32_mf8_vg4x1.c | 169 +++++ .../sme2/acle-asm/mla_lane_za32_mf8_vg4x2.c | 137 +++++ .../sme2/acle-asm/mla_lane_za32_mf8_vg4x4.c | 143 +++++ .../sme2/acle-asm/mla_za16_mf8_vg2x1.c | 167 +++++ .../sme2/acle-asm/mla_za16_mf8_vg2x2.c | 285 +++++++++ .../sme2/acle-asm/mla_za16_mf8_vg2x4.c | 287 +++++++++ .../sme2/acle-asm/mla_za32_mf8_vg4x1.c | 167 +++++ .../sme2/acle-asm/mla_za32_mf8_vg4x2.c | 277 +++++++++ .../sme2/acle-asm/mla_za32_mf8_vg4x4.c | 289 +++++++++ .../aarch64/sme2/acle-asm/mopa_za16_mf8.c | 36 ++ .../aarch64/sme2/acle-asm/mopa_za32_mf8.c | 36 ++ .../aarch64/sme2/acle-asm/read_hor_za8_vg2.c | 78 +++ .../aarch64/sme2/acle-asm/read_hor_za8_vg4.c | 91 +++ .../aarch64/sme2/acle-asm/read_ver_za8_vg2.c | 78 +++ .../aarch64/sme2/acle-asm/read_ver_za8_vg4.c | 91 +++ .../aarch64/sme2/acle-asm/read_za8_vg1x2.c | 48 ++ .../aarch64/sme2/acle-asm/read_za8_vg1x4.c | 54 ++ .../aarch64/sme2/acle-asm/readz_hor_za128.c | 10 + .../aarch64/sme2/acle-asm/readz_hor_za8.c | 10 + .../aarch64/sme2/acle-asm/readz_hor_za8_vg2.c | 78 +++ .../aarch64/sme2/acle-asm/readz_hor_za8_vg4.c | 91 +++ .../aarch64/sme2/acle-asm/readz_ver_za128.c | 197 ++++++ .../aarch64/sme2/acle-asm/readz_ver_za8.c | 10 + .../aarch64/sme2/acle-asm/readz_ver_za8_vg2.c | 77 +++ .../aarch64/sme2/acle-asm/readz_ver_za8_vg4.c | 90 +++ .../aarch64/sme2/acle-asm/readz_za8_vg1x2.c | 48 ++ .../aarch64/sme2/acle-asm/readz_za8_vg1x4.c | 56 ++ .../aarch64/sme2/acle-asm/scale_f16_x2.c | 192 ++++++ .../aarch64/sme2/acle-asm/scale_f16_x4.c | 229 +++++++ .../aarch64/sme2/acle-asm/scale_f32_x2.c | 208 +++++++ .../aarch64/sme2/acle-asm/scale_f32_x4.c | 229 +++++++ .../aarch64/sme2/acle-asm/scale_f64_x2.c | 208 +++++++ .../aarch64/sme2/acle-asm/scale_f64_x4.c | 229 +++++++ .../aarch64/sme2/acle-asm/sel_mf8_x2.c | 92 +++ .../aarch64/sme2/acle-asm/sel_mf8_x4.c | 92 +++ .../aarch64/sme2/acle-asm/st1_mf8_x2.c | 262 ++++++++ .../aarch64/sme2/acle-asm/st1_mf8_x4.c | 354 +++++++++++ .../aarch64/sme2/acle-asm/stnt1_mf8_x2.c | 262 ++++++++ .../aarch64/sme2/acle-asm/stnt1_mf8_x4.c | 354 +++++++++++ .../aarch64/sme2/acle-asm/test_sme2_acle.h | 12 +- .../aarch64/sme2/acle-asm/uzp_mf8_x2.c | 77 +++ .../aarch64/sme2/acle-asm/uzp_mf8_x4.c | 73 +++ .../aarch64/sme2/acle-asm/uzpq_mf8_x2.c | 77 +++ .../aarch64/sme2/acle-asm/uzpq_mf8_x4.c | 73 +++ .../sme2/acle-asm/vdot_lane_za16_mf8_vg1x2.c | 109 ++++ .../sme2/acle-asm/vdotb_lane_za32_mf8_vg1x4.c | 109 ++++ .../sme2/acle-asm/vdott_lane_za32_mf8_vg1x4.c | 109 ++++ .../aarch64/sme2/acle-asm/write_hor_za8_vg2.c | 78 +++ .../aarch64/sme2/acle-asm/write_hor_za8_vg4.c | 91 +++ .../aarch64/sme2/acle-asm/write_ver_za8_vg2.c | 78 +++ .../aarch64/sme2/acle-asm/write_ver_za8_vg4.c | 91 +++ .../aarch64/sme2/acle-asm/write_za8_vg1x2.c | 48 ++ .../aarch64/sme2/acle-asm/write_za8_vg1x4.c | 54 ++ .../aarch64/sme2/acle-asm/zip_mf8_x2.c | 77 +++ .../aarch64/sme2/acle-asm/zip_mf8_x4.c | 73 +++ .../aarch64/sme2/acle-asm/zipq_mf8_x2.c | 77 +++ .../aarch64/sme2/acle-asm/zipq_mf8_x4.c | 73 +++ .../aarch64/sve/acle/asm/test_sve_acle.h | 3 + .../sve/acle/general-c/binary_za_m_1.c | 14 + .../acle/general-c/binary_za_slice_lane_1.c | 14 + .../general-c/binary_za_slice_opt_single_1.c | 16 + .../general-c/dot_half_za_slice_lane_fpm.c | 106 ++++ .../aarch64/sve2/acle/asm/ld1_mf8_x2.c | 269 ++++++++ .../aarch64/sve2/acle/asm/ld1_mf8_x4.c | 361 +++++++++++ .../aarch64/sve2/acle/asm/ldnt1_mf8_x2.c | 269 ++++++++ .../aarch64/sve2/acle/asm/ldnt1_mf8_x4.c | 361 +++++++++++ .../aarch64/sve2/acle/asm/revd_mf8.c | 80 +++ .../aarch64/sve2/acle/asm/stnt1_mf8_x2.c | 269 ++++++++ .../aarch64/sve2/acle/asm/stnt1_mf8_x4.c | 361 +++++++++++ gcc/testsuite/lib/target-supports.exp | 1 + 131 files changed, 14286 insertions(+), 45 deletions(-) create mode 100644 gcc/testsuite/gcc.target/aarch64/sme/acle-asm/revd_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_bf16_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f16_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvt_mf8_f32_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtl_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/cvtn_mf8_f32_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za16_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za16_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_za32_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za16_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za16_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za32_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_single_za32_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za16_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za16_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za32_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_za32_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ld1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ld1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ldnt1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/ldnt1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za16_mf8_vg2x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_lane_za32_mf8_vg4x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za16_mf8_vg2x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x1.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mla_za32_mf8_vg4x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za16_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/mopa_za32_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/readz_ver_za128.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f16_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f32_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/scale_f64_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/sel_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/sel_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/st1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/st1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/stnt1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/stnt1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzp_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzp_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzpq_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/uzpq_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdot_lane_za16_mf8_vg1x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdotb_lane_za32_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/vdott_lane_za32_mf8_vg1x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zip_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zip_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zipq_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/zipq_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/dot_half_za_slice_lane_fpm.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ld1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/ldnt1_mf8_x4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/revd_mf8.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_mf8_x2.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/stnt1_mf8_x4.c -- 2.51.1
