<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121696>121696</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] Commuted pattern is not handled
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:instcombine,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/aa5778bEf
```
define i8 @add-shl-sdiv-scalar0(i8 %x) {
%sd = sdiv i8 %x, -4
%sl = shl i8 %sd, 2
%rz = add i8 %sl, %x
ret i8 %rz
}
define i8 @add-shl-sdiv-scalar1(i8 %x) {
%sd = sdiv i8 %x, -4
%sl = shl i8 %sd, 2
%rz = add i8 %x, %sl
ret i8 %rz
}
```
Output:
```
define i8 @add-shl-sdiv-scalar0(i8 %x) {
%rz = srem i8 %x, 4
ret i8 %rz
}
define i8 @add-shl-sdiv-scalar1(i8 %x) {
%sd = sdiv i8 %x, -4
%sl = shl i8 %sd, 2
%rz = add i8 %x, %sl
ret i8 %rz
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEk8GOmzAQhp9muFhEZgAbDhyySZF66jMY7ARXBkces83m6Suz7HbVQ3upthICwf8z_mZGvyKy18WYDuonQNRxvD9efgAi1OdMrXHyods_ZoPXL90U442gPAL2gP3V68G7ePDhCtg_AHulaimb4csF-BEE3y9-1OZiF8Nsw6DiSuucJpeTts85jcqpwAGbJGJ9B2wZyCfgR5beSTMozyx52bvjxPLq3eBeDZPbddLJgG96eGy60vpNd0nfCiVLMHEXwiNRy3O6_x25-ETk-05M7g_IH8b9bY23NaY9_as17EgUzPyRqfofI_yMCWa6K3VbtiozXSFLwRshZJtNncSmFCiMGaumNEagalUpsR15ISRemsx2yLHmBa-LqpB1c9CiaotRCzmi5OJioOJmVtYdnHueU3YyS7SarsBCtCJzajCO9kQmC5RHu1Ac_TzYxaRw4gkQZ0tkdO5v0c72oaL1yx7c0KXf8mG9ElTcWYr066xoo9vy_nWheNpr1md28vO8RqPZTcVowsIsscVHNqlFO6OzNbjf02_jtA6H0c-A_Qb6-shvwX83YwTst8YIsN97e-7wZwAAAP__-PM_ug">