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 | ||
---|---|---|
517 | 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 | ||
---|---|---|
517 | 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 | ||
---|---|---|
517 | 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.