diff options
author | Cullen Rhodes <cullen.rhodes@arm.com> | 2023-07-18 07:28:00 +0000 |
---|---|---|
committer | Cullen Rhodes <cullen.rhodes@arm.com> | 2023-07-18 07:41:45 +0000 |
commit | 6ff9761a69df24d33f7c1047a956911bf28a754b (patch) | |
tree | 714d33b84d2de1da2f63300d3ff6a6636a23e8d3 /llvm/lib/IR/Function.cpp | |
parent | d5825621885d2230044cac669e003ce205ab0f12 (diff) | |
download | llvm-6ff9761a69df24d33f7c1047a956911bf28a754b.zip llvm-6ff9761a69df24d33f7c1047a956911bf28a754b.tar.gz llvm-6ff9761a69df24d33f7c1047a956911bf28a754b.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions