aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2023-09-28 10:54:20 +0100
committerGitHub <noreply@github.com>2023-09-28 10:54:20 +0100
commit8e64e9c365443bf9790fb04064bf3f1d3ff0bafc (patch)
treef25f212db6a195b9a944f1d3c6dd69395070c526 /clang/lib/Basic/SourceManager.cpp
parent8e353fb6e96deb90a86c9cca3e022c36a668fcce (diff)
downloadllvm-8e64e9c365443bf9790fb04064bf3f1d3ff0bafc.zip
llvm-8e64e9c365443bf9790fb04064bf3f1d3ff0bafc.tar.gz
llvm-8e64e9c365443bf9790fb04064bf3f1d3ff0bafc.tar.bz2
[mlir][ArmSME] Add support for vector.transfer_read with transpose (#67527)
This patch adds support for lowering a vector.transfer_read with a transpose permutation map to a vertical tile load, for example: vector.transfer_read ... permutation_map: (d0, d1) -> (d1, d0) is converted to: arm_sme.tile_load ... <vertical> On SME the transpose can be done in-flight, rather than as a separate operation as in the TransferReadPermutationLowering, which would do the following: %0 = vector.transfer_read ... vector.transpose %0, [1, 0] ... The lowering doesn't support masking yet and the transfer_read must be in-bounds. It also intentionally doesn't handle simple loads as transfer_write currently does, as the generic TransferReadToVectorLoadLowering can lower these to simple vector.load ops, which can already be lowered to ArmSME. A subsequent patch will update the existing transfer_write lowering, this is a separate patch as there is currently no lowering for vector.transfer_read.
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions