mbox series

[v3,0/2] Add support for SVE2 faminmax

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

Message

Saurabh Jha Oct. 2, 2024, 3:50 p.m. UTC
From: Saurabh Jha <saurabh.jha@arm.com>

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

The second commit of the previous patch series was reviewed and has been
commited separately. This patch contains first and third commit of the
previous patch.

The changes are as follows:
1. [First patch]: The test cases are copied from files like
   gcc.target/aarch64/sve/acle/asm/max_f16.c. There is some hardcoding
   of registers in the copied tests which I did not change. Let me know
   if that's a problem.
2. [Third patch]: Incorporated the instruction pattern change as
   suggested. Also thanks for the explanation.
3. [Third patch]: Agreed and incorporated suggestions on test cases. I
   completely agree that scan-assembler is better for the test cases in
   this patch.
4. [Third patch]: Agreed for SVE_COND_FP_SMAXMIN -> SVE_COND_SMAXMIN.

Regards,
Saurabh

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

 .../aarch64/aarch64-sve-builtins-base.cc      |   4 +
 .../aarch64/aarch64-sve-builtins-base.def     |   5 +
 .../aarch64/aarch64-sve-builtins-base.h       |   2 +
 gcc/config/aarch64/aarch64-sve2.md            |  37 +++
 gcc/config/aarch64/aarch64.h                  |   1 +
 gcc/config/aarch64/iterators.md               |  24 +-
 .../gcc.target/aarch64/sve/faminmax_1.c       |  45 +++
 .../gcc.target/aarch64/sve/faminmax_2.c       |  61 ++++
 .../aarch64/sve2/acle/asm/amax_f16.c          | 312 ++++++++++++++++++
 .../aarch64/sve2/acle/asm/amax_f32.c          | 312 ++++++++++++++++++
 .../aarch64/sve2/acle/asm/amax_f64.c          | 312 ++++++++++++++++++
 .../aarch64/sve2/acle/asm/amin_f16.c          | 311 +++++++++++++++++
 .../aarch64/sve2/acle/asm/amin_f32.c          | 312 ++++++++++++++++++
 .../aarch64/sve2/acle/asm/amin_f64.c          | 312 ++++++++++++++++++
 14 files changed, 2049 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/faminmax_1.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/faminmax_2.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amax_f16.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amax_f32.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amax_f64.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amin_f16.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amin_f32.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/amin_f64.c