Index: llvm/docs/Vectorizers.rst =================================================================== --- llvm/docs/Vectorizers.rst +++ llvm/docs/Vectorizers.rst @@ -417,9 +417,11 @@ .. code-block:: c++ - void foo(int a1, int a2, int b1, int b2, int *A) { - A[0] = a1*(a1 + b1)/b1 + 50*b1/a1; - A[1] = a2*(a2 + b2)/b2 + 50*b2/a2; + void foo(long a1, long a2, long b1, long b2, long *A) { + A[0] = a1*(a1 + b1); + A[1] = a2*(a2 + b2); + A[2] = a1*(a1 + b1); + A[3] = a2*(a2 + b2); } The SLP-vectorizer processes the code bottom-up, across basic blocks, in search of scalars to combine.