From: Saurabh Jha <saurabh....@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 -- 2.43.2