<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/73459>73459</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][spirv] Audit numerical correctness of conversions to SPIR-V
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir:spirv
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kuhar
</td>
</tr>
</table>
<pre>
The detailed FP semantics of SPIR-V ops is often decoupled from the op specification. For example, [`OpGroupNonUniForm "FMin"`](https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpGroupNonUniformFMin) does not specify how +/- 0.0 and NaN values are handled. The exact FP numerical precision requirements are outlined in https://registry.khronos.org/vulkan/specs/1.3-extensions/html/chap52.html#spirvenv-precision-operation and may change depending on execution modes ro fast math flags.
We should audit the conversions to the SPIR-V dialect for floating point precision semantics (e.g., {arith, vector, gpu}-to-spirv), identify the gaps, and resolve them. This is tracking issue for this umbrella of work.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU8uS4zYM_Br6grJKoixrfNBhJi6lcshkK4_NGSYhiTFFKHx4Z_4-RdrJ7Oa0F5sFEupudANDMLMjGkT3IrrzDlNc2A_XtKDfXVi_D78vBJoiGksaxk8QaEUXjQrAE_z26adf95-BtwAmFyI50KQ4bfn15HmFuBDwBmEjZSajMBp2FYzsgd5w3SwJ-QNk9GP9y_aj57S9svvDmZH9CkLK8WfjhJTiWIvuLOTTEuMWRPss5Cjk6Gk2Ifr36rp4dhwq9rOQ452XkGOGDUKOyZnJkG4ed5-rJa5WyPYbyIn9eoc7gWYK4Dg-iL_Dwl9AyBchxz3UVQ3oNLziK9zQJgqAnmBBpy3pCvLM6A1VzANzaSVvFFrYPCkTDDvw9HcynlZy8d7KKVrjSINx8F0Kb8le0X2lsKnaPb1FchkgF-4KR7Xg1sl_9YbN-Bu52_4_LnveyBdXiqQV30Et6Obs-kZOGzcDO6A3Uqm8WllTAM8wYYiwYlxgsjiHStRnUT_ff_8kCAsnqwGTNrGkQLG7kS_0IHIpPfKjDVpSESb2MFnGmEE3Ni5-NbOP4An5RNVcleD0L-hNXPL5Riqyz6d5S6I_7yPvi14hT7lqNLmYrczIM24hF7NmT4HtjXJ9zeaZkuboUV0zERNCosIt5qu0XjxZizn_X9hfq50eWn1qT7ijoenrpm5lJ_vdMtTH6QmPRNgfu56mp1bKpq2b6XSqFaqm35lB1rJtGnmUTS3rvpoOko4Nqq4hdZF0EIeaVjS2sva2Zud3hczQt4futLN4IRvK6kq5WuNF-_wQLPMy-yG37S9pDuJQWxNi-PhQNNGWtS-N3Vl0L_fe7gzPxbOP4Cr2nlR0FMrW_8_Iu4m75O3wbXRnE5d0qRSvQo4Z-PG33zz_RSoKORY5Oa1F0T8BAAD__1hFiZg">