[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