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
#include<stdint.h>voidf(char*a, uint8_tl) {
for (inti=0; i<l; i++) a[i]++;
}
compiled with -O3 -march=haswell (or -O3 -mavx2 or similar; compiler explorer), generates unrolled xmm operations, even though ymm ones can trivially replace them.
Same thing happens with an assume of length:
voidf(char*a, intl) {
__builtin_assume(l<256);
for (inti=0; i<l; i++) a[i]++;
}
The text was updated successfully, but these errors were encountered:
compiled with -O3 -march=haswell (or -O3 -mavx2 or similar; compiler explorer), generates unrolled xmm operations, even though ymm ones can trivially replace them.
The code
compiled with
-O3 -march=haswell
(or-O3 -mavx2
or similar; compiler explorer), generates unrolledxmm
operations, even thoughymm
ones can trivially replace them.Same thing happens with an assume of length:
The text was updated successfully, but these errors were encountered: