> As for 3 instructions for array access, in a simple loop a compiler can convert index access to pointer increment.
In such a simple loop where you access one field in each iteration, yes. If you happen to access more fields, or the same field in different arrays, then you have more pointers to increment.