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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Thu May 28 07:48:48 PDT 2026


  Branch: refs/heads/users/jthackray/acle_lut_intrinsic
  Home:   https://github.com/llvm/llvm-project
  Commit: ef854b956b3b273a227fa6f6f9f0128eb4d3f0c8
      https://github.com/llvm/llvm-project/commit/ef854b956b3b273a227fa6f6f9f0128eb4d3f0c8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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
    M 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: 48f585ec5a94bb5fc513dfe43b5adc48f587e38a
      https://github.com/llvm/llvm-project/commit/48f585ec5a94bb5fc513dfe43b5adc48f587e38a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: eb626b1d89e158bf048b4bd8d1d9bc96f613ea50
      https://github.com/llvm/llvm-project/commit/eb626b1d89e158bf048b4bd8d1d9bc96f613ea50
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

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


  Commit: eb838f28446d2eb1b5c325ec8f2cd3b831f184b9
      https://github.com/llvm/llvm-project/commit/eb838f28446d2eb1b5c325ec8f2cd3b831f184b9
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

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


  Commit: 2ffd8103c6f564164e41109c5b93b0a66b246cd6
      https://github.com/llvm/llvm-project/commit/2ffd8103c6f564164e41109c5b93b0a66b246cd6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

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


  Commit: 39ef37942db2ee1d3c5c10c78d8fc750d51afee6
      https://github.com/llvm/llvm-project/commit/39ef37942db2ee1d3c5c10c78d8fc750d51afee6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: 198b2370cd2874bd56374c67764675f0a17be84c
      https://github.com/llvm/llvm-project/commit/198b2370cd2874bd56374c67764675f0a17be84c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: 36a979b3c50172a5edb21ac1b39a78c4ccf17377
      https://github.com/llvm/llvm-project/commit/36a979b3c50172a5edb21ac1b39a78c4ccf17377
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: d0041a64ad4943dcb50751f007509ab3331eabc0
      https://github.com/llvm/llvm-project/commit/d0041a64ad4943dcb50751f007509ab3331eabc0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: 67e7608beae0c77eacb3db453a43c2b255810838
      https://github.com/llvm/llvm-project/commit/67e7608beae0c77eacb3db453a43c2b255810838
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: a2ee7c9c0ba5eb4798aae217073a4ad44e217bd7
      https://github.com/llvm/llvm-project/commit/a2ee7c9c0ba5eb4798aae217073a4ad44e217bd7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: b236c78e148623350113c0ba97b584e0a107def5
      https://github.com/llvm/llvm-project/commit/b236c78e148623350113c0ba97b584e0a107def5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: 6ee109273c2e3a22754e14365b0958a0964c16d8
      https://github.com/llvm/llvm-project/commit/6ee109273c2e3a22754e14365b0958a0964c16d8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: ef4c473867a6519724b541a17570f32df68d6f86
      https://github.com/llvm/llvm-project/commit/ef4c473867a6519724b541a17570f32df68d6f86
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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: fa5d53ce199ee029462d1393a7eaa946be230c72
      https://github.com/llvm/llvm-project/commit/fa5d53ce199ee029462d1393a7eaa946be230c72
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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

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


  Commit: 8baa1290fe0a95a14bbd545835c91113e7f26cfc
      https://github.com/llvm/llvm-project/commit/8baa1290fe0a95a14bbd545835c91113e7f26cfc
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 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


  Commit: d868e50035557bd01fb0e80894573cba0b9f1a7b
      https://github.com/llvm/llvm-project/commit/d868e50035557bd01fb0e80894573cba0b9f1a7b
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_target.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td

  Log Message:
  -----------
  fixup! Adjust after ACLE changes to svluti6_lane_s16_x4


  Commit: eec93192f15cea5d52de8e94e6fdf763b80644fb
      https://github.com/llvm/llvm-project/commit/eec93192f15cea5d52de8e94e6fdf763b80644fb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  fixup! Amend after PR comments


  Commit: ba187b71f42c278881354f7d09e47575256c2406
      https://github.com/llvm/llvm-project/commit/ba187b71f42c278881354f7d09e47575256c2406
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  fixup! Don't modify SelectMultiVectorLutiLane


Compare: https://github.com/llvm/llvm-project/compare/47206392a5ba...ba187b71f42c

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