diff options
author | Andrzej WarzyĆski <andrzej.warzynski@arm.com> | 2025-03-05 18:47:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-05 18:47:47 +0000 |
commit | 9f0a912a4619ebca977f7da36cd2fb7ba56f71ce (patch) | |
tree | 9a22fac7331da6ccbf37fe7ba33f106de9becad8 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 878a64f94a264ea4b564d6063614ddb0b5da3f6c (diff) | |
download | llvm-9f0a912a4619ebca977f7da36cd2fb7ba56f71ce.zip llvm-9f0a912a4619ebca977f7da36cd2fb7ba56f71ce.tar.gz llvm-9f0a912a4619ebca977f7da36cd2fb7ba56f71ce.tar.bz2 |
[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).
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions