Changeset 9721


Ignore:
Timestamp:
Jun 10, 2008, 3:45:01 AM (11 years ago)
Author:
rme
Message:

Corrections to getting/setting values in double-float vectors.
(Need proper displacement, proper index scaling.)

Correct value of constant misc_dfloat_offset. (It was fixed
earlier in x8632-arch.lisp, but I neglected to change it here.)

Location:
branches/ia32/lisp-kernel
Files:
2 edited

Legend:

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

    r9720 r9721  
    192192misc_subtag_offset = misc_header_offset
    193193misc_data_offset = misc_header_offset+node_size
    194 misc_dfloat_offset = misc_data_offset+8
     194misc_dfloat_offset = misc_header_offset+8
    195195
    196196nil_value = (0x3000 + fulltag_cons)
  • branches/ia32/lisp-kernel/x86-spentry32.s

    r9692 r9721  
    365365        __(ret)
    366366local_label(misc_ref_double_float_vector):
    367         __(movsd misc_dfloat_offset(%arg_y,%arg_z),%fp1)
     367        __(movsd misc_dfloat_offset(%arg_y,%arg_z,2),%fp1)
    368368        __(movl $double_float_header,%imm0)
    369369        __(movd %imm0,%mm0)
     
    838838        __(jne local_label(misc_set_bad))
    839839        __(movsd double_float.value(%arg_z),%fp0)
    840         __(movsd %fp0,misc_dfloat_offset(%temp0,%arg_y))
     840        __(movsd %fp0,misc_dfloat_offset(%temp0,%arg_y,2))
    841841        __(ret)
    842842local_label(misc_set_fixnum_vector):
Note: See TracChangeset for help on using the changeset viewer.