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

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

In the refactor patch, I redesigned how types are declared and how
expand happens. I have taken some ideas from the reviews of the
other patch series:
https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667723.html

In the lut patch, I added support for luti4 and put the second operand
inside braces, as the ACLE spec states. Also added a system of checking
lanes.

In the lut patch, I am now treating index as just another argument,
named s32_index. This is leading to simpler code in aarch64-builtins.cc.

Regression tested on aarch64-unknown-linux-gnu and found no regressions.
Ok for master?

Thank you,
Saurabh

Saurabh Jha (1):
  aarch64: Add support for AdvSIMD lut

Vladimir Miloserdov (1):
  aarch64: Refactor AdvSIMD intrinsics

 gcc/config/aarch64/aarch64-builtins.cc        | 211 ++++-
 .../aarch64/aarch64-option-extensions.def     |   2 +
 .../aarch64/aarch64-simd-pragma-builtins.def  |  61 +-
 gcc/config/aarch64/aarch64-simd.md            |  24 +
 gcc/config/aarch64/aarch64.h                  |   4 +
 gcc/config/aarch64/iterators.md               |  49 +-
 gcc/doc/invoke.texi                           |   2 +
 .../aarch64/simd/lut-incorrect-range.c        | 212 +++++
 .../gcc.target/aarch64/simd/lut-no-flag.c     |  10 +
 gcc/testsuite/gcc.target/aarch64/simd/lut.c   | 849 ++++++++++++++++++
 10 files changed, 1383 insertions(+), 41 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/lut-incorrect-range.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/lut-no-flag.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/simd/lut.c

-- 
2.34.1

Reply via email to