[LLVMdev] SelectionDAG scalarizes vector operations.

Villmow, Micah Micah.Villmow at amd.com
Wed Feb 8 08:29:08 PST 2012


I'd like to throw my backing for this also. We see some IR that our internal passes have vectorized that the SelectionDAG then scalarizes. 

Micah

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of David A. Greene
> Sent: Wednesday, February 08, 2012 8:11 AM
> To: Duncan Sands
> Cc: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] SelectionDAG scalarizes vector operations.
> 
> Duncan Sands <baldrick at free.fr> writes:
> 
> > I think it is important we produce non-scalarized code for the IR
> produced by
> > the GCC vectorizer, since we know it can be done (otherwise GCC
> wouldn't have
> > produced it).  It is of course important to produce decent code in
> the most
> > common cases coming from other vectorizers too.  However it seems
> sensible to
> > me to start with the case where you know you can easily get perfect
> results
> > (GCC vectorizer output) and then try to progressively extend the
> goodness to
> > the more problematic cases coming from other vectorizers.
> 
> Of course.  I was simply supporting Nadav's explanation that there's a
> lot of pessimization in the current lowering that doesn't even appear
> for code generated by gcc.
> 
> We have a number of lowering modifications here to handle many of these
> cases.  As always, I am slogging through trying to get them moved
> upstream.  It's a long process, unfortunately.  But don't be surprised
> to see changes that might look "unnecessary" but are very important for
> various compilers.
> 
>                               -Dave
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev






More information about the llvm-dev mailing list