master: Don't define a no-op splat as a VOP

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  ba19daa02493847a4353ddb7bd374413889cfa12 (commit)
      from  01bd7882b1af89d296a28a359419de20f423b3f2 (commit)

- Log -----------------------------------------------------------------
commit ba19daa02493847a4353ddb7bd374413889cfa12
Author: Stas Boukarev <[email protected]>
Date:   Sun Aug 30 12:35:09 2026 +0300

    Don't define a no-op splat as a VOP
    
    It creates non-transparent moves.
---
 src/compiler/pseudo-vops.lisp | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/compiler/pseudo-vops.lisp b/src/compiler/pseudo-vops.lisp
index 0dba9cfec..78a0e98df 100644
--- a/src/compiler/pseudo-vops.lisp
+++ b/src/compiler/pseudo-vops.lisp
@@ -62,13 +62,5 @@
 ;;; pseudo-atomic would benefit from a way to advise the allocator
 ;;; to fill with a non-default value.
 #-x86-64
-(define-vop ()
-  (:policy :fast-safe)
-  (:translate sb-vm::splat)
-  (:args (vector :scs (sb-vm::descriptor-reg))
-         (words :scs (sb-vm::unsigned-reg sb-vm::immediate)))
-  (:info value)
-  (:arg-types * sb-vm::positive-fixnum (:constant t))
-  (:results (result :scs (sb-vm::descriptor-reg)))
-  (:ignore words value)
-  (:generator 1 (move result vector)))
+(define-source-transform sb-vm::splat (vector n value)
+  `(prog1 ,vector ,n ,value))

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


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.