<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/90412>90412</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][Aarch64] Add lowering support from unsigned `vector.contract` to i8mm
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir:neon,
mlir:sve
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
KoolJBlack,
banach-space
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dcaballe
</td>
</tr>
</table>
<pre>
`LowerContractionToSMMLAPattern.cpp` added support to lower a `vector.contract` to i8mm's `smmla` instructions. However, the existing code can only handle signed i8,i8,i32 matrix multiplication cases. We should generalize (and rename) the pass to also handle unsigned i8,i8,i32 cases by adding matching support for [extui](https://github.com/llvm/llvm-project/blob/352602010fac5c7e07bc6b992848ab746d0c2857/mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp#L88-L95) and generating [ummla](https://github.com/llvm/llvm-project/blob/352602010fac5c7e07bc6b992848ab746d0c2857/mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp#L211-L213) instructions instead.
#Gemma
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVE2P5DQQ_TWVizVRUvk-5NA9rYCgFyGxEueKXd0xOHZkO7Mz_HrkTI8WJITguBcnKble1XtVLxSCvlvmEZozIP7onPnhbEj-DoiAz4A4kyW5PIWNJKdgc8loj4vzo5I0kzGczU69jdAWV_eF_bOz0ZOM2tnP7pdPn66nnylG9jaX2wZtIUgpViLs2-Z8FNEJk9IECWiLF5bR-Vw-MNL16ITu1xWwC-lGWFdDKa5tiH4_6oRcfO--8At7wGcRFxb8qkPU9i6kUywkWeGseRMLWWVYHJSV0D3g8_tRoVgpev0q1t1EvRktKSELSYFDLn5lERa3GyXubNmT0X-wAOzJKuHZ0sqAw1F5oxBSz2SC-6i323-seGCL-S0pknpdKcolvXxoc3NeQHPm17hraC6A_RLjFqA6AU6A013HZZ9z6VbAyZiXj8fT5t1vLCPgNBs3A05Vg22BRVncSDay46KbZTsPA_Z1T3NXt6qQ2Dcd4LQa7ROOTnkXTeYd6OTXn9hZwOmzJxtuzq8BcPoPI8fq2vdP16FJEiXB3iU8xgPNeT8G-i2zw7J8umJZJX5_3crjg0nlUFygOD1OrL7jdaVMjZUaqoEyHsuurKuqrto-W0Y5900vcWBqqGy7WdZz3fVN1TEiq-6W6RELrIsa-3JoBuxzWd5Kdes6OVdVSbKEuuCVtMmTWrnz90yHsPM4FHWJmaGZTXj4_ZCjOtmD-8Pwj1h4-bC7Hw_Z5_0eoC6MDjF8hY46muPvcaQ1F2jOJ_JyaWtoLuKk1Lu9_7bW3q1fPfGvrs92b8b_vRYH3TS_g_GfAQAA__8BLpZ1">