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
