[movitz-cvs] CVS update: movitz/losp/muerte/integers.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Apr 1 02:12:22 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv10081

Modified Files:
	integers.lisp 
Log Message:
Changed logbitp somewhat.

Date: Wed Mar 31 21:12:22 2004
Author: ffjeld

Index: movitz/losp/muerte/integers.lisp
diff -u movitz/losp/muerte/integers.lisp:1.3 movitz/losp/muerte/integers.lisp:1.4
--- movitz/losp/muerte/integers.lisp:1.3	Thu Feb 26 08:46:36 2004
+++ movitz/losp/muerte/integers.lisp	Wed Mar 31 21:12:22 2004
@@ -9,7 +9,7 @@
 ;;;; Created at:    Wed Nov  8 18:44:57 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: integers.lisp,v 1.3 2004/02/26 13:46:36 ffjeld Exp $
+;;;; $Id: integers.lisp,v 1.4 2004/04/01 02:12:22 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -846,10 +846,14 @@
 (defun logbitp (index integer)
   (check-type integer fixnum)
   (with-inline-assembly (:returns :boolean-cf=1)
-    (:compile-form (:result-mode :eax) integer)
-    (:compile-form (:result-mode :untagged-fixnum-ecx) index)
+    (:compile-two-forms (:eax :ebx) index integer)
+    (:testl #x80000003 :eax)
+    (:jnz '(:sub-program ()
+	    (:int 66)))
+    (:movl :eax :ecx)
+    (:shrl #.movitz::+movitz-fixnum-shift+ :ecx)
     (:addl #.movitz::+movitz-fixnum-shift+ :ecx)
-    (:btl :ecx :eax)))
+    (:btl :ecx :ebx)))
 
 (define-compiler-macro logbitp (&whole form index integer &environment env)
   (if (not (movitz:movitz-constantp index env))





More information about the Movitz-cvs mailing list