Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits: 587df5a1 by Raymond Toy at 2018-01-03T21:09:32-08:00 Fix some typos in format strings
And make indentation consistent between uses.
- - - - - bf42cefc by Raymond Toy at 2018-01-04T21:53:45-08:00 Add more not-implemented.
- - - - - 5fa489df by Raymond Toy at 2018-01-04T21:55:08-08:00 Create trace-files for lispinit and globaldb
Create the trace files so we can compare the actualassembly code with the compiler trace. Makes it easier to understand what each register contains because the trace file has more detail.
- - - - -
3 changed files:
- src/compiler/sparc64/arith.lisp - src/compiler/sparc64/insts.lisp - src/tools/worldcom.lisp
Changes:
===================================== src/compiler/sparc64/arith.lisp ===================================== --- a/src/compiler/sparc64/arith.lisp +++ b/src/compiler/sparc64/arith.lisp @@ -130,6 +130,7 @@ ,@(when restore-fixnum-mask `((:temporary (:sc non-descriptor-reg) temp))) (:generator 2 + (emit-not-implemented) ,(if arg-swap `(inst ,op ,(if restore-fixnum-mask 'temp 'r) y x) `(inst ,op ,(if restore-fixnum-mask 'temp 'r) x y)) @@ -142,6 +143,7 @@ ,@(when restore-fixnum-mask `((:temporary (:sc non-descriptor-reg) temp))) (:generator 1 + (emit-not-implemented) (inst ,op ,(if restore-fixnum-mask 'temp 'r) x (fixnumize y)) ,@(when restore-fixnum-mask `((inst andn r temp fixnum-tag-mask))))))) @@ -149,6 +151,7 @@ fast-signed-binop) (:translate ,translate) (:generator ,(1+ untagged-penalty) + (emit-not-implemented) ,(if arg-swap `(inst ,op r y x) `(inst ,op r x y)))) @@ -157,11 +160,13 @@ fast-signed-binop-c) (:translate ,translate) (:generator ,untagged-penalty + (emit-not-implemented) (inst ,op r x y))))) (define-vop (,(symbolicate "FAST-" translate "/UNSIGNED=>UNSIGNED") fast-unsigned-binop) (:translate ,translate) (:generator ,(1+ untagged-penalty) + (emit-not-implemented) ,(if arg-swap `(inst ,op r y x) `(inst ,op r x y)))) @@ -170,6 +175,7 @@ fast-unsigned-binop-c) (:translate ,translate) (:generator ,untagged-penalty + (emit-not-implemented) (inst ,op r x y)))))))
); eval-when @@ -211,6 +217,7 @@ (:constant (or (and (unsigned-byte 12) (not (integer 0 0))) (integer #xfffff000 #xffffffff)))) (:generator 2 ; Needs to be low to give this vop a chance. + (emit-not-implemented) (cond ((= y #xffffffff) (move r x)) ((typep y '(unsigned-byte 13)) @@ -231,6 +238,7 @@ (:note _N"inline 32-bit abs") (:temporary (:scs (signed-reg)) y) (:generator 1 + (emit-not-implemented) ;; From Hacker's Delight ;; ;; abs(x) = (x ^ y) - y, where y = x >> 31 (signed shift)
===================================== src/compiler/sparc64/insts.lisp ===================================== --- a/src/compiler/sparc64/insts.lisp +++ b/src/compiler/sparc64/insts.lisp @@ -2346,12 +2346,16 @@ about function addresses and register values.") (emit-compute-inst segment vop dst src label temp #'(lambda (label posn delta-if-after) (when c::*compiler-trace-output* - (format c::*compiler-trace-output* "COMPUTE-CODE-FROM=LRA~%") - (format c::*compiler-trace-output* "label posn delta-if-after = ~A ~A ~A~%" + (format c::*compiler-trace-output* + "COMPUTE-CODE-FROM=FN~%") + (format c::*compiler-trace-output* + "label posn delta-if-after = ~A ~A ~A~%" label posn delta-if-after) - (format c::*compiler-trace-output* "label-position = ~A~%" + (format c::*compiler-trace-output* + "label-position = ~A~%" (label-position label posn delta-if-after)) - (format c::*compiler-trace-output* "header-len = ~A~%" + (format c::*compiler-trace-output* + "header-len = ~A~%" (component-header-length)) (format c::*compiler-trace-output* "Final offset = ~A~%" @@ -2413,12 +2417,16 @@ about function addresses and register values.") (emit-compute-inst segment vop dst src label temp #'(lambda (label posn delta-if-after) (when c::*compiler-trace-output* - (format c::*compiler-trace-output* "COMPUTE-LRA-FROM-CODE~%") - (format c::*compiler-trace-output* "label posn delta-if-after = ~A ~A ~A~%" + (format c::*compiler-trace-output* + "COMPUTE-LRA-FROM-CODE~%") + (format c::*compiler-trace-output* + "label posn delta-if-after = ~A ~A ~A~%" label posn delta-if-after) - (format c::*compiler-trace-output* "label-position = ~A~%" + (format c::*compiler-trace-output* + "label-position = ~A~%" (label-position label posn delta-if-after)) - (format c::*compiler-trace-output* "header-len = ~A~%" + (format c::*compiler-trace-output* + "header-len = ~A~%" (component-header-length)) (format c::*compiler-trace-output* "Final offset = ~A~%"
===================================== src/tools/worldcom.lisp ===================================== --- a/src/tools/worldcom.lisp +++ b/src/tools/worldcom.lisp @@ -119,7 +119,7 @@
(comf "target:code/globals") (comf "target:code/kernel") -(comf "target:code/lispinit") +(comf "target:code/lispinit" :trace-file t) (comf "target:pcl/walk") (comf "target:code/fwrappers") (comf "target:code/fdefinition") @@ -325,7 +325,7 @@ (let ((c:*compile-time-define-macros* nil)) (comf "target:code/defstruct") (comf "target:code/defmacro" :byte-compile *byte-compile*) - (comf "target:compiler/globaldb") + (comf "target:compiler/globaldb" :trace-file t) (comf "target:code/macros") #-no-runtime (comf "target:code/macros" :byte-compile t))
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/caa31bdf92d9c27668e9cc55f...
--- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/caa31bdf92d9c27668e9cc55f... You're receiving this email because of your account on gitlab.common-lisp.net.