master: utf8-to-character-string-avx2: smaller 8-to-32 widening

stassats via Sbcl-commits <[email protected]>
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  83f7a3d006266f06711d1558332546e7ed574e30 (commit)
      from  82385e1c567f61e0549ff5f174e8ebdc418e7ba1 (commit)

- Log -----------------------------------------------------------------
commit 83f7a3d006266f06711d1558332546e7ed574e30
Author: Stas Boukarev <[email protected]>
Date:   Wed Aug 12 18:01:55 2026 +0300

    utf8-to-character-string-avx2: smaller 8-to-32 widening
---
 src/code/x86-64-simd.lisp | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

diff --git a/src/code/x86-64-simd.lisp b/src/code/x86-64-simd.lisp
index f221a85ee..2d8ecc69c 100644
--- a/src/code/x86-64-simd.lisp
+++ b/src/code/x86-64-simd.lisp
@@ -789,20 +789,13 @@
 
             (inst add byte-array 16)
 
-            (inst vpmovzxbd temp2 bytes)
-            (inst vmovdqu (ea string) temp2)
+            (let ((temp2 (reg-in-sc temp2 'int-avx2-reg)))
+              (inst vpmovzxbd temp2 bytes)
+              (inst vmovdqu (ea string) temp2)
 
-            (inst vpsrldq temp bytes 4)
-            (inst vpmovzxbd temp2 temp)
-            (inst vmovdqu (ea 16 string) temp2)
-
-            (inst vpsrldq temp bytes 8)
-            (inst vpmovzxbd temp2 temp)
-            (inst vmovdqu (ea 32 string) temp2)
-
-            (inst vpsrldq temp bytes 12)
-            (inst vpmovzxbd temp2 temp)
-            (inst vmovdqu (ea 48 string) temp2)
+              (inst vpsrldq temp bytes 8)
+              (inst vpmovzxbd temp2 temp)
+              (inst vmovdqu (ea 32 string) temp2))
 
             (inst add string (* 16 4))
 

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


hooks/post-receive
-- 
SBCL
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.