<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">