\f
;;; Comparison of characters.
;;;
-(define-vop (character-compare pointer-compare)
+(define-vop (character-compare)
(:args (x :scs (character-reg))
(y :scs (character-reg)))
- (:arg-types character character))
+ (:arg-types character character)
+ (:temporary (:scs (non-descriptor-reg)) temp)
+ (:conditional)
+ (:info target not-p)
+ (:policy :fast-safe)
+ (:note "inline comparison")
+ (:variant-vars condition)
+ (:generator 3
+ (three-way-comparison x y condition :unsigned not-p target temp)))
(define-vop (fast-char=/character character-compare)
(:translate char=)
-(in-package "SB!VM")
-
-\f
-;;;; Random pointer comparison VOPs
+;;;; MIPS VM definitions of various system hacking operations
-(define-vop (pointer-compare)
- (:args (x :scs (sap-reg))
- (y :scs (sap-reg)))
- (:arg-types system-area-pointer system-area-pointer)
- (:temporary (:scs (non-descriptor-reg)) temp)
- (:conditional)
- (:info target not-p)
- (:policy :fast-safe)
- (:note "inline comparison")
- (:variant-vars condition)
- (:generator 3
- (three-way-comparison x y condition :unsigned not-p target temp)))
-
-#+nil
-(macrolet ((frob (name cond)
- `(progn
- (def-primitive-translator ,name (x y) `(,',name ,x ,y))
- (defknown ,name (t t) boolean (movable foldable flushable))
- (define-vop (,name pointer-compare)
- (:translate ,name)
- (:variant ,cond)))))
- (frob pointer< :lt)
- (frob pointer> :gt))
+;;;; This software is part of the SBCL system. See the README file for
+;;;; more information.
+;;;;
+;;;; This software is derived from the CMU CL system, which was
+;;;; written at Carnegie Mellon University and released into the
+;;;; public domain. The software is in the public domain and is
+;;;; provided with absolutely no warranty. See the COPYING and CREDITS
+;;;; files for more information.
+(in-package "SB!VM")
\f
;;;; Type frobbing VOPs
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.5.36"
+"0.9.5.37"