#| -*-Scheme-*-
-$Id: rulfix.scm,v 1.27 1993/07/17 04:59:41 gjr Exp $
+$Id: rulfix.scm,v 1.28 1997/03/30 23:26:56 cph Exp $
-Copyright (c) 1992-1993 Massachusetts Institute of Technology
+Copyright (c) 1992-97 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
((EQUAL-FIXNUM?) 'EQUAL-FIXNUM?)
((LESS-THAN-FIXNUM?) 'GREATER-THAN-FIXNUM?)
((GREATER-THAN-FIXNUM?) 'LESS-THAN-FIXNUM?)
+ ((UNSIGNED-LESS-THAN-FIXNUM?) 'UNSIGNED-GREATER-THAN-FIXNUM?)
+ ((UNSIGNED-GREATER-THAN-FIXNUM?) 'UNSIGNED-LESS-THAN-FIXNUM?)
(else
(error "commute-fixnum-predicate: Unknown predicate"
predicate))))
(LAP (JG (@PCR ,label))))
(lambda (label)
(LAP (JLE (@PCR ,label))))))
+ ((UNSIGNED-LESS-THAN-FIXNUM?)
+ (set-current-branches! (lambda (label)
+ (LAP (JB (@PCR ,label))))
+ (lambda (label)
+ (LAP (JAE (@PCR ,label))))))
+ ((UNSIGNED-GREATER-THAN-FIXNUM?)
+ (set-current-branches! (lambda (label)
+ (LAP (JA (@PCR ,label))))
+ (lambda (label)
+ (LAP (JBE (@PCR ,label))))))
((NEGATIVE-FIXNUM?)
(set-current-branches! (lambda (label)
(LAP (JS (@PCR ,label))))
#| -*-Scheme-*-
-$Id: rulfix.scm,v 4.46 1993/08/12 05:33:14 gjr Exp $
+$Id: rulfix.scm,v 4.47 1997/03/30 23:27:07 cph Exp $
-Copyright (c) 1989-1993 Massachusetts Institute of Technology
+Copyright (c) 1989-97 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(delta (* (-1+ factor) fixnum-1))
(fits? (fits-in-11-bits-signed? delta))
(temp (and (not fits?) (standard-temporary!))))
-
- (LAP ,@(if fits?
- (LAP)
- (load-immediate delta temp))
+ (LAP ,@(if fits? (LAP) (load-immediate delta temp))
(ADD (>=) 0 ,src ,tgt)
,@(if fits?
(LAP (ADDI () ,delta ,tgt ,tgt))
((ZERO-FIXNUM? EQUAL-FIXNUM?) '=)
((NEGATIVE-FIXNUM? LESS-THAN-FIXNUM?) '<)
((POSITIVE-FIXNUM? GREATER-THAN-FIXNUM?) '>)
+ ((UNSIGNED-LESS-THAN-FIXNUM?) '<<)
+ ((UNSIGNED-GREATER-THAN-FIXNUM?) '>>)
(else
(error "fixnum-pred->cc: unknown predicate" predicate))))
\f
#| -*-Scheme-*-
-$Id: opncod.scm,v 4.62 1993/11/10 21:31:13 jmiller Exp $
+$Id: opncod.scm,v 4.63 1997/03/30 23:26:29 cph Exp $
-Copyright (c) 1988-1993 Massachusetts Institute of Technology
+Copyright (c) 1988-97 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(scfg-append!
(generate-primitive primitive-name
(length expressions)
- expressions
- setup
- label)
+ expressions setup label)
cleanup
(if error-finish
(error-finish (rtl:make-fetch register:value))
(scfg*scfg->scfg!
(generate-primitive primitive-name
(length expressions)
- expressions
- setup
- label)
+ expressions setup label)
cleanup)))
(make-scfg (cfg-entry-node scfg) '()))
|#
(lambda (locative)
(finish
(rtl:make-fixnum-pred-2-args
- 'LESS-THAN-FIXNUM?
+ 'UNSIGNED-LESS-THAN-FIXNUM?
(rtl:make-address->fixnum (rtl:make-address locative))
(rtl:make-address->fixnum
(rtl:make-fetch register:memory-top))))))