From 96c90caf2198db424bab95123e017979fc0eb655 Mon Sep 17 00:00:00 2001
From: Raymond Toy <toy.raymond@gmail.com>
Date: Wed, 20 Dec 2017 14:00:25 -0800
Subject: [PATCH] Remove old stuff; conditionalize on :random-xoroshiro

---
 src/compiler/x86/arith.lisp | 45 +------------------------------------
 1 file changed, 1 insertion(+), 44 deletions(-)

diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp
index 16defb23f..b5c396503 100644
--- a/src/compiler/x86/arith.lisp
+++ b/src/compiler/x86/arith.lisp
@@ -1835,51 +1835,8 @@
 	   (give-up)))))
 
 (in-package "VM")
-#+nil
-(progn
-(defknown xoroshiro-next (double-float double-float)
-  (values (unsigned-byte 32) (unsigned-byte 32) double-float double-float)
-  (movable))
-
-(define-vop (xoroshiro-next)
-  (:policy :fast-safe)
-  (:translate xoroshiro-next)
-  (:args (old-s1 :scs (double-reg) :to (:result 3))
-	 (old-s0 :scs (double-reg) :to (:result 3)))
-  (:arg-types double-float double-float)
-  (:results (r1 :scs (unsigned-reg))
-	    (r0 :scs (unsigned-reg))
-	    (s1 :scs (double-reg))
-	    (s0 :scs (double-reg)))
-  (:result-types unsigned-num unsigned-num double-float double-float)
-  (:temporary (:sc double-reg) t0)
-  (:generator 10
-    (inst movapd t0 old-s0)
-    (inst paddq t0 old-s1)		; t0 = old-s0 + old-s1
-    (inst movd r0 t0)			; r0 = low 32-bits of t0
-    (inst psrlq t0 32)
-    (inst movd r1 t0)			; r1 = high 32-bits of t0
-    ;; s1 ^= s0
-    (inst movapd s1 old-s1)		; s1 = old-s1
-    (inst xorpd s1 old-s0)		; s1 = old-s0 ^ old-s1
-    ;; rotl(s0, 55) = s0 << 55 | (s0 >> 9)
-    (inst movapd s0 old-s0)		; s0 = old-s0
-    (inst movapd t0 old-s0)		; t0 = old-s0
-    (inst psllq s0 55)			; s0 = s0 << 55
-    (inst psrlq t0 9)			; t0 = s0 >> 9
-    (inst orpd s0 t0)	                ; s0 = rotl(s0,55) = s0 << 55 | s0 >> 9
-    (inst xorpd s0 s1)			; s0 = rotl(s0,55) ^ s1
-    (inst movapd t0 s1)			; t0 = s1
-    (inst psllq t0 14)			; t0 = s1 << 14
-    (inst xorpd s0 t0)		        ; s0 = rotl(s0,55) ^ s1 ^ (s1 << 14)
-    (inst movapd t0 s1)			; t0 = s1
-    (inst psllq t0 36)			; t0 = s1 << 36
-    (inst psrlq s1 28)			; s1 = s1 >> 28
-    (inst orpd s1 t0)			; s1 = rotl(new-s1, 36)
-
-    ))
-)
 
+#+random-xoroshiro
 (progn
 (defknown xoroshiro-next ((simple-array double-float (2)))
   (values (unsigned-byte 32) (unsigned-byte 32))
-- 
GitLab