<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61697>61697</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Problem casting a 128-bit integer to half float on arm64-apple-darwin
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ilian8
</td>
</tr>
</table>
<pre>
The following emits a libcall to a non-existing builtin
```
❯ echo '_Float16 fun(__int128_t x) {return (_Float16) x;}' | clang -xc -shared -
Undefined symbols for architecture arm64:
"___floattihf", referenced from:
_fun in --6310a4.o
ld: symbol(s) not found for architecture arm64
```
Reproduced with clang 16.0.0 and Apple clang 14.0.3.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0Uk2P3CAM_TXkYiUiJp-HHGZ3Oueqas8RCWZCRWAEpDP776vMpOoeWoSM4Nn4-dkyRnN1RAOr31h9zuSWFh8GY410XTZ59TF8Xwi0t9bfjbsCrSZFkGDNNEtrIXmQ4LzL6WFi2j2mzdhkHONnxk-HbfixX9cvyPozO12A5sUDw3a8WC9T2YDeHMNuHI1LJXZjggfDHlj7FihtwcEOHr478GDijbVnhi2w9h1mK90V8scMeVxkIAX5Zxo_nCJtHCmIH-vkbQTtA8gwLybRnLZAIMPaVEwcAQAMcRxHvWdMZtEMkeE7BNIUyM2kQAe_fvLf16g3B8ZBnjei5LIq_Au1ionTkZphF_cCnE-g_ebU_6j8U7-n_Ua34NW2k7ibtBzFl03BCw7SKTjdbpb-PFcFL0TxiszUIFQvepnRUDZt35Y1lmW2DG1XNjVKrVsSU6P6rpmQi75rKqW7CnlmBuQouMCaCyFEWVDb9rVCRF1XuuEVqzit0tjC2l9r4cM1MzFuNDRl07eZlRPZ-Jw1REd3eIK7qPU5C8Mek0_bNbKKWxNT_PtLMsnS8DX4ydIKs3yNmoQSu3wyCYxLdKWwj-MirYZnx8C7l4q53KXIlQx347It2GFJ6Rb3vuGF4eVq0rJNxexXhpc953Hkt-B_0pwYXp5MI8PLs5LfAQAA___JsvvM">