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

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] Miscompilation in `simplifyIRemMulShl`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation,
            llvm:instcombine
      </td>
    </tr>

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

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

<pre>
    Alive2: https://alive2.llvm.org/ce/z/rdeehL
```

----------------------------------------
define i8 @srem_XY_XZ_with_CY_gt_CZ_no_nuw_out1(i8 noundef %X) {
#0:
  %BO0 = mul nsw i8 noundef %X, 127
  %BO1 = shl nsw i8 noundef %X, 7
  %r = srem i8 %BO1, %BO0
  ret i8 %r
}
=>
define i8 @srem_XY_XZ_with_CY_gt_CZ_no_nuw_out1(i8 noundef %X) {
#0:
  %r = sub nsw i8 0, noundef %X
  ret i8 %r
}
Transformation doesn't verify!

ERROR: Value mismatch

Example:
i8 noundef %X = #xff (255, -1)

Source:
i8 %BO0 = #x81 (129, -127)
i8 %BO1 = #x80 (128, -128)
i8 %r = #xff (255, -1)

Target:
i8 %r = #x01 (1)
Source value: #xff (255, -1)
Target value: #x01 (1)

Summary:
  0 correct transformations
  1 incorrect transformations
  0 failed-to-prove transformations
  0 Alive2 errors
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0lFFvozgQxz_N8GKlMmMo8MADTRZppVut1F2duvuCDJjgk40j26TNfvqTgTbNnXp3LxdFicL8_57fzMTDnZPHSYgS0gdA7H338uvyDIiQHiI--9HYcnsYtaa_lJWSZ4HAKjJ6f3LAKsAasObL8zulzvrO2CNg3QnA-hdgbXshxt-AVnBPtzetgFa7__gCWvVikJMgMieQUGeFbp5-NE8_m2fpx2b_ozn6Zv-zmUwzzc-NmX0MmMucTGaeejEQwPQJsCCQPYTUyGjgphUJkYevlAA7ED0rMrln8jffnsSYXdXxonbjh-o3rV2VVuiFfDEHwZp0UVnht5gNZNkhfLIDsE__c9Ub29y-VkED2Y31I77vlk9uMFZzL81EeiPcBJh5chZWDhfAeJ3vp8fHr4_hn_I7V7MgWjrNfTduwReuT0qsRH-BXtAA2csQfueYpoFtFwMWq_mbmW139b4bYnDlcXDFWKwuzFbf2wiuQroK802Yvxfaf6X4zu1R-PcUVw9dGVbtikvOoQ2hHx8eup54K7w5KRw2a83t5XWUlHTGWtF54m_G4pZoTOT0T3FKBi6V6Hfe7E7WnMUHqvXWE2Gtse79TY76kvUFK3gkyjhjaYGsuMdoLDue5eK-Lyjvk5ixnifIhozlIknbPmm7SJZIMaUxZXFG07S4i7u8TbqhzWg3iITlkFChuVRvOyWSzs2ijDFO8yRSvBXKbXtLS9cZfZJqoQ7rC_eAGJzAKjk53xndyklsm82WIbRr56ODhCrpvLum8dKrZSF-npzfb770QL7cJCFyInBPndQnJYfL50ehv8zq26hCV2arytv9eJR-nNu7zmjAeuFav0Lb_xCdB6yX8hxgvVV4LvHPAAAA__8__p4X">