From: Saurabh Jha <saurabh....@arm.com>

This patch series is a revised version of:
https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667723.html

I have addressed comments around building a list of operands while
declaring types and while expanding to RTL. I have also removed
signatures with "_fpm" and "_lane" as suffixes and instead representing
that information with a boolean flag and with a scalar signed integer
type respectively.

I have also removed the change to the faminmax pattern. The new
structure, which dispatches based on unspecs, should be more extensible
as we move existing intrinsics to the new pragma-based framework in
future patches.

Regression tested on aarch64-unknown-linux-gnu and found no regressions.

This series is built on top of the first commit of another patch series
and should only be commited after the other patch series is commited:
https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667692.html

Ok for master?

Thanks,
Saurabh

Saurabh Jha (3):
  aarch64: Add support for fp8 convert and scale
  aarch64: Add support for fp8dot2 and fp8dot4
  aarch64: Add support for fp8fma instructions

 gcc/config/aarch64/aarch64-builtins.cc        | 256 ++++++++++++++++--
 gcc/config/aarch64/aarch64-c.cc               |   8 +
 .../aarch64/aarch64-option-extensions.def     |   6 +
 .../aarch64/aarch64-simd-pragma-builtins.def  | 104 ++++++-
 gcc/config/aarch64/aarch64-simd.md            | 185 +++++++++++++
 gcc/config/aarch64/aarch64.h                  |   9 +
 gcc/config/aarch64/iterators.md               | 100 +++++++
 gcc/doc/invoke.texi                           |   6 +
 gcc/testsuite/gcc.target/aarch64/acle/fp8.c   |  10 -
 .../gcc.target/aarch64/simd/fma_fpm.c         | 221 +++++++++++++++
 .../gcc.target/aarch64/simd/scale_fpm.c       |  60 ++++
 .../gcc.target/aarch64/simd/vcvt_fpm.c        | 197 ++++++++++++++
 .../gcc.target/aarch64/simd/vdot2_fpmdot.c    |  77 ++++++
 .../gcc.target/aarch64/simd/vdot4_fpmdot.c    |  77 ++++++
 14 files changed, 1266 insertions(+), 50 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/fma_fpm.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/scale_fpm.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/vcvt_fpm.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/vdot2_fpmdot.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/vdot4_fpmdot.c

-- 
2.34.1

Reply via email to