This patch adds support for the new LUTv2 features as described in the ACLE.
It adds the `+sme-lutv2` target flag, feature test macro and intrinsics.
Making use of the new instructions without the intrinsics will be done in a
follow up patch.

ChangeLog:
* V1: Initial series.

Karl Meakin (2):
  AArch64: Add `+sme-lutv2` flag
  AArch64: Add LUTv2 intrinsics

 gcc/config/aarch64/aarch64-c.cc               |   1 +
 .../aarch64/aarch64-option-extensions.def     |   2 +
 gcc/config/aarch64/aarch64-sme.md             |  36 ++
 .../aarch64/aarch64-sve-builtins-shapes.cc    | 104 ++++-
 .../aarch64/aarch64-sve-builtins-shapes.h     |   3 +
 .../aarch64/aarch64-sve-builtins-sme.cc       |  68 +++
 .../aarch64/aarch64-sve-builtins-sme.def      |   3 +
 gcc/config/aarch64/aarch64-sve-builtins-sme.h |   3 +
 gcc/config/aarch64/aarch64-sve-builtins.h     |   7 +-
 gcc/config/aarch64/aarch64.h                  |   7 +-
 .../aarch64/sme2/acle-asm/svluti4_zt_1.c      |  30 ++
 .../aarch64/sme2/acle-asm/svwrite_lane_zt_1.c | 204 +++++++++
 .../aarch64/sme2/acle-asm/svwrite_zt_1.c      |  96 +++++
 .../aarch64/sve/acle/general-c/svluti4_zt_1.c |  77 ++++
 .../sve/acle/general-c/svwrite_lane_zt_1.c    | 397 ++++++++++++++++++
 .../aarch64/sve/acle/general-c/svwrite_zt_1.c | 342 +++++++++++++++
 16 files changed, 1375 insertions(+), 5 deletions(-)
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/svluti4_zt_1.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/svwrite_lane_zt_1.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/svwrite_zt_1.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/svluti4_zt_1.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/svwrite_lane_zt_1.c
 create mode 100644 
gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/svwrite_zt_1.c

--
2.43.0

Reply via email to