Changeset 6381 for branches/x8664-call


Ignore:
Timestamp:
Apr 30, 2007, 12:44:00 PM (13 years ago)
Author:
gb
Message:

Don't use %temp2 (which is aliased to %ra0, still used occasionally.)
Use %imm2 instead; %imm2 is aliased to %nargs, but there don't seem
to be any conflicts in this code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/lisp-kernel/x86-spentry64.s

    r6374 r6381  
    190190_startfn(C(misc_ref_common))
    191191        __(movzbl %imm1_b,%imm1_l)
    192         __(lea local_label(misc_ref_jmp)(%rip),%temp2)
    193         __(jmp *(%temp2,%imm1,8))
     192        __(lea local_label(misc_ref_jmp)(%rip),%imm2)
     193        __(jmp *(%imm2,%imm1,8))
    194194        .p2align 3
    195195local_label(misc_ref_jmp):     
     
    632632_startfn(C(misc_set_common))
    633633        __(movzbl %imm1_b,%imm1_l)
    634         __(lea local_label(misc_set_jmp)(%rip),%temp2)
    635         __(jmp *(%temp2,%imm1,8))
     634        __(lea local_label(misc_set_jmp)(%rip),%imm2)
     635        __(jmp *(%imm2,%imm1,8))
    636636        .p2align 3
    637637local_label(misc_set_jmp):             
     
    36503650        __(ret)
    365136512:      /* list.  Maybe null, maybe dotted or circular.   */
    3652         __(movq $-fixnumone,%temp2)
     3652        __(movq $-fixnumone,%imm2)
    36533653        __(movq %arg_z,%temp0)  /* fast pointer   */
    36543654        __(movq %arg_z,%temp1)  /* slow pointer   */
    365536553:      __(extract_lisptag(%temp0,%imm0))       
    36563656        __(compare_reg_to_nil(%temp0))
    3657         __(leaq fixnumone(%temp2),%temp2)
     3657        __(leaq fixnumone(%imm2),%imm2)
    36583658        __(je 9f)
    36593659        __(cmpb $tag_list,%imm0_b)
    36603660        __(jne 8f)
    36613661        __(extract_lisptag(%temp1,%imm1))
    3662         __(testb $fixnumone,%temp2_b)
     3662        __(testb $fixnumone,%imm2_b)
    36633663        __(_cdr(%temp0,%temp0))
    36643664        __(je 3b)
     
    36713671        __(jump_builtin(_builtin_length,1))
    367236729:     
    3673         __(movq %temp2,%arg_z)
     3673        __(movq %imm2,%arg_z)
    36743674        __(ret)         
    36753675_endsubp(builtin_length)
     
    38143814_endsubp(builtin_aset1)
    38153815
    3816 /* We have to be a little careful here  %cl has to be used for  */
    3817 /*   the (unboxed) shift count in all variable-length shifts, and  */
    3818 /*   %temp2 = %rcx.  Zero all but the low 8 (or 6) bits of %rcx,  */
    3819 /*   so that the shift count doesn't confuse the GC.  */
    38203816
    38213817_spentry(builtin_ash)
     
    38403836        __(movzbl %imm0_b,%ecx)
    38413837        __(sar %cl,%imm1)
    3842         __(xorl %ecx,%ecx)
    38433838        __(box_fixnum(%imm1,%arg_z))
    38443839        __(ret)
     
    38583853        __(shld %cl,%imm0,%imm1)
    38593854        __(shl %cl,%imm0)
    3860         __(xorb %cl,%cl)
    38613855        __(jmp C(makes128))
    386238565:      __(shld %cl,%imm0,%imm1)
    38633857        __(shl %cl,%imm0)
    3864         __(xorb %cl,%cl)
    38653858        __(jmp C(makes128))
    386638599:     
     
    39783971        __(clr %temp0)
    39793972        __(clr %fn)
    3980         __(clr %ra0)
    39813973        __(pxor %fpzero,%fpzero)
    39823974        /* Darwin's math library seems to be pretty casual
     
    40924084        __(clr %temp0)
    40934085        __(clr %fn)
    4094         __(clr %ra0)
    40954086        __(pxor %fpzero,%fpzero)
    40964087        /* Darwin's math library seems to be pretty casual
     
    41694160        __(clr %temp0)
    41704161        __(clr %fn)
    4171         __(clr %ra0)
    41724162        __(pxor %fpzero,%fpzero)
    41734163        __(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
     
    43234313        __(clr %temp0)
    43244314        __(clr %fn)
    4325         __(clr %ra0)
    43264315        __(pxor %fpzero,%fpzero)
    43274316        __(movq $TCR_STATE_LISP,%rcontext:tcr.valence)
Note: See TracChangeset for help on using the changeset viewer.