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

    <tr>
        <th>Summary</th>
        <td>
            possibly missed fold, unnecessary splat before interleaving merging two scalars
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:optimizations,
            missed-optimization
      </td>
    </tr>

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

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

<pre>
    https://godbolt.org/z/ah1vGWTqK
https://alive2.llvm.org/ce/z/oe-Gbc

```
define <16 x float> @src(float %0, float %1, i8 %2) {
entry:
  %3 = insertelement <8 x float> poison, float %0, i64 0
  %4 = shufflevector <8 x float> %3, <8 x float> poison, <8 x i32> zeroinitializer
  %5 = insertelement <8 x float> poison, float %1, i64 0
  %6 = shufflevector <8 x float> %5, <8 x float> poison, <8 x i32> zeroinitializer
  %7 = shufflevector <8 x float> %4, <8 x float> %6, <16 x i32> <i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11, i32 4, i32 12, i32 5, i32 13, i32 6, i32 14, i32 7, i32 15>
  ret <16 x float> %7
}

define <16 x float> @tgt(float %0, float %1, i8 %2) {
entry:
  %3 = insertelement <8 x float> poison, float %0, i64 0
  %4 = insertelement <8 x float> poison, float %1, i64 0
  %sv = shufflevector <8 x float> %3, <8 x float> %4, <16 x i32> <i32 0, i32 8, i32 0, i32 8, i32 0, i32 8, i32 0, i32 8, i32 0, i32 8, i32 0, i32 8, i32 0, i32 8, i32 0, i32 8>
  ret <16 x float> %sv
}
```

Is this some kind of canonicalization? From the generated x86 code, tgt seems have 1 less instruction but introduces a new constant.

@nikic @dtcxzyw @regehr @topperc 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVU2PpDYQ_TXmUpoW2Hw0Bw6z08sqyjVSzsZUg7PG7rhMz3T_-sg0Q3o2k2SUrJRICMrPVfXK5pUtifRgERtWfGLFIZFzGJ1vriPa4SLtUPOkc_2lGUM4EROPjLeMt4PrO2fCzvmB8fbKeCvH7Pzl559-_ZGlB5Y-vnWXRp-R74w5T2uIwjXO4cOXTt2C1neZrs8y7PGoLQITT1kJL3A0TgYmPgPLU_KK8f2CAONFyvgTbKMsjvQ-mpzxGlj16ZYQbfCXWNoygugggIkDaEvoAxqc0IZIuL_nOzlNzr6hWAh1mUN6lytfctE4H48Gz6iC83_IFSlj7J9zrDNa8Ihf0TttddDS6Cv6O7bin1WevVd5-bHKi-9TefUxtvw9tljsii-iWMmYeNKCw-23CA77VyN7NepXg29Tm7fYoM0936DNv9igzb_coM2_2qCCic-vq_YY3tExL6pV-NXhvg_-QvhhCP9X4X8fKdL5X3TRnWo-pI7_CPl7XdD5W2G8PRpv7x8IwqgJyE0IX7XtwR1BSeusVrHrZNDOMtFC690EYUQY0KKXAXt42ZegXI-xqjAEIMSJYJRnhAwMEsX_GfysYg7o5gDaBu_6WSGBBIvPoJylIG3YvTnD89Tqr1pFsfZBvVwvz9H0OODoFwW70wm9gqRvRF-LWibYZFWW1rWoC5GMTVmrPOWy2isleolHVGVd4F6mvaww5X2iG57yPBU8S0VR5GJXdiVWhZB12WHRFZLlKU5Sm-3aSTTRjM2-TKsyMbJDQ8utx3n0YOLRnYKe1g0jxmPPM84nTYT9w_1knCsOiW9i4EM3D8Ty1GgK9DtZ0MFgc3JEujMXuGWBozN93OzZWlRIJP0F6GRkgA6PzmPcX_QG5VnbASb0Q_yGZwekpJGektmbby9jHca52yk3Md4uS7l9Hk7e_YIqMN4uKyfG22XxvwUAAP__lB1CXw">