From: Guillermo J. Rozas Date: Thu, 26 Aug 1993 18:00:26 +0000 (+0000) Subject: Add missing rule. X-Git-Tag: 20090517-FFI~7976 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=9abbceb413e20de8a6cab932006b06264818bef3;p=mit-scheme.git Add missing rule. --- diff --git a/v7/src/compiler/machines/i386/rules2.scm b/v7/src/compiler/machines/i386/rules2.scm index f74fd11e9..f52a3705a 100644 --- a/v7/src/compiler/machines/i386/rules2.scm +++ b/v7/src/compiler/machines/i386/rules2.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: rules2.scm,v 1.6 1993/07/16 19:27:54 gjr Exp $ +$Id: rules2.scm,v 1.7 1993/08/26 18:00:26 gjr Exp $ Copyright (c) 1992-1993 Massachusetts Institute of Technology @@ -93,6 +93,20 @@ MIT in each case. |# (LAP (CMP W ,(offset->reference! expression) (&U ,(non-pointer->literal constant))))) +(define-rule predicate + (EQ-TEST (CONSTANT (? constant-1)) (CONSTANT (? constant-2))) + (let ((always-jump + (lambda (label) + (LAP (JMP (@PCR ,label))))) + (always-fall-through + (lambda (label) + label ; ignored + (LAP)))) + (if (eq? constant-1 constant-2) + (set-current-branches! always-jump always-fall-through) + (set-current-branches! always-fall-through always-jump))) + (LAP)) + (define-rule predicate (EQ-TEST (CONS-POINTER (MACHINE-CONSTANT (? type)) (MACHINE-CONSTANT (? datum)))