<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/121774>121774</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/5q4zxdf1K
```
define i8 @single1(i32 %A) {
entry:
  %l1 = icmp slt i32 %A, -128
  %l2 = select i1 %l1, i32 128, i32 %A
  %conv7 = trunc i32 %l2 to i8
  ret i8 %conv7
}

define i8 @single2(i32 %A) {
entry:
  %l1 = icmp sge i32 %A, -128
  %l2 = select i1 %l1, i32 %A, i32 128
  %conv7 = trunc i32 %l2 to i8
  ret i8 %conv7
}
```
```
define i8 @single1(i32 %A) {
  %conv71 = call i32 @llvm.smax.i32(i32 %A, i32 -128)
  %conv7 = trunc i32 %conv71 to i8
  ret i8 %conv7
}

define i8 @single2(i32 %A) {
  %l1 = icmp sgt i32 %A, -129
  %0 = trunc i32 %A to i8
  %conv7 = select i1 %l1, i8 %0, i8 -128
  ret i8 %conv7
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyslN1uozAQhZ9muLES2QPm54ILmghptU9hsEO8MnYWD902T7-C0L9tpWqrSlGw8Jzx-TjWqBjt4I2pQd4Boqb-4fr4BxBBHhM10zlM9fYy6YJ-rM9ElwhpA9gCtkPQXXC0D9MA2F4BW_k7uz7ok_gJvIGcbz_eaHOy3jBbMsh4tH5wRgCWNkUGKBvAikFxB7wxnqbH5QDesGXLCQbpkdl-vLDoiL0oDmwnsHyuw7UuGmd6YlbctEvVolgKt-Uq3kR98PfFqqNp9v3TvkNGgdlb78nQanurXriK4_L_IRT-P9Rgvgj1pHgC_A6oV5F9Kb4XBzfEXjl3c5Bx5-7HfRzVw96mb7_TjWElx-oTjq359wb0QSrvrtqzMf7eVPPKzxvrH0W3euXb8jnuTyNJdJ3qKq1UYmpRpLkocuRlcq7TSoo-73KDMjMV71SZyzLlfSWFLk-5SGyNHCUXPBdScJ7vdZWWKpc8E-KkNFaQcTMq6_ZrRGEaEhvjbGqBoiiyxKnOuLjNiKUE0sb6SH0YO-vNMi7wAIijjdHoXbiQHe1VkQ1-GyVTvch23TzE5SLYSPHlLLLk1gn0w0c6bD3lkR3COM5kNLsoIjN5ZiPzgdhZee2MTubJ_TuPLJ3nbt-HEbBdjd4eu8sUfpmeANsVLAK2G9t9jX8DAAD__w45YUg">