ARM is a load/store architecture — no memory-operand arithmetic like x86 — which is the textbook RISC/CISC split made concrete. Addressing modes with pre/post-increment exist specifically to make array walks tight, and they are why compilers generate such clean AArch64 loops.