Changeset 14009 for branches


Ignore:
Timestamp:
Jul 21, 2010, 1:49:45 PM (9 years ago)
Author:
gb
Message:

BIGNUM-SHIFT-LEFT-LOOP: last digit set by ashift right.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-0/ARM/arm-bignum.lisp

    r13968 r14009  
    11791179  (let ((y imm0)
    11801180        (x imm1)
    1181         (shift imm2)       
     1181        (shift imm2)
     1182        (rcontext-save temp1)
     1183        (rshift r3)
    11821184        (i temp0)
    11831185        (resptr temp2))
     
    11851187    (mov i (:$ (ash arm::misc-data-offset 2)))
    11861188    (vpop1 shift)
     1189    (mov rcontext-save rcontext)
    11871190    (ldr x (:@ bignum (:$ arm::misc-data-offset)))
    11881191    (unbox-fixnum shift shift)
     1192    (rsb rshift shift (:$ 32))
    11891193    (mov x (:lsl x shift))
    11901194    (add y j (:$ (+ arm::misc-data-offset -4)))
     
    11941198    @loop
    11951199    (ldr x (:@ bignum (:asr i (:$ 2))))
    1196     (rsb shift shift (:$ 32))
    1197     (mov x (:lsr x shift))
     1200    (mov x (:lsr x rshift))
    11981201    (add i i '4)                        ;sic
    11991202    (ldr y (:@ bignum (:asr i (:$ 2))))
    1200     (rsb shift shift (:$ 32))
    12011203    (orr y x (:lsl y shift))
    12021204    (add x j (:$ arm::misc-data-offset))
     
    12071209    @done
    12081210    (rsb shift shift (:$ 32))
    1209     (ldr y (:@ bignum (:asr i (:$ 2))))
    1210     (mov y (:lsr y shift))
     1211    (mov y (:asr y rshift))
    12111212    (add x len (:$ arm::misc-data-offset))
    1212     (str y (:@ resptr x))   
     1213    (str y (:@ resptr x))
     1214    (mov rcontext rcontext-save)
    12131215    (bx lr)))
    12141216
Note: See TracChangeset for help on using the changeset viewer.