(inst fsts x offset base))
((and (< offset (ash 1 13))
(> offset 0))
- ; FIX-lav, ok with GC to use lip-tn for arbitrary offsets ?
+ ;; FIXME-lav, ok with GC to use lip-tn for arbitrary offsets ?
(inst ldo offset zero-tn lip-tn)
;(note-next-instruction vop :internal-error)
(inst fstx x lip-tn base))
:offset (1+ (tn-offset x))))
(defun complex-double-reg-real-tn (x)
- (make-random-tn :kind :normal :sc (sc-or-lose 'double-reg)
+ (make-random-tn :kind :normal :sc (sc-or-lose 'complex-double-reg)
:offset (tn-offset x)))
(defun complex-double-reg-imag-tn (x)
- (make-random-tn :kind :normal :sc (sc-or-lose 'double-reg)
+ (make-random-tn :kind :normal :sc (sc-or-lose 'complex-double-reg)
:offset (1+ (tn-offset x))))
(macrolet
(double-stack y)
(double-int-carg-reg temp)))
(offset (* (tn-offset stack-tn) n-word-bytes)))
- ; save 8 bytes of stack to two register,
- ; write down float in stack and load it back
- ; into result register. Notice the result hack,
- ; we are writing to one extra register.
- ; Double float argument convention uses two registers,
- ; but we only know about one (thanks to c-call).
+ ;; save 8 bytes of stack to two register,
+ ;; write down float in stack and load it back
+ ;; into result register. Notice the result hack,
+ ;; we are writing to one extra register.
+ ;; Double float argument convention uses two registers,
+ ;; but we only know about one (thanks to c-call).
(inst ldw offset nfp old1)
(inst ldw (+ offset n-word-bytes) nfp old2)
(str-float x offset nfp) ; writes 8 bytes
(define-vop (,dname double-float-compare)
(:translate ,translate)
(:variant ,condition ,complement)))))
- ;FIX-lav: let 'inst cmp' translate keywords into raw binary instead of giving it here
+ ;; FIXME-lav: let 'inst cmp' translate keywords into raw binary instead of giving it here
(frob < #b01001 #b10101 </single-float </double-float)
(frob > #b10001 #b01101 >/single-float >/double-float)
(frob = #b00101 #b11001 eql/single-float eql/double-float))
(loadw y nfp (tn-offset stack-tn))))))))
(frob %unary-round single-reg single-float fcnvfx "inline float round")
(frob %unary-round double-reg double-float fcnvfx "inline float round")
- (frob %unary-truncate single-reg single-float fcnvfxt
+ (frob %unary-truncate/single-float single-reg single-float fcnvfxt
"inline float truncate")
- (frob %unary-truncate double-reg double-float fcnvfxt
+ (frob %unary-truncate/double-float double-reg double-float fcnvfxt
"inline float truncate"))
(define-vop (make-single-float)