Changeset 15258


Ignore:
Timestamp:
Mar 19, 2012, 1:23:24 PM (7 years ago)
Author:
gb
Message:

At local_label(misc_ref_double_float_vector), ensure that neither
destination register overlaps with Rn in the ldrd instruction.

File:
1 edited

Legend:

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

    r15224 r15258  
    34903490        __(b _SPmakeu32)
    34913491local_label(misc_ref_double_float_vector):     
    3492         __(mov imm0,arg_z,lsl #1)
    3493         __(add imm0,imm0,#misc_dfloat_offset)
    3494         __(ldrd imm0,imm1,[arg_y,imm0])
     3492        __(mov imm2,arg_z,lsl #1)
     3493        __(add imm2,imm2,#misc_dfloat_offset)
     3494        __(ldrd imm0,imm1,[arg_y,imm2])
    34953495        __(movc16(imm2,double_float_header))
    34963496        __(Misc_Alloc_Fixed(arg_z,imm2,double_float.size))
Note: See TracChangeset for help on using the changeset viewer.