master: context-float-register: support integer ZMMs

stassats via Sbcl-commits <[email protected]> Wed, 01 Jul 2026 14:35:11 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  05b1b824122b83340d381b2b8d1a1f4966de5979 (commit)
      from  739a65fe111c65247f329285ff3a4c33a6f187e1 (commit)

- Log -----------------------------------------------------------------
commit 05b1b824122b83340d381b2b8d1a1f4966de5979
Author: Stas Boukarev <[email protected]>
Date:   Wed Jul 1 17:27:52 2026 +0300

    context-float-register: support integer ZMMs
---
 src/code/x86-64-vm.lisp | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/code/x86-64-vm.lisp b/src/code/x86-64-vm.lisp
index 3e44ddbfe..f5fac6619 100644
--- a/src/code/x86-64-vm.lisp
+++ b/src/code/x86-64-vm.lisp
@@ -128,7 +128,15 @@
                  (sapz #+linux (alien-sap (context-zmm-register-addr context index))
                        #-linux sap))
              (if integer
-                 (error "Integer not yet implemented")
+                 (values (logior (sap-ref-64 sap 0)
+                                 (ash (sap-ref-64 sap 8) 64)
+                                 (ash (sap-ref-64 sapy 0) 128)
+                                 (ash (sap-ref-64 sapy 8) 192)
+                                 (ash (sap-ref-64 sapz 0) 256)
+                                 (ash (sap-ref-64 sapz 8) 320)
+                                 (ash (sap-ref-64 sapz 16) 384)
+                                 (ash (sap-ref-64 sapz 24) 448))
+                         64)
                  (%make-simd-pack-512-ub64
                   (sap-ref-64 sap 0)
                   (sap-ref-64 sap 8)
@@ -142,7 +150,15 @@
            (let ((sapz #+linux (alien-sap (context-zmm-register-addr context index))
                        #-linux sap))
              (if integer
-                 (error "Integer not yet implemented")
+                 (values (logior (sap-ref-64 sapz 0)
+                                 (ash (sap-ref-64 sapz 8) 64)
+                                 (ash (sap-ref-64 sapz 16) 128)
+                                 (ash (sap-ref-64 sapz 24) 192)
+                                 (ash (sap-ref-64 sapz 32) 256)
+                                 (ash (sap-ref-64 sapz 40) 320)
+                                 (ash (sap-ref-64 sapz 48) 384)
+                                 (ash (sap-ref-64 sapz 56) 448))
+                         64)
                  (%make-simd-pack-512-ub64
                   (sap-ref-64 sapz 0)
                   (sap-ref-64 sapz 8)

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


hooks/post-receive
-- 
SBCL