[Git][cmucl/cmucl][sparc64-dev] 2 commits: Enable random-xoroshiro for sparc64

Raymond Toy rtoy at common-lisp.net
Mon Jan 1 17:23:59 UTC 2018


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


Commits:
0bb3de03 by Raymond Toy at 2018-01-01T09:03:08-08:00
Enable random-xoroshiro for sparc64

- - - - -
dddfd33c by Raymond Toy at 2018-01-01T09:04:05-08:00
Add more not-implemented notes so we can watch what's happening.

- - - - -


3 changed files:

- src/compiler/sparc64/memory.lisp
- src/compiler/sparc64/move.lisp
- src/tools/cross-scripts/cross-x86-sparc64.lisp


Changes:

=====================================
src/compiler/sparc64/memory.lisp
=====================================
--- a/src/compiler/sparc64/memory.lisp
+++ b/src/compiler/sparc64/memory.lisp
@@ -28,6 +28,7 @@
   (:variant-vars offset lowtag)
   (:policy :fast-safe)
   (:generator 4
+    (emit-not-implemented)
     (loadw value object offset lowtag)))
 ;;;
 (define-vop (cell-set)
@@ -49,6 +50,7 @@
   (:variant-vars base lowtag)
   (:info offset)
   (:generator 4
+    (emit-not-implemented)
     (loadw value object (+ base offset) lowtag)))
 ;;;
 (define-vop (slot-set)
@@ -57,6 +59,7 @@
   (:variant-vars base lowtag)
   (:info offset)
   (:generator 4
+    (emit-not-implemented)
     (storew value object (+ base offset) lowtag)))
 
 
@@ -81,6 +84,7 @@
      (:variant-vars offset lowtag)
      (:policy :fast-safe)
      (:generator 5
+       (emit-not-implemented)
        (sc-case index
 	 ((immediate zero)
 	  (let ((offset (- (+ (if (sc-is index zero)


=====================================
src/compiler/sparc64/move.lisp
=====================================
--- a/src/compiler/sparc64/move.lisp
+++ b/src/compiler/sparc64/move.lisp
@@ -41,6 +41,7 @@
 (define-move-function (load-number 1) (vop x y)
   ((immediate zero)
    (signed-reg unsigned-reg))
+  (not-implemented "LOAD-NUMBER")
   (inst li y (tn-value x)))
 
 #+(and sparc-v9 sparc-v8plus)
@@ -51,10 +52,12 @@
 
 (define-move-function (load-base-char 1) (vop x y)
   ((immediate) (base-char-reg))
+  (not-implemented "LOAD-BASE-CHAR")
   (inst li y (char-code (tn-value x))))
 
 (define-move-function (load-system-area-pointer 1) (vop x y)
   ((immediate) (sap-reg))
+  (not-implemented "LOAD-SYSTEM-AREA-POINTER")
   (inst li y (sap-int (tn-value x))))
 
 (define-move-function (load-constant 5) (vop x y)
@@ -64,6 +67,7 @@
 
 (define-move-function (load-stack 5) (vop x y)
   ((control-stack) (any-reg descriptor-reg))
+  (not-implemented "LOAD-STACK")
   (load-stack-tn y x))
 
 (define-move-function (load-number-stack 5) (vop x y)
@@ -72,6 +76,7 @@
    (signed-stack) (signed-reg)
    (unsigned-stack) (unsigned-reg))
   (let ((nfp (current-nfp-tn vop)))
+    (not-implemented "LOAD-NUMBER-STACK")
     (loadw y nfp (tn-offset x))))
 
 (define-move-function (store-stack 5) (vop x y)
@@ -85,6 +90,7 @@
    (signed-reg) (signed-stack)
    (unsigned-reg) (unsigned-stack))
   (let ((nfp (current-nfp-tn vop)))
+    (not-implemented "STORE-NUMBER-STACK")
     (storew x nfp (tn-offset y))))
 
 
@@ -169,6 +175,7 @@
   (:arg-types tagged-num)
   (:note _N"fixnum untagging")
   (:generator 1
+    (emit-not-implemented)
     (inst sran y x fixnum-tag-bits)))
 
 ;;;
@@ -181,6 +188,7 @@
   (:results (y :scs (signed-reg unsigned-reg)))
   (:note _N"constant load")
   (:generator 1
+    (emit-not-implemented)
     (inst li y (tn-value x))))
 
 ;;;
@@ -196,6 +204,7 @@
   (:temporary (:scs (non-descriptor-reg)) temp)
   (:generator 4
     (let ((done (gen-label)))
+      (emit-not-implemented)
       (inst andcc temp x fixnum-tag-mask)
       (inst b :eq done)
       (inst sran y x fixnum-tag-bits)
@@ -238,6 +247,7 @@
   (:result-types tagged-num)
   (:note _N"fixnum tagging")
   (:generator 1
+    (emit-not-implemented)
     (inst slln y x fixnum-tag-bits)))
 ;;;
 (define-move-vop move-from-word/fixnum :move
@@ -253,6 +263,7 @@
   (:temporary (:scs (non-descriptor-reg) :from (:argument 0)) x temp)
   (:note _N"signed word to integer coercion")
   (:generator 20
+    (emit-not-implemented)
     (move x arg)
     (let ((done (gen-label)))
       ;; Need to figure out if we have a fixnum or not, so look at the
@@ -290,6 +301,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))
 	  (one-word (gen-label)))


=====================================
src/tools/cross-scripts/cross-x86-sparc64.lisp
=====================================
--- a/src/tools/cross-scripts/cross-x86-sparc64.lisp
+++ b/src/tools/cross-scripts/cross-x86-sparc64.lisp
@@ -35,7 +35,7 @@
      :relative-package-names		; Relative package names from Allegro
      :conservative-float-type
      :hash-new
-     :random-mt19937			; MT-19937 generator
+     :random-xoroshiro			; xoroshiro128+ generator
      :cmu				; Announce this is CMUCL
      :cmu20 :cmu20b			; Current version identifier
      :modular-arith			; Modular arithmetic
@@ -66,6 +66,7 @@
      :pentium
      :long-float
      :new-random
+     :random-mt19937			; MT-19937 generator
      :small
      :mp))
 



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/a2c048858bf31dd0c5ec5f2ba961b7c68ef0503b...dddfd33c1be24ac13718d19534f07d2609e35d76

---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/a2c048858bf31dd0c5ec5f2ba961b7c68ef0503b...dddfd33c1be24ac13718d19534f07d2609e35d76
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/20180101/d272141c/attachment-0001.html>


More information about the cmucl-cvs mailing list