[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