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

    <tr>
        <th>Summary</th>
        <td>
            AMDGPU should implement IR version of isFMAFasterThanFMulAndFAdd
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            backend:AMDGPU,
            missed-optimization
      </td>
    </tr>

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

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

<pre>
    TargetLowering has an IR variant of [isFMAFasterThanFMulAndFAdd](https://github.com/llvm/llvm-project/blob/3ae71d154e5dfb5e5a5d27b3699b27ce2b55f44d/llvm/include/llvm/CodeGen/TargetLowering.h#L3262), and AMDGPU does not yet implement it.

As far as I can tell, this is only ever used in target code to implement isProfitableToHoist (e.g. AArch64 here https://github.com/llvm/llvm-project/blob/3ae71d154e5dfb5e5a5d27b3699b27ce2b55f44d/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp#L16086)

So for this to be effective, isProfitableToHoist would also need to be implemented similarly.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8k8GOpDYQhp_GXEqLcIGhOXBgp8VmpB1plZk8gI0LcGLslm161Hn6iJ5O90RKDrnsBSyXXKr6_v-XMZrZEXVMfGXimMktLT50MkRya6a8vnRvMsyUvvt3CsbNsMgI0sHzr3CWwUiXwE_AxFcTh5d-kDFReFukG1422zs99FozcWR4WFI6RVb2DAeGw2zSsql89CvDwdrz378vp-B_pzExHJT1iuFQSmq45qIioSclSEihsVFl3bYKm5FQCTFVlX70MW60m6bHxZPX9I0cw-Gfu-QLw_J7iTUybBk-gXQa-pfjtx-_gfYUwfkEF0pg1pOllVwCk3JWHFnRf3z7CJMMICM8wygdJLJ2b5QWE8FE8M5egM4UYIukwThI1wlg9Jog-c-d44_gJ5OksvTmf_EmJmB4oHzOoe_DuNQVLBQIfh5Ia9SdGcPhNsXj9PxK9s5yPJ12mrwuDvWO8xOlVw-TDx9QkgdFQNNEYzJn2mH92-bvfrMapI0eHJG-PbvTIg3RrMbKYC83QTLdlbotW5lRxxusqwLrssmWrimaUk5ScpS84lSXEkVTcRqLtqADLzPTYYFV0XLBkTe8zsdSqAOX2FRUt2pEVhW0SmPznUvuw5yZGDfqeHFoBM-sVGTjNUGIs_caJhPirmjciCEyfGKISo5_kNOs7D8cdi-sJkbSX_wpmdX8KZPxbq-JYxa6q5JqmyOrCmtiio8RkkmWuptb43Ll9XDTHk8K0Xi3x_O_s5ltwXb_21HXzSLD4Ubg3OFfAQAA__9z7WGC">