Changeset 16128


Ignore:
Timestamp:
Jul 9, 2014, 6:57:24 PM (6 years ago)
Author:
gb
Message:

x8664 port is in fact sensitive to vector subtag ordering changes; fix
a few things where I thought it wasn't.

Location:
trunk/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/X86/x86-array.lisp

    r16085 r16128  
    231231    (extract-subtag a imm0)
    232232    (addq (@ target::arrayH.displacement (% temp)) (% offset))
    233     (rcmp (% imm0) ($ target::subtag-vectorH))
    234233    (movq (% a) (% temp))
    235     (jle @loop)
     234    (cmp ($ target::subtag-vectorH) (% imm0))
     235    (je @loop)
    236236    (push (% a))
     237    (cmp ($ target::subtag-arrayH) (% imm0))
     238    (je @loop)
    237239    (push (% offset))
    238240    (set-nargs 2)
  • trunk/source/lisp-kernel/x86-spentry64.s

    r16085 r16128  
    49834983        __(movq arrayH.data_vector(%arg_y),%arg_y)
    49844984        __(extract_subtag(%arg_y,%imm1))
    4985         __(cmpb $subtag_vectorH,%imm1_b)
    4986         __(ja C(misc_ref_common))
    4987         __(jmp 6b)
     4985        __(cmpb $subtag_vectorH,%imm1_b)
     4986        __(je 6b)
     4987        __(cmpb $subtag_arrayH,%imm1_b)
     4988        __(je 6b)
     4989        __(jmp C(misc_ref_common))
    498849900:      __(uuo_error_reg_not_fixnum(Rarg_y))
    498949911:      __(uuo_error_reg_not_fixnum(Rarg_z))
     
    50275029        __(extract_subtag(%arg_y,%imm1))
    50285030        __(cmpb $subtag_vectorH,%imm1_b)
    5029         __(ja C(misc_ref_common))
    5030         __(jmp 8b)
     5031        __(je 8b)
     5032        __(cmpb $subtag_arrayH,%imm1_b)
     5033        __(je 8b)       
     5034        __(jmp C(misc_ref_common))
    503150350:      __(uuo_error_reg_not_fixnum(Rarg_x))
    503250361:      __(uuo_error_reg_not_fixnum(Rarg_y))   
     
    50635067        __(extract_subtag(%arg_x,%imm1))
    50645068        __(cmpb $subtag_vectorH,%imm1_b)
    5065         __(ja C(misc_set_common))
    5066         __(jmp 6b)
     5069        __(je 6b)
     5070        __(cmpb $subtag_vectorH,%imm1_b)
     5071        __(je 6b)
     5072        __(jmp C(misc_set_common))
    506750730:      __(uuo_error_reg_not_fixnum(Rarg_x))
    506850741:      __(uuo_error_reg_not_fixnum(Rarg_y))
     
    51065112        __(extract_subtag(%arg_x,%imm1))
    51075113        __(cmpb $subtag_vectorH,%imm1_b)
    5108         __(ja C(misc_set_common))
    5109         __(jmp 8b)
     5114        __(je 8b)
     5115        __(cmpb $subtag_arrayH,%imm1_b)
     5116        __(je 8b)
     5117        __(jmp C(misc_set_common))
     5118
    51105119       
    511151200:      __(uuo_error_reg_not_fixnum(Rtemp0))
Note: See TracChangeset for help on using the changeset viewer.