This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/54978] Add ability to provide vectorized functions


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54978

--- Comment #3 from Daniel Davis <ddesics at gmail dot com> 2012-10-19 16:14:36 UTC ---
Obviously, it would be nice if gcc can build the functions if they are pure
functions.  But that would require somehow knowing that those functions should
be built and having access to the code, which may not be the case for something
like a library.  

On second thought, the attribute would best go with declaration of the
vectorized function.  So, to rewrite my example, 

double fx(double x); 
v2df fx_v2df(v2df x) __attribute__((vectorized_alias(fx,double,16))); 
v4df fx_v4df(v4df x) __attribute__((vectorized_alias(fx,double,32)));

That would let the compiler know exactly what could be replaced, although it
should be able to figure out the argument types from the declarations.

So I see two potential optimizations here.  The first is a way to let the
compiler know that vectorized functions are available.  The second would be to
let the auto-vectorizer create vectorized forms of functions.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]