(inst ret)
DO-STATIC-FUN
+ (inst push ebp-tn)
+ (inst mov ebp-tn esp-tn)
(inst sub esp-tn (fixnumize 3))
(inst mov (make-ea :dword :base esp-tn
:disp (frame-byte-offset
(:l `((inst mov y (1+ nil-value))
(inst cmp y x)))
(:g `((inst cmp x (1+ nil-value)))))
+ (inst pop ebp-tn)
(inst ret))
#-sb-assembling
`(define-vop (,name)
(:temporary (:sc unsigned-reg :offset edi-offset
:from (:argument 1))
edi)
-
- (:temporary (:sc unsigned-reg :offset ecx-offset
- :from :eval)
- ecx)
(:conditional ,test)
(:generator 10
(move edx x)
(move edi y)
- (inst lea ecx (make-ea :dword
- :disp (make-fixup ',name :assembly-routine)))
- (inst call ecx)))))
+ (inst call (make-fixup ',name :assembly-routine))))))
(define-cond-assem-rtn generic-< < two-arg-< :l)
(define-cond-assem-rtn generic-> > two-arg-> :g))
(inst cmp x y)
(inst jmp :e RET)
+ (inst push ebp-tn)
+ (inst mov ebp-tn esp-tn)
(inst sub esp-tn (fixnumize 3))
(inst mov (make-ea :dword :base esp-tn
:disp (frame-byte-offset
:disp (+ nil-value (static-fun-offset 'eql))))
(load-symbol y t)
(inst cmp x y)
+ (inst pop ebp-tn)
(inst ret))
#-sb-assembling
:from (:argument 1))
edi)
- (:temporary (:sc unsigned-reg :offset ecx-offset
- :from :eval)
- ecx)
(:conditional :e)
(:generator 10
(move edx x)
(move edi y)
- (inst lea ecx (make-ea :dword
- :disp (make-fixup 'generic-eql :assembly-routine)))
- (inst call ecx)))
+ (inst call (make-fixup 'generic-eql :assembly-routine))))
#+sb-assembling
(define-assembly-routine (generic-=
(inst ret)
DO-STATIC-FUN
+ (inst push ebp-tn)
+ (inst mov ebp-tn esp-tn)
(inst sub esp-tn (fixnumize 3))
(inst mov (make-ea :dword :base esp-tn
:disp (frame-byte-offset
:disp (+ nil-value (static-fun-offset 'two-arg-=))))
(load-symbol y t)
(inst cmp x y)
+ (inst pop ebp-tn)
(inst ret))
#-sb-assembling
:from (:argument 1))
edi)
- (:temporary (:sc unsigned-reg :offset ecx-offset
- :from :eval)
- ecx)
(:conditional :e)
(:generator 10
(move edx x)
(move edi y)
- (inst lea ecx (make-ea :dword
- :disp (make-fixup 'generic-= :assembly-routine)))
- (inst call ecx)))
+ (inst call (make-fixup 'generic-= :assembly-routine))))
\f
;;; Support for the Mersenne Twister, MT19937, random number generator