Changeset 8374
- Timestamp:
- Jan 29, 2008, 7:02:31 PM (17 years ago)
- Location:
- branches/ia32/level-0/X86/X8632
- Files:
-
- 2 edited
-
x8632-def.lisp (modified) (8 diffs)
-
x8632-utils.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/level-0/X86/X8632/x8632-def.lisp
r7963 r8374 91 91 (:arglist (fixnum &optional offset)) 92 92 (check-nargs 1 2) 93 (cmp w($ x8632::fixnumone) (% nargs))93 (cmpl ($ x8632::fixnumone) (% nargs)) 94 94 (jne @2-args) 95 95 (movl (% offset) (% fixnum)) … … 103 103 (:arglist (fixnum &optional offset)) 104 104 (check-nargs 1 2) 105 (cmp w($ x8632::fixnumone) (% nargs))105 (cmpl ($ x8632::fixnumone) (% nargs)) 106 106 (jne @2-args) 107 107 (movl (% offset) (% fixnum)) … … 116 116 (check-nargs 2 3) 117 117 (movl (@ fixnum (% esp)) (% temp0)) 118 (cmp w($ '2) (% nargs))118 (cmpl ($ '2) (% nargs)) 119 119 (jne @3-args) 120 120 (movl (% offset) (% temp0)) … … 132 132 (movl (@ fixnum (% esp)) (% temp0)) 133 133 (save-simple-frame) 134 (cmp w($ '2) (% nargs))134 (cmpl ($ '2) (% nargs)) 135 135 (jne @3-args) 136 136 (movl (% offset) (% temp0)) … … 391 391 (movl (@ x8632::lisp-frame.return-address (% ebp)) (% temp0)) 392 392 (movl (@ 0 (% ebp)) (% ebp)) 393 (rcmp w(% nargs) ($ '2))393 (rcmpl (% nargs) ($ '2)) 394 394 (jbe @pop-regs) 395 395 ;; More than 2 args; some must have been pushed by caller, … … 399 399 (jmp @popped) 400 400 @pop-regs 401 (rcmp w(% nargs) ($ '1))401 (rcmpl (% nargs) ($ '1)) 402 402 (jb @discard) 403 403 (ja @pop2) … … 431 431 (movl (% arg_z) (% temp0)) ; last 432 432 (movl (% arg_y) (% arg_z)) ; butlast 433 (sub w($ '2) (% nargs)) ; remove count for butlast & last433 (subl ($ '2) (% nargs)) ; remove count for butlast & last 434 434 (movd (% imm0) (% mm0)) ;save nargs (aka imm0) for later 435 435 ;; Do .SPspreadargz inline here … … 457 457 (movl (% temp0) (% arg_z)) 458 458 (pop (% arg_y)) 459 (add w($ '1) (% nargs))459 (addl ($ '1) (% nargs)) 460 460 (load-constant funcall temp0) 461 461 (pushl (@ (% :rcontext) x8632::tcr.save0)) ;return address -
branches/ia32/level-0/X86/X8632/x8632-utils.lisp
r8077 r8374 127 127 ;;; N.B. nargs is the same register as imm0 128 128 (defx8632lapfunction true () 129 (movzwl (% nargs) (% imm0))130 129 (subl ($ '2) (% imm0)) 131 130 (leal (@ '2 (% esp) (% imm0)) (% imm0)) … … 135 134 136 135 (defx8632lapfunction false () 137 (movzwl (% nargs) (% imm0))138 136 (subl ($ '2) (% imm0)) 139 137 (leal (@ '2 (% esp) (% imm0)) (% imm0))
Note:
See TracChangeset
for help on using the changeset viewer.
