http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45022
Changpeng Fang <changpeng.fang at amd dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED --- Comment #6 from Changpeng Fang <changpeng.fang at amd dot com> 2010-11-01 22:21:56 UTC --- Not surprise: Richard's check-in of the MISALIGNED_INDIRECT_REF removal fixed the bug. Surprise: only two prefetches are generated (which is right). However, if we could align the references as the following case (PR 45021): float a[1024], b[1024]; void foo(int beta) { int i; for(i=0; i<1024; i++) a[i] = a[i] + beta * b[i]; } Three prefetches will be generated, one for b, one for load a, and one for store a. Anyway, I am closing this bug, and we should work on PR 45021.