[Git][cmucl/cmucl][sparc64-dev] Split LOAD-IMMEDIATE into various parts

Raymond Toy rtoy at common-lisp.net
Wed Jan 3 17:34:15 UTC 2018


Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl


Commits:
bd60cf13 by Raymond Toy at 2018-01-03T09:34:27-08:00
Split LOAD-IMMEDIATE into various parts

Use separate not-implemented for the various branchs of load-immediate
to make it easier to tell what's being loaded.

Also add a few more not-implemented calls in places we missed.

- - - - -


1 changed file:

- src/compiler/sparc64/move.lisp


Changes:

=====================================
src/compiler/sparc64/move.lisp
=====================================
--- a/src/compiler/sparc64/move.lisp
+++ b/src/compiler/sparc64/move.lisp
@@ -25,15 +25,18 @@
   ((null immediate zero)
    (any-reg descriptor-reg))
   (let ((val (tn-value x)))
-    (not-implemented "LOAD-IMMEDIATE")
     (etypecase val
       (integer
+       (not-implemented "LOAD-IMMEDIATE/INTEGER")
        (inst li y (fixnumize val)))
       (null
+       (not-implemented "LOAD-IMMEDIATE/NULL")
        (move y null-tn))
       (symbol
+       (not-implemented "LOAD-IMMEDIATE/SYMBOL")
        (load-symbol y val))
       (character
+       (not-implemented "LOAD-IMMEDIATE/CHAR")
        (inst li y (logior (ash (char-code val) type-bits)
 			  base-char-type))))))
 
@@ -48,6 +51,7 @@
 (define-move-function (load-number 1) (vop x y)
   ((immediate zero)
    (signed-reg unsigned-reg signed64-reg unsigned64-reg))
+  (not-implemented "LOAD-NUMBER")
   (inst li64 y (tn-value x)))
 
 (define-move-function (load-base-char 1) (vop x y)
@@ -223,6 +227,7 @@
   (:temporary (:scs (non-descriptor-reg)) temp)
   (:generator 4
     (let ((done (gen-label)))
+      (emit-not-implemented)
       (inst andcc temp x fixnum-tag-mask)
       (inst signx temp x)		; sign-extend x to temp
       (inst b :eq done)
@@ -333,6 +338,7 @@
   (:temporary (:scs (non-descriptor-reg) :from (:argument 0)) x temp)
   (:note _N"unsigned word to integer coercion")
   (:generator 20
+    (emit-not-implemented)
     (move x arg)
     (let ((done (gen-label)))
       (inst sran temp x positive-fixnum-bits)



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/bd60cf1358fdaba1d9ccee2abb4e0f106c427d19

---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/bd60cf1358fdaba1d9ccee2abb4e0f106c427d19
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20180103/d500a1ab/attachment-0001.html>


More information about the cmucl-cvs mailing list