<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/151679>151679</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [bug][MLIR][SVE] SVE matmul integration test crashes with larger input sizes (≥128)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Dasor
      </td>
    </tr>
</table>

<pre>
    The SVE matmul integration test found [here](https://github.com/llvm/llvm-project/blob/main/mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir) crashes when using larger matrix sizes. 

I've been testing with square matrices, and sizes ≤64 consistently work fine. However, crashes begin to occur somewhere above that. 96×96 always crashes, but 96 is not a magic threshold,  I haven't exhaustively bisected the exact failure point, so it's possible that some sizes between 64 and 96 may also fail.

The crash seems to result from an out-of-bounds memory access. For instance, in the 128×128 case, it fails on the following instruction:

```asm
sturb  w25, [x28, #-16]
```

Where the value of `x28` is `0xFFFFFF800000`, which appears to be a clearly invalid pointer.

Maybe @nujaa @MacDue @banach-space can help?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVMGO4zYM_RrlQkxgK7ZjH3zITNboALtA0W23Z0pmbG1lKRWlZNKvL2TPdHsqUCGAhFjviXzkIzKbyRH1on4W9XmHKc4-9GdkH3bKj4_-15ng67dPsGBckgXjIk0Bo_EOInGEi09uBFE_zxRI1Gch2znGK4vDSchByGEycU5qr_0i5GDt7WN7ugb_nXQUclDWKyGHBY3LmzVByCGzCzm8_nhQyOFs0G6Yz8ahnYQcXn7-TcjhFJav3z6tJDnO_UbSgQ7IMzHcZ3KQ2LgJLIaJQk4omDdg8xfxHkRxEsXpVcjjjUARbdnl63cTZ-A_EwbaMJpYyBdAN25gEJ-kaDtxqpoKtHdsOJKL9gF3H_6Ai3G0h5_8nW4UMvAjJEWTcRA9eK1TAPYL3bOIgMrfCOKMcQ9dI14Oojt2DaC944M_4JlJpQhdA4bB-QgIC05GQ5wD8eztmK_AK8x4IyfkMQK9zZg4mhvZByjDpCONEGcCekMd4YLGpkBw9cbFjGYPJgp5ZLh6ZqPsFtYa63vyiuI9y9VUqyJdAws-AC37lW6_CZu7aA0cmGjhnHUgTjbCJfgF0IFP8clfnlRuJ4aFFh8egFoT8x4GH8A4jug05biybjNBKdtNnVK2oJG3b1seDH67dPHW-nuuZGYISa-tdDhtgYmm2H7IiyhOHFNQAHdZZypRP7_Jdj3Jw1PZ5Pb-F2Rj-H2tWX7phjYR-AuIpsi4psilEU1RvA3raou8MlK-wH02ega8XgnDKogiQNCWMNgHGHdDa8atFBTeZfyCD0UgqsKl74j58AX1Oa1_KXSo5ye-oibQ6GAmexWHYTf2h7E7dLijvjzWVVHJqih3c0_1sUHZVpUq6lZeVEe6GLUea1m2VXeUO9PLQtZFW5RljrvcH2SLXTXS2Oim1UqJqqAlFzn7ee_DtDPMifqyLptjt7OoyPI6WqTcDCnzkAn96n-VJhZVYQ1H_sEQTbTrOFJpynrXz18-v_6ynbLD6_N_jqN__J5d--50464pfnhVth92rXP7yG6Xgu3_98haE2Uhh_dcb738OwAA__9xlLZ4">