[all-commits] [llvm/llvm-project] 496318: [mlir][ArmSME] Lower vector.extract/insert on SME ...
Benjamin Maxwell via All-commits
all-commits at lists.llvm.org
Wed Oct 4 01:28:52 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 496318ad8db5d0713a972a7f5e14117c3aa0061a
https://github.com/llvm/llvm-project/commit/496318ad8db5d0713a972a7f5e14117c3aa0061a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2023-10-04 (Wed, 04 Oct 2023)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
Log Message:
-----------
[mlir][ArmSME] Lower vector.extract/insert on SME tiles to MOVA intrinsics (#67786)
This patch adds support for lowering vector.insert/extract of tile
slices or elements to ArmSME MOVA intrinsics.
This enables the following operations for ArmSME:
```
// Extract slice from tile:
%slice = vector.extract %tile[%row]
: vector<[4]xi32> from vector<[4]x[4]xi32>
```
```
// Extract element from tile:
%el = vector.extract %tile[%row, %col]
: i32 from vector<[4]x[4]xi32>
```
```
// Insert slice into tile:
%new_tile = vector.insert %slice, %tile[%row]
: vector<[4]xi32> into vector<[4]x[4]xi32>
```
```
// Insert element into tile;
%new_tile = vector.insert %el, %tile[%row, %col]
: i32 into vector<[4]x[4]xi32>
```
More information about the All-commits
mailing list