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

    <tr>
        <th>Summary</th>
        <td>
            [PowerPC] combine two RLWINM generated from __st[d/w/h/b]cx builtins
        </td>
    </tr>

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

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

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

<pre>
    This is from code review of https://github.com/llvm/llvm-project/pull/104453

See comment: https://github.com/llvm/llvm-project/pull/104453#discussion_r1721334878

```
RLWINM 3, 3, 4, 28, 31
RLWINM 3, 3, 31, 31, 31
```
===>
```
RLWINM 3, 3, 3, 31, 31
```

Note that the first RLWINM is generated in post RA phase, so this has to be done after RA.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykklGL1DAQxz9N-jK4JJNkr33oQ-_WgqDHcQo-Hkk7baLdZknSW_XTS3u3nIKiIgz_MCT5DzPzMyn5cSaqmb5m-lCYJbsQ687R_M3RPAoueWFD_7X-4HwCn2CI4Qhd6AkiPXo6QxjA5XxKTDYMW4bt6LNb7K4LR4btND1ejlenGD5Rlxm2p2WaGLaCK6Ul4wfGmyd9TwRdOB5pzkw2_2uMsvepW1LyYX6I4gqFlKq8Kn-syPb8Obb0_u3HN7fvQDK8eRK1CpZbLn7zRoqf9Fe-TB4u8frvCss_e256GzJBdiZDdgSDjynDs5lPMNJM0WTqwc9wCutdAydnEq3GKUBe9-pMghzAEvRhJjBDpgj3za7oa9lXsjIF1eIKlRCal7pwNRlp-lJylJ3gSleV7ErBB2H3PVqjh8LXyFHxEjnnWqDeDbxS-6G0Yj_ISnFiitPR-Gm3bnAX4lj4lBaqBVdlWRaTsTSlDUtEa7rPNPdMNnfhTPHuhiGutMZ6W79dxsQUn3zK6cUu-zxtXF_-6MOKlvUzQT6Hy4xeBrSR_fCQMtPXPcP2zLB1DFvL9KH7AnbxU_ZzKpY41f8M5tZcekJz7e-xxu8BAAD__4JsBDg">