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

    <tr>
        <th>Summary</th>
        <td>
            [mlir][spirv] Incomplete handling of memory operands in CoopMatrix memory operations
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          IgWod-IMG
      </td>
    </tr>
</table>

<pre>
    Creating primarily for tracking purposes. It seems that currently `CooperativeMatrixStore` and `CooperativeMatrixLoad` have an incomplete handling of `MakePointerAvailable` and `MakePointerVisible`. There are two issues:

1. The verification does not check that `NonPrivatePointer` is present if any of two aforementioned memory operands are used, but it is enforced by the spec.
2. Both memory operands (`MakePointerAvailable` and `MakePointerVisible`) expect the scope to be provided, but currently none of the memory operations accepts the scope.

Relevant section of the spec: https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_memory_operands

This was spotted when working on #145480.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycU82O2zgMfhr5QozhyHYmOfgwP8giwM5i0Bazx4KW6Fg7tmhItKd5-4WcFGm3PS0QIIApfj8kP4zRnTxRo-pHVT9nOEvPoTme_mZ7d3z5I2vZnpunQCjOn2AKbsTghjN0HEACmvf18xwmjhRzOApEojGC9Chg5hDIy3AGtS2emCcKKG6hF5Tgvn0WDqS2BaC3v33wJ6NN9R4XAvTgvOFxGkgIevR2SNTcpdYXfKdXdl4oPCzoBmyHH5F_KL-56C7FHL70FAgwEMgHg4txpqjKB1Wk32atw0LBdc6gOPZgmSJ4FjA9mfeLR7Ut_mL_GtyC8p0kUbsIU6BIXsB1gP6cpCYe7DjQSD4hkoWRRg5nWK17G1c5cySr9BO0s4CTBEW-42DIQnsG6QniRCZXxYPO4ZGl_wVF6d3_HIvSe6BvExm5EBmeCIShJZgCL87epN3W69nT6q-nn6QkjxHQGJok3vDyy4g_0UAL-nQyZp3vFSGZU-UD9CLTuhB9UPoQ6OSihHP-3gf2HHMOJ6UPn1-Pn-7elD6krqj0Yfauc2Q319pb3ss4KF1-vQj7-n1GFw1fehfhAyPEiUXIwkdPHj44rIfNHpQuN1Vd7Yo8s01p9-UeM2o293VxX--K-yrrm7ItS13v9ju8L2q0VbtF6rrabq3dd7XBzDW60HWx1VWxrzabKt8XFWJZb7A0tDVVraqCRnRDPgzLmIxl6zU2K3OdDdjSENeMaj0OLiitU1pDk97ftfMpqqoYXJR4QxAnw5rrtaF-VvVjnFxYVP0Mx98n6b9X5DykUF7S-OtiszkMzc9LOjnp5zY3PCp9SFKuf3dT4H_IiNKHa8704WpuafS_AQAA__9kuIrG">