(define-vop (signed-unop fast-safe-arith-op)
(:args (x :scs (signed-reg) :target res))
(:results (res :scs (signed-reg)))
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:arg-types signed-num)
(:result-types signed-num))
(sc-is r unsigned-stack)
(location= x r)))))
(:result-types unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic"))
+ (:note "inline (unsigned-byte 64) arithmetic"))
(define-vop (fast-signed-binop fast-safe-arith-op)
(:args (x :target r :scs (signed-reg)
(sc-is r signed-stack)
(location= x r)))))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic"))
+ (:note "inline (signed-byte 64) arithmetic"))
(define-vop (fast-fixnum-binop-c fast-safe-arith-op)
(:args (x :target r :scs (any-reg control-stack)))
(:results (r :scs (unsigned-reg)
:load-if (not (location= x r))))
(:result-types unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic"))
+ (:note "inline (unsigned-byte 64) arithmetic"))
(define-vop (fast-signed-binop-c fast-safe-arith-op)
(:args (x :target r :scs (signed-reg signed-stack)))
(:results (r :scs (signed-reg)
:load-if (not (location= x r))))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic"))
+ (:note "inline (signed-byte 64) arithmetic"))
(macrolet ((define-binop (translate untagged-penalty op)
`(progn
(sc-is y signed-reg)
(location= x r)))))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:generator 5
(cond ((and (sc-is x signed-reg) (sc-is y signed-reg) (sc-is r signed-reg)
(not (location= x r)))
(:results (r :scs (signed-reg)
:load-if (not (location= x r))))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:generator 4
(cond ((and (sc-is x signed-reg) (sc-is r signed-reg)
(not (location= x r)))
(sc-is r unsigned-stack)
(location= x r)))))
(:result-types unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic")
+ (:note "inline (unsigned-byte 64) arithmetic")
(:generator 5
(cond ((and (sc-is x unsigned-reg) (sc-is y unsigned-reg)
(sc-is r unsigned-reg) (not (location= x r)))
(:results (r :scs (unsigned-reg)
:load-if (not (location= x r))))
(:result-types unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic")
+ (:note "inline (unsigned-byte 64) arithmetic")
(:generator 4
(cond ((and (sc-is x unsigned-reg) (sc-is r unsigned-reg)
(not (location= x r)))
(:arg-types signed-num signed-num)
(:results (r :scs (signed-reg) :from (:argument 0)))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:generator 5
(move r x)
(inst imul r y)))
(:arg-types signed-num (:constant (signed-byte 32)))
(:results (r :scs (signed-reg)))
(:result-types signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:generator 4
(inst imul r x y)))
(:ignore edx)
(:results (result :scs (unsigned-reg)))
(:result-types unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic")
+ (:note "inline (unsigned-byte 64) arithmetic")
(:vop-var vop)
(:save-p :compute-only)
(:generator 6
(:results (quo :scs (unsigned-reg))
(rem :scs (unsigned-reg)))
(:result-types unsigned-num unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic")
+ (:note "inline (unsigned-byte 64) arithmetic")
(:vop-var vop)
(:save-p :compute-only)
(:generator 33
(:results (quo :scs (unsigned-reg))
(rem :scs (unsigned-reg)))
(:result-types unsigned-num unsigned-num)
- (:note "inline (unsigned-byte 32) arithmetic")
+ (:note "inline (unsigned-byte 64) arithmetic")
(:vop-var vop)
(:save-p :compute-only)
(:generator 32
(:results (quo :scs (signed-reg))
(rem :scs (signed-reg)))
(:result-types signed-num signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:vop-var vop)
(:save-p :compute-only)
(:generator 33
(:results (quo :scs (signed-reg))
(rem :scs (signed-reg)))
(:result-types signed-num signed-num)
- (:note "inline (signed-byte 32) arithmetic")
+ (:note "inline (signed-byte 64) arithmetic")
(:vop-var vop)
(:save-p :compute-only)
(:generator 32
\f
(define-vop (signed-byte-64-len)
(:translate integer-length)
- (:note "inline (signed-byte 32) integer-length")
+ (:note "inline (signed-byte 64) integer-length")
(:policy :fast-safe)
(:args (arg :scs (signed-reg) :target res))
(:arg-types signed-num)
(define-vop (unsigned-byte-64-len)
(:translate integer-length)
- (:note "inline (unsigned-byte 32) integer-length")
+ (:note "inline (unsigned-byte 64) integer-length")
(:policy :fast-safe)
(:args (arg :scs (unsigned-reg)))
(:arg-types unsigned-num)
(sc-is y signed-reg))))
(y :scs (signed-reg signed-stack)))
(:arg-types signed-num signed-num)
- (:note "inline (signed-byte 32) comparison"))
+ (:note "inline (signed-byte 64) comparison"))
(define-vop (fast-conditional-c/signed fast-conditional/signed)
(:args (x :scs (signed-reg signed-stack)))
(sc-is y unsigned-reg))))
(y :scs (unsigned-reg unsigned-stack)))
(:arg-types unsigned-num unsigned-num)
- (:note "inline (unsigned-byte 32) comparison"))
+ (:note "inline (unsigned-byte 64) comparison"))
(define-vop (fast-conditional-c/unsigned fast-conditional/unsigned)
(:args (x :scs (unsigned-reg unsigned-stack)))