<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114109>114109</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang + LLVM-libc Sharing Code for Floating Point Operations
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc,
floating-point
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
michaelrj-google
</td>
</tr>
</table>
<pre>
Proposed name for this project: Hand-Eye Coordination
This is a tracking issue for the overall effort.
Summary: Clang needs support for math functions on APFloat for two main uses - compile time constant folding, and providing constexpr builtins for libc++. We can't just call the host platform's libc since it may not match the behavior of the libc on the target platform. Based on [Project Hand-In-Hand](https://github.com/llvm/llvm-project/pull/91651) we hope to be able to reuse code from LLVM-libc for this purpose.
Current TODOs (edit as needed):
- [ ] Create an RFC for this project
- [ ] Specify the utilities that clang needs, and explain how they're different from the standard libc interface
- [ ] Explain the potential issues (e.g. runtime rounding modes, fast math)
- [ ] Propose a design for how this will actually work
- [ ] update this list once we have a design
cc: @AaronBallman @lntue @nickdesaulniers @vonosmas
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVM1u6zgPfRplQySwlTg_Cy-a5AbfB9xBi-nFzJq2aFutLBr6SW7efiC5RYrpajaRrJBHPDyHQu91b4lqUR1FdV5gDAO7etTtgGTc27Jn7g0tGlb3-sXxxJ4UWBwJOnYQBu1hcvxGbRDrJ_gfWrX8cSc4MTulLQbNVhRnUTzNv79SgvaAEBy279r2oL2Pn2gEfCWHxgB1Hbuw-pr7GscR3T3dczJoe7BEyoOP08QuZIQRwwBdtG261wNbeHq5GMb533BjGFFbiJ48LKHlcdKGIOiRoGXrA9oUaZS2vZAnQKsSu6tOB3ME_Z4cNFGboK3PqEY3rZBHIY8r-JugRSvkLsBb9AHaRCXRGtgHmAyGjt0o5M7nNPDatgQ6wIh3sJzW0A45o6EBr5odcJe_czzbvA_oenrgreCISRa2IKrjyyzHrMX_7TKtojoLuR9CmLxYPwl5EfLS6zDEZtXyKOTFmOvnsvzUU16maIyQl0O5rUohD3BLRCaCwNAQYGPy1lH0qX-KoHM8ws-ff_2xzOU-LBJdcs4Kvup5is6RDfDr-fzsQcg9KR0AfdaVlJCHVGsOXSZiIKoznBxhIEALf15O3z2YowEe8a8Ttbq757bFoI0OmjyEAQO0DxN9ik2_J5MMMvAtZdyF3DkCpbuOcqmZX4JKVlHo1CyLtoFchy19v__HB2JKmjiQDRrN7PmZ86pfgYs2e9BxtNlqIyvKRXXosymG1I1v4B8DCQiK0hznfsy1aw83bQxgGyIac4cbu_d_NzNOKjUzRxvtA3CyY1IZrw_Ur5q1bRo_sSme0LE9ojEj2vRtbIiUNla374o8RmM1OZ-OrmzZj-hhoeq1OqwPuKC63K0LKTf77WYx1PKwLrqqU7uu2eIaFe33xW5DVFXtlpoKF7qWhdyUhTyU-6Is5Govq-2uq8qSqu2hVFuxKWhEbVbJwit2_SL3uC7LTVkcFgYbMj6_clLOEyuFPAkpu_Q8aNsvJ9Y2pOPqvHB1noQm9j5x0z74B3DQwVA9P0FCHr_4_XVAl-Q75VlgB5cPcHhJ4PA8kctPol9EZ-r_PI-zbYS8fLC61vKfAAAA__9gM-ag">