[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> ```
Loading
Please sign in to comment