Ignore:
Timestamp:
Mar 1, 2008, 6:18:49 PM (12 years ago)
Author:
rme
Message:

Several nargs-related changes. (nargs on x8632 is a 32-bit register; in
this branch, x8664 nargs is still a 16-bit register.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ia32/compiler/X86/x86-lapmacros.lisp

    r8368 r8631  
    3131(defx86lapmacro set-nargs (n)
    3232  (if (eql n 0)
    33     `(xorl (% nargs) (% nargs))
    34     `(movl ($ ',n) (% nargs))))
     33    `(xor (% nargs) (% nargs))
     34    `(mov ($ ',n) (% nargs))))
    3535
    3636(defx86lapmacro check-nargs (min &optional (max min))
     
    383383     (:x8632
    384384      `(progn
    385          ;; nargs *is* imm0
    386          (movl (% nargs) (% temp1))
     385         (movl (% nargs) (% imm0))
    387386         (subl ($ (* $numx8632argregs x8632::node-size)) (% imm0))
    388387         (jle ,push)
     
    393392         ,push
    394393         (save-simple-frame)
    395          ,done
    396          (movl (% temp1) (% nargs))))
     394         ,done))
    397395     (:x8664
    398396      `(progn
    399          (movl (% nargs) (%l imm0))
     397         (movzwl (% nargs) (%l imm0))
    400398         (subq ($ (* $numx8664argregs x8664::node-size)) (% imm0))
    401399         (jle ,push)
     
    560558     (:x8664
    561559      `(progn
    562          (testl (% nargs) (% nargs))
     560         (testw (% nargs) (% nargs))
    563561         (je ,done)
    564          (cmpl ($ '2) (% nargs))
     562         (cmpw ($ '2) (% nargs))
    565563         (je ,yz)
    566564         (jb ,z)
Note: See TracChangeset for help on using the changeset viewer.