master: Remove ymm-reg zmm-reg SCs
stassats via Sbcl-commits <[email protected]> Wed, 01 Jul 2026 14:35:13 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via 23aa0d832b2c38e1dca8c1f09c66c1d7f8494522 (commit)
from 05b1b824122b83340d381b2b8d1a1f4966de5979 (commit)
- Log -----------------------------------------------------------------
commit 23aa0d832b2c38e1dca8c1f09c66c1d7f8494522
Author: Stas Boukarev <[email protected]>
Date: Wed Jul 1 17:32:00 2026 +0300
Remove ymm-reg zmm-reg SCs
Shouldn't be used, int-avx2/512-reg exist for that.
---
src/code/debug-int.lisp | 6 +++---
src/compiler/x86-64/alloc.lisp | 3 +--
src/compiler/x86-64/avx2-insts.lisp | 4 ++--
src/compiler/x86-64/insts.lisp | 10 ++++------
src/compiler/x86-64/macros.lisp | 4 ++--
src/compiler/x86-64/vm.lisp | 6 ------
6 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp
index bbfd7dce3..c313f12bf 100644
--- a/src/code/debug-int.lisp
+++ b/src/code/debug-int.lisp
@@ -2493,7 +2493,7 @@
(sap-ref-double nfp (number-stack-offset 0))
(sap-ref-double nfp (number-stack-offset 8)))))
#+sb-simd-pack-256
- ((#.sb-vm::ymm-reg-sc-number #.sb-vm::int-avx2-reg-sc-number)
+ (#.sb-vm::int-avx2-reg-sc-number
(escaped-float-value simd-pack-256-int))
#+sb-simd-pack-256
((#.sb-vm::single-avx2-reg-sc-number)
@@ -2530,7 +2530,7 @@
(sap-ref-double nfp (number-stack-offset 16))
(sap-ref-double nfp (number-stack-offset 24)))))
#+sb-simd-pack-512
- ((#.sb-vm::zmm-reg-sc-number #.sb-vm::int-avx512-reg-sc-number)
+ (#.sb-vm::int-avx512-reg-sc-number
(escaped-float-value simd-pack-512-int))
#+sb-simd-pack-512
((#.sb-vm::single-avx512-reg-sc-number)
@@ -2782,7 +2782,7 @@
(setf (sap-ref-double nfp (number-stack-offset 0)) a
(sap-ref-double nfp (number-stack-offset 8)) b))))
#+sb-simd-pack-256
- ((#.sb-vm::ymm-reg-sc-number #.sb-vm::int-avx2-reg-sc-number)
+ (#.sb-vm::int-avx2-reg-sc-number
(set-escaped-float-value simd-pack-256-int value))
#+sb-simd-pack-256
((#.sb-vm::single-avx2-reg-sc-number)
diff --git a/src/compiler/x86-64/alloc.lisp b/src/compiler/x86-64/alloc.lisp
index 61b549b8a..6963b277e 100644
--- a/src/compiler/x86-64/alloc.lisp
+++ b/src/compiler/x86-64/alloc.lisp
@@ -219,8 +219,7 @@
(flet ((used-p (tn)
(do ((tn tn (sb-c::tn-next tn)))
((null tn))
- (when (sc-is tn zmm-reg
- int-avx512-reg
+ (when (sc-is tn int-avx512-reg
double-avx512-reg
single-avx512-reg)
(return-from zmm-registers-used-p t)))))
diff --git a/src/compiler/x86-64/avx2-insts.lisp b/src/compiler/x86-64/avx2-insts.lisp
index 6a4403cc2..917ca858d 100644
--- a/src/compiler/x86-64/avx2-insts.lisp
+++ b/src/compiler/x86-64/avx2-insts.lisp
@@ -1500,11 +1500,11 @@ REG is the source (encoded in ModR/M.r/m).
:w ,w
:l ,(ecase sizing
((xmm/ymm-vmx/y xmm/ymm-vmx)
- `(if (is-ymm-id-p (reg-id dst))
+ `(if (ymm-register-p dst)
1
0))
(xmm-vmx/y
- `(if (eq (sc-name (tn-sc (ea-index vm))) 'ymm-reg)
+ `(if (ymm-register-p (ea-index vm))
1
0)))
:vm t)))))
diff --git a/src/compiler/x86-64/insts.lisp b/src/compiler/x86-64/insts.lisp
index 7603b9d1e..881adb238 100644
--- a/src/compiler/x86-64/insts.lisp
+++ b/src/compiler/x86-64/insts.lisp
@@ -21,9 +21,9 @@
(import 'sb-assem::&prefix)
;; Imports from SB-VM into this package
#+sb-simd-pack-256
- (import '(sb-vm::ymm-reg sb-vm::int-avx2-reg sb-vm::double-avx2-reg sb-vm::single-avx2-reg))
+ (import '(sb-vm::int-avx2-reg sb-vm::double-avx2-reg sb-vm::single-avx2-reg))
#+sb-simd-pack-512
- (import '(sb-vm::zmm-reg sb-vm::int-avx512-reg sb-vm::double-avx512-reg sb-vm::single-avx512-reg))
+ (import '(sb-vm::int-avx512-reg sb-vm::double-avx512-reg sb-vm::single-avx512-reg))
(import '(sb-vm::tn-byte-offset sb-vm::tn-reg sb-vm::reg-name
sb-vm::frame-byte-offset sb-vm::rip-tn sb-vm::rbp-tn
sb-vm::gpr-tn-p sb-vm::stack-tn-p sb-c::tn-reads sb-c::tn-writes
@@ -1163,14 +1163,12 @@
((eq (sb-name (sc-sb (tn-sc operand))) 'registers)
(tn-reg operand))
((memq (sc-name (tn-sc operand))
- '(zmm-reg
- int-avx512-reg
+ '(int-avx512-reg
double-avx512-reg
single-avx512-reg))
(get-fpr :zmm (tn-offset operand)))
((memq (sc-name (tn-sc operand))
- '(ymm-reg
- int-avx2-reg
+ '(int-avx2-reg
double-avx2-reg
single-avx2-reg))
(get-fpr :ymm (tn-offset operand)))
diff --git a/src/compiler/x86-64/macros.lisp b/src/compiler/x86-64/macros.lisp
index d468bf3cd..498c3b3fd 100644
--- a/src/compiler/x86-64/macros.lisp
+++ b/src/compiler/x86-64/macros.lisp
@@ -36,7 +36,7 @@
(aver (xmm-tn-p src))
(inst movaps dst src))
#+sb-simd-pack-256
- ((ymm-reg int-avx2-reg)
+ (int-avx2-reg
(aver (xmm-tn-p src))
(inst vmovdqa dst src))
#+sb-simd-pack-256
@@ -45,7 +45,7 @@
(inst vmovaps dst src))
;; fixme512: check if this is correct
#+sb-simd-pack-512
- ((zmm-reg int-avx512-reg)
+ (int-avx512-reg
(aver (xmm-tn-p src))
(inst vmovdqu dst src))
#+sb-simd-pack-512
diff --git a/src/compiler/x86-64/vm.lisp b/src/compiler/x86-64/vm.lisp
index 7b9ec7f9e..173465b06 100644
--- a/src/compiler/x86-64/vm.lisp
+++ b/src/compiler/x86-64/vm.lisp
@@ -377,10 +377,6 @@
:save-p t
:alternate-scs (single-sse-stack))
#+sb-simd-pack-256
- (ymm-reg float-registers :locations #.*float-regs*)
- ;; These next 3 should probably be named to YMM-{INT,SINGLE,DOUBLE}-REG
- ;; but I think there are 3rd-party libraries that expect these names.
- #+sb-simd-pack-256
(int-avx2-reg float-registers
:locations #.*float-regs*
:constant-scs (fp-immediate)
@@ -400,8 +396,6 @@
:alternate-scs (single-avx2-stack))
;; ZMM SCs use all 32 registers (16-31 require EVEX encoding)
#+sb-simd-pack-512
- (zmm-reg float-registers :locations #.*zmm-regs*)
- #+sb-simd-pack-512
(int-avx512-reg float-registers
:locations #.*zmm-regs*
:constant-scs (fp-immediate)
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL