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