Hi gcc-patches mailing list,
ricbal02 via Sourceware Forge <[email protected]> 
has requested that the following forgejo pull request
be published on the mailing list.

Created on: 2026-05-31 11:04:41+00:00
Latest update: 2026-05-31 11:09:31+00:00
Changes: 11 changed files, 391 additions, 4 deletions
Head revision: ricbal02/gcc-TEST ref sve2p3-dot-product commit 
7b44d2ae151c192cf0576659dcf5e576c31a33a0
Base revision: gcc/gcc-TEST ref trunk commit 
fd6d39208ba4edd9527171cc0f5426a48e63a6a2 r17-1049-gfd6d39208ba4ed
Merge base: fd6d39208ba4edd9527171cc0f5426a48e63a6a2
Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/164.diff
Discussion:  https://forge.sourceware.org/gcc/gcc-TEST/pulls/164
Requested Reviewers:

This patch adds support for intrinsics which utilise the
dot product instructions added in SVE2p3/SME2p3.

gcc/ChangeLog:

        * config/aarch64/aarch64-sve-builtins-base.cc: Update impl.
        * config/aarch64/aarch64-sve-builtins-sve2.def
        (REQUIRED_EXTENSIONS): New function.
        (svdot): Likewise.
        (svdot_lane): Likewise.
        * config/aarch64/aarch64-sve-builtins.cc
        (TYPES_s_narrow_fsu_sve2p3): New type array.
        (s_narrow_fsu_sve2p3): Likewise.
        * config/aarch64/aarch64-sve2.md
        (<sur>dot_prodvnx8hivnx16qi): New pattern.
        (<sur>dot_prod_lanevnx8hivnx16qi): Likewise.
        * config/aarch64/aarch64.h
        (TARGET_SVE2p3): New Target Flag.
        (TARGET_SME2p3): Likewise.
        (TARGET_STREAMING_SME2p3): Likewise.
        (TARGET_SVE2p3_OR_SME2p3): Likewise.
        * doc/invoke.texi: Add sve2p3/sme2p3.

gcc/testsuite/ChangeLog:

        * gcc.target/aarch64/dotproduct_intrinsicless.c: New test.
        * gcc.target/aarch64/sme2/acle-asm/dot_lane_s16.c: New test.
        * gcc.target/aarch64/sme2/acle-asm/dot_lane_u16.c: New test.
        * gcc.target/aarch64/sme2/acle-asm/dot_s16.c: New test.
        * gcc.target/aarch64/sme2/acle-asm/dot_u16.c: New test.


Changed files:
- A: gcc/testsuite/gcc.target/aarch64/dotproduct_intrinsicless.c
- A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_s16.c
- A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_u16.c
- A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_s16.c
- A: gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_u16.c
- M: gcc/config/aarch64/aarch64-sve-builtins-base.cc
- M: gcc/config/aarch64/aarch64-sve-builtins-sve2.def
- M: gcc/config/aarch64/aarch64-sve-builtins.cc
- M: gcc/config/aarch64/aarch64-sve2.md
- M: gcc/config/aarch64/aarch64.h
- M: gcc/doc/invoke.texi


Richard Ball (1):
  aarch64: Add Support for SVE2p3/SME2p3 dot product intrinsics

 .../aarch64/aarch64-sve-builtins-base.cc      | 29 +++++-
 .../aarch64/aarch64-sve-builtins-sve2.def     |  5 +
 gcc/config/aarch64/aarch64-sve-builtins.cc    |  6 ++
 gcc/config/aarch64/aarch64-sve2.md            | 35 +++++++
 gcc/config/aarch64/aarch64.h                  |  8 ++
 gcc/doc/invoke.texi                           |  4 +
 .../aarch64/dotproduct_intrinsicless.c        | 30 ++++++
 .../aarch64/sme2/acle-asm/dot_lane_s16.c      | 94 +++++++++++++++++++
 .../aarch64/sme2/acle-asm/dot_lane_u16.c      | 94 +++++++++++++++++++
 .../aarch64/sme2/acle-asm/dot_s16.c           | 45 +++++++++
 .../aarch64/sme2/acle-asm/dot_u16.c           | 45 +++++++++
 11 files changed, 391 insertions(+), 4 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/dotproduct_intrinsicless.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_s16.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_lane_u16.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_s16.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/dot_u16.c

-- 
2.54.0

Reply via email to