[all-commits] [llvm/llvm-project] 7814cc: [AArch64][clang][llvm] Add ACLE Armv9.7 lookup tab...

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Fri Jun 12 08:47:38 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7814cc9454cf454acdc7385fc41809a6bdf5d7f8
      https://github.com/llvm/llvm-project/commit/7814cc9454cf454acdc7385fc41809a6bdf5d7f8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-12 (Fri, 12 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    A clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme2p3.c
    A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2p3___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p3.c
    A clang/test/Sema/AArch64/arm_sve_streaming_only_sme_AND_sme2p3.c
    A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll

  Log Message:
  -----------
  [AArch64][clang][llvm] Add ACLE Armv9.7 lookup table intrinsics (#187046)

Add support for the following Armv9.7-A Lookup Table (lut)
instruction intrinsics, as defined in the ACLE[1]:

SVE2.3:
```c
  // Variants are also available for: _u8 _mf8
  svint8_t svluti6[_s8](svint8x2_t table, svuint8_t indices);
```

SVE2.3 and SME2.3:
``` c
  // Variants are also available for _u16_x2 and _f16_x2.
  svint16_t svluti6_lane[_s16_x2](svint16x2_t table, svuint8_t indices, uint64_t imm_idx);
```

SME2.3:
```c
  // Variants are also available for: _u16, _f16 and _bf16.
  svint16x4_t svluti6_lane_s16_x4[_s16_x2](svint16x2_t table, svuint8x2_t indices, uint64_t imm_idx);

  // Variants are also available for: _u8 and _mf8.
  svint8x4_t svluti6_zt_s8_x4(uint64_t zt0, svuint8x3_t zn) __arm_streaming __arm_in("zt0");

  // Variants are also available for: _u8 and _mf8.
  svint8_t svluti6_zt_s8(uint64_t zt0, svuint8_t zn) __arm_streaming __arm_in("zt0");
```

[1] https://github.com/ARM-software/acle/pull/428/



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list