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

    <tr>
        <th>Summary</th>
        <td>
            [SLPVectorizer] Add reduction of integer not vectorized
        </td>
    </tr>

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

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

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

<pre>
    ```
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 
target triple = "x86_64-unknown-linux-gnu"
  
define i16 @test(ptr %x) { 
start:
  %_51 = load i64, ptr %x, align 8
  %_4.i.i.i.sroa.4.16.extract.trunc = trunc i64 %_51 to i16
  %0 = and i16 %_4.i.i.i.sroa.4.16.extract.trunc, 255
  %1 = trunc i64 %_51 to i16
  %2 = lshr i16 %1, 8
  %_6.0.i.i.i.i.i.i.i.i.i.1 = add nuw nsw i16 %0, %2
  %_4.i.i.i.sroa.4.18.extract.shift = lshr i64 %_51, 16
  %_4.i.i.i.sroa.4.18.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.18.extract.shift to i16
  %3 = and i16 %_4.i.i.i.sroa.4.18.extract.trunc, 255
  %_6.0.i.i.i.i.i.i.i.i.i.2 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.1, %3
  %_4.i.i.i.sroa.4.19.extract.shift = lshr i64 %_51, 24
  %_4.i.i.i.sroa.4.19.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.19.extract.shift to i16
  %4 = and i16 %_4.i.i.i.sroa.4.19.extract.trunc, 255
  %_6.0.i.i.i.i.i.i.i.i.i.3 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.2, %4
  %_4.i.i.i.sroa.4.20.extract.shift = lshr i64 %_51, 32
  %_4.i.i.i.sroa.4.20.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.20.extract.shift to i16
  %5 = and i16 %_4.i.i.i.sroa.4.20.extract.trunc, 255
  %_6.0.i.i.i.i.i.i.i.i.i.4 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.3, %5
  %_4.i.i.i.sroa.4.21.extract.shift = lshr i64 %_51, 40
  %_4.i.i.i.sroa.4.21.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.21.extract.shift to i16
  %6 = and i16 %_4.i.i.i.sroa.4.21.extract.trunc, 255
  %_6.0.i.i.i.i.i.i.i.i.i.5 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.4, %6
  %_4.i.i.i.sroa.4.22.extract.shift = lshr i64 %_51, 48
  %_4.i.i.i.sroa.4.22.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.22.extract.shift to i16 
  %7 = and i16 %_4.i.i.i.sroa.4.22.extract.trunc, 255
  %_6.0.i.i.i.i.i.i.i.i.i.6 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.5, %7
  %_4.i.i.i.sroa.4.23.extract.shift = lshr i64 %_51, 56
  %_4.i.i.i.sroa.4.23.extract.trunc = trunc i64 %_4.i.i.i.sroa.4.23.extract.shift to i16
  %_6.0.i.i.i.i.i.i.i.i.i.7 = add nuw nsw i16 %_6.0.i.i.i.i.i.i.i.i.i.6, %_4.i.i.i.sroa.4.23.extract.trunc
  ret i16 %_6.0.i.i.i.i.i.i.i.i.i.7

```
This could converted into a `zext <8 x i8> to <8 x i16>` followed by `vector.reduce.add`, but currently isn't. (I expect this to be profitable based on `psadbw`, but I'm not particularly familiar with this.)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydlk-P2jwQxj9NuFhEiZ2_hxy2SytV6uGVWvVaObEBt8ZGtrOw_fTvOCTbLIgkLEHBxp7nmfnFgqk1e62CLOrf0SaInhw1O-4Qo45K-qpbhwKyQQHGfH0IyBNfH3EewYDg7uan8fupH2VJd1uLYbAtfFCMi7Uq_CAbYmDtO3wNBuhdAs6Io-SD-bnIfsHOVv1R-qTWUqj2vN6pFpYuUaiPZnwrFEcizlCQRI5bF-Di6AyIpOcAlyjIP_VbLTg5yOBNAKe_0rhzlJoy5HPHz-hf8DOiUuwUKsYRSSi6yxpNwySMs5CfnaGNC51pVdPJXUagN3g47TMcyUTdPqrYJfN5XZ8NTtORRLzQCl8qtHszeMVe7F1RWRj19uPr4kAZQ6o9IWVPg0DkBbz0FJjirQC7F1s3yuItWS_zLtcJkXt052xveJBZ9MUc-ju88D1e9_j2GMkUgXIZRpwsE1mK8dr2BmMyi7H8IEbyIEbcY5wigKNlGMnUkR6JLMR4Y3uDMZ3DeG26GGPyIEbSY0ynCMTLMCbRMpGlGK9tbzBmsxjjD2JMH8SY9BinftYwXohx6p9nJLIU47XtBSMameSzHPEHOWYPckx7jvkUArKM4_TDIA9zvLa9OY53asofZJD1DOZSHpwN9FHTij3NIN_0T_2qG_yxFxY1upUM7uqFG8fhKCgokCLY9BdsoYbnAp2RgL7usy99mPse7zNsQlstpT5BYP3qg15447QJDWdtw0Oo3rtBYTX0mk1rDFdOviJhVYBzF0LyxVfEz0eIQs6nAxY1R0ejt8LRGnrEmloQ18qLHy1l9Wmk-BVUDkhph47Q7ommldSA_JYehBTUoJNw-043hO7wUvSKVYSVpKQrJ5zkVZB--v7tv59d2uIvN0G6QU_w0LoKnABjvfVQ-I6bzull2MpWrZHV3rmj9Y0m_gLvHRi2ddjoA0ykfBk-1lDRbwiEqbC25RYGaZqVZLWvWMzisiAFg1cO3XKR51mR5IQXDNdlwleS1lxanyl0xIrDQfISvjtONytR4QjjKIVOL4pikoUsqeuMk3TLo7ossxg6ZX6gQoY-j1Cb3cpUXUp1u7OwKIV19t8itRbaYN6B8fq0dXttKiX-iGbVGVdd4v8DuZOBdA">