memmove only use non-temporal if pointers are also apart enought