diff --git a/src/code/bit-bash.lisp b/src/code/bit-bash.lisp index a9bb688de1c0cbbd8a96848a22e68dd20447c88d..ba2706a3c4a455c89dd72d38aa9adac99822d7d6 100644 --- a/src/code/bit-bash.lisp +++ b/src/code/bit-bash.lisp @@ -562,7 +562,7 @@ (unless (zerop dst-byte-offset) ;; We are only writing part of the first word, so mask off the ;; bits we want to preserve. - (let ((mask (end-mask (- dst-byte-offset))) + (let ((mask (end-mask (* vm:byte-bits (- dst-byte-offset)))) (orig (funcall dst-ref-fn dst dst-word-offset)) (value (funcall src-ref-fn src src-word-offset))) (declare (type unit mask orig value))