https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66676
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |openmp CC| |iverbin at gcc dot gnu.org, | |kyukhin at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- For the "implementation defined" alignment, omp-low.c normally uses omp_clause_aligned_alignment function to compute the alignment, but unfortunately that is very much dependent on the ISA options. When it is used in declare simd, it is unfortunately part of the ABI. I can't seem to find anything about that case in the Intel ABI document (version 0.9.7 or older). Looking at what (older) icc emits, it seems it uses alignment of 1 (i.e. a useless, but safe alignment), is that what we want to put into the ABI? Note, aligned attribute doesn't really make much sense on non-uniform arguments (especially in this case when it is passed as a vector of pointers). Plus the array really isn't aligned any way, so it is unlikely it will be aligned say if you use aligned(i_x:128) uniform(i_x).