Is irregular prefetch using partial software pipeline supported?

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.

Ping @were any ideas?

@were, do you have any suggestion to achieve this? Thanks.