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

    <tr>
        <th>Summary</th>
        <td>
            [DAG] Add SDPatternMatch m_SpecificScalarVT / m_SpecificVectorElementVT matchers
        </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>
    We already have m_SpecificVT(EVT) which matches a specific requested value type, these helpers would be similar but would match the scalar/vector element component type:

- [ ] Add SDPatternMatch::m_SpecificScalarVT matcher to match a source SDValue getScalarType result (i.e. either a scalar type or vector element element type)
- [ ] Add SDPattcrnMatch::m_SpecificVectorElementVT matcher to check a source SDValue type is a vector and match its getVectorElementType result
- [ ] Unit test coverage in SelectionDAGPatternMatchTest.cpp
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEk1Fvmz4UxT-NebkqAgMFHnhIm_J_-GvStGTZ42TMBbwZzOxLqnz7yYSqzdZqUhQjfHz8O_dehHOqnxArlj2wbB-IhQZjqy__H9RopqAx7aX6hiC0RdFeYBBnhPH7YUapOiVPR8aLJ_9fwvOg5ACjIDmgAwFu04DFXws6whbOQi8IdJmR8UegAR3CgHpG6-DZLLqFBsGpUWlhoVloe7l6ejk4KbSwjNdnlGQsoMYRJwJpxtlM_mk1T3Ys8r87YNkDsGwPu7aFw_6zIEI7ffJ-XpTsXqMcVuvTcUtggcx2sQBnFisRDvvTGqBHuqqPlxnBols0AeOFCjEEVORPi411BQJj4Q_il_VajPIDWPkB7Gk1e7p63DLLAeXPv5lXDOX7soGI6aWwipyPdOP5JtkN2tdJERA6X_IzWtEjqAkOqFGSMtN-99_bGh_RUSjnOWirpC2TUgRYxXkWxWmRxWUwVFFTxmXBmzyJChQ86bK4y8syjjoedRiLQFU84ll0H-dRweOsCNM4KTssi_u8lel9VLI0wlEoHWp9HkNj-0A5t2AVp2ma54EWDWq3DjfnvTEtdMo6glXEOGf8kXHuz7Jk9zaG38v2ga383l2z9I6lkVaO3OtNpEivH47Xvztk8M58MV7DPzvpgsXqaiCane89rxmve0XD0oTSjIzXK_J1uZut-YGSGK_XWI7xeot_rvjvAAAA___Fq06N">