Skip to content

Commit 2f9196f

Browse files
authored
Update autovectorization-limits.md
minor editorial amends
1 parent e7f90c0 commit 2f9196f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

content/learning-paths/cross-platform/loop-reflowing/autovectorization-limits.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ for (size_t i=0; i < N; i++) {
6767
}
6868
```
6969

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`).
7171

7272
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):
7373

@@ -79,7 +79,7 @@ void addfunc(float *restrict C, float *A, float *B, size_t N) {
7979
}
8080
```
8181
82-
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.
8383
8484
There is more about autovectorization of conditionals in the next section.
8585
@@ -105,11 +105,11 @@ for (size_t i=0; i < N; i++) {
105105

106106
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).
107107

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.
109109

110110
#### No data inter-dependency between iterations
111111

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.
113113

114114
The loop below cannot be autovectorized as it is.
115115

0 commit comments

Comments
 (0)