Changeset 7877
- Timestamp:
- Dec 10, 2007, 8:40:19 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp
r7817 r7877 3552 3552 (btl (:$ub bit) (:%l int))) 3553 3553 3554 ;; might be able to use al/ah here 3555 (define-x8632-vinsn set-c-flag-if-variable-logbitp (() 3556 ((bit :imm) 3557 (int :imm)) 3558 ((temp0 :u8) 3559 (temp1 :u8))) 3560 (movl (:$l 31) (:%l temp1)) 3561 (movl (:%l bit) (:%l temp0)) 3562 (sarl (:$ub x8632::fixnumshift) (:%l temp0)) 3563 (addl (:$b x8632::fixnumshift) (:%l temp0)) 3564 (rcmpl (:%l temp0) (:%l temp1)) 3565 (cmoval (:%l temp1) (:%l temp0)) 3566 (btl (:%l temp0) (:%l int))) 3567 3554 3568 (define-x8632-vinsn multiply-immediate (((dest :imm)) 3555 3569 ((src :imm) … … 3639 3653 (movl (:%l temp) (:@ (:%seg :rcontext) x8632::tcr.next-tsp))) 3640 3654 3655 (define-x8632-vinsn (temp-push-single-float :push :word :csp) 3656 (() 3657 ((f :single-float))) 3658 (movd (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%mmx x8632::stack-temp)) 3659 (subl (:$b 8) (:@ (:%seg :rcontext) x8632::tcr.foreign-sp)) 3660 (movl (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%l x8632::ra0)) 3661 (movd (:%mmx x8632::stack-temp) (:@ (:%l x8632::ra0))) 3662 (movss (:%xmm f) (:@ 4 (:%l x8632::ra0)))) 3663 3664 (define-x8632-vinsn (temp-pop-single-float :pop :word :csp) 3665 (((f :single-float)) 3666 ()) 3667 (movl (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%l x8632::ra0)) 3668 (movss (:@ 4 (:%q x8664::ra0)) (:%xmm f)) 3669 (addl (:$b (* 2 x8632::dnode-size)) (:@ (:%seg :rcontext) x8632::tcr.foreign-sp))) 3670 3671 (define-x8632-vinsn (temp-push-double-float :push :word :csp) 3672 (() 3673 ((f :double-float))) 3674 (movd (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%mmx x8632::stack-temp)) 3675 (subl (:$b 16) (:@ (:%seg :rcontext) x8632::tcr.foreign-sp)) 3676 (movl (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%l x8632::ra0)) 3677 (movd (:%mmx x8632::stack-temp) (:@ (:%l x8632::ra0))) 3678 (movsd (:%xmm f) (:@ 8 (:%l x8632::ra0)))) 3679 3680 (define-x8632-vinsn (temp-pop-double-float :pop :word :csp) 3681 (((f :double-float)) 3682 ()) 3683 (movl (:@ (:%seg :rcontext) x8632::tcr.foreign-sp) (:%l x8632::ra0)) 3684 (movsd (:@ 8 (:%l x8632::ra0)) (:%xmm f)) 3685 (addl (:$b 16) (:@ (:%seg :rcontext) x8632::tcr.foreign-sp))) 3686 3641 3687 (queue-fixup 3642 3688 (fixup-x86-vinsn-templates
Note:
See TracChangeset
for help on using the changeset viewer.
