maybe_link lib/include ../microcode
maybe_link lib/optiondb.scm ../etc/optiondb.scm
maybe_link lib/runtime ../runtime
+maybe_link lib/compiler ../compiler
maybe_link lib/mit-scheme.h ../microcode/pruxffi.h
maybe_link lib/ffi ../ffi
maybe_link lib/ffi-test-shim.so ../ffi/ffi-test-shim.so
(else (error "Unknown flonum predicate:" predicate)))
(float-source source1) temp)
(inst:load-immediate temp constant)))
+
+(define-rule predicate
+ (FLONUM-PRED-2-ARGS (? predicate)
+ (OBJECT->FLOAT (CONSTANT (? constant)))
+ (REGISTER (? source)))
+ (QUALIFIER (flo:flonum? constant))
+ (let ((temp (float-temporary)))
+ (simple-branches! (case predicate
+ ((FLONUM-EQUAL?) 'EQ)
+ ((FLONUM-LESS?) 'LT)
+ ((FLONUM-GREATER?) 'GT)
+ (else (error "Unknown flonum predicate:" predicate)))
+ temp (float-source source))
+ (inst:load-immediate temp constant)))
\f
(define-rule statement
(ASSIGN (REGISTER (? target))