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

Reply via email to