From: Benjamin Kramer Date: Thu, 28 Feb 2013 19:33:46 +0000 (+0000) Subject: Brag about function call vectorization in the docs. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=19949d8b867013d8a0ef90ac6d3051c49a92eef5;p=oota-llvm.git Brag about function call vectorization in the docs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176292 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/Vectorizers.rst b/docs/Vectorizers.rst index 0894b1eb3f1..e2d3667bc11 100644 --- a/docs/Vectorizers.rst +++ b/docs/Vectorizers.rst @@ -245,6 +245,17 @@ See the table below for a list of these functions. | | | fmuladd | +-----+-----+---------+ +The loop vectorizer knows about special instructions on the target and will +vectorize a loop containing a function call that maps to the instructions. For +example, the loop below will be vectorized on Intel x86 if the SSE4.1 roundps +instruction is available. + +.. code-block:: c++ + + void foo(float *f) { + for (int i = 0; i != 1024; ++i) + f[i] = floorf(f[i]); + } Partial unrolling during vectorization ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^