hfinkel added inline comments.
================ Comment at: clang/docs/LanguageExtensions.rst:3135 + +This predicates all the array references inside the loop to be aligned. The aligned access to them can increase fetch time and increase the performance. + ---------------- hfinkel wrote: > lebedev.ri wrote: > > What does this actually mean, in the end? > > Will it assume that whatever alignment is required > > for whatever vectorization width chosen, > > is the actual alignment? > Also, just arrays, or also pointers? > Currently, it is using 32 bit. You'll need to use the preferred alignment of the element type. > By pointers, if you mean pointers to arrays? Then Yes. No, I mean pointers. What do you intend for these cases: double A[Size], B[Size]; void foo() { #pragma clang loop aligned for (int i = 0; i < n; ++i) { A[i] = B[i] + 1; } } or this: void foo(double *A, double *B) { #pragma clang loop aligned for (int i = 0; i < n; ++i) { A[i] = B[i] + 1; } } or this: void foo(double *A, double *B, double *C) { #pragma clang loop aligned for (int i = 0; i < n; ++i) { A[i] = B[i] + *C + 1; } } or this: void foo(double *A, double *B) { #pragma clang loop aligned for (int i = 0; i < n; ++i) { *A++ = *B++ + 1; } } what about arrays of structs? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69897/new/ https://reviews.llvm.org/D69897 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits