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

    <tr>
        <th>Summary</th>
        <td>
            llvm.experimental.constrained.powi has inconsistent type with llvm.powi
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm,
            floating-point
      </td>
    </tr>

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

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

<pre>
    llvm.powi has a type mangled parameter for the integer exponent type in the second operand. llvm.experimental.constrained.powi does not, and hardcodes this to i32. This is particularly broken for the case of vectors, where the exponent should also probably be a vector.

There is one test where a (nonconstrained) powi is used with a vector FP type, and scalar exponent type. Most of them use vectors with matching element counts as I would expect
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMkkFvpDgQhX-NuZSCjIFOOHDIJmppDyvtIX-gsKvBu8ZGriKd_PsR7qRnNKe5gMD28_tePWT2cyQaVf-X6l8r3GVJecTMFNdqSu5zDOF9rbd09bAgA4J8bgQrxjmQgw0zriSU4ZIyyELgo9BMGehjS5Gi3Pb7WBaZbIoO0kYZo6uhaNPHRtmvFAVDbVNkyegjudulLhFDTKLMC2B0sGB2NjlikMUzSALfmhrejg_PhyHxdg-YwydMOf1P8W7NIhOkC7yTlZT5ULwulKks3v3ykvbgAAMn2HKacDqUCPDrXK30q9LPt-dbOe8ZUiQQYvlSRFDmKab4C44yAxQiz7AzObh6We6qcP63JPWNyRYD_pZiDf8kloNAFloPkW-Um9aKYhcfZ6BAR5xg0x6FARn-hmuhOrK2UrmxdUM7YEVjc3pqdaefTqZaRux1exoa0qQfbX_Sji7do-keG7w0k6Gh8qPRptW9Nk1vGm1qcn1PWnfNyVA3WKM6TSv6UJfRpjxXnnmn8WS6oa8CThS4lM2YY4cyRpkXZcwlJBQf54ct-SjH7_61yqV8D9M-s-p08Cz8U1e8BBr_oEFHbX2ZhGe5N7Ikdu92tecwLiIbq_ZZmbMy59nLsk-1Tasy55vX8nrYcvqPrChzLmiszLnQ_QgAAP__CwYkCQ">