Commit 819daf8
committed
[mlir][vector] Update tests/patterns for vector.transpose
Pretty much all logic that we have today for lowering vector.transpose
assumes fixed length vectors (it's done via vector.shuffle that don't
support scalable vectors). This patch updates related tests and patterns
to capture and document that limitation more explicitly.
Note that `vector.transpose` is a valid operation in the context of
scalable vectors, but we are yet to implement the missing lowerings.
Most changes are implemented in the test file. Here's a summary:
* @transpose_nx8x2xf32 is renamed as @transpose_scalable and move near
other test using `lowering_strategy = "shuffle_1d"` (to avoid
duplicating TD sequences)
* tests specific to X86 (`avx2_lowering_strategy = true`) are moved to
a dedicated file (to seperate generic tests from target-specific
tests)
* `@transpose10_nx4xnx1xf32` duplicated `@transpose10_4xnx1xf32` and was
deleted (the latter is renamed as `@transpose10_4x1xf32_scalable` to
match its fixed-width counterpart: `@transpose10_4x1xf32`)
* The changes in LowerVectorTranspose.cpp are NFCs - they just make sure
that "scalable" vectors are filtered out at the very beginning1 parent 33e16ca commit 819daf8
File tree
2 files changed
+40
-522
lines changed- mlir
- lib/Dialect/Vector/Transforms
- test/Dialect/Vector
2 files changed
+40
-522
lines changedLines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
| 355 | + | |
355 | 356 | | |
356 | 357 | | |
357 | 358 | | |
| |||
0 commit comments