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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Thu Jun 4 07:18:11 PDT 2026


  Branch: refs/heads/users/jthackray/acle_lut_intrinsic
  Home:   https://github.com/llvm/llvm-project
  Commit: 2d609cc5cfee9fefaeae57c3e6d48297db989d71
      https://github.com/llvm/llvm-project/commit/2d609cc5cfee9fefaeae57c3e6d48297db989d71
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 006c41f97913f464e6021aaf56a6dc8eabea8d6e
      https://github.com/llvm/llvm-project/commit/006c41f97913f464e6021aaf56a6dc8eabea8d6e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: aa3ecda3b6960020948a656116c90771ccbba50d
      https://github.com/llvm/llvm-project/commit/aa3ecda3b6960020948a656116c90771ccbba50d
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

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

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


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

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

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


  Commit: 5b9078b5966223c2f2a9b4270533460b09f7c68a
      https://github.com/llvm/llvm-project/commit/5b9078b5966223c2f2a9b4270533460b09f7c68a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

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

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


  Commit: d9702c34c376ea00040d6120256bf8fe212f28a8
      https://github.com/llvm/llvm-project/commit/d9702c34c376ea00040d6120256bf8fe212f28a8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 4808ff34c86c4f7b46a1664150a7dd05552cc332
      https://github.com/llvm/llvm-project/commit/4808ff34c86c4f7b46a1664150a7dd05552cc332
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 4b6dbd0f4e87c803f8b5ed49b1bfdfda96e35b49
      https://github.com/llvm/llvm-project/commit/4b6dbd0f4e87c803f8b5ed49b1bfdfda96e35b49
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: c3cbc462d79721d25fc4fa77bacc5430fcd320ff
      https://github.com/llvm/llvm-project/commit/c3cbc462d79721d25fc4fa77bacc5430fcd320ff
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: bc3a1db26e8e1aabcd3ca6ddf11dd4bb93bcd3ac
      https://github.com/llvm/llvm-project/commit/bc3a1db26e8e1aabcd3ca6ddf11dd4bb93bcd3ac
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 5bf01f20a3fdad5d99addfa61b652e37ba06d8e6
      https://github.com/llvm/llvm-project/commit/5bf01f20a3fdad5d99addfa61b652e37ba06d8e6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 834a852973c13c422c07ec2850bc4c27ccbf7e49
      https://github.com/llvm/llvm-project/commit/834a852973c13c422c07ec2850bc4c27ccbf7e49
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 4790ca2e544b503578b2fd7bff03e9eafdb2eb9a
      https://github.com/llvm/llvm-project/commit/4790ca2e544b503578b2fd7bff03e9eafdb2eb9a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 3b3cbfc9c029d3a2744716b6733a17f1e00da281
      https://github.com/llvm/llvm-project/commit/3b3cbfc9c029d3a2744716b6733a17f1e00da281
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 21c78df421e9732bd0f6759f5f3e1c6af955eb1c
      https://github.com/llvm/llvm-project/commit/21c78df421e9732bd0f6759f5f3e1c6af955eb1c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 653a5fef20c572a2f754ea11fe756083f98dce5a
      https://github.com/llvm/llvm-project/commit/653a5fef20c572a2f754ea11fe756083f98dce5a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 20435ac4a8c0ff81830fb3dc84382362d6fa7168
      https://github.com/llvm/llvm-project/commit/20435ac4a8c0ff81830fb3dc84382362d6fa7168
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 5666fd2636deb6376eeba12b705e53271e304aed
      https://github.com/llvm/llvm-project/commit/5666fd2636deb6376eeba12b705e53271e304aed
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 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: 5a8f987e4f0b21b923ec91671fab15306812d764
      https://github.com/llvm/llvm-project/commit/5a8f987e4f0b21b923ec91671fab15306812d764
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

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

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


  Commit: 040070d0797ad539391fb23a974fd8769e7b9fd5
      https://github.com/llvm/llvm-project/commit/040070d0797ad539391fb23a974fd8769e7b9fd5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

  Changed paths:
    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

  Log Message:
  -----------
  fixup! Run `clang/utils/aarch64_builtins_test_generator.py`


  Commit: 2172884d1f4580653b9b0c4818f828b78271237f
      https://github.com/llvm/llvm-project/commit/2172884d1f4580653b9b0c4818f828b78271237f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

  Changed paths:
    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
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    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
    M llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll

  Log Message:
  -----------
  fixup! Reformat classes to make more sense, and other CR updates


Compare: https://github.com/llvm/llvm-project/compare/0a0fd0826bc7...2172884d1f45

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