[mlir][ArmSME] Add custom get_tile_id and cast ops
This patch adds three new custom ops to the ArmSME dialect: * arm_sme.get_tile_id - returns a scalar integer representing an SME "virtual tile" that is not in use. * arm_sme.cast_tile_to_vector - casts from a tile id to a 2-d scalable vector type, which represents an SME "virtual tile". * arm_sme.cast_vector_to_tile - casts from a 2-d scalable vector type, which represents an SME "virtual tile", to a tile id. The 'arm_sme.get_tile_id' op currently only supports tile 0, a follow-up patch will implement proper tile allocation. A further follow-up patch will demonstrate load/store to/from ZA using these ops. See the op descriptions for further details and examples. Thanks to @paulwalker-arm and @awarzynski for helping drive this. Reviewed By: awarzynski, dcaballe Differential Revision: https://reviews.llvm.org/D154941
Loading
Please sign in to comment