From: Paul Khuong Date: Sat, 8 Jun 2013 15:26:19 +0000 (-0400) Subject: Only use MASK-SIGNED-FIELD VOPs as last resorts X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=04933997e80776f442770244d92cc2d07bbafe50;p=sbcl.git Only use MASK-SIGNED-FIELD VOPs as last resorts The MOVE hack usually leads to better code when it can be used. --- diff --git a/src/compiler/ir2tran.lisp b/src/compiler/ir2tran.lisp index 146e8ec..61cf153 100644 --- a/src/compiler/ir2tran.lisp +++ b/src/compiler/ir2tran.lisp @@ -1795,9 +1795,6 @@ (defoptimizer (mask-signed-field ir2-convert) ((width x) node block) (block nil - (when (template-p (basic-combination-info node)) - (ir2-convert-template node block) - (return)) (when (constant-lvar-p width) (case (lvar-value width) (#.(- sb!vm:n-word-bits sb!vm:n-fixnum-tag-bits) @@ -1834,7 +1831,9 @@ temp (first results)) (move-lvar-result node block results lvar) (return)))))) - (ir2-convert-full-call node block))) + (if (template-p (basic-combination-info node)) + (ir2-convert-template node block) + (ir2-convert-full-call node block)))) ;;; Convert the code in a component into VOPs. (defun ir2-convert (component)