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

    <tr>
        <th>Summary</th>
        <td>
            Missed optimization: simplify splat-vector bitcast to scalar multiplication/masking
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```
define i32 @src(i64 %arg0, i64 %arg1) {
 %v0 = icmp eq i64 %arg1, %arg0
  %v1 = insertelement <4 x i1> poison, i1 %v0, i64 0
  %v2 = shufflevector <4 x i1> %v1, <4 x i1> poison, <4 x i32> zeroinitializer
  %v3 = bitcast <4 x i1> %v2 to i4
  %v4 = zext i4 %v3 to i32
  ret i32 %v4
}

define i32 @tgt(i64 %arg0, i64 %arg1) {
  %v0 = icmp eq i64 %arg1, %arg0
  %v_i32 = zext i1 %v0 to i32
  %result = mul i32 %v_i32, 15
  ret i32 %result
}
```

alive2: https://alive2.llvm.org/ce/z/uUn2VN
godbolt: https://godbolt.org/z/3q3fxdYzK
Pattern found in: https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/velox/optimized/Comparisons.ll
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVEuvqzYQ_jXDxjqRPSZwsmDBPadsqlbdtFJXlYEhmV6DubbJzcmvr0w4yX2paqUoEuPvMfP5YULg40RUwf4D7F8zs8ST81XvyYwfeToWMmtd_1ZBIbefrHsaeCLBGgXkMvgO8JmLXADujT9KwBfx-FSABwHlB5B1qpylAP0quBtnQZ--xr3cFWQtVrC6gadAPpKlkaYoQL_k4iJYgf5JzI6Dm1ZHdZN_d3-I4CoSTsswWDpTF53_WmR1Wu1_LP1e1pjqV_KOJ45sLF_J3230atNy7EyI3xugiE5wfofnK_xKlyg43wQSQuMK8RRvAScoyBrK1_T_bfjxGP9r-P8__b9Wk3uXW8Bfdgm49xQWG1fYuNh7z4mbNNX-23FuhMdIXxwskLWxfCYEXYtTjHMAXQM2gM2tvrP2PO6cPwI2HQE2V8Bm-X3CP34FWR9d3zobvydvCxsxcfQnPVz6P68_g6x_MzGSn8TglqkXPP2Az_G0tLvOjYBNH7vL9e0zYJOaeXJzfGpp6k6j8R8Bm9a6FrAZDU_pK60ANmey7gLYuDnyyFfqAZsXN87Gp0MWdtZmfaX7gz6YjCpVlloVeFCYnSpFZVkMqt8b_SyHMpeKzFCUqhzKtuwGzLhCiYXUSqpS7ZXaFYXOD-WhoL7rDoQd5JJGw_aeXsYhLFSp531xyDNrWrJhfQAQJ_os1lVATO-Br9Yp2-UYIJeWQwwPmcjRUvULh0C92EYzkd0aYeBxtjy8iTBbE5-2i_d-P6IToTPW-HRqIs-WuxszRRfSy5Mt3lb_sg-pi_dNmL37m7oI2Ky9B8BmG-5c4T8BAAD__2nxcjw">