[llvm-dev] TypeExpandInteger for vectors?

Friedman, Eli via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 12 12:22:47 PST 2017


On 12/12/2017 7:26 AM, Sean Silva via llvm-dev wrote:
>
>
> On Dec 11, 2017 6:54 PM, "Sean Silva" <chisophugis at gmail.com 
> <mailto:chisophugis at gmail.com>> wrote:
>
>     It looks like in various places in SelectionDAG and related
>     machinery we appear to implicitly or explicitly assume that
>     TypeExpandInteger only applies to scalars.
>
>     Does anybody know why that is?
>
>     For our target (Pixel Visual Core:
>     https://www.blog.google/products/pixel/pixel-visual-core-image-processing-and-machine-learning-pixel-2/
>     <https://www.blog.google/products/pixel/pixel-visual-core-image-processing-and-machine-learning-pixel-2/>)
>     expanding a N-bit vector op into two (N/2)-bit vector ops
>
>
> To be clear: the vector ops are all of the same number of elements. 
> Just the bit width of the element type changes.

I think it just hasn't been a priority for any in-tree target; most code 
doesn't use illegal vector types much, and the default strategy 
generates decent code in most cases.  (You might have an easier time 
just adding a few target-specific DAGCombines for specific operations 
which lead to low-quality code.)

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171212/6fb09a7c/attachment.html>


More information about the llvm-dev mailing list