mbox series

[v9,0/2] Add support for AdvSIMD faminmax

Message ID 20240918130149.2239226-1-saurabh.jha@arm.com
Headers show
Series Add support for AdvSIMD faminmax | expand

Message

Saurabh Jha Sept. 18, 2024, 1:01 p.m. UTC
From: Saurabh Jha <saurabh.jha@arm.com>

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

Thanks for the review comments. They are all addressed in this version.
The changes are as follows.
1. [intrinsics patch] Using enum class for aarch64_builtin_signatures.
2. [intrinsics patch] Fixed formatting of
   const aarch64_pragma_builtins_data *builtin_data
3. [intrinsics patch] Removed brace for single statement in the if block
   if (auto builtin_data = aarch64_get_pragma_builtin (fcode))
    return aarch64_expand_pragma_builtin (exp, target, builtin_data)
4. [intrinsics patch] Removed use of scheduling type in the intrinsic
   instruction pattern.
5. [intrinsics patch] Formatted comment for +faminmax flag in aarch64.h.
6. [codegen patch] Removed use of type in the codegen instruction
   pattern.
7. [codegen patch] Added a new test file called faminmax-no-codegen.c
   to test that we don't combine vmax/vmaxnm/vmin/vminnm with vabs.

Rebased with latest master. Regression tested with
aarch64-none-linux-gnu target and found no regressions.

Ok for master? I don't have commit access so can someone please commit
on my behalf?

Saurabh Jha (2):
  aarch64: Add AdvSIMD faminmax intrinsics
  aarch64: Add codegen support for AdvSIMD faminmax

 gcc/config/aarch64/aarch64-builtins.cc        | 119 ++++++++
 .../aarch64/aarch64-option-extensions.def     |   2 +
 .../aarch64/aarch64-simd-pragma-builtins.def  |  23 ++
 gcc/config/aarch64/aarch64-simd.md            |  19 ++
 gcc/config/aarch64/aarch64.h                  |   4 +
 gcc/config/aarch64/iterators.md               |  12 +
 gcc/doc/invoke.texi                           |   2 +
 .../aarch64/simd/faminmax-builtins-no-flag.c  |  10 +
 .../aarch64/simd/faminmax-builtins.c          | 115 ++++++++
 .../aarch64/simd/faminmax-codegen-no-flag.c   | 217 ++++++++++++++
 .../aarch64/simd/faminmax-codegen.c           | 197 +++++++++++++
 .../aarch64/simd/faminmax-no-codegen.c        | 267 ++++++++++++++++++
 12 files changed, 987 insertions(+)
 create mode 100644 gcc/config/aarch64/aarch64-simd-pragma-builtins.def
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/faminmax-builtins-no-flag.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/faminmax-builtins.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/faminmax-codegen-no-flag.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/faminmax-codegen.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/faminmax-no-codegen.c