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