master: arm64: optimize simd-character-string-utf8-length some more

stassats via Sbcl-commits <[email protected]> Fri, 19 Jun 2026 03:34:36 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  2deb9c304315487e6b668b5d64f690884f229c6d (commit)
      from  91b54fdda856b601d452a970c64f5aab53418d0b (commit)

- Log -----------------------------------------------------------------
commit 2deb9c304315487e6b668b5d64f690884f229c6d
Author: Stas Boukarev <[email protected]>
Date:   Fri Jun 19 06:34:08 2026 +0300

    arm64: optimize simd-character-string-utf8-length some more
---
 src/code/arm64-simd.lisp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/code/arm64-simd.lisp b/src/code/arm64-simd.lisp
index 791823324..cfe88ceb8 100644
--- a/src/code/arm64-simd.lisp
+++ b/src/code/arm64-simd.lisp
@@ -1497,6 +1497,7 @@
 
       NON-ASCII
       (inst mov res null-tn)
+      (inst mov all-ascii null-tn)
       (inst movi extra-len 0 :16b)
       (inst movi errors 0 :16b)
 
@@ -1543,11 +1544,7 @@
       (inst cbnz tmp DONE)
 
       (inst addp tmp1 extra-len extra-len :2d)
-      (inst fmov tmp (reg-in-sc tmp1 'double-reg))
+      (inst fmov tmp tmp1)
 
       (inst add res length (lsl tmp n-fixnum-tag-bits))
-
-      (inst cmp tmp 0)
-      (inst csel all-ascii all-ascii null-tn :eq)
-
       DONE)))

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL