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

Reply via email to