[all-commits] [llvm/llvm-project] 9f0a91: [mlir][test][sve] Add e2e test for linalg.pack + l...

Andrzej Warzyński via All-commits all-commits at lists.llvm.org
Wed Mar 5 10:48:09 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f0a912a4619ebca977f7da36cd2fb7ba56f71ce
      https://github.com/llvm/llvm-project/commit/9f0a912a4619ebca977f7da36cd2fb7ba56f71ce
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-03-05 (Wed, 05 Mar 2025)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-scalable-inner-tile.mlir

  Log Message:
  -----------
  [mlir][test][sve] Add e2e test for linalg.pack + linalg.unpack (#129696)

This patch adds an e2e test for the `linalg.pack` + `linalg.unpack` pair
with a dynamic inner tile size that's tied to SVE's "vscale":

```mlir
  %c4 = arith.constant 4 : index
  %vs = vector.vscale
  %tile_size = arith.muli %c4, %vs : index
```

This means that the actual size of the corresponding inner and outer
tile size will depend on the runtime value of "vscale".

To make the new test deterministic (and to make it easier to
experiment), I have hard-coded the value of "vscale" to 2 via (2 x 128
bits = 256 bits):
```mlir
`func.call @setArmVLBits(%c256) : (i32) -> ()
```
This can be relaxed at a later time or played with when experimenting
locally with e.g. QEMU.

NOTE: Vectorization has not been enabled yet (scalable vectorization of
`linalg.unpack` is still WIP).



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