Changeset 9456


Ignore:
Timestamp:
May 12, 2008, 6:31:49 PM (11 years ago)
Author:
rme
Message:

Don't use with-add'l-imm-reg in x862-set-bit, since the vinsn
mem-set-variable-bit-value now temporarily marks/unmarks a temp reg as
an unboxed register itself.

Location:
branches/ia32/compiler/X86
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp

    r9451 r9456  
    29472947                                                 (offset :lisp)
    29482948                                                 (value :lisp))
    2949                                                 ((temp :u32)))
     2949                                                ((temp :lisp)))
     2950  ;; (mark-as-imm temp)
     2951  (btrl (:$ub (:apply %hard-regspec-value temp))
     2952        (:@ (:%seg :rcontext) x8632::tcr.node-regs-mask))
    29502953  (movl (:%l offset) (:%l temp))
    29512954  (shrl (:$ub (+ 5 x8632::fixnumshift)) (:%l temp))
     
    29602963  :set
    29612964  (btsl (:%l temp) (:@ (:%l src)))
    2962   :done)
     2965  :done
     2966  ;; (mark-as-node temp)
     2967  (xorl (:%l temp) (:%l temp))
     2968  (btsl (:$ub (:apply %hard-regspec-value temp))
     2969        (:@ (:%seg :rcontext) x8632::tcr.node-regs-mask)))
    29632970
    29642971(define-x8632-vinsn %natural+  (((result :u32))
  • branches/ia32/compiler/X86/x862.lisp

    r9451 r9456  
    82858285               (with-imm-target () (otemp :s32)
    82868286                 (! fixnum->signed-natural otemp oreg)
    8287                  (with-additional-imm-reg (otemp)
    8288                    (with-imm-target () (val :natural)
    8289                      (! lisp-word-ref val breg otemp)
    8290                      (<- val))))
     8287                 (with-imm-target () (val :natural)
     8288                   (! lisp-word-ref val breg otemp)
     8289                   (<- val)))
    82918290               (^))))))
    82928291
     
    89378936          (with-imm-target () (src :address)
    89388937            (x862-three-targeted-reg-forms seg ptr src offset ($ *x862-arg-y*) newval ($ *x862-arg-z*))
    8939             (with-additional-imm-reg ()
    8940               (! mem-set-bit-variable-value src ($ *x862-arg-y*) ($ *x862-arg-z*)))
     8938            (! mem-set-bit-variable-value src ($ *x862-arg-y*) ($ *x862-arg-z*))
    89418939            (<- ($ *x862-arg-z*)))))
    89428940      (^)))
Note: See TracChangeset for help on using the changeset viewer.