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

    <tr>
        <th>Summary</th>
        <td>
            [X86][Float128][compiler-rt] float128 test case core dump
        </td>
    </tr>

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

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

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

<pre>
    test case
```
#include <fenv.h>
#include <stdlib.h>

int
main (void)
{
  volatile __float128 a = 0x0.fffffffffffffffp-1022q, b = 0x0.fffffffffffff8p-1022q;
  volatile double r;
  r = (double) a;
  if (fetestexcept (FE_UNDERFLOW))
    abort ();
 if (r != 0x1p-1022)
    abort ();
  r = (double) b;
  if (!fetestexcept (FE_UNDERFLOW))
    abort ();
  if (r != 0x1p-1022)
    abort ();
  exit (0);
}

```

use compiler-rt error: -rtlib=compiler-rt
https://godbolt.org/z/scj8M4WKW

use libgcc ok:
https://godbolt.org/z/YMMjsf3az

 **Is compiler-rt bug?**
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk0Fv2zgQhX_N6ELYIIemJR10UOIIWOxmF1igSHsKSIqymdKiS1Juml9fSHKcOA1aoBUECOTHeXoz0pMx2m1vTAXiCsQmk0Pa-VA97WS_TVb2O-nXmfLttyqZmIiW0QCtYU1PN60Bue21G1pDgF93pj8ud8BvfiAxtc6qM6O17RPQei9tTwCLo7ctYDmi_ApoTcjRO5msM-T-vnNeJoYFkQT4htBHuuwur8OCUcQvgNdEvX-meD7C38i3flDOkPAMwlQPWMwAsCTymdluBJ0Zh2EetTmkcd3c3H_4d3Pzf_PPf3djD1MbhBAilQ_TiXFrlpgVAgFks002-_pp0Xue1KUnQPYntn7Tl3m00xY970G-mT_vxT9C6yEaov3-YJ0Ji5CICcEH4DVZhOSsAr55RYHWu5QOEXgN2AA2W98q79LShy1g8wTYRP1Q3K7u_r57kXdWbbUm_vNY9muFT7e3D7Hj8mlWIIA1YP1XvLCphi3wZkZZW_G25KXMTMVyzkvKcyGyXWWEpIJRYUqzLvN1h1pJlcsVirLUou0yWyHFFUPGaC6EEEveFUyu1p3uurzVhYQVNXtp3dK54370mNkYB1MxVgpkmZPKuDhlFLE3X8lEAXGMbKjGooUathFW1NmY4otMsslN4f5YrEFsQFw1pyzNq9dDFxtyDto57UT7YEg77A_ZEFz1Zqg27Qa11H4P2IzvPD0Wh-AfjE6AzeQ0AjanVo4Vfg8AAP__16FLCQ">