<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/80027>80027</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[SLP] Assertion "Packing must reduce size of vector type." failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
vectorization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
JonPsson1
</td>
</tr>
</table>
<pre>
[tc_sztti.tar.gz](https://github.com/llvm/llvm-project/files/14101041/tc_sztti.tar.gz)
opt -mtriple=s390x-unknown-linux -mcpu=z14 tc_sztti.ll -O3 -o /dev/null -S
The SystemZ assertion triggers, as the dst size is bigger than that of src, which does not make sense for a truncate:
```
assert(SrcTy->getPrimitiveSizeInBits().getFixedValue() >
DstTy->getPrimitiveSizeInBits().getFixedValue() &&
"Packing must reduce size of vector type.");
```
```
(gdb) p SrcTy->dump()
<8 x i16>
$5 = void
(gdb) p DstTy->dump()
<8 x i32>
$6 = void
```
`#15 0x00000000038b3891 llvm::SLPVectorizerPass::vectorizeHorReduction(`
@alexey-bataev @Enna1
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclM-vozYQx_8acxkRmTEJcOCQt3morVZq1Kz20Etl8ATcBzayTTbJX19BfvTpdfewNZYRY-vj73ewR3qvW0NUsvULW-8iOYXOuvI3a_beW5NEtVWXeTI0f_lrCHoVpFu1V7beMcy7EEbPxJZhxbBqdeimetXYgWHV96fHKx6d_ZuawLA66p48wypJE57wNGFYfQRjwfiO8e1ttGOAeAhOjz0xsfOi4Od4Mm_GfjNxr810hnhoxomJ3TVJ4Qnre4h_FxBbYFgpOjGszDQHD-_pXzqCw8UHGv4E6T25oK2B4HTbkvMMP4H0EDoC5QN4fSXQHuplFkInzTwEsEfwrplXf-t004Gy5MHYAIN8I_BkPMHROpAQ3GQaGWhO2TsZbMPvffm8S2GYH1zz5RIz8dpS2Ds96KBPdNBX-tW86OAZ5gyLVUuh0mdSX2U_0S0GTLzeYTsf_i8DN3O_YR6NIe5l86ZNC8PkAzhSU0O35NgjnKgJ1kG4jLRiiPPfFC_fdfn9IOatqufNR3iaV9Mw3iTdF4lPOZxBJ5unS4bpGpjYwclq9V_UMwc_Qgl8j9p8RP1IOYpkDfzMH03ktciLBJbDL7ZMbA-f91-XlOgrub30_hY-PWK_WPfHnMH54M3CPuyRctnTmS5xLYOkE7CUvxojE4hUKVQhChlRmWR8sxGJyPKoKzeFONaJ4sdUZVkmeZ4pKTPEbI1Y1LKIdIkcU54InmzmZ6WydJ1hRqpoCp7zlKWcBqn71exiZV0bae8nKnPOMYt6WVPvl3KB-LAhb_JxriCuXO58PbWepbzXPvh_SUGHfqk1h897tt7B9nnpfu5cwVHqnlQ0ub786SK02Jmr0OLonwAAAP__gU2Alg">