Tighter floating-point type constraints in some cases
[sbcl.git] / src / compiler / sparc / char.lisp
index 6bd09f5..2eb49a3 100644 (file)
 ;;; Move untagged character values.
 (define-vop (character-move)
   (:args (x :target y
-           :scs (character-reg)
-           :load-if (not (location= x y))))
+            :scs (character-reg)
+            :load-if (not (location= x y))))
   (:results (y :scs (character-reg)
-              :load-if (not (location= x y))))
+               :load-if (not (location= x y))))
   (:note "character move")
   (:effects)
   (:affected)
@@ -57,9 +57,9 @@
 ;;; Move untagged character arguments/return-values.
 (define-vop (move-character-arg)
   (:args (x :target y
-           :scs (character-reg))
-        (fp :scs (any-reg)
-            :load-if (not (sc-is y character-reg))))
+            :scs (character-reg))
+         (fp :scs (any-reg)
+             :load-if (not (sc-is y character-reg))))
   (:results (y))
   (:note "character arg move")
   (:generator 0
 ;;; Comparison of characters.
 (define-vop (character-compare)
   (:args (x :scs (character-reg))
-        (y :scs (character-reg)))
+         (y :scs (character-reg)))
   (:arg-types character character)
   (:conditional)
   (:info target not-p)
 
 (define-vop (character-compare/c)
   (:args (x :scs (character-reg)))
-  (:arg-types character (:constant character))
+  (:arg-types character (:constant
+                         #+sb-xc-host base-char
+                         #-sb-xc-host (character-set ((0 . 4095)))))
   (:conditional)
   (:info target not-p y)
   (:policy :fast-safe)