<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63216>63216</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
v_mad_u64_u32 patterns do not import in globalisel
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU,
globalisel
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
arsenm
</td>
</tr>
</table>
<pre>
```
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td:1908:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td:2972:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td:28:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td:1485:
/home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td:661:3: warning: Skipped pattern: Could not infer class for EXTRACT_SUBREG operand #0
def : GCNPat <
^
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td:1908:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstrInfo.td:2972:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/SIInstructions.td:28:
Included from /home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOPInstructions.td:1485:
/home/matt/src/llvm-project/llvm/lib/Target/AMDGPU/VOP3Instructions.td:682:10: note: instantiated from multiclass
defm : IMAD32_Pats<V_MAD_U64_U32_e64>;
^
```
I'm assuming GlobalISel emitter is getting confused by the 2 outputs on the v_mad_u64_u32, and the extract type should just infer it from the first result.
Additionally the combiner needs to implement the reassociation from f02510e432e2c452e85a2b7450a8588d0f3c526a
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzslcFu2zgQhp-GuhBrUKQoywcdFDsOfMhu0CTF3gRKHMlsKVIgR93N2y-o2Gm6Pexl21MNA6RnTP6a4fdTKkYzOoCayBsiD5la8OxDrUIEN2Wd1y81Kdnlyw6ENSfX20WDpkPwEyX8ePYTEH6cFCLhxxh6wo_Wfpl-m4P_BD1efqbBdIQfn1QYIUWb-8Pdw_PbZIOaiCbfsYqI5odpPZ5OLmI4ucG_CvLdlv8EwaVH4128aP7QEj_-8fC9ZF5U8k30_5IR3-uUZU5EI4ho6F8qOOPGNH38bOYZNJ0VIgSXQnu_WE2dR2rcAIH2VsVIBx_o7Z9PH5r9U_v4fPPh9o76GYJymhIuLghSqmGgaZO7_e8PCikR-2uGyNtfnP7i9L85rVI3c5Yoch4hjcZFVA6Nwmud02LRrGS-I29a0TvdNwfB2weFkYj9x_a-ObTPZdE-C95CWRBxS8TNddXl8wbnv-7US4sJ305UxbhMxo30zvpO2dMjWAqTSb6hJtIREFO2925YImjavVA8A-XULzgvGKl3a-BLOyndLmXRLoITvqfJQykBf2NQPVJ8mYHG82rDT0u8-tDga-npr4MJEWmAuFjcvH_URmuTmqmsfZXv_dQZB4E6AB0pemqm2cIEDtd8ABWj741Kq14FBsZlzqAQHHhfSA6VVLzbFpKpSlaVZoPoJS9Vpmuhd2KnMqjzsioFZ5LL7FyLjnEp-rwsZC8LpQVst7tcaMmGiu1kn5maMy5YyXZ5wTkrNmrLdSU7IdRO7lTZkYLBpIzdJIQ2PoyZiXGBuhQ8LzOrOrBxfTNy3qn-M7hEzhWs1FTC-bgek4lgU0geslCvfHbLGEnBrIkYv-6PBi3U35zN9VKMVPvX-3CafUjHQb_uTbMl2PqMOMfkDn4k_DgaPC_dpvfTOxN8a421nEj4ca3onwAAAP__nBZ_5w">