Use cases with 16- or even 8-bit pointer/index structures have been identified.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thank you for adding this, Aart! :)
| mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp | ||
|---|---|---|
| 518 | Is the type signed by default when isSigned is not specified? I think we want unsigned int8 too. | |
| mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp | ||
|---|---|---|
| 518 | These are "signless" (MLIR knows signed, unsigned, and signless). I indeed don't like that the lowering of the cast from signless to index uses a sign extension (llvm.sext), but explicitly unsigned integers are cast incompatible with index for some reason. | |
| mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp | ||
|---|---|---|
| 518 | Signless really leaves it to the operator to decide what interpretation is the best. So I think I should use "zexti" instead of the index_cast, and we are good! I will do that in a follow-up CL though.... | |
Is the type signed by default when isSigned is not specified? I think we want unsigned int8 too.