.. code-block:: c++
void bar(float *A, float* B, float K, int start, int end) {
- for (int i = start; i < end; ++i)
- A[i] *= B[i] + K;
+ for (int i = start; i < end; ++i)
+ A[i] *= B[i] + K;
}
Runtime Checks of Pointers
.. code-block:: c++
void bar(float *A, float* B, float K, int n) {
- for (int i = 0; i < n; ++i)
- A[i] *= B[i] + K;
+ for (int i = 0; i < n; ++i)
+ A[i] *= B[i] + K;
}
.. code-block:: c++
void bar(float *A, float* B, float K, int n) {
- for (int i = 0; i < n; ++i)
- A[i] = i;
+ for (int i = 0; i < n; ++i)
+ A[i] = i;
}
If Conversion
.. 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];
+ for (int i = 0; i < n; ++i)
+ A[i*7] += B[i*k];
}
Vectorization of Mixed Types
.. code-block:: c++
int foo(int *A, char *B, int n, int k) {
- for (int i = 0; i < n; ++i)
- A[i] += 4 * B[i];
+ for (int i = 0; i < n; ++i)
+ A[i] += 4 * B[i];
}
Vectorization of function calls