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

    <tr>
        <th>Summary</th>
        <td>
            Clang ICEs compiling project pveclib __float128 implementation
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    For the project: https://github.com/open-power-sdk/pveclib

Clang 16/17/18 ICEs when compiling PVECLIB implementation for __Float128/__int128 types.

In powerpc64le these types are implemented in the PowerISA in 128-bit vector (VMX) registers.

So are __Float128/__int128 types scalars OR vectors, Yes for PowerISA.

While POWER9 implements _Float128 in hardware but PVECLIB it trying to implement _Float128 operations for POWER8 and earlier using the wider (__int128) registers of the vector unit.

This is working in GCC.

But clang is pita as it is ICEing without useful diagnostics.

Clang does generate preprocessed source and run scripts on these occasions but not sure how to attach those in this tool.

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8VEuPozgQ_jXmUkoEJg84cEhnm1VLu5rWzGpm9xQZUwHPODZylTvqf78yIZOZS194iKr6Hq4PRWQGh9iI7ZPY_pGpyKMPzSW64JG-b2XW-f69aX0AHhGm4L-jZlEeYGSeSJQHIVsh28HwGLu19hchWz-hW03-imFF_Q8h2-kNtTWdyA8iPxytcgMUOyHbYp8uFbwcnwmuIzrQ_jIZa9wAr1-fj3-9PIG5TBYv6Fix8Q7OPsDp1FqvuJCVkO3pZFx6BH6fkNY3jBcHM_6kdxuLiTrhrQBUwMdM7MG4WdlrKn_5ckjvhaxWnWF4Q80-gJDV17__FbKGgIMhxnCH-eLncR_wAdLKqkDw6fMyjoQ8wn9Is5I76jLv22gswuunb8-f6wdJgp_zE7tRhf6aYLvID5cYOLwn39g_On9p9BOG2cEFOGFUoFwPqII1GCDS3D4iXE2Ps-y7lt-0gz_PVYs70Rle6P8zGgJDcPXhR5plHPx5PC4fnyKDno_eEEyGFShKtA2l40_lV8OjjwyR8Bwt9EYNzhMbfbf7tjm9R4IBXdKTNhKn4DUSYQ_kY9A4qwrRAelgJibwbtkAr7Wi2YPknfMMFAPC6K_JNsWs9Ag8esLbWhgC9t4m-Kxvyr4ua5VhU-zLerepa1lnY1Pu67rq6lLvir6rN0Veod7rfFsXar-rqnNmGpnLbS6LrczzrazXu922y9W5KHOUuCuV2OR4UcaurX27rH0YMkMUsSnkvtxsMqs6tDQHVMrZQSFlympoUsOqiwOJTW4NMT1GsGGLzc2xOV6PZC0hhiWVcDqdf67Xb2HLYrDNBzlPYMttdf8zyHYmTynYN_5vjfw_AAD__8rveCc">