From: Ezra Sitorus <[email protected]>
Subject: [PATCH v2 0/4] fmmla, mmla_f16, mmla_bf16, pairwise and luti6
intrinsics
These patches add support for:
FMMLA intrinsics:
* vmmlaq_f32_f16
* vmmlaq_f16_f16
* svmmla[_f16]
* svmmla[_bf16]
PAIRWISE intrinsics:
* svaddqp[_s8]
* svaddsubp[_s8]
* svsubp[_s8]
LUTI6 intrinsics:
* svluti6[_s8_x2]
* svluti6_lane[_s16_x2]
* svluti6_zt_s8
* svluti6_zt_s8_x4
* svluti6_lane_s16_x4[_s16_x2_u8_x2]
* svluti6_lane_s16_x4[_s16_x2_u8_x3]
along with the other type variants where possible.
v2 takes into account the new neon intrinsics framework.
Ezra Sitorus (4):
gcc/testsuite: Add aarch64 sve/sme versions assembler check
aarch64: FEAT_F16F32MM, FEAT_F16MM, FEAT_SVE_B16MM support
aarch64: intrinsics for pairwise operations
aarch64: svluti6 intrinsics support
gcc/config/aarch64/aarch64-acle-builtins.cc | 10 +
gcc/config/aarch64/aarch64-acle-builtins.h | 22 ++
gcc/config/aarch64/aarch64-c.cc | 3 +
.../aarch64/aarch64-neon-builtins-base.cc | 18 ++
.../aarch64/aarch64-neon-builtins-base.def | 10 +
gcc/config/aarch64/aarch64-simd.md | 12 +
gcc/config/aarch64/aarch64-sme.md | 51 +++++
.../aarch64/aarch64-sve-builtins-base.cc | 8 +-
.../aarch64/aarch64-sve-builtins-shapes.cc | 208 +++++++++++++++++-
.../aarch64/aarch64-sve-builtins-shapes.h | 5 +
.../aarch64/aarch64-sve-builtins-sme.cc | 58 +++++
.../aarch64/aarch64-sve-builtins-sme.def | 9 +
gcc/config/aarch64/aarch64-sve-builtins-sme.h | 5 +
.../aarch64/aarch64-sve-builtins-sve2.cc | 17 ++
.../aarch64/aarch64-sve-builtins-sve2.def | 21 ++
.../aarch64/aarch64-sve-builtins-sve2.h | 5 +
gcc/config/aarch64/aarch64-sve2.md | 62 ++++++
gcc/config/aarch64/aarch64.h | 6 +
gcc/config/aarch64/iterators.md | 19 +-
.../advsimd-intrinsics/fmmla-compile.c | 26 +++
.../gcc.target/aarch64/pragma_cpp_predefs_4.c | 15 ++
.../aarch64/sme2/acle-asm/luti6_lane.c | 183 +++++++++++++++
.../aarch64/sme2/acle-asm/luti6_zt.c | 55 +++++
.../aarch64/sve/acle/general-c/mmla_1.c | 1 -
.../gcc.target/aarch64/sve2/acle/asm/addqp.c | 99 +++++++++
.../aarch64/sve2/acle/asm/addsubp.c | 99 +++++++++
.../aarch64/sve2/acle/asm/fmmla_bf16mm_sve2.c | 27 +++
.../aarch64/sve2/acle/asm/fmmla_f16mm_sve2.c | 27 +++
.../gcc.target/aarch64/sve2/acle/asm/luti6.c | 40 ++++
.../aarch64/sve2/acle/asm/luti6_lane.c | 60 +++++
.../gcc.target/aarch64/sve2/acle/asm/subp.c | 132 +++++++++++
gcc/testsuite/lib/target-supports.exp | 7 +-
32 files changed, 1313 insertions(+), 7 deletions(-)
create mode 100644
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/fmmla-compile.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti6_lane.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti6_zt.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addqp.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/addsubp.c
create mode 100644
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/fmmla_bf16mm_sve2.c
create mode 100644
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/fmmla_f16mm_sve2.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/luti6.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/luti6_lane.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/subp.c
--
2.53.0