Changeset 9623 for branches/ia32/level-0


Ignore:
Timestamp:
May 30, 2008, 12:09:20 AM (11 years ago)
Author:
rme
Message:

%floor-99: forgot displacement in memory operand, fix brain damage when
pushing low half of result.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/level-0/X86/X8632/x8632-bignum.lisp

    r9622 r9623  
    953953  (movl (@ (- x8632::misc-data-offset 4) (% temp1) (% temp0)) (% eax)) ;low
    954954  (movl (@ x8632::misc-data-offset (% temp1) (% temp0)) (% edx))    ;high digit
    955   (divl (@ (% yptr) (% yidx)))
     955  (divl (@ x8632::misc-data-offset (% yptr) (% yidx)))
    956956  (mark-as-node edx)
    957957  ;; extract and push high half of quotient
     
    961961  (push (% arg_y))
    962962  ;; extract and push low half
    963   (shrl ($ 16) (% eax))
     963  (andl ($ #xffff) (% eax))
    964964  (shll ($ x8632::fixnumshift) (% eax))
    965965  (push (% eax))
Note: See TracChangeset for help on using the changeset viewer.