master: x86-64: rename xmm-tn-p to float-tn-p
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 fde3ddff0699230068b59fde34e3b06d8ee407be (commit)
from 6d159d1fd9a634c6516f3fa0aa7447b5990ef03b (commit)
- Log -----------------------------------------------------------------
commit fde3ddff0699230068b59fde34e3b06d8ee407be
Author: arthur <[email protected]>
Date: Thu Aug 20 19:05:16 2026 +0200
x86-64: rename xmm-tn-p to float-tn-p
---
src/compiler/x86-64/float.lisp | 4 ++--
src/compiler/x86-64/insts.lisp | 2 +-
src/compiler/x86-64/macros.lisp | 16 ++++++++--------
src/compiler/x86-64/vm.lisp | 11 +++++------
4 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/src/compiler/x86-64/float.lisp b/src/compiler/x86-64/float.lisp
index 5e8b507ec..e9a8247d9 100644
--- a/src/compiler/x86-64/float.lisp
+++ b/src/compiler/x86-64/float.lisp
@@ -941,7 +941,7 @@
(:variant nil)
(:generator 3
(when (or (location= y xmm)
- (and (not (xmm-tn-p x)) (xmm-tn-p y)))
+ (and (not (float-tn-p x)) (float-tn-p y)))
(rotatef x y))
(sc-case x
(single-reg (setf xmm x))
@@ -975,7 +975,7 @@
(:vop-var vop)
(:generator 3
(when (or (location= y xmm)
- (and (not (xmm-tn-p x)) (xmm-tn-p y)))
+ (and (not (float-tn-p x)) (float-tn-p y)))
(rotatef x y))
(sc-case x
(double-reg
diff --git a/src/compiler/x86-64/insts.lisp b/src/compiler/x86-64/insts.lisp
index c0b9786a6..40ff45d5f 100644
--- a/src/compiler/x86-64/insts.lisp
+++ b/src/compiler/x86-64/insts.lisp
@@ -1021,7 +1021,7 @@
(ldb (byte 5 3) reg-id))
;;; Note that SB-VM has its own variation on these predicates
-;;; operating on TNs: GPR-TN-P, XMM-TN-P
+;;; operating on TNs: GPR-TN-P, FLOAT-TN-P
;;; Return true if THING is a general-purpose register.
(defun gpr-p (thing)
diff --git a/src/compiler/x86-64/macros.lisp b/src/compiler/x86-64/macros.lisp
index 24ce5c509..ddde225eb 100644
--- a/src/compiler/x86-64/macros.lisp
+++ b/src/compiler/x86-64/macros.lisp
@@ -22,34 +22,34 @@
(unless (location= dst src)
(sc-case dst
((single-reg complex-single-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst movaps dst src))
((double-reg complex-double-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst movapd dst src))
#+sb-simd-pack
((int-sse-reg sse-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst movdqa dst src))
#+sb-simd-pack
((single-sse-reg double-sse-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst movaps dst src))
#+sb-simd-pack-256
(int-avx2-reg
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst vmovdqa dst src))
#+sb-simd-pack-256
((single-avx2-reg double-avx2-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst vmovaps dst src))
#+sb-simd-pack-512
(int-avx512-reg
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst vmovdqu64 dst src))
#+sb-simd-pack-512
((single-avx512-reg double-avx512-reg)
- (aver (xmm-tn-p src))
+ (aver (float-tn-p src))
(inst vmovups dst src))
(t
(if size
diff --git a/src/compiler/x86-64/vm.lisp b/src/compiler/x86-64/vm.lisp
index e8a73b96b..cde5f0ddd 100644
--- a/src/compiler/x86-64/vm.lisp
+++ b/src/compiler/x86-64/vm.lisp
@@ -464,15 +464,14 @@
(defun gpr-tn-p (thing)
(and (tn-p thing)
(eq (sb-name (sc-sb (tn-sc thing))) 'registers)))
-;;; Return true if THING is an XMM register TN.
-(defun xmm-tn-p (thing)
+
+;;; Return true if THING is a TN in the FLOAT-REGISTERS storage base. This
+;;; includes XMM, YMM, ZMM SIMD registers, but also scalar float, double and
+;;; complex float/double, but does not include mask registers.
+(defun float-tn-p (thing)
(and (tn-p thing)
(eq (sb-name (sc-sb (tn-sc thing))) 'float-registers)))
-(defun zmm-tn-p (tn)
- (member (tn-sc tn) (list (sc-or-lose 'single-avx512-reg)
- (sc-or-lose 'double-avx512-reg)
- (sc-or-lose 'int-avx512-reg))))
;;; Return true if THING is on the stack (in whatever storage class).
(defun stack-tn-p (thing)
(and (tn-p thing)
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL