1.0.4.97: Oops. Fix bug introduced in x86 vop if-eq in 1.0.4.73.
authorlisphacker <lisphacker>
Tue, 17 Apr 2007 17:19:38 +0000 (17:19 +0000)
committerlisphacker <lisphacker>
Tue, 17 Apr 2007 17:19:38 +0000 (17:19 +0000)
src/compiler/x86/pred.lisp
version.lisp-expr

index a720559..e83f65f 100644 (file)
@@ -42,8 +42,8 @@
           (y-val (encode-value-if-immediate y)))
       (cond
         ;; Shorter instruction sequences for these two cases.
-        ((eql 0 y-val) (inst test x x))
-        ((eql 0 x-val) (inst test y y))
+        ((and (eql 0 y-val) (sc-is x any-reg descriptor-reg)) (inst test x x))
+        ((and (eql 0 x-val) (sc-is y any-reg descriptor-reg)) (inst test y y))
 
         ;; An encoded value (literal integer) has to be the second argument.
         ((sc-is x immediate) (inst cmp y x-val))
index e1433d1..4baa976 100644 (file)
@@ -17,4 +17,4 @@
 ;;; 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".)
-"1.0.4.96"
+"1.0.4.97"