Changeset 14845


Ignore:
Timestamp:
Jun 23, 2011, 6:53:51 AM (8 years ago)
Author:
gb
Message:

(Should also have been in earlier commit.)

Pass that argument from ARM subrprims that can signal division-by-zero
from software.

File:
1 edited

Legend:

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

    r14823 r14845  
    20972097_spentry(udiv64by32)
    20982098        __(cmp imm2,#0)
    2099         __(moveq arg_z,#XDIVZRO)
    2100         __(moveq nargs,#1<<fixnumshift)
    2101         __(beq _SPksignalerr)
     2099        __(bne 1f)
     2100        __(build_lisp_frame(imm2))
     2101        __(bl _SPmakeu64)
     2102        __(mov arg_y,#XDIVZRO)
     2103        __(mov nargs,#2<<fixnumshift)
     2104        __(restore_lisp_frame(imm0))
     2105        __(b _SPksignalerr)
     21061:             
    21022107        __(stmdb vsp!,{arg_z,arg_y,arg_x,temp0,temp1,temp2})
    21032108        __(str vsp,[rcontext,#tcr.save_vsp])
     
    27772782_spentry(udiv32)
    27782783        __(cmp imm1,#0)
    2779         __(moveq arg_z,#XDIVZRO)
    2780         __(moveq nargs,#1<<fixnumshift)
    2781         __(beq _SPksignalerr)
     2784        __(bne 1f)
     2785        __(build_lisp_frame(imm1))
     2786        __(bl _SPmakeu32)
     2787        __(mov arg_y,#XDIVZRO)
     2788        __(mov nargs,#2<<fixnumshift)
     2789        __(restore_lisp_frame(imm0))
     2790        __(b _SPksignalerr)
     27911:             
    27822792        __(stmdb vsp!,{arg_z,arg_y,arg_x,temp0,temp1,temp2})
    27832793        __(str vsp,[rcontext,#tcr.save_vsp])
     
    28092819_spentry(sdiv32)
    28102820        __(cmp imm1,#0)
    2811         __(moveq arg_z,#XDIVZRO)
    2812         __(moveq nargs,#1<<fixnumshift)
    2813         __(beq _SPksignalerr)
     2821        __(bne 1f)
     2822        __(build_lisp_frame(imm1))
     2823        __(bl _SPmakes32)
     2824        __(mov arg_y,#XDIVZRO)
     2825        __(mov nargs,#2<<fixnumshift)
     2826        __(restore_lisp_frame(imm0))
     2827        __(b _SPksignalerr)
     28281:             
    28142829        __(stmdb vsp!,{arg_z,arg_y,arg_x,temp0,temp1,temp2})
    28152830        __(str vsp,[rcontext,#tcr.save_vsp])
Note: See TracChangeset for help on using the changeset viewer.