[llvm-dev] Status of llvm.experimental.vector.reduce.* intrinsics

Amara Emerson via llvm-dev llvm-dev at lists.llvm.org
Thu Aug 3 05:49:43 PDT 2017


​Hi Michael,

​The intrinsics are still technically in an experimental state as we need
to have a further discussion to build consensus before marking them as
fully supported.

The AArch64 backend has been using them for all *natively supported* vector
reductions for a few months now, with no issues as far as I'm aware. There
are some rough edges which need some further work. For example, we're
currently relying on a TTI hook to determine whether or not we create an
intrinsic call or degenerate into a shuffevector sequence based on the
reduction type. This was intended as a transitional stage. To mark the
intrinsics as being first class operations we probably need to add support
in codegen to expand the VECREDUCE_* nodes into the shufflevector reduction
pattern, so that targets can generate the intrinsics in all cases without
having to rely on TTI.

Amara


On 3 August 2017 at 12:03, Haidl, Michael via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi,
>
> I was wandering about the status of the
> llvm.experimental.vector.reduce.* intrinsics. Are all back-ends
> supporting those intrinsics or are they still in a very "experimental"
> state?
>
> Thanks,
> Michael
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170803/205fac00/attachment.html>


More information about the llvm-dev mailing list