From afeeadcc9a9d8e0a9a0023cfff79be7309fd951a Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Sat, 19 Apr 2014 17:55:03 -0400 Subject: [PATCH] compiler/arm/system: Clean up a FIXME in VOP SET-HEADER-DATA. * A minor optimization issue, saving a single instruction by using LOAD-TYPE (which uses LDRB) to pick out the widetag instead of separate load and mask instructions. --- src/compiler/arm/system.lisp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/compiler/arm/system.lisp b/src/compiler/arm/system.lisp index 602a18563..6fc405da9 100644 --- a/src/compiler/arm/system.lisp +++ b/src/compiler/arm/system.lisp @@ -122,9 +122,7 @@ (:results (res :scs (descriptor-reg))) (:temporary (:scs (non-descriptor-reg)) t1) (:generator 6 - ;; FIXME: Using LDRB here would save us an instruction. - (loadw t1 x 0 other-pointer-lowtag) - (inst and t1 t1 widetag-mask) + (load-type t1 x (- other-pointer-lowtag)) (sc-case data (any-reg (inst orr t1 t1 (lsl data (- n-widetag-bits n-fixnum-tag-bits)))) -- 2.11.4.GIT