Changeset 8252


Ignore:
Timestamp:
Jan 23, 2008, 9:34:52 PM (17 years ago)
Author:
R. Matthew Emerson
Message:

Sort out some movq/movl confusion; ensure that extract_typecode clears the
high part of the register.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/lisp-kernel/x86-macros.s

    r8069 r8252  
    237237        movd %rcontext:tcr.catch_top,%mm0
    238238        movd %rcontext:tcr.db_link,%mm1
    239         movq %arg_z,catch_frame.catch_tag(%imm0)
     239        movl %arg_z,catch_frame.catch_tag(%imm0)
    240240        movd %mm0,catch_frame.link(%imm0)
    241         movq [$]$1,catch_frame.mvflag(%imm0)
     241        movl [$]$1,catch_frame.mvflag(%imm0)
    242242        movd %rcontext:tcr.xframe,%mm0
    243         movq %esp,catch_frame.esp(%imm0)
    244         movq %ebp,catch_frame.ebp(%imm0)
     243        movl %esp,catch_frame.esp(%imm0)
     244        movl %ebp,catch_frame.ebp(%imm0)
    245245        movd %rcontext:tcr.foreign_sp,%stack_temp
    246246        movd %mm1,catch_frame.db_link(%imm0)
    247         movd %imm0,catch_frame.xframe(%imm0)
     247        movl %imm0,catch_frame.xframe(%imm0)
    248248        movd %stack_temp,catch_frame.foreign_sp(%imm0)
    249249        movl %xfn,catch_frame.pc(%imm0)
    250         movd %imm0,%rcontext:tcr.catch_top
     250        movl %imm0,%rcontext:tcr.catch_top
    251251])],[
    252252define([Make_Catch],[
     
    573573])
    574574
     575ifdef([X8632],[
    575576define([extract_typecode],[
    576577        new_macro_labels()
    577578        mov $1,$2
     579        andl $tagmask,$2
     580        cmpb $tag_misc,$2_b
     581        jne macro_label(done)
     582        movb misc_subtag_offset($1),$2_b
     583macro_label(done):
     584])],[
     585define([extract_typecode],[
     586        new_macro_labels()
     587        movzbl $1_b,$2_l
    578588        andb $tagmask,$2_b
    579589        cmpb $tag_misc,$2_b
    580590        jne macro_label(done)
    581591        movb misc_subtag_offset($1),$2_b
    582 macro_label(done):     
    583 ])
     592macro_label(done):
     593])])
    584594
    585595/* dnode_align(src,delta,dest)  */
Note: See TracChangeset for help on using the changeset viewer.