[llvm] r179960 - Fix PR15800. Do not try to vectorize vectors and structs.

Hal Finkel hfinkel at anl.gov
Mon Apr 22 10:12:31 PDT 2013



----- Original Message -----
> From: "Nadav Rotem" <nrotem at apple.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Sunday, April 21, 2013 6:46:58 PM
> Subject: Re: [llvm] r179960 - Fix PR15800. Do not try to vectorize vectors and structs.
> 
> 
> 
> 
> On Apr 21, 2013, at 6:58 AM, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> 
> Regarding vectorizing vectors, should there be a FIXME?
> 
> 
> 
> Hi Hal,
> 
> 
> We may want to add support for vectorizing vectors, but this is a low
> priority for me now. There are two possible sources of vectors: user
> code and the loop vectorizer. The Loop Vectorizer has a cost model
> and should produce optimal vector code. Users who vectorize their
> code using vector builtins/intrinsics usually know what they are
> doing and will probably not benefit from auto-vectorization. The
> only exception that I can think of is migrating user code to new ISA
> which has wider vector units. For example, the move from SSE to AVX.
> Can you think of another motivation for re-vectorizing ?

ISA migration is one motivation, but there are others:

 - The loop vectorizer will pick an optimal vectorization factor for the whole loop, but it might be possible to SLP vectorize parts of the loop with a higher effective vectorization factor.

 - Combining vectorization after inlining. We might SLP vectorize a function, and then be able to even further vectorize after inlining.

Thanks again,
Hal

> 
> 
> Thanks,
> Nadav
> 



More information about the llvm-commits mailing list