X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fmove.lisp;h=1a5279c1e1387deb2c7e367119d56876ef2c21e4;hb=0ee1135a83da462e6de2a98bb2eff837b278f926;hp=a5de78c2b817caab9a203673b904161ca99378c7;hpb=e188f845350da58ffd0f52f08f21cb06cd57c584;p=sbcl.git diff --git a/src/compiler/x86-64/move.lisp b/src/compiler/x86-64/move.lisp index a5de78c..1a5279c 100644 --- a/src/compiler/x86-64/move.lisp +++ b/src/compiler/x86-64/move.lisp @@ -11,6 +11,19 @@ (in-package "SB!VM") +(defun make-byte-tn (tn) + (aver (sc-is tn any-reg descriptor-reg unsigned-reg signed-reg)) + (make-random-tn :kind :normal + :sc (sc-or-lose 'byte-reg) + :offset (tn-offset tn))) + +(defun make-dword-tn (tn) + (aver (sc-is tn any-reg descriptor-reg character-reg + unsigned-reg signed-reg)) + (make-random-tn :kind :normal + :sc (sc-or-lose 'dword-reg) + :offset (tn-offset tn))) + (defun zeroize (tn) (let ((offset (tn-offset tn))) ;; Using the 32-bit instruction accomplishes the same thing and is