Changeset 268


Ignore:
Timestamp:
Jan 13, 2004, 4:43:22 PM (21 years ago)
Author:
Gary Byers
Message:

Restore SPbuiltin_assq (ignore NILs in the alist.)
(ash x y) returns -1 on (<= n -29); need to find a way to parameterize
this while keeping M4 happy.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/spentry.s

    r263 r268  
    33413341        __(_car(arg_x,arg_z))
    33423342        __(_cdr(arg_z,arg_z))
     3343        __(cmpri(cr2,arg_x,nil_value))
    33433344        __(cmpri(cr1,arg_z,nil_value))
    3344         __(trap_unless_fulltag_equal(arg_x,fulltag_cons,imm0))
     3345        __(beq cr2,2f)
     3346        __(trap_unless_lisptag_equal(arg_x,tag_list,imm0))
    33453347        __(_car(temp0,arg_x))
    33463348        __(cmpr(temp0,arg_y))
     
    335033522:      __(bne cr1,1b)
    33513353        __(blr)
     3354
    33523355
    33533356
     
    34003403        __(cmpri(cr1,arg_z,0))
    34013404        __(extract_2_lisptags_(imm0,arg_y,arg_z))
     3405        __(cmpri(cr2,arg_z,-(29<<2)))   /* !! 2 =  fixnumshift */
    34023406        __(bne- 9f)
    34033407        __(bne cr1,0f)
     
    34093413        __(bgt cr1,1f)
    34103414        /* (ash n -count) => fixnum */
     3415        __(li arg_z,-1<<fixnumshift)
     3416        __(blelr cr2)
    34113417        __(neg imm0,imm0)
    34123418        __(sraw imm1,imm1,imm0)
Note: See TracChangeset for help on using the changeset viewer.