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

    <tr>
        <th>Summary</th>
        <td>
            Poison not propagate through @llvm.pow[i]
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:instcombine,
            constant-folding
      </td>
    </tr>

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

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

<pre>
    I believe we should be able to fold `@llvm.pow[i]` with a poison operand to poison:

```llvm
define float @src(float %x) {
  %powi = call float @llvm.powi(float poison, i32 %pow)
  ret float %powi
}

define float @tgt(float %x) {
  ret float poison
}
```

But we don't do this today: https://godbolt.org/z/EGrYPc6oW

I can't think of a reason why poison wouldn't propagate, I presume it would act similarly to e.g. `@llvm.sqrt` which we do fold poison through.

Alive doesn't seem to support the pow[i] libcall just yet https://alive2.llvm.org/ce/z/CXcVgc
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0U01v2zoQ_DXUZRGBoj4cHXSw4-eH3HJ6rz1S1FpiQosqubLr_vqComwHKQoQMGjtzszOLKX3uh8RG1buWLlP5EyDdY2ZP9DUm6S13bV5hRaNxjPCBcEPdjYdtAiyNQhk4WhNB6zirODGnE_pZC-s3GlW7lnF4aJpAAmT1d6OYCd0cuxCW_yH5VvGl1PxeAIG49sOj3pEOBorCVjBvVNMPK9XUf5koga22TG-hXCf7EUDy_egpDGPrpsgfe9dacUL6FysnUzUC45DgjvD0sW3bLOPAr8Kop7-KugBtNLdcW5TRszdTMHTLgjaEHQWaNAeyHbyyvItDESTDxaJAxOH3natNZRa1zNx-MXE4Z9_3fc3Vdn_I9wrKBmRaNDjB9gjSHAog_OX4XoL4RISjHWTs5PsJWEw5BUmh34-IWiKRSAVgdcnbaQz15Aapn36OWz_w9ES86DVEGeJC7Fy0eDs3A9pFLg1-hxK0Ed6j3gKqH6eJuuCbITH-oDR7RLn--wJrkhf_JABTaSLjuiJwtWYl2_qv14lXZN3dV7LBJtsU2b5c_ks6mRohMg3xbFDWWVtx6sKZSurvFZHbLusKFWiG8FFyTc8yyqeF3UqRYFSlll5zDOsuWIFx5PU5s6eaO9nbLKiKiueGNmi8cujEmLZ6HyrR0_Knlo9IhOCiRcmhLKjJznSU_BMj334UO4T14Sep3bufTBae_IPItJksHmL_o72U4g3t-HPp5jMzjRf1knTMLepsicmDovG-PM0OfuOipg4LDN5Jg7rWOdG_A4AAP__wvZU8A">