Commit 358ca60
committed
[MLIR] atomic emulation of static indexing subbyte type vector stores
This patch enables unaligned, statically indexed storing of vectors with sub emulation width element types.
To illustrate the mechanism, consider the example of storing vector<7xi2> into memref<3x7xi2>[1, 0].
In this case the linearized indices of those bits being overwritten are [14, 28), which are:
* the last 2 bits of byte no.2
* byte no.3
* first 4 bits of byte no.4
Because memory accesses are in bytes, byte no.2 and no.4 in the above example are only being modified partially.
In the case of multi-threading scenario, in order to avoid data contention, these two bytes must be handled atomically.1 parent e6030d3 commit 358ca60
File tree
2 files changed
+378
-45
lines changed- mlir
- lib/Dialect/Vector/Transforms
- test/Dialect/Vector
2 files changed
+378
-45
lines changed
0 commit comments