I can confirm that the doloop optimization is applied for ARC600 / ARC700 in a compiler based on gcc 4.4.0 20080606 (experimental) . OTOH, it doesn't use any of the PRE_INC, POST_INC, PRE_MODIFY or POST_MODIFY addressing modes.
lp .L__GCC__LP2
.align 4
.L2:
add r0,r1,r4
ld r3,[r0]
add r0,r6,r4
add r4,r4,4
add r2,r5,r3
st r2,[r0]
.L__GCC__LP2: ; loop end
