I’d like to do some software pipeline to prefetch some data, something as follows:
Prefetch A[ADDR[0]]
For i = 1 to N do:
Prefetch A[ADDR[i]]
Load A[ADDR[i-1]]
BB = Compute(A[ADDR[i-1]])
Store BB
The reason I’d like to do this is because of cache miss issues. The load may take a long time and I’d like to prefetch the data to cache. The normal prefetch doesn’t work (I never made it work), as the memory location to be prefetched is calculated from another array in each iteration.
Is that possible? Thanks.