https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81410

--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> ---
Seems related to vectorization. These lines look suspicious:

  vect__37.14_78 = MEM[(long int *)_30];
  vect__37.15_72 = MEM[(long int *)_30 + 16B];
  vect__37.16_70 = MEM[(long int *)_30 + 32B];
  vect__37.17_68 = MEM[(long int *)_30 + 48B];
  MEM[(long int *)_28] = vect__37.14_78;
  MEM[(long int *)_28 + 16B] = vect__37.15_72;
  MEM[(long int *)_28 + 32B] = vect__37.16_70;
  MEM[(long int *)_28 + 48B] = vect__37.17_68;

where _30 is for b, _28 is for a, and I would expect to see gaps in the reads
from b (+24, +48, +72 instead of +16, +32 and +48). But I haven't checked, this
is only a first guess.

Reply via email to