You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/cross-platform/loop-reflowing/autovectorization-limits.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ for (size_t i=0; i < N; i++) {
67
67
}
68
68
```
69
69
70
-
There is a special case of the math library trigonometry and transcendental functions (like `sin`, `cos`, `exp`, etc). There is work underway to enable these functions to be autovectorized, as the compiler will use their vectorized counterparts in the `mathvec` library (`libmvec`).
70
+
There is a special case with the math library trigonometry and transcendental functions (like `sin`, `cos`, `exp`, etc). There is work underway to enable these functions to be autovectorized, as the compiler will use their vectorized counterparts in the `mathvec` library (`libmvec`).
71
71
72
72
The loop below is *already autovectorized* in current gcc trunk for Arm (note you have to add `-Ofast` to the compilation flags to enable autovectorization):
This feature will be in gcc 14 and require a new glibc version 2.39 as well. Until then, if you are using a released compiler as part of a Linux distribution (such as gcc 13.2), you will need to manually vectorize such code for performance.
82
+
This feature will be in gcc 14 and requires a new glibc version 2.39 as well. Until then, if you are using a released compiler as part of a Linux distribution (such as gcc 13.2), you will need to manually vectorize such code for performance.
83
83
84
84
There is more about autovectorization of conditionals in the next section.
85
85
@@ -105,11 +105,11 @@ for (size_t i=0; i < N; i++) {
105
105
106
106
In this case, only the inner loop will be vectorized, again provided all the other conditions also apply (no branches and the inner loop is countable).
107
107
108
-
There are some cases where outer loop types are autovectorized, but these are not covered in this Learning Path.
108
+
There are some cases where outer loop types are autovectorized but these are not covered in this Learning Path.
109
109
110
110
#### No data inter-dependency between iterations
111
111
112
-
This means that each iteration depends on the result of the previous iteration. This example is difficult, but not impossible to autovectorize.
112
+
This means that each iteration depends on the result of the previous iteration. This example is difficult but not impossible to autovectorize.
0 commit comments