Changeset 15154 for release/1.7


Ignore:
Timestamp:
Dec 22, 2011, 10:17:58 PM (7 years ago)
Author:
rme
Message:

Fix ticket:899 in 1.7 branch also.

Location:
release/1.7/source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • release/1.7/source

  • release/1.7/source/compiler/ARM/arm2.lisp

    r14847 r15154  
    38083808    (^)))
    38093809
     3810(defun arm2-natural-constant (seg vreg xfer value)
     3811  (arm2-use-operator
     3812   (if (typep value *nx-target-fixnum-type*)
     3813     (%nx1-operator fixnum)
     3814     (%nx1-operator immediate))
     3815   seg vreg xfer value))
     3816   
    38103817
    38113818
     
    82578264           (fix-y (acode-fixnum-form-p y)))
    82588265      (if (and fix-x fix-y)
    8259         (arm2-absolute-natural seg vreg xfer (+ fix-x fix-y))
     8266        (arm2-natural-constant seg vreg xfer (+ fix-x fix-y))
    82608267        (let* ((u15x (and (typep fix-x '(unsigned-byte 15)) fix-x))
    82618268               (u15y (and (typep fix-y '(unsigned-byte 15)) fix-y)))
     
    82818288           (fix-y (acode-fixnum-form-p y)))
    82828289      (if (and fix-x fix-y)
    8283         (arm2-absolute-natural seg vreg xfer (- fix-x fix-y))
     8290        (arm2-natural-constant seg vreg xfer (- fix-x fix-y))
    82848291        (let* ((u15y (and (typep fix-y '(unsigned-byte 15)) fix-y)))
    82858292          (if (not u15y)
     
    83048311           (naturaly (nx-natural-constant-p y)))
    83058312      (if (and naturalx naturaly)
    8306         (arm2-absolute-natural seg vreg xfer (logior naturalx naturaly))
     8313        (arm2-natural-constant seg vreg xfer (logior naturalx naturaly))
    83078314        (let* ((constant (let* ((c (or naturalx naturaly)))
    83088315                           (when c
     
    83308337           (naturaly (nx-natural-constant-p y)))
    83318338      (if (and naturalx naturaly)
    8332         (arm2-absolute-natural seg vreg xfer (logxor naturalx naturaly))
     8339        (arm2-natural-constant seg vreg xfer (logxor naturalx naturaly))
    83338340        (let* ((constant (let* ((c (or naturalx naturaly)))
    83348341                           (when c
     
    83568363           (naturaly (nx-natural-constant-p y)))
    83578364      (if (and naturalx naturaly)
    8358         (arm2-absolute-natural seg vreg xfer (logand naturalx naturaly))
     8365        (arm2-natural-constant seg vreg xfer (logand naturalx naturaly))
    83598366        (let* ((constant (let* ((c (or naturalx naturaly)))
    83608367                           (when c
  • release/1.7/source/compiler/PPC/ppc2.lisp

    r14775 r15154  
    39143914    (^)))
    39153915
     3916(defun ppc2-natural-constant (seg vreg xfer value)
     3917  (ppc2-use-operator
     3918   (if (typep value *nx-target-fixnum-type*)
     3919     (%nx1-operator fixnum)
     3920     (%nx1-operator immediate))
     3921   seg vreg xfer value))
     3922
     3923
    39163924
    39173925
     
    88568864           (fix-y (acode-fixnum-form-p y)))
    88578865      (if (and fix-x fix-y)
    8858         (ppc2-absolute-natural seg vreg xfer (+ fix-x fix-y))
     8866        (ppc2-natural-constant seg vreg xfer (+ fix-x fix-y))
    88598867        (let* ((u15x (and (typep fix-x '(unsigned-byte 15)) fix-x))
    88608868               (u15y (and (typep fix-y '(unsigned-byte 15)) fix-y)))
     
    88808888           (fix-y (acode-fixnum-form-p y)))
    88818889      (if (and fix-x fix-y)
    8882         (ppc2-absolute-natural seg vreg xfer (- fix-x fix-y))
     8890        (ppc2-natural-constant seg vreg xfer (- fix-x fix-y))
    88838891        (let* ((u15y (and (typep fix-y '(unsigned-byte 15)) fix-y)))
    88848892          (if (not u15y)
     
    89038911           (naturaly (nx-natural-constant-p y)))
    89048912      (if (and naturalx naturaly)
    8905         (ppc2-absolute-natural seg vreg xfer (logior naturalx naturaly))
     8913        (ppc2-natural-constant seg vreg xfer (logior naturalx naturaly))
    89068914        (let* ((u32x (nx-u32-constant-p x))
    89078915               (u32y (nx-u32-constant-p y))
     
    89308938           (naturaly (nx-natural-constant-p y)))
    89318939      (if (and naturalx naturaly)
    8932         (ppc2-absolute-natural seg vreg xfer (logxor naturalx naturaly))
     8940        (ppc2-natural-constant seg vreg xfer (logxor naturalx naturaly))
    89338941        (let* ((u32x (nx-u32-constant-p x))
    89348942               (u32y (nx-u32-constant-p y))
     
    89578965           (naturaly (nx-natural-constant-p y)))
    89588966      (if (and naturalx naturaly)
    8959         (ppc2-absolute-natural seg vreg xfer (logand naturalx naturaly))
     8967        (ppc2-natural-constant seg vreg xfer (logand naturalx naturaly))
    89608968        (let* ((u32x (nx-u32-constant-p x))
    89618969               (u32y (nx-u32-constant-p y))
  • release/1.7/source/compiler/X86/x862.lisp

    r14822 r15154  
    47224722    (^)))
    47234723
     4724(defun x862-natural-constant (seg vreg xfer value)
     4725  (x862-use-operator
     4726   (if (typep value *nx-target-fixnum-type*)
     4727     (%nx1-operator fixnum)
     4728     (%nx1-operator immediate))
     4729   seg vreg xfer value))
     4730
     4731
    47244732
    47254733
     
    99519959           (fix-y (acode-fixnum-form-p y)))
    99529960      (if (and fix-x fix-y)
    9953         (x862-absolute-natural seg vreg xfer (+ fix-x fix-y))
     9961        (x862-natural-constant seg vreg xfer (+ fix-x fix-y))
    99549962        (let* ((u31x (and (typep fix-x '(unsigned-byte 31)) fix-x))
    99559963               (u31y (and (typep fix-y '(unsigned-byte 31)) fix-y)))
     
    99769984           (fix-y (acode-fixnum-form-p y)))
    99779985      (if (and fix-x fix-y)
    9978         (x862-absolute-natural seg vreg xfer (- fix-x fix-y))
     9986        (x862-natural-constant seg vreg xfer (- fix-x fix-y))
    99799987        (let* ((u31y (and (typep fix-y '(unsigned-byte 31)) fix-y)))
    99809988          (if (not u31y)
     
    1000010008           (naturaly (nx-natural-constant-p y)))
    1000110009      (if (and naturalx naturaly)
    10002         (x862-absolute-natural seg vreg xfer (logior naturalx naturaly))
     10010        (x862-natural-constant seg vreg xfer (logior naturalx naturaly))
    1000310011        (let* ((u31x (nx-u31-constant-p x))
    1000410012               (u31y (nx-u31-constant-p y))
     
    1002610034           (naturaly (nx-natural-constant-p y)))
    1002710035      (if (and naturalx naturaly)
    10028         (x862-absolute-natural seg vreg xfer (logxor naturalx naturaly))
     10036        (x862-natural-constant seg vreg xfer (logxor naturalx naturaly))
    1002910037        (let* ((u32x (nx-u32-constant-p x))
    1003010038               (u32y (nx-u32-constant-p y))
     
    1005110059    (let* ((naturalx (nx-natural-constant-p x))
    1005210060           (naturaly (nx-natural-constant-p y)))
    10053       (if (and naturalx naturaly)
    10054         (x862-absolute-natural seg vreg xfer (logand naturalx naturaly))
     10061      (if (and naturalx naturaly)        
     10062        (x862-natural-constant seg vreg xfer (logand naturalx naturaly))
    1005510063        (let* ((u31x (nx-u31-constant-p x))
    1005610064               (u31y (nx-u31-constant-p y))
  • release/1.7/source/level-0/l0-cfm-support.lisp

    • Property svn:mergeinfo changed (with no actual effect on merging)
Note: See TracChangeset for help on using the changeset viewer.