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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Wed Jun 10 03:59:14 PDT 2026


  Branch: refs/heads/users/jthackray/acle_lut_intrinsic
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c394fb3e627fcb5e98abbcebde1739a57d2d129
      https://github.com/llvm/llvm-project/commit/7c394fb3e627fcb5e98abbcebde1739a57d2d129
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: d4e3279b4460c5311b6e41d9ccee2c6e37f4a0ee
      https://github.com/llvm/llvm-project/commit/d4e3279b4460c5311b6e41d9ccee2c6e37f4a0ee
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 66f472127330d6a383deb9446197153418ecc6f4
      https://github.com/llvm/llvm-project/commit/66f472127330d6a383deb9446197153418ecc6f4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

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

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


  Commit: b3bbd5c6dfeab724e96388437468498816bde8ea
      https://github.com/llvm/llvm-project/commit/b3bbd5c6dfeab724e96388437468498816bde8ea
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

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

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


  Commit: 1d3b24a66ff87953126a1d9322f28a767b7558f4
      https://github.com/llvm/llvm-project/commit/1d3b24a66ff87953126a1d9322f28a767b7558f4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 523dd9533b0c81e50305b4eb50290cf7d96b9c85
      https://github.com/llvm/llvm-project/commit/523dd9533b0c81e50305b4eb50290cf7d96b9c85
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 2342033a866012ecbb41bd034693e98e838084c9
      https://github.com/llvm/llvm-project/commit/2342033a866012ecbb41bd034693e98e838084c9
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 4bdd136d1649800dd89555b702d91152c3f7add8
      https://github.com/llvm/llvm-project/commit/4bdd136d1649800dd89555b702d91152c3f7add8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: a50ee6664d3ac744b288523037059acd11b3abb0
      https://github.com/llvm/llvm-project/commit/a50ee6664d3ac744b288523037059acd11b3abb0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 808903bdc485ee3d5804895104c967fcfdef96e1
      https://github.com/llvm/llvm-project/commit/808903bdc485ee3d5804895104c967fcfdef96e1
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: ae19a18d3cbb102aad225a1205326a2c62a9e167
      https://github.com/llvm/llvm-project/commit/ae19a18d3cbb102aad225a1205326a2c62a9e167
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 6af8c68f042c538f8360d0dccce269e3c2eca4c8
      https://github.com/llvm/llvm-project/commit/6af8c68f042c538f8360d0dccce269e3c2eca4c8
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 9b13d4e0b8bf257b637e2af397dc158aca1c4832
      https://github.com/llvm/llvm-project/commit/9b13d4e0b8bf257b637e2af397dc158aca1c4832
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 71290addc9ce3bbc0156d8fbc21563d0940d4cf1
      https://github.com/llvm/llvm-project/commit/71290addc9ce3bbc0156d8fbc21563d0940d4cf1
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: e875707f66e0f111f03bdb30dcf4d6e87f4e1322
      https://github.com/llvm/llvm-project/commit/e875707f66e0f111f03bdb30dcf4d6e87f4e1322
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 38e73fcf0a4778157b21c0b8012aee11cb7010c2
      https://github.com/llvm/llvm-project/commit/38e73fcf0a4778157b21c0b8012aee11cb7010c2
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 50c38e847c43977de1c0dcc6e2d43a731eb9d85e
      https://github.com/llvm/llvm-project/commit/50c38e847c43977de1c0dcc6e2d43a731eb9d85e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 2eff7b06bef8a98a8b1047fe0331c503605a1b9c
      https://github.com/llvm/llvm-project/commit/2eff7b06bef8a98a8b1047fe0331c503605a1b9c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 0050b3e8bf96f34ee93530b3d75f155e1d12f575
      https://github.com/llvm/llvm-project/commit/0050b3e8bf96f34ee93530b3d75f155e1d12f575
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

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

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


  Commit: 1b713ae9d112352f86c84e589a65c56043ee175c
      https://github.com/llvm/llvm-project/commit/1b713ae9d112352f86c84e589a65c56043ee175c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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: 72945f24636683d8bc99983cdac97039ec7a2dcd
      https://github.com/llvm/llvm-project/commit/72945f24636683d8bc99983cdac97039ec7a2dcd
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 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


  Commit: b68444e381aaec4271f38dcb82cceb408098e6e6
      https://github.com/llvm/llvm-project/commit/b68444e381aaec4271f38dcb82cceb408098e6e6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

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

  Log Message:
  -----------
  fixup! Tighten code some more


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

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