+ ;; if we'd move SP backward, swap the meaning of rsp and source;
+ ;; otherwise, we'd be accessing values below SP, and that's no good
+ ;; if a signal interrupts this code sequence. In that case, store
+ ;; the final value in rsp after the stack-stack memmove loop.