mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
x86-64: rename xmm-tn-p to float-tn-p
This commit is contained in:
parent
6d159d1fd9
commit
fde3ddff06
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue