[all-commits] [llvm/llvm-project] d01c8c: [AArch64][clang][llvm] Add support for Armv9.7-A l...

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Thu Apr 16 06:25:59 PDT 2026


  Branch: refs/heads/users/jthackray/acle_lut_intrinsic
  Home:   https://github.com/llvm/llvm-project
  Commit: d01c8c88b7c77c6ad5ac375f21033b2868575cf0
      https://github.com/llvm/llvm-project/commit/d01c8c88b7c77c6ad5ac375f21033b2868575cf0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target.c
    A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target_lane.c
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target.c
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    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/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
    A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll
    A llvm/test/Verifier/AArch64/luti6-intrinsics.ll

  Log Message:
  -----------
  [AArch64][clang][llvm] Add support for Armv9.7-A lookup table intrinsics

Add support for the following Armv9.7-A Lookup Table (lut)
instruction intrinsics:

SVE2.3
```c
  // Variant is  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
  // Variant 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");
```


  Commit: f53f0572cdb4396c364f98211cc185d9562d12c4
      https://github.com/llvm/llvm-project/commit/f53f0572cdb4396c364f98211cc185d9562d12c4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/Preprocessor/aarch64-target-features.c
    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

  Log Message:
  -----------
  fixup! Address PR comments


  Commit: 0ba14eb004b481adfd38d441729c48e14bc13a1f
      https://github.com/llvm/llvm-project/commit/0ba14eb004b481adfd38d441729c48e14bc13a1f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp

  Log Message:
  -----------
  fixup! Reuse SelectMultiVectorLuti()


  Commit: 6b86b4324fbcfac78418b369c6a2454d6d825b7e
      https://github.com/llvm/llvm-project/commit/6b86b4324fbcfac78418b369c6a2454d6d825b7e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp

  Log Message:
  -----------
  fixup! Add overloaded AArch64DAGToDAGISel::EmitMultiVectorLutiLane() for reuse


  Commit: a597451436a03470e9161d807af3f4f9b09109da
      https://github.com/llvm/llvm-project/commit/a597451436a03470e9161d807af3f4f9b09109da
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  fixup! Address PR comments


  Commit: 36a513e43f82cf0356368baa3d6c6135ba428291
      https://github.com/llvm/llvm-project/commit/36a513e43f82cf0356368baa3d6c6135ba428291
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target_lane.c
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  fixup! Address more PR comments


  Commit: f8bbfffa4b3e60aace4e76e2ebce8f55c5a788fa
      https://github.com/llvm/llvm-project/commit/f8bbfffa4b3e60aace4e76e2ebce8f55c5a788fa
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/Verifier/AArch64/luti6-intrinsics.ll

  Log Message:
  -----------
  fixup! Fix final PR comments for now


  Commit: fd4361a7962bbd3c7f2d5de00bcd939ceb7a77e8
      https://github.com/llvm/llvm-project/commit/fd4361a7962bbd3c7f2d5de00bcd939ceb7a77e8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target_lane.c
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c

  Log Message:
  -----------
  fixup! Address more PR comments


  Commit: 4e9b3a7904d1ec071311ff84ad3cc6e6c2a21c33
      https://github.com/llvm/llvm-project/commit/4e9b3a7904d1ec071311ff84ad3cc6e6c2a21c33
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
    M llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll
    M llvm/test/Verifier/AArch64/luti6-intrinsics.ll

  Log Message:
  -----------
  fixup! Fix PR comments


  Commit: 48cd9159520f6bcf6efd9cb75cbbbf467ff06aed
      https://github.com/llvm/llvm-project/commit/48cd9159520f6bcf6efd9cb75cbbbf467ff06aed
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
    M llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll
    R llvm/test/Verifier/AArch64/luti6-intrinsics.ll

  Log Message:
  -----------
  fixup! More small PR fixes


  Commit: 70d4a2e5e7eea1d61a947dfc5bf2acbdac540207
      https://github.com/llvm/llvm-project/commit/70d4a2e5e7eea1d61a947dfc5bf2acbdac540207
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td

  Log Message:
  -----------
  fixup! Fix more PR comments


  Commit: f006acca300ef2fa4013db1419d3d07374dd4dc7
      https://github.com/llvm/llvm-project/commit/f006acca300ef2fa4013db1419d3d07374dd4dc7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c

  Log Message:
  -----------
  fixup! Adjust `def`s and split out tests


  Commit: 050059451f34fd4a8581847bde9c6896c01ff58e
      https://github.com/llvm/llvm-project/commit/050059451f34fd4a8581847bde9c6896c01ff58e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    M llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll

  Log Message:
  -----------
  fixup! Add some more _bf16 tests


  Commit: 90feda344216205c5d3318c38f8a6b0b21c8d66f
      https://github.com/llvm/llvm-project/commit/90feda344216205c5d3318c38f8a6b0b21c8d66f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target.c
    R clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target_lane.c
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll

  Log Message:
  -----------
  fixup! Address more PR comments


  Commit: 83643d11a83282ef4259ca49fa1961f0a4b0cdeb
      https://github.com/llvm/llvm-project/commit/83643d11a83282ef4259ca49fa1961f0a4b0cdeb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target.c
    R clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target_lane.c
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  fixup! Move tests


  Commit: c327d516c7ac28ff82fa8f3fcccc09bc38d49a1d
      https://github.com/llvm/llvm-project/commit/c327d516c7ac28ff82fa8f3fcccc09bc38d49a1d
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_target.c

  Log Message:
  -----------
  fixup! Adjust definitions after ACLE updates from @rockdreamer


Compare: https://github.com/llvm/llvm-project/compare/977c60f204d3...c327d516c7ac

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