<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">