From: Arnold Schwaighofer Date: Wed, 12 Mar 2014 23:23:44 +0000 (+0000) Subject: Fix vectorizer docs. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6a7d263e8b86d13efa04a7fc64ec37103d03d73e;p=oota-llvm.git Fix vectorizer docs. This example is not vectorized because LLVM does not prove no-wrapping of "a[i*7] += ...". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203734 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/Vectorizers.rst b/docs/Vectorizers.rst index 61ebca2bb52..823fd9e6702 100644 --- a/docs/Vectorizers.rst +++ b/docs/Vectorizers.rst @@ -182,11 +182,14 @@ that scatter/gathers memory. .. code-block:: c++ - int foo(int *A, int *B, int n, int k) { - for (int i = 0; i < n; ++i) - A[i*7] += B[i*k]; + int foo(int * A, int * B, int n) { + for (intptr_t i = 0; i < n; ++i) + A[i] += B[i*4]; } +In many situations the cost model will inform LLVM that this is not beneficial +and LLVM will only vectorize such code if forced with "-mllvm -force-vector-width=#". + Vectorization of Mixed Types ^^^^^^^^^^^^^^^^^^^^^^^^^^^^