[PATCH] [InstCombine] Combine adjacent i8 loads.

Chandler Carruth chandlerc at gmail.com
Fri May 2 00:05:06 PDT 2014


On Thu, May 1, 2014 at 11:55 PM, Andrew Trick <atrick at apple.com> wrote:

> On May 1, 2014, at 11:49 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
>
> I'm curious why not to use the def-use tree approach with the SLP
> vectorizer so that we can also handle bitwise operations as Raul mentioned?
> That seems like a nice advantage of using an integrated approach.
>
>
> I don’t see how the SLP algorithm can recognize these bit ops, which are
> actually doing a BSWAP. Arnold can probably explain better.


No, this isn't about bswap or this test case.

It's the more general point that we could view loads, stores, and bitwise
operations on M iN values as "vectorizable" into loads, stores, and bitwise
operations on a single iN*M value. By doing the widening in SLP, we can
expose, for example, the pattern of "load each of four bytes and mask out
the high bit before storing it into another array" into "vector" operation
on a larger integer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140502/5d62817c/attachment.html>


More information about the llvm-commits mailing list