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

    <tr>
        <th>Summary</th>
        <td>
            ISel sinks math library calls below fesetenv
        </td>
    </tr>

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

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

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

<pre>
    ```c
#include <fenv.h>
#include <math.h>
__attribute__((const))
long double myrintl(long double x);

long double nearbyintl(long double x) {
  fenv_t e;
 fegetenv(&e);
  long double result = rintl(x);
  fesetenv(&e);
 return result;
}
```

clang++ -O3

```asm
nearbyintl:
        sub     sp, sp, #48
 stp     x29, x30, [sp, #32]
        add     x29, sp, #32
        sub x0, x29, #8
        str     q0, [sp]
        bl      fegetenv
 sub     x0, x29, #8
        bl      fesetenv
        ldr     q0, [sp]
        ldp     x29, x30, [sp, #32]
        add     sp, sp, #48
        b       rintl // moved here.
```

https://godbolt.org/z/7h7v1xKee
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVM9ymzwQf5rlookHVsbAgUMcf8x800MPfQCPhNagVoArCcfu03fAskOSpjmUwV6G_f3TipFwTjc9UQnpFtJdJEbfDrZstRVK-4uI5KAuJWzi611DvIP4EZDrvjajIgb86UD9adUC_-9PzU74dtHc74X3VsvR034PmAPm9dA7D1hM94wxQ98wNYzSEOsuVvfeAObLt-cJy7fB7x2pJ2Hl5QMegywQGZuS7z2juxY7UEOe-tMcbUNLH8aWUpbcaDwDvmO3hOfX6AO5D6Us-dH2QeRlJdkuPNzmvVxhbUTfAG4Bt-zhK1-27njhuuubxQj44y3R9XKjvNYj4FP4B-TrPMCcP87987QlT-zM4xmRbu9QjpDuXosKpZakJfSd-XkWDEhAnr-BeDvXnwvft3bSXOt9u0L0sLRPHF7YbskOl1Gf-xv1DzP6aPC3dKHOnxUDrAAr1g0nUqwlS6u_fCKt90c3bfhMagYlB-NXg20Aq1-AVdZmp-T8hShSJVcFL0REZZJhkRUpZhi1ZR5nuFF5IUWaKZXFElN5QKlIrEmopI50iTGuk-mXr5MEV1jIpN6sZXrAVOWpgnVMndBmZcypm7wj7dxIZZLwTZxFRkgybj5uEHt6ZnMXcBpXZMuJ9CDHxsE6Ntp59yLjtTdU_v-NDHO6_-HYdLQwo6UV9sJqYYxjkszwfN_XaLSmfDMT7dtRruqhA6wm6VAejnb4TrUHrOZADrAKiU8l_g4AAP__5hRpjA">