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

    <tr>
        <th>Summary</th>
        <td>
            [DAG] SDPatternMatch - add m_BinOp/m_c_BinOp variants driven by TLI.isBinOp/isCommutativeBinOp
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            llvm:SelectionDAG
      </td>
    </tr>

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

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

<pre>
    As noticed on #84759 - we should be able to allow folds to generally match any binary ops that are recognized by the TLI.isBinOp/isCommutativeBinOp callbacks, allowing us to match target binops in generic dag combines.

CC @mshockwave 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEkU-PmzwQxj-NuYwSYQOb5cAhG5RXr9qqVbf31dgewF1jR_aQVfrpK0BVj7343zz2z_M8mLMbA1EnmhfR9AUuPMXUff_06uYYCh3toztnCJGdIQsxgFDVc31qWjjAB0Ge4uItaALUnoAjoPfxA4bobV63IwVK6P0DZmQzAYYHaBcwPSDeMvCEDJgIEpk4BveLLOgH8ETw4_P_R5dfXPh6E-rq8iXO88LI7k7bIRj0XqN5z0JddqwLIywbdocxppF45a0sF_bfOAMWRzBx1i5QPoqyF-V5Hy8XEHU55yma9w-8ExS2q2xbtVhQJ0-yVE-lVLKYOotWDQPqyhA18iSxLVsaZHXCimqqsHCdKlVdVlLJJ9nI01E3aGxVD0-tbBptSNQlzej80fv7fIxpLFzOC3XPdVuXhUdNPm-5KDXGaGFwKTNsGqGUUBeh1HpVVOdX8mTYxdCf_1trTV-kbq0d9DJmUZfeZc5_QezYb5mv-qaH1_4bMlMKXzbfDoDWwvz2x_z5zexruGNyGDiDTe5OYc3qXzkVS_LdxHzLojoLdRXqOjqeFn00cRbqurWwT4dbij_J8PZOXigLdd3c-B0AAP__OYHg3w">