diff options
author | Benjamin Maxwell <benjamin.maxwell@arm.com> | 2024-02-20 14:33:33 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-20 14:33:33 +0000 |
commit | a1a68603145a39e6abdd35bf7a01535eb53826b1 (patch) | |
tree | 92afcb5c0bfe9eacd4ec231f2ccad2b6b2a456de /llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp | |
parent | 052ee74dae3b43e5f8a4a5df9d41386ef7592c18 (diff) | |
download | llvm-a1a68603145a39e6abdd35bf7a01535eb53826b1.zip llvm-a1a68603145a39e6abdd35bf7a01535eb53826b1.tar.gz llvm-a1a68603145a39e6abdd35bf7a01535eb53826b1.tar.bz2 |
[mlir][VectorOps] Add unrolling for n-D vector.interleave ops (#80967)
This unrolls n-D vector.interleave ops like:
```mlir
vector.interleave %i, %j : vector<6x3xf32>
```
To a sequence of 1-D operations:
```mlir
%i_0 = vector.extract %i[0]
%j_0 = vector.extract %j[0]
%res_0 = vector.interleave %i_0, %j_0 : vector<3xf32>
vector.insert %res_0, %result[0] :
// ... repeated x6
```
The 1-D operations can then be directly lowered to LLVM.
Depends on: #80966
Diffstat (limited to 'llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions