[cfe-dev] [llvm-dev] generate vectorized code
Rail Shafigulin via cfe-dev
cfe-dev at lists.llvm.org
Fri Mar 18 14:03:00 PDT 2016
On Fri, Mar 18, 2016 at 1:53 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
> On Mar 18, 2016, at 1:47 PM, Rail Shafigulin <rail at esenciatech.com> wrote:
> Yes this IR does not build or shuffle any vector. Try to write a function
>> that takes 8 ints and a pointer to a <4xi32>, builds two vectors with the 8
> This might sound like a dumb question, but how does one build a vector of
> ints out of regular ints in IR?
> See: http://llvm.org/docs/LangRef.html#vector-operations
> In short, the IR has "insertelement", which maps to "INSERT_VECTOR_ELT" in
> SDAG and "extractelement", which maps to "EXTRACT_VECTOR_ELT" in SDAG.
> I usually find good example by grepping in the lit tests. Another way is
> to write the function in clang, and run it with -O3 -emit-llvm -S to get a
> good starting point.
I tried using clang test.c -O3 -emit-llvm -S, but the only I didn't see any
of the insertvectorelt or extractvectorelt. I'm wondering how does one
trigger vector operations?
Below is the test.c file. It seemed to me like a good candidate for
vectorization, however nothing happened. I would really appreciate if you
could point me in the right
direction with respect to vector generation.
Any help is appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev