[PATCH] D32530: [SVE][IR] Scalable Vector IR Type

Simon Moll via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 16 01:47:07 PDT 2019


simoll added a comment.

In D32530#1467094 <https://reviews.llvm.org/D32530#1467094>, @hfinkel wrote:

> In D32530#1466762 <https://reviews.llvm.org/D32530#1466762>, @rengolin wrote:
>
> > In D32530#1466746 <https://reviews.llvm.org/D32530#1466746>, @huntergr wrote:
> >
> > > So if we wanted to keep them as intrinsics for now, I think we have one of three options:
> > >
> > > 1. Leave discussion on more complicated shuffles until later, and only use scalable autovectorization on loops which don't need anything more than splats.
> >
> >
> > Given the current state, this is the easiest path.
>
>
> I agree, although this is an important part of the model, so we should start having this discussion in parallel (sooner rather than later). I had been under the impression that a set of intrinsics were being proposed for this, but extending shufflevector is also an option worth considering. If these are first-class types, then having first-class instruction support is probably the right path. This deserves it's own RFC.


That's pretty much what LLVM-VP is about: https://reviews.llvm.org/D57504

We are proposing compress/expand and lane shift as intrinsics.
I suggest you add any shuffle intrinsics to the same namespace to avoid fragmentation.

IMHO, the redesigned reduction intrinsics should go there as well (https://reviews.llvm.org/D60261 and/or https://reviews.llvm.org/D60262).

> 
> 
>> 
>> 
>>> 2. Introduce additional intrinsics for the other shuffle variants as needed
>>> 3. Allow shufflevector to accept arbitrary masks so that intrinsics can be used (though possibly only if the output vector is scalable).

Even if shuffle masks don't need to be constants anymore, it will be awkward to encode compress/expand without additional intrinsics (you would need a prefix sum vector over the mask bits or similar).

>> This warrants a larger discussion, which would hinder the current progress.
> 
> I agree. We should have a separate RFC on this.

+1


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D32530/new/

https://reviews.llvm.org/D32530





More information about the llvm-commits mailing list