summaryrefslogtreecommitdiffstats
path: root/llvm/docs/Vectorizers.rst
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-02-28 19:33:46 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-02-28 19:33:46 +0000
commita87d5128dd876d8f3688e50f7b26a60756b84d87 (patch)
tree46a07b39910aa29c5c26f8085f79ccf5b6be9a11 /llvm/docs/Vectorizers.rst
parentd9916eaeccf454e4a0dc4e09384715b9a0af24bf (diff)
downloadbcm5719-llvm-a87d5128dd876d8f3688e50f7b26a60756b84d87.tar.gz
bcm5719-llvm-a87d5128dd876d8f3688e50f7b26a60756b84d87.zip
Brag about function call vectorization in the docs.
llvm-svn: 176292
Diffstat (limited to 'llvm/docs/Vectorizers.rst')
-rw-r--r--llvm/docs/Vectorizers.rst11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/docs/Vectorizers.rst b/llvm/docs/Vectorizers.rst
index 0894b1eb3f1..e2d3667bc11 100644
--- a/llvm/docs/Vectorizers.rst
+++ b/llvm/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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OpenPOWER on IntegriCloud