master: Micro-optimizations in copy-utf8-sap-to-character-string
stassats via Sbcl-commits <[email protected]> Wed, 15 Jul 2026 03:55:56 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via ab04e16dd5f008339791882e91e400a09329b92f (commit)
from 280e13f23306a543bcee3308a7f16213792411ce (commit)
- Log -----------------------------------------------------------------
commit ab04e16dd5f008339791882e91e400a09329b92f
Author: Stas Boukarev <[email protected]>
Date: Wed Jul 15 06:49:44 2026 +0300
Micro-optimizations in copy-utf8-sap-to-character-string
---
src/code/arm64-simd.lisp | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/src/code/arm64-simd.lisp b/src/code/arm64-simd.lisp
index b66e5fdcd..0a80fd71b 100644
--- a/src/code/arm64-simd.lisp
+++ b/src/code/arm64-simd.lisp
@@ -1672,7 +1672,6 @@
((temp3 complex-double-reg t :offset 12))
((temp-upper complex-double-reg))
((c-c0 complex-double-reg))
- ((c-2 complex-double-reg))
((c-bf complex-double-reg))
((powers complex-double-reg))
((mask-s0 complex-double-reg))
@@ -1687,7 +1686,6 @@
((s2 complex-double-reg t :offset 9))
((s3 complex-double-reg t :offset 10))
((tag-clear complex-double-reg))
- ((sh complex-double-reg))
((continuations complex-double-reg))
((starts complex-double-reg))
((combined complex-double-reg))
@@ -1703,7 +1701,6 @@
(inst mov byte-index 0)
(inst mov char-index 0)
(load-inline-constant powers :oword #x80402010080402018040201008040201)
- (inst movi c-2 2 :8b)
(inst movi c-bf #xBF :8h)
(load-inline-constant table
(let ((table (make-array (* #b10101011 16) :element-type '(unsigned-byte 8)
@@ -1738,8 +1735,7 @@
;; Build a bit pattern of non-continuation bytes
;; suitable for the lookup table
- (inst ushr sh bytes 6 :8b)
- (inst cmeq continuations sh c-2 :8b)
+ (inst cmge continuations c-c0 bytes :8b)
(inst and starts powers continuations :8b)
(inst addv starts starts :8b)
(inst umov tmp-tn starts 0 :b)
@@ -1885,8 +1881,8 @@
TAIL-16
(inst cmp tmp-tn 8)
(inst b :lt DONE)
- (inst movi c-2 #xFFFFFFFF)
- (inst and continuations continuations c-2 :8b)
+ (inst movi temp #xFFFFFFFF)
+ (inst and continuations continuations temp :8b)
(inst addv count continuations :8b)
(inst smov tmp-tn count 0 :b)
(inst str s1 (@ ptr))
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL