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