Changeset 13335
- Timestamp:
- Dec 22, 2009, 5:47:48 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/source/level-0/X86/X8632/x8632-numbers.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/level-0/X86/X8632/x8632-numbers.lisp
r13327 r13335 141 141 (cmove (% imm0) (% arg_z)) 142 142 (single-value-return)) 143 144 (defx8632lapfunction %next-random-pair ((high arg_y) (low arg_z))145 ;; high: (unsigned-byte 15)146 ;; low: (unsigned-byte 16)147 (unbox-fixnum low imm0)148 ;; clear most significant bit149 (shll ($ (1+ (- 16 x8632::fixnumshift))) (% high))150 (shrl ($ 1) (% high))151 (orl (% high) (% imm0))152 (mark-as-imm edx)153 (movl ($ 48271) (% edx))154 (mul (% edx))155 (mark-as-node edx)156 (movl ($ (- #x10000)) (% high)) ;#xffff0000157 (andl (% imm0) (% high))158 (shrl ($ (- 16 x8632::fixnumshift)) (% high))159 (shll ($ 16) (% imm0))160 (shrl ($ (- 16 x8632::fixnumshift)) (% imm0))161 (movl (% imm0) (% low))162 (movl (% esp) (% temp0))163 (push (% high))164 (push (% low))165 (set-nargs 2)166 (jmp-subprim .SPvalues))167 143 168 144 ;;; n1 and n2 must be positive (esp non zero)
Note:
See TracChangeset
for help on using the changeset viewer.
