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

    <tr>
        <th>Summary</th>
        <td>
            PPC should use REG_SEQUENCE instead of sequences of INSERT_SUBREG
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:PowerPC
      </td>
    </tr>

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

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

<pre>
    The PPC backend is using a sequence of INSERT_SUBREGs to build register tuples, which is harder to deal with in optimizations than REG_SEQUENCE which is intended for this kind of usage.

Attached starter patch. There appear to be other backend bugs resulting in verifier errors, and I'm pretty sure these pseudos should be eliminated too.

[0001-PPC-Use-REG_SEQUENCE-instead-of-pairs-of-INSERT_SUBR.patch](https://github.com/user-attachments/files/18643272/0001-PPC-Use-REG_SEQUENCE-instead-of-pairs-of-INSERT_SUBR.patch)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykkk1v2zgQhn8NdRnIoCgrtg46OI4d5BJ483EOKHFkciORWs4wQfbXF1LdJkWBXnqSAIKc95n30UTu7BEbUV2L6ibTiW2IjY6EfszaYD6aJ4twOu2h1d0regOOIJHzZ9BA-F9C3yGEHu7uHw8PTy-Pz9cPh1sCDtAmNxiIeHbEGIHTNCAJtYd36zo7v2N1NPNJAIN6gHfHFpyHMLEb3f-aXfAEbLWHh8Pty-Phn-fD_f7wed95Rm_QQB8isHUEr86bOU0ifcaVkDshdztm3Vk0QKzjnGTS3NkVPFmMCHqaUC8ZWoTAFuNP0jadCSJSGnjmdR7eMLreYQSMMcQFRnsDd0JtRpgiMn8ApYjAFglhIkwmEJANaTDzABzc6LxmNMAhXAKK6lpKWeSn0z5_Jsy_wubOE6M2eejzSbtI88-XXa8WGFHdCLW1zBOJcifUUajj2bFN7aoLo1DHRBhzvSxiRM8k1LF3Sx3HYnu1LtVGCXX82xSqzkxTmrqsdYZNsSm3VV2sC5nZBtt2U8m6q1GvzZWs-7rbbLCXpus2WNZ15holVSWVLIu1LNV6VWBVbXul6m1fVqg7sZY4ajeshuFtXIV4zhxRwqZQVSVVNugWB1o8VurSoCh3p_CO8bQXSs16x2a-nM_FirUcHDF9PseOB2xm1S99JcJfxbtsYRbsh_r0m_tZikPzhyrmeZdPPsXwL3Ys1HFhWer4jvPWqG8BAAD__-3hMN8">