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

    <tr>
        <th>Summary</th>
        <td>
            [LoopVectorizer]  TTI query called with trunc <2 x i1> to <2 x i8>
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            vectorization
      </td>
    </tr>

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

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

<pre>
    This triggers the assertion in the SystemZ backend:

opt -mtriple=s390x-linux-gnu -mcpu=z15 -O3 crash1_aftercreduce.bc
SystemZTargetTransformInfo.cpp:650: unsigned int llvm::SystemZTTIImpl::getVectorTruncCost(llvm::Type*, llvm::Type*): Assertion `SrcTy->getPrimitiveSizeInBits().getFixedSize() > DstTy->getPrimitiveSizeInBits().getFixedSize() && "Packing must reduce size of vector type."' failed.

I suppose this query doesn't make much sense... The instruction is ' %conv = trunc i32 %3 to i8', VF is 2 and canTruncateToMinimalBitwidth() returned true.

[testcase.tar.gz](https://github.com/llvm/llvm-project/files/10309743/testcase.tar.gz)

Have not bisected yet, so assigning to first person in the log for VPlan ;-)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclEFvq0YQxz_N-DIyglljzIFDEseqq1aNFJRDL9V6GWAb2KW7Q16cT19hW8nrUy_tBcSgmd3__zczOkbbOeYK8nsganvdOyCCfL_Ss_Q-VD979xSjd6uTb85V3duIEmzXcYgoPaOOkYNY79C6S-D5HIXH3_GkzSu7BtQdpHtIb08_Ca5HCXYaGNQ-qjJ9Xw_Wze_rzs24Hs00g9p_ZDmuf1Nogo599oduhYMJ3MyGk5O5lrodVOvQsdRBu9j6MB5d6xMzTaDutnkK6g5nd9HYoHWCw_A2LldSn-n18ThOwzXWsbywER_qMDvz4KMA7b5S6vPEQHdAD_gvwXI57O7TDtimz8HU5zWox47lKdjRin3jZ_vBR3dvJQLtgMqkYznYd26WH9cQgnrEfZT_mUxboC0C0ZM2r9Z1OM5R8OoeRvvB6Ft8u-hEOU-cLMSpwFbbgZvke1xHjPM0-cgoC_m_Zg5nbDxHB1QIjvqVcZxNj5Fd5CRJsO4ZrYsSZnPtiohLbaDcePeGoPYoi7loFS1RheLR7oCKxdaXw5JAqF2DRrsLBi1c-1-ts6Me7q18s430N6mBZQ4LWgkz_-PikN8LRzE6ciI6JN0H5HugXS8yxQUcHYAOnZV-PiXGj0CHC9Lraz0F_ycbATq0duAIdMhSlZbFRgEdfixM5fcn_6TfGJ0XPNnIRrjBM8uiLXq8jtuCRDy2NkTBiUP8Gp7Bd9j6gC9Pg3YI6n79Q_VVU6mmVKVecZVtC8q2aZmqVV-VzXbXpHmz4cwUBW1zlRfEmc62LZHapCtbUUqUERVZke5IJbrVpzwvN2mpGpOxhk3Ko7ZDsjiQ-NCtbIwzV3lZULoa9ImHeNsT1-axH3pBfNsXobo4d5q7CJt0sFHiVyWxMlyWzC_eTy-3bA6Q7xHr-nhrLKOHgRv8ZqW_NQmoB8J3tNkyEeI_v3egHldzGKr_zPOiaQF6kfV3AAAA__8NxJlX">