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

    <tr>
        <th>Summary</th>
        <td>
            [X86] X86TargetLowering::computeKnownBitsForTargetNode - add handling for VPMADD52L/VPMADD52H nodes
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            backend:X86
      </td>
    </tr>

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

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

<pre>
    The X86ISD::VPMADD52L/VPMADD52H nodes truncates each element of operands 0 and 1 from 64-bits to 52-bits, unsigned multiplies them together and then extracts the lo/hi 52-bit result, zero-extends back to 64-bits and adds to the corresponding 64-bits element of operand 3.

computeKnownBitsForTargetNode needs to correctly handle X86ISD::VPMADD52L/VPMADD52H nodes with suitable test coverage

NOTE that the operand order appears to be different to the instruction encoding - so this might need to be checked on actual hardware (Cannonlake/IceLake/Znver4 probably).

Pulled out of #153787
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMk0-P5CYQxT8NvpS65caN_xx86J2OldVONqvsKFrlhqFsyGCwoDyzk08f4e5JDpFWOblkSr96r3jIlOzsEXsmPjBxLeRGJsT-t09f7RJ8MQb91j8ZhG9t_fHrlVUXVl1-__LL5XoV_JHx4b3-GXzQmIDi5pUkTIBSGUCHC3qCMEFYMUqvE5QgvYYTTDEsUJ8Po6UEFEDwvWT8ATa_q9KwbI7s6mwmG1yAwoxkMO4IMugBv1OUivZzcIHxwdg7CiKmzVEG_oUxHPA7YRYwSvWcB77Pziyp9S4iU1SIEdMavLZ-_qfrv1agOrLywsqLCsu6EX7y4dV_sJSGEJ9knJE-B43gEW_snavIvYGRXrv_v9RXSwbSZkmODoEwEajwglHOeBPw-denn4CMpF3_u7wQdd7UuqKMu4ARQdtpwph93M1anyhuimzwgF6F3fMBUj61CRY7G9ot3AHKoHpGDcGDVLRJB0ZG_SojAuPtg_Q-eCefkfHho8LHW_WHf8F4hjWGUY7ujfHuvrkvm3MZtu17Zbw6iappm0L3le6qThbYnxpR85KXdVeYvhPnpjm101h3OJanVjeTlOW5GifFuZhUYXteclG2vC47cebdsa2EVmVbNqNsJjFKdi5xkdYdnXtZjiHOhU1pw_4kRNXWhZMjurS_Bs7nEDRMNiaCvYlxzvgD4zwnCL1m1eVbW-e_4lrEPhMP4zYndi6dTZT-nUGW3P7Gcr-45pu_JeQxvGK0fr6F4MdBOuSU3rKTL2kKEX6QmmKLrjdEa8psPjA-zJbMNh5VWBgfsrb757DG8CcqYnzYfSbGh_s-Xnr-dwAAAP__Jd5d-A">