X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Finsts.lisp;h=794c90d23ae9bab6dbeaf36f507c3e33e5e6a23f;hb=6dc30bee17d029acf6bb6da730f03e63b2a01948;hp=f68a54195d277aa6c64dbac262033f09c3b159a7;hpb=cd12bb346dbbd1e077ed3e14a9db4e1cc227c244;p=sbcl.git diff --git a/src/compiler/x86/insts.lisp b/src/compiler/x86/insts.lisp index f68a541..794c90d 100644 --- a/src/compiler/x86/insts.lisp +++ b/src/compiler/x86/insts.lisp @@ -1796,7 +1796,7 @@ y)) ((sc-is x control-stack) (inst test (make-ea :byte :base ebp-tn - :disp (- (* (1+ offset) n-word-bytes))) + :disp (frame-byte-offset offset)) y)) (t (inst test x y))))) @@ -1894,7 +1894,7 @@ (define-instruction rep (segment) (:emitter - (emit-byte segment #b11110010))) + (emit-byte segment #b11110011))) (define-instruction repe (segment) (:printer byte ((op #b11110011))) @@ -2078,7 +2078,7 @@ (:printer byte ((op #b11000010) (imm nil :type 'imm-word-16)) '(:name :tab imm)) (:emitter - (cond (stack-delta + (cond ((and stack-delta (not (zerop stack-delta))) (emit-byte segment #b11000010) (emit-word segment stack-delta)) (t