From 04933997e80776f442770244d92cc2d07bbafe50 Mon Sep 17 00:00:00 2001 From: Paul Khuong Date: Sat, 8 Jun 2013 11:26:19 -0400 Subject: [PATCH] Only use MASK-SIGNED-FIELD VOPs as last resorts The MOVE hack usually leads to better code when it can be used. --- src/compiler/ir2tran.lisp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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) -- 1.7.10.4