cache: use memmove for overlpping ranges