<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/104392>104392</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] [DirectX] support 64-bit operations
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:DirectX,
HLSL
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
python3kgae
</td>
</tr>
</table>
<pre>
Support [64-bit atomic operations](https://microsoft.github.io/DirectX-Specs/d3d/HLSL_SM_6_6_Int64_and_Float_Atomics.html)
AC:
Support 64-bit integer and limited bitwise floating-point atomic operations by overloading the Interlocked* functions and methods used on group shared memory, raw buffer, and typed (RWBuffer/RWTexture) resources.
Enable 64bit types on related DXIL operations.
Set shader flags for 64-bit atomic operations.
Mark resources used 64-bit atomic operations with UsedByAtomic64 flag in PSV0 part and Atomic64Use in DXIL metadata.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U81uqzgUfhqzOQoi5qdhwSIpg6ZSrzS6mTvtLjL2ATwBG9mHdvL2I1OqttLtBjCH7w_7E97r3iBWLD-xvI7EQoN11XyjwZr02guMWqtu1XmZZ-sIWH4qsl2rCQTZSUuwMzpB2hrP8prxw0A0e5YeGW8YbyYtnfW2o7jXNCxtrC3jTa0dSnrenWeUnvFGpYrx5s_H8-Pl_ONSXIrLg6EiuwijLs1oBV2Oq5iPB5pGxkuW1Cw5fr4e74Pm-vhudfOpDWGPDoRRMOpJEypoNb1qj9AFcm363Wy1-U0kaG9gX9CNVihteqAB4cFQeCGvqBg_QrcY-fZtEJiQBqs8LB4VWAO9s8sMfhAOw3Cy7sb4PTjxCu3SdejCKgDpNqMCxg8_n07boPn59Df-R4tDxktw6O3iJPr4c-w_jGhHhCILSQOHD6oORxFi1s8Pj5_SbMgzUnCk0EE3it5DZx18t6kb5odw1w8Lb_G-g8CrpgF-eVSn29u-FdmqBNrAX-d_EpiFozX1-_iXxzBc_U5IQgkScaSqVJVpKSKs9nc8LUrO94doqPL9XZHkmCnZdniQMhF3SV4KJVKZyI53ka54wrPksM-TlKfpIZZlm2VpmcrDXsm27ViW4CT0GI_jyxRb10fa-wWrfZKlJY9G0eLo10pw3gp5RaNYetyOLeOc8XvGeTiwYZHXkasC065des-yZNSe_Ac3aRrXgq2AvA4leufKa_Bfz-vHj4wWN1Zf-7S1SNqJ8SYIbLfd7Oy_KInxZk0SWrWFean4_wEAAP__uJBJsg">