Changeset 5785
- Timestamp:
- Jan 23, 2007, 2:28:17 PM (18 years ago)
- Location:
- trunk/ccl/compiler/PPC
- Files:
-
- 2 edited
-
PPC32/ppc32-backend.lisp (modified) (2 diffs)
-
PPC64/ppc64-backend.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/PPC32/ppc32-backend.lisp
r5749 r5785 287 287 (defun defcallback-body-ppc32-poweropen (stack-ptr lets dynamic-extent-names decls body return-type error-return error-delta #+poweropen-target fp-arg-ptr) 288 288 (let* ((result (gensym)) 289 ( offset(case return-type290 ((:single-float :double-float)291 8)292 (t 0)))289 (return-ptr (case return-type 290 ((:single-float :double-float) 291 fp-arg-ptr) 292 (t stack-ptr))) 293 293 (condition-name (if (atom error-return) 'error (car error-return))) 294 294 (error-return-function (if (atom error-return) error-return (cadr error-return))) 295 295 (body 296 `( %stack-block ((,fp-arg-ptr (* 8 13)))297 (% get-fp-arg-regs ,fp-arg-ptr)296 `(with-macptrs ((,fp-arg-ptr)) 297 (%setf-macptr ,fp-arg-ptr (%get-ptr ,stack-ptr (- ppc32::c-frame.unused-1 ppc32::c-frame.param0))) 298 298 (let ,lets 299 299 (declare (dynamic-extent ,@dynamic-extent-names)) … … 315 315 (:unsigned-doubleword '%%get-unsigned-longlong) 316 316 ((:double-float :single-float) '%get-double-float) 317 (t '%get-long)) , stack-ptr ,offset) ,result)))))))317 (t '%get-long)) ,return-ptr 0) ,result))))))) 318 318 (if error-return 319 319 (let* ((cond (gensym))) -
trunk/ccl/compiler/PPC/PPC64/ppc64-backend.lisp
r5749 r5785 138 138 (defun defcallback-body-ppc64-poweropen (stack-ptr lets dynamic-extent-names decls body return-type error-return error-delta fp-arg-ptr) 139 139 (let* ((result (gensym)) 140 ( offset(case return-type141 ((:single-float :double-float) 16)142 (t 0)))140 (result-ptr (case return-type 141 ((:single-float :double-float) fp-arg-ptr) 142 (t stack-ptr))) 143 143 (condition-name (if (atom error-return) 'error (car error-return))) 144 144 (error-return-function (if (atom error-return) error-return (cadr error-return))) 145 145 (body 146 `(%stack-block ((,fp-arg-ptr (* 8 13))) 147 (%get-fp-arg-regs ,fp-arg-ptr) 146 `(with-macptrs ((,fp-arg-ptr (%get-ptr ,stack-ptr (- ppc64::c-frame.unused-1 ppc64::c-frame.param0)))) 148 147 (let ,lets 149 148 (declare (dynamic-extent ,@dynamic-extent-names)) … … 165 164 (:unsigned-doubleword '%%get-unsigned-longlong) 166 165 ((:double-float :single-float) '%get-double-float) 167 (t #+ppc32-target '%get-long 168 #+ppc64-target '%%get-signed-longlong)) ,stack-ptr ,offset) ,result))))))) 166 (t '%%get-signed-longlon )) ,result-ptr 0) ,result))))))) 169 167 (if error-return 170 168 (let* ((cond (gensym)))
Note:
See TracChangeset
for help on using the changeset viewer.
