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

    <tr>
        <th>Summary</th>
        <td>
            [X86] llvm::X86TargetLowering::LowerTRUNCATE(llvm::SDValue, llvm::SelectionDAG &) const: Assertion `VT.is128BitVector() && InVT.is256BitVector() && "Unexpected types!"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            new issue,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    Raised by @mikaelholmen  at https://reviews.llvm.org/rG451af635519113bc8fe94852d7489f26485f6689 (451af635519113bc)
```ll
target triple = "x86_64-unknown-linux-gnu"

define i16 @s(i8 %q) {
entry:
 %cmp12.i.13 = icmp ne i8 %q, 0
  %cond.i15.13 = zext i1 %cmp12.i.13 to i16
  %tobool.not.i.13 = icmp eq i8 %q, 0
  %cond18.i.13 = zext i1 %tobool.not.i.13 to i16
  %0 = insertelement <16 x i16> <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>, i16 %cond.i15.13, i64 8
  %1 = insertelement <16 x i16> %0, i16 %cond18.i.13, i64 9
  %2 = insertelement <16 x i16> %1, i16 %cond.i15.13, i64 10
  %3 = insertelement <16 x i16> %2, i16 %cond.i15.13, i64 11
  %4 = insertelement <16 x i16> %3, i16 %cond18.i.13, i64 12
 %5 = insertelement <16 x i16> %4, i16 %cond.i15.13, i64 13
  %6 = insertelement <16 x i16> %5, i16 %cond.i15.13, i64 14
  %7 = insertelement <16 x i16> %6, i16 %cond18.i.13, i64 15
  %8 = tail call i16 @llvm.vector.reduce.add.v16i16(<16 x i16> %7)
  ret i16 %8
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i16 @llvm.vector.reduce.add.v16i16(<16 x i16>) #0

attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```
it crashes with
```
llc: ../lib/Target/X86/X86ISelLowering.cpp:20433: llvm::SDValue llvm::X86TargetLowering::LowerTRUNCATE(llvm::SDValue, llvm::SelectionDAG &) const: Assertion `VT.is128BitVector() && InVT.is256BitVector() && "Unexpected types!"' failed.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcVk1v4zYT_jX0hbAgDimaOvjgxOvF4n3RwyYb7K2gpLHNhia9EhXH_fUFKTvROm1iFD0UBQxZHA2fZ744HN11ZuMQ56S4IQBf_3dndt4RAFIsJ7oPW9_OT8JJ5Zvj_Ks2HTa0OlIi8p151Gi33u7QUaoD3Yaw7whfEFgRWLX4ZPDQZdY-7TLfbqLosyiYXkteFKxkjFe1WmMpVAHNTKhyDVKoYi2lKikBdalLoCT5kuQLIvPhZ-0gCLrdYKChNXuLlPAlJQDPSv4qxbR3j84f3NQa1z9PN66P7g0w6dng2jikhsnoU0dAGUUJFD8IlJTMbgYtdKE9RtfSKn6vd3sGmckYT4Sm3u1pxDlvvqX5STlpe9dkhhVn9d_xOVDDLoCCj3aMtgVfeW8z58MFE_54j4mpV_UR0yXaG7p8IHAdtgEt7tAFSvgtk_Q5afJPcRlDxSLtv-GFfzq__xzlJJWCqpF77Ar3oMgvAE_BPAOWI0C4CpC9byEbZ49fhQgfILIRorgKkb_vNIPXwi-uAhQfmMhHJsqrEIsPEMUIcXYVovzA6WKEqBJi0MbSWlt77hepuT1hHXybtdj0NWa6abInJiMNqLeks5c2RmmL4cx_qlMyW46bE-E3dNW7Ohjv6CKENrZX6nw0odL1I3V-3SJS57ujq6nzvTsY19Buj3VvddCVRXow1rYY-tbRHe58eySgnHf4YkiDtdUt_j2fUpsEno_N1iG0puoDdunT0JFnN_-g4fQ1UOfLYFiaQOtWd1vs6MGE7Z_qWFvHMGYZgZU1FYHVfbpACKy-Kzk8v9yh_b8_YGvcJqv3e8IXkAvO48YYoHgX8MXd8kHbHkeS70oOYOfNgzit7r9---V2cf-JgHoDEYtuJESLKenLxWdKQEaPa--6EOkXXSzrWBFE5g_3mekYqBsTHlLKYoJSSiQBSb-4pACF_AsFAvDN4fMe64ANDcc9dgRYvCNhRtfaWGyyiyBOmjlvSl7qCc6ZLIXMi1KKyXa-1hxgDbqBppmtlRKSVYVWnBVMYSP0xMwhB56XjDNWgBBZJdhMN40AJWoBWhGR404b-zI0TEzX9TiXkpViYnWFtjsNK7GK0DVDyJO9twTA4YGmLS-SVA1T76ZP2prmNNu080gwrfpNFwvedOF1TpkEE2waiSJwsfyPJ3fSt3b-8-S2MWHbV1ntd_GARLuHv-m-9b9hHc9JinFHYJUy80cAAAD___953yE">