X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Ffloat.lisp;h=685c49d423349f080b8dba1acea058b8cb7a81d4;hb=eda83f00e869193cb69826be5fa1086b95d12ff7;hp=61113c916e9cd53d958748c64364442619841a5e;hpb=394d4d76644409b8789ad597d1a132667579cf74;p=sbcl.git diff --git a/src/compiler/mips/float.lisp b/src/compiler/mips/float.lisp index 61113c9..685c49d 100644 --- a/src/compiler/mips/float.lisp +++ b/src/compiler/mips/float.lisp @@ -78,7 +78,7 @@ (:variant-vars double-p size type data) (:note "float to pointer coercion") (:generator 13 - (with-fixed-allocation (y pa-flag ndescr type size) + (with-fixed-allocation (y pa-flag ndescr type size nil) (if double-p (str-double x y (- (* data n-word-bytes) other-pointer-lowtag)) (inst swc1 x y (- (* data n-word-bytes) other-pointer-lowtag)))))) @@ -259,7 +259,7 @@ (:note "complex single float to pointer coercion") (:generator 13 (with-fixed-allocation (y pa-flag ndescr complex-single-float-widetag - complex-single-float-size) + complex-single-float-size nil) (let ((real-tn (complex-single-reg-real-tn x))) (inst swc1 real-tn y (- (* complex-single-float-real-slot n-word-bytes) @@ -279,7 +279,7 @@ (:note "complex double float to pointer coercion") (:generator 13 (with-fixed-allocation (y pa-flag ndescr complex-double-float-widetag - complex-double-float-size) + complex-double-float-size nil) (let ((real-tn (complex-double-reg-real-tn x))) (str-double real-tn y (- (* complex-double-float-real-slot n-word-bytes) @@ -608,7 +608,7 @@ pa-flag) (:arg-types ,from-type) (:result-types signed-num) - (:translate %unary-truncate) + (:translate ,name) (:policy :fast-safe) (:note "inline float truncate") (:vop-var vop) @@ -693,35 +693,6 @@ (inst nop))) -;;;; Float mode hackery: - -;#| -(sb!xc:deftype float-modes () '(unsigned-byte 32)) -(defknown floating-point-modes () float-modes (flushable)) -(defknown ((setf floating-point-modes)) (float-modes) - float-modes) - -(define-vop (floating-point-modes) - (:results (res :scs (unsigned-reg))) - (:result-types unsigned-num) - (:translate floating-point-modes) - (:policy :fast-safe) - (:generator 3 - (inst cfc1 res 31) - (inst nop))) - -(define-vop (set-floating-point-modes) - (:args (new :scs (unsigned-reg) :target res)) - (:results (res :scs (unsigned-reg))) - (:arg-types unsigned-num) - (:result-types unsigned-num) - (:translate (setf floating-point-modes)) - (:policy :fast-safe) - (:generator 3 - (inst ctc1 new 31) - (move res new))) -;|# - ;;;; Complex float VOPs (define-vop (make-complex-single-float)