X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Finsts.lisp;h=726381093be0112cb02c84e466fb4507c4dd872c;hb=77869604fc3eb4417a630651e5fe40e74342ee59;hp=bd3589cf368568ee75013c31b590193ab90d9a8d;hpb=9728093863d1ed201719d1f7ef61b9df29bb1d44;p=sbcl.git diff --git a/src/compiler/sparc/insts.lisp b/src/compiler/sparc/insts.lisp index bd3589c..7263810 100644 --- a/src/compiler/sparc/insts.lisp +++ b/src/compiler/sparc/insts.lisp @@ -15,6 +15,9 @@ ;;;(def-assembler-params ;;; :scheduler-p t ;;; :max-locations 100) +(eval-when (:compile-toplevel :load-toplevel :execute) + (setf sb!assem:*assem-scheduler-p* t) + (setf sb!assem:*assem-max-locations* 100)) ;;; Constants, types, conversion functions, some disassembler stuff. (defun reg-tn-encoding (tn) @@ -325,9 +328,9 @@ about function addresses and register values.") (maybe-add-notes value dstate)))) (defparameter float-reg-symbols - (coerce - (loop for n from 0 to 63 collect (make-symbol (format nil "%F~d" n))) - 'vector)) + #.(coerce + (loop for n from 0 to 63 collect (make-symbol (format nil "%F~d" n))) + 'vector)) (sb!disassem:define-arg-type fp-reg :printer (lambda (value stream dstate) @@ -946,7 +949,7 @@ about function addresses and register values.") (with-ref-format `(:NAME :TAB rd ", " ,ref-format)) #'equalp) -) ; eval-when (compile eval) +) ; EVAL-WHEN (macrolet ((define-f3-inst (name op op3 &key fixup load-store (dest-kind 'reg) (printer :default) reads writes flushable print-name) @@ -1210,12 +1213,12 @@ about function addresses and register values.") ;; registers. (define-instruction rdy (segment dst) (:declare (type tn dst)) - (:printer format-3-immed ((op #b10) (op3 #b101000) (rs1 0) (immed 0)) + (:printer format-3-reg ((op #b10) (op3 #b101000) (rs1 0) (immed 0)) '('RD :tab '%Y ", " rd)) (:dependencies (reads :y) (writes dst)) (:delay 0) - (:emitter (emit-format-3-immed segment #b10 (reg-tn-encoding dst) #b101000 - 0 0 0))) + (:emitter (emit-format-3-reg segment #b10 (reg-tn-encoding dst) #b101000 + 0 0 0 0))) (defconstant-eqx wry-printer '('WR :tab rs1 (:unless (:constant 0) ", " (:choose immed rs2)) ", " '%Y)