master: Remove redundant parameters in x86-64/float.lisp
stassats via Sbcl-commits <[email protected]> Mon, 29 Jun 2026 00:12:39 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via d8a8a93405f245d34a7d3dead3294a2c9e433e0d (commit)
from 8a9a573add18ce755f04cfac367a5fb37a45d3c5 (commit)
- Log -----------------------------------------------------------------
commit d8a8a93405f245d34a7d3dead3294a2c9e433e0d
Author: Stas Boukarev <[email protected]>
Date: Mon Jun 29 03:04:45 2026 +0300
Remove redundant parameters in x86-64/float.lisp
---
src/compiler/x86-64/float.lisp | 87 +++++++++++++++---------------------------
1 file changed, 30 insertions(+), 57 deletions(-)
diff --git a/src/compiler/x86-64/float.lisp b/src/compiler/x86-64/float.lisp
index c80fcd284..f6846f3e7 100644
--- a/src/compiler/x86-64/float.lisp
+++ b/src/compiler/x86-64/float.lisp
@@ -342,12 +342,10 @@
(:arg-types ,ptype ,ptype)
(:result-types ,ptype))
(define-vop (,comm-name float-op)
- (:args (x :scs (,sc fp-immediate)
- :target r
- :load-if (not (sc-is x fp-immediate)))
+ (:args (x :scs (,sc)
+ :target r)
(y :scs (,sc fp-immediate)
- :target r
- :load-if (not (sc-is y fp-immediate))))
+ :target r))
(:results (r :scs (,sc)))
(:arg-types ,ptype ,ptype)
(:result-types ,ptype)))))
@@ -475,11 +473,9 @@
`(define-vop (,real-complex-name float-op)
(:translate ,op)
(:args (x :scs (,real-sc fp-immediate)
- :target r
- :load-if (not (sc-is x fp-immediate)))
+ :target r)
(y :scs (,complex-sc fp-immediate)
- ,@(when commutativep '(:target r))
- :load-if (not (sc-is y fp-immediate))))
+ ,@(when commutativep '(:target r))))
(:arg-types ,real-type ,complex-type)
(:results (r :scs (,complex-sc)
,@(unless commutativep '(:from (:argument 0)))))
@@ -500,11 +496,9 @@
`(define-vop (,complex-real-name float-op)
(:translate ,op)
(:args (x :scs (,complex-sc fp-immediate)
- :target r
- :load-if (not (sc-is x fp-immediate)))
+ :target r)
(y :scs (,real-sc fp-immediate)
- ,@(when commutativep '(:target r))
- :load-if (not (sc-is y fp-immediate))))
+ ,@(when commutativep '(:target r))))
(:arg-types ,complex-type ,real-type)
(:results (r :scs (,complex-sc)
,@(unless commutativep '(:from (:argument 0)))))
@@ -526,12 +520,10 @@
`(define-vop (,real-complex-name float-op)
(:translate ,op)
(:args (x :scs (,real-sc fp-immediate)
- :target dup
- :load-if (not (sc-is x fp-immediate)))
+ :target dup)
(y :scs (,complex-sc fp-immediate)
:target r
- :to :result
- :load-if (not (sc-is y fp-immediate))))
+ :to :result))
(:arg-types ,real-type ,complex-type)
(:temporary (:sc ,complex-sc :target r
:from (:argument 0)
@@ -569,11 +561,9 @@
(:translate ,op)
(:args (x :scs (,complex-sc fp-immediate)
:target r
- :to :result
- :load-if (not (sc-is x fp-immediate)))
+ :to :result)
(y :scs (,real-sc fp-immediate)
- :target dup
- :load-if (not (sc-is y fp-immediate))))
+ :target dup))
(:arg-types ,complex-type ,real-type)
(:temporary (:sc ,complex-sc :target r
:from (:argument 1)
@@ -611,11 +601,9 @@
`(define-vop (,real-complex-name float-op)
(:translate ,op)
(:args (x :scs (,real-sc fp-immediate)
- :target r
- :load-if (not (sc-is x fp-immediate)))
+ :target r)
(y :scs (,complex-sc fp-immediate)
- :to :result
- :load-if (not (sc-is y fp-immediate))))
+ :to :result))
(:arg-types ,real-type ,complex-type)
(:results (r :scs (,complex-sc) :from (:argument 0)))
(:result-types ,complex-type)
@@ -641,8 +629,7 @@
:target r
:to :eval)
(y :scs (,real-sc fp-immediate)
- :target dup
- :load-if (not (sc-is y fp-immediate))))
+ :target dup))
(:arg-types ,complex-type ,real-type)
(:temporary (:sc ,complex-sc :from (:argument 1))
dup)
@@ -700,11 +687,9 @@
(:translate /)
(:args (x :scs (complex-single-reg fp-immediate)
:to (:result 0)
- :target r
- :load-if (not (sc-is x fp-immediate)))
+ :target r)
(y :scs (single-reg fp-immediate)
- :target dup
- :load-if (not (sc-is y fp-immediate))))
+ :target dup))
(:arg-types complex-single-float single-float)
(:temporary (:sc complex-single-reg :from (:argument 1)) dup)
(:results (r :scs (complex-single-reg)))
@@ -935,23 +920,19 @@
(define-vop (single-float-compare float-compare)
(:args (x :scs (single-reg))
- (y :scs (single-reg single-stack fp-immediate)
- :load-if (not (sc-is y single-stack fp-immediate))))
+ (y :scs (single-reg single-stack fp-immediate)))
(:arg-types single-float single-float))
(define-vop (double-float-compare float-compare)
(:args (x :scs (double-reg))
- (y :scs (double-reg double-stack descriptor-reg fp-immediate)
- :load-if (not (sc-is y double-stack descriptor-reg fp-immediate))))
+ (y :scs (double-reg double-stack descriptor-reg fp-immediate)))
(:arg-types double-float double-float))
(define-vop (=/single-float single-float-compare)
(:translate =)
(:args (x :scs (single-reg single-stack fp-immediate)
- :target xmm
- :load-if (not (sc-is x single-stack fp-immediate)))
+ :target xmm)
(y :scs (single-reg single-stack fp-immediate)
- :target xmm
- :load-if (not (sc-is y single-stack fp-immediate))))
+ :target xmm))
(:temporary (:sc single-reg :from :eval) xmm)
(:conditional not :p :ne)
(:vop-var vop)
@@ -978,12 +959,10 @@
(define-vop (=/double-float double-float-compare)
(:translate =)
- (:args (x :scs (double-reg double-stack fp-immediate descriptor-reg)
- :target xmm
- :load-if (not (sc-is x double-stack fp-immediate descriptor-reg)))
+ (:args (x :scs (double-reg double-stack descriptor-reg)
+ :target xmm)
(y :scs (double-reg double-stack fp-immediate descriptor-reg)
- :target xmm
- :load-if (not (sc-is y double-stack fp-immediate descriptor-reg))))
+ :target xmm))
(:temporary (:sc double-reg :from :eval) xmm)
(:conditional not :p :ne)
(:vop-var vop)
@@ -1018,12 +997,10 @@
`(progn
(define-vop (,complex-complex-name float-compare)
(:translate =)
- (:args (x :scs (,complex-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is x fp-immediate)))
+ (:args (x :scs (,complex-sc)
+ :target cmp)
(y :scs (,complex-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is y fp-immediate))))
+ :target cmp))
(:arg-types ,complex-type ,complex-type)
(:temporary (:sc ,complex-sc :from :eval) cmp)
(:temporary (:sc unsigned-reg) bits)
@@ -1045,19 +1022,15 @@
(inst cmp :byte bits ,mask)))
(define-vop (,complex-real-name ,complex-complex-name)
(:args (x :scs (,complex-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is x fp-immediate)))
+ :target cmp)
(y :scs (,real-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is y fp-immediate))))
+ :target cmp))
(:arg-types ,complex-type ,real-type))
(define-vop (,real-complex-name ,complex-complex-name)
(:args (x :scs (,real-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is x fp-immediate)))
+ :target cmp)
(y :scs (,complex-sc fp-immediate)
- :target cmp
- :load-if (not (sc-is y fp-immediate))))
+ :target cmp))
(:arg-types ,real-type ,complex-type)))))
(define-complex-float-= =/complex-single-float =/complex-real-single-float =/real-complex-single-float
single-reg single-float
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL