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