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

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] Miscompilation
        </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>
    Reduced test case: https://alive2.llvm.org/ce/z/_JyUGw
```
define i8 @func78(i1 %0, i8 %1) {
  %3 = zext i1 %0 to i8
  %4 = shl i8 %3, %1
  %5 = freeze i8 %4
  %6 = select i1 %0, i8 0, i8 %5
  %7 = call i8 @llvm.fshr.i8(i8 0, i8 %5, i8 %6)
  ret i8 %7
}
```

```
----------------------------------------
define i8 @func78(i1 %#0, i8 %#1) {
#2:
  %#3 = zext i1 %#0 to i8
  %#4 = shl i8 %#3, %#1
  %#5 = freeze i8 %#4
  %#6 = select i1 %#0, i8 0, i8 %#5
  %#7 = fshr i8 0, i8 %#5, i8 %#6
  ret i8 %#7
}
=>
define i8 @func78(i1 %#0, i8 %#1) nofree noundef willreturn memory(none) {
#2:
  %#3 = zext i1 %#0 to i8
  %#4 = shl nuw i8 %#3, %#1
  %#5 = freeze i8 %#4
  ret i8 %#5
}
Transformation doesn't verify!

ERROR: Value mismatch

Example:
i1 %#0 = #x0 (0)
i8 %#1 = #x08 (8)

Source:
i8 %#3 = #x00 (0)
i8 %#4 = poison
i8 %#5 = #x00 (0)
i8 %#6 = #x00 (0)
i8 %#7 = #x00 (0)

Target:
i8 %#3 = #x00 (0)
i8 %#4 = poison
i8 %#5 = #x9d (157, -99)
Source value: #x00 (0)
Target value: #x9d (157, -99)

Summary:
  0 correct transformations
  1 incorrect transformations
  0 failed-to-prove transformations
  0 Alive2 errors
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vl2PozYU_TWXFysRXEOABx6yk03VSlWl6cdr5cAlcWVwZJvMZH59ZYdNIJPRVNXuaJQE-5zje88xGGGt3PdEFWRfALFx9evb-QUQIdtEYnAHbapxMNrp5lw9UzPU1DBH1rFaWAK-Zgfnjhb4GnALuBVKngiXSp26pTZ7wG1NgNs3wO3fv5z__OkF4g3Ea1jF43-4bKiVPTFZMEjjdujrvAAsZMIAsxjwKcxglgCWDPIvFxLzQ5wB37A3enVshDOnmSwmkDRA7EGNKtwLBrUbJguY1hC90QhLJ9OriwQpqq_rjGVNyssmjDwwaqHU2FVwpLUHs5Shtzvm9ecKsPymY8iNo_loW7556N_DwcV__Ps8AkA-KRaQz4MA5Og3wK17QP4uGC_yLhtAfh-P544JhZVm4Ac5eYk56EFakw7mnWRz6iU2H9Mj6PRq9T4kz7_PiW-Af_2_Dvfad8p6PfQNtexFKmXIDaZnHXXanAGLXvf0Q8Loh5fvEMjMnOzOnD-M6G2rTSec1D1rNNkeMHfsREa2Z8Bkuru_Pj__9uwfOH8JNRDrpO2Eqw8zyKvojoqu7U969VUC8teYARbx9R67-X1D-KGiuEIun7_rwdQT5WLmbOB9JH3x9Kil1f3dVPY5e_U5JP8QMvoszJ7cj6u9bDw7yXK_SxZleZW5mMZOPjCf3KOlLsXNMR8KjrJD1wlznuzymNXaGH-7u9mest8ACZP9J5CYtUIqahZOL45Gn-hj4DoccoyM0cbePXujpuJNyUsRUZXkSVoWxaoso0PV8rxOy6bZiVrwJMlabFcYJylvhSgzLiJZYYxpnMWruEzTrFw2IkVKYsyxyHcJFpDG1AmprqdrJK0dqCqTJC8iJXak7HiWd9LWujtKFUr3Rzo-AaInAl_L3rpadzvpnx3htDeVn1rshr31Z5W0zt5WcdKp8JLwc2_d08jLNuzX2SLRYFQ1fxnYS3cYdstad4DbsPbly_v7D9UOcBs6sIDb0MS_AQAA___IGjHt">