Hi Jithul,
Thanks for the reply. We need to step through the assembly code and look at the register at each iteration in the loop. The problem is when we start with odd offset and when the index register(I4) points to last element(in this case 0xB2139) in the Data[] buffer we read 2 32bit data one from the last location of the buffer and second one from the next memory location(0xB213A) that is outside the allocated memory for the Data[] buffer. The content of the register R2 is fine but the other register S2 should have been zero if it was working as expected but it is not instead it reads from the next location(0xB213A). The address is wrapping as expected but we are read one element from outside the buffer.
Also attaching the screen shots for your reference. Hope this helps to reproduce the problem.
Regards,
Krishna.