Changeset 9587


Ignore:
Timestamp:
May 24, 2008, 3:44:45 AM (11 years ago)
Author:
rme
Message:

New vinsns fp-stack-to-single, fp-stack-to-double.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp

    r9584 r9587  
    13791379  (cvtsd2ss (:%xmm src) (:%xmm dest)))
    13801380
     1381;;; these two clobber unboxed0, unboxed1 in tcr
     1382;;; (There's no way to move a value from the x87 stack to an xmm register,
     1383;;; so we have to go through memory.)
     1384(define-x8632-vinsn fp-stack-to-single (((dest :single-float))
     1385                                        ())
     1386  (fstps (:@ (:%seg :rcontext) x8632::tcr.unboxed0))
     1387  (movss (:@ (:%seg :rcontext) x8632::tcr.unboxed0) (:%xmm dest)))
     1388
     1389(define-x8632-vinsn fp-stack-to-double (((dest :double-float))
     1390                                        ())
     1391  (fstpl (:@ (:%seg :rcontext) x8632::tcr.unboxed0))
     1392  (movsd (:@ (:%seg :rcontext) x8632::tcr.unboxed0) (:%xmm dest)))
     1393
    13811394(define-x8632-vinsn fitvals (()
    13821395                             ((n :u16const))
Note: See TracChangeset for help on using the changeset viewer.