From: Chris Hanson Date: Mon, 12 Mar 1990 23:20:01 +0000 (+0000) Subject: Conditionalize binary floating-point open-coded operations on whether X-Git-Tag: 20090517-FFI~11508 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=2380d1b3e1b0086b1e8dd0f6ead0cd0d6c500bb3;p=mit-scheme.git Conditionalize binary floating-point open-coded operations on whether the source is a register or not. --- diff --git a/v7/src/compiler/machines/bobcat/lapgen.scm b/v7/src/compiler/machines/bobcat/lapgen.scm index 20c2d16df..ce8555bab 100644 --- a/v7/src/compiler/machines/bobcat/lapgen.scm +++ b/v7/src/compiler/machines/bobcat/lapgen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.27 1990/02/23 21:43:42 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.28 1990/03/12 23:20:01 cph Exp $ Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology @@ -705,9 +705,11 @@ MIT in each case. |# (let-syntax ((define-flonum-operation (macro (primitive-name instruction-name) - `(define-flonum-method ',primitive-name flonum-methods/2-args - (lambda (target source) - (LAP (,instruction-name ,',source ,',target))))))) + `(DEFINE-FLONUM-METHOD ',primitive-name FLONUM-METHODS/2-ARGS + (LAMBDA (TARGET SOURCE) + (IF (EFFECTIVE-ADDRESS/FLOAT-REGISTER? SOURCE) + (LAP (,instruction-name ,',source ,',target)) + (LAP (,instruction-name D ,',source ,',target)))))))) (define-flonum-operation flonum-add fadd) (define-flonum-operation flonum-subtract fsub) (define-flonum-operation flonum-multiply fmul)