Changeset 13836


Ignore:
Timestamp:
Jun 16, 2010, 1:50:13 AM (9 years ago)
Author:
gb
Message:

Avoid imm reg conflicts in immediate-inc-ptr.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/compiler/ARM/arm2.lisp

    r13818 r13836  
    78357835              (arm2-open-undo $undostkblk))
    78367836            (with-imm-target (ptr-reg) (by-reg :s32)
    7837               (arm2-one-targeted-reg-form seg by by-reg)
    7838               (unless triv-by
    7839                 (! temp-pop-unboxed-word ptr-reg)
    7840                 (arm2-close-undo))
    7841               (with-imm-target (ptr-reg by-reg) (result :address)
    7842                 (! fixnum-add result ptr-reg by-reg)
    7843                 (<- result)))))
     7837              (let* ((mask *available-backend-imm-temps*)
     7838                     (*available-backend-imm-temps* mask))
     7839                (when triv-by
     7840                  (use-imm-temp (%hard-regspec-value ptr-reg)))
     7841                (arm2-one-targeted-reg-form seg by by-reg)
     7842                (setq *available-backend-imm-temps* mask)
     7843                (unless triv-by
     7844                  (! temp-pop-unboxed-word ptr-reg)
     7845                  (arm2-close-undo))
     7846                (with-imm-target () (result :address)
     7847                  (! fixnum-add result ptr-reg by-reg)
     7848                  (<- result))))))
    78447849        (^)))))
    78457850
Note: See TracChangeset for help on using the changeset viewer.