[llvm-dev] Vectorization in LLVM x86 backend

Charith Mendis via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 21 08:49:00 PDT 2017


Hi all,

Recently I compiled the attached .c file using Clang with "-mavx2 -mfma
-m32 -O3" optimization flags.

First I used -emit-llvm and inspected the LLVM IR and there are no vector
instructions. Then I got the assembly output of the file in it I can
clearly see vector instructions in it.

Neither the SLPVectorizer or the LoopVectorizer is however doing any
vectorization (also checked it using -debug-only flag) as witnessed by the
LLVM IR dump.

Therefore, the vectorization should happen in the backend(?).

Can I know whether the x86 backend does additional vectorization of scalar
code and if so in which passes?

NB - I posed the same question with the source files in a previous email,
but the limit of 100kB was reached.

Thank You.
-- 
Kind regards,
Charith Mendis

Graduate Student,
CSAIL,
Massachusetts Institute of Technology
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170821/0e2247c3/attachment.html>


More information about the llvm-dev mailing list