Changeset 9801


Ignore:
Timestamp:
Jun 21, 2008, 2:31:13 AM (11 years ago)
Author:
rme
Message:

x862-%natural+, x862-%natural-, x862-%natural-logxor,
x862-%natural-logand: use WITH-ADDITIONAL-IMM-REG as appropriate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/x862.lisp

    r9768 r9801  
    95139513          (if (not (or u31x u31y))
    95149514            (with-imm-target () (xreg :natural)
    9515               (with-imm-target (xreg) (yreg :natural)
    9516                 (x862-two-targeted-reg-forms seg x xreg y yreg)
    9517                 (! %natural+ xreg yreg))
     9515              (with-additional-imm-reg ()
     9516                (with-imm-target (xreg) (yreg :natural)
     9517                  (x862-two-targeted-reg-forms seg x xreg y yreg)
     9518                  (! %natural+ xreg yreg)))
    95189519              (<- xreg))
    95199520            (let* ((other (if u31x y x)))
     
    95359536        (let* ((u31y (and (typep fix-y '(unsigned-byte 31)) fix-y)))
    95369537          (if (not u31y)
    9537             (with-additional-imm-reg ()
    9538               (with-imm-target () (xreg :natural)
     9538            (with-imm-target () (xreg :natural)
     9539              (with-additional-imm-reg ()
    95399540                (with-imm-target (xreg) (yreg :natural)
    95409541                  (x862-two-targeted-reg-forms seg x xreg y yreg)
     
    95889589          (if (not constant)
    95899590            (with-imm-target () (xreg :natural)
    9590               (with-imm-target (xreg) (yreg :natural)
    9591                 (x862-two-targeted-reg-forms seg x xreg y yreg)
    9592                 (! %natural-logxor xreg yreg))
     9591              (with-additional-imm-reg ()
     9592                (with-imm-target (xreg) (yreg :natural)
     9593                  (x862-two-targeted-reg-forms seg x xreg y yreg)
     9594                  (! %natural-logxor xreg yreg)))
    95939595              (<- xreg))
    95949596            (let* ((other (if u32x y x)))
     
    96139615          (if (not constant)
    96149616            (with-imm-target () (xreg :natural)
    9615               (with-imm-target (xreg) (yreg :natural)
    9616                 (x862-two-targeted-reg-forms seg x xreg y yreg)
    9617                 (! %natural-logand xreg yreg))
     9617              (with-additional-imm-reg ()
     9618                (with-imm-target (xreg) (yreg :natural)
     9619                  (x862-two-targeted-reg-forms seg x xreg y yreg)
     9620                  (! %natural-logand xreg yreg)))
    96189621              (<- xreg))
    96199622            (let* ((other (if u31x y x)))
Note: See TracChangeset for help on using the changeset viewer.