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

    <tr>
        <th>Summary</th>
        <td>
            Clang-cl does not support _udiv128 intrinsic
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          Febbe
      </td>
    </tr>
</table>

<pre>
    It seems, that clang-cl + lld-linker.exe can't link source files, which contain arithmetic intrinsics for 128bit types like `_udiv128 `.

```
[build] LINK Pass 1: command "C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\all_header_test.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\mem.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\misc.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\read_txt_test.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\round_to_multiple_test.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\test\sample_vector.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\dapi\6488b3bd58545d20cc03956b5383ac0cb522f90b\dapi\dapi_ctrl\test\v1_parsing_test.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\dapi\6488b3bd58545d20cc03956b5383ac0cb522f90b\dapi\dapi_data\test\packet_accumulation.cpp.obj CMakeFiles\oss-test.dir\C_\cmake_cache\dapi\6488b3bd58545d20cc03956b5383ac0cb522f90b\dapi\dapi_data\test\udp_reception.cpp.obj /out:oss-test.exe /implib:oss-test.lib /pdb:oss-test.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console /libpath:C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.33.31629/lib/x64 /libpath:C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/ucrt/x64 /libpath:C:/Program Files (x86)/Windows Kits/10/Lib/10.0.19041.0/um/x64 C:\local\boost_1_80_0\lib\libboost_serialization-vc142-mt-gd-x64-1_80.lib C:\local\boost_1_80_0\lib\libboost_container-vc142-mt-gd-x64-1_80.lib C:\local\boost_1_80_0\lib\libboost_date_time-vc142-mt-gd-x64-1_80.lib lib\gtestd.lib lib\gtest_maind.lib lib\gtestd.lib _deps\dapi-build\dapi_ctrl\dapi_ctrl.lib _deps\dapi-build\dapi_data\dapi_data.lib _deps\common-build\util.lib _deps\spdlog-build\spdlogd.lib C:\local\boost_1_80_0\lib\libboost_serialization-vc142-mt-gd-x64-1_80.lib C:\local\boost_1_80_0\lib\libboost_container-vc142-mt-gd-x64-1_80.lib C:\local\boost_1_80_0\lib\libboost_date_time-vc142-mt-gd-x64-1_80.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\oss-test.dir/intermediate.manifest CMakeFiles\oss-test.dir/manifest.res" failed (exit code 1) with the following output:
[build] lld-link: error: undefined symbol: _udiv128
[build] >>> referenced by C:\cmake_cache\common\7fb8ba3fd582c8b153909484e5c8cc82a1d54951\common\src\r128_t.cpp:301
[build] >>>               util.lib(r128_t.cpp.obj):(unsigned __int64 __cdecl r128__udiv128(unsigned __int64, unsigned __int64, unsigned __int64, unsigned __int64 *))
[build] ninja: build stopped: subcommand failed.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdV19v2zgM_zTOixDDluPEfshDmjWHYm1v2Ibt0dAfxtEqW4Ykp-19-qMcJ1lXbIduO_RwQWCJlET9KFIkxY18XF554gAaF9E18TvmidCsradCk4heEK3lVKv2DmwMD0AEayO68CSwiDO9FUC2SsOw-n6nxI4I03qmWsKs8rsGvBJEtd6q1inhyNZYktKCK0_8YwcOJd0BieZJ1Uu1x5HQj6PkTZSsxu88Gf8HMr_gvdIyyt-Q66vbt-Qdc46kUbbCnZuGtRJx0zXSUb5-9_7PP96vosVlisT19acbbLhq8XvUa9AqopvWaFMbsr5hd7AZFMrXxrmpB-djqSyS6wo_osEJlWBiB4HCHU0Qt9jygrNsK_OCioKneVYm5ayYQS4KIQrKUpnPyjz9ek0QjQ3TutoBk2CrYTPRdbHhX14DSgPNq26vnHjN_S1aofIP_tXtYE3fIhJTNb32qtPw6ogcawKMPQhv7M8CkaxT2MxnRcEzjijyWS5pIkSSlfmc51mRMZEInlO6LRN-XhGaSnirz4D2adUx61Rb_9LZ_BokyTw7Q-qYuANfMSF6tBvzyrT_BVi97CoLArongDDkmd5jlDyBGQOhQkMr_vUAkmGgk0-4SAbuHtAI6CnZKomTwGhQBdUCMh7ms8CQwPs6dK5u1-8vby5vP66uA-l67h6dhwanYs5wRg_7424d8ztkDjGcbt5ZU1vWkOH0cEbxUMwjWuLIjRLWOLP15JNyPdPkg8ckYnCEJpRicxESxUdjNKanzac1fo7EzYeBTGdxlsVZOh_kBb3pZoT9AhyfVSvNvSNvlQ-y0wQ_14OsFA8lTstklsaB2Qvr_-UdmlH-mAC1ESzcGm6M81VaFUmVBLbih--B78AqptVfg89O9yKd0Wnjp7WcoqhpWDU4wYtkjmUA2N8kD50aw6Bq4PvyDivq4J7yW0bVIJhn3AOjktC58fJMx-LiScw59f9h-njxTv0n0w8h9bSg9-qpONdJLEFO4wdSvvyg_ifGxIqzBZ3RgehRqbFbSzX27rGk7PA-D4TbgT7Oxkhy7rHeH4X06nCcaAmp65HL5B7NNRIhMqxurzaXHz5-3d9cXV-Ga_rdII5hs_VgG5AKNYuxClVbHPtB2A-B8jAptqF6pmTLcF4oXgt4wOpYGAlY1tIS9fQ7rMyx0DZaG9S6Jhi6uyF6P6-Jj4VtKIjBWmNDB8sJ2KL9JHGPDTc68I4F93MRUXZ5-BMLW7DQClzIH48m_o3VhbMilDuIohpSOG6QJemPED39HS8RHtpZSMhvIWyGmFr0-Oyog-JVhSbCwFhVQgI-bob5pzN4PjE8aH6Wh0ZcDYG7fK5Kq9ovLJz_wCHOm64DGRiYEI8vmIMvxN88gCawTOfzktJsniwmcpnJMivZxCuvYbk-vtqkweTRGnzV9V1nrD8Z-vwMm_RWL3feY9wZEg_-a3SynscIIGQmvT82086aL1j1BRd3rg-uusnLdF5MdkueFmmZL9iMScFlyRPgIuVyXpashDJnE804aLdE9dHBW7gngwjs40FM1DJk6TSlWbpIM0pjWQj0mS0uzxdZMi-jWQIYtdHAiCM2tp7Y5QAJ6wmHg1o5786D-AwMRoBhO5SPF39n7HIDnMNk2Hg5AP8bRL_B0Q">