0.8.9.4:
[sbcl.git] / src / compiler / generic / vm-tran.lisp
index 1d93eba..fa3bee3 100644 (file)
 
 #!-alpha
 (progn
-  (defknown sb!vm::ash-left-mod32 (integer (integer 0)) (unsigned-byte 32)
+  (defknown #1=sb!vm::ash-left-mod32 (integer (integer 0)) (unsigned-byte 32)
             (foldable flushable movable))
   (define-modular-fun-optimizer ash ((integer count) :width width)
     (when (and (<= width 32)
                (constant-lvar-p count)  ; ?
                (plusp (lvar-value count)))
       (cut-to-width integer width)
-      'sb!vm::ash-left-mod32)))
+      '#1#))
+  (setf (gethash '#1# *modular-versions*) '(ash 32)))
 #!+alpha
 (progn
-  (defknown sb!vm::ash-left-mod64 (integer (integer 0)) (unsigned-byte 64)
+  (defknown #1=sb!vm::ash-left-mod64 (integer (integer 0)) (unsigned-byte 64)
             (foldable flushable movable))
   (define-modular-fun-optimizer ash ((integer count) :width width)
     (when (and (<= width 64)
                (constant-lvar-p count)  ; ?
                (plusp (lvar-value count)))
       (cut-to-width integer width)
-      'sb!vm::ash-left-mod64)))
+      '#1#)
+    (setf (gethash '#1# *modular-versions*) '(ash 64))))
 
 \f
 ;;; There are two different ways the multiplier can be recoded. The