diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp
index d0a3703cc0088b93e62c0379b545f5770c8a50be..3a663a834b2860b621c72ab916dc645e5126c792 100644
--- a/src/compiler/float-tran.lisp
+++ b/src/compiler/float-tran.lisp
@@ -640,11 +640,9 @@
   (unless (constant-continuation-p y)
     (give-up))
   (let ((val (continuation-value y)))
-    (multiple-value-bind (frac exp sign)
-	(decode-float val)
-      (unless (= frac 0.5)
-	(give-up))
-      `(* x (float (/ ,val) x)))))
+    (unless (= (decode-float val) 0.5)
+      (give-up))
+    `(* x (float (/ ,val) x))))
 
 ;; Convert 2*x to x+x.
 (deftransform * ((x y) (float real) * :when :both)
diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp
index b4b43f75e22e382ad9b58a17c7f900626448fdfb..5751abbf7de4851cb5a6ce50b568f9d0e90f91a3 100644
--- a/src/compiler/x86/arith.lisp
+++ b/src/compiler/x86/arith.lisp
@@ -908,7 +908,6 @@
   (:arg-types unsigned-num)
   (:results (result :scs (unsigned-reg)))
   (:result-types positive-fixnum)
-  (:temporary (:sc unsigned-reg :from (:argument 0)) temp)
   (:guard (backend-featurep :sse3))
   (:generator 2
     (inst popcnt result arg)))
diff --git a/src/compiler/x86/insts.lisp b/src/compiler/x86/insts.lisp
index e22a0139bce97acee2a78cd1a5445dc031273bcf..2417c04a00efe6cbd36e3f84eb06a0012ff65b65 100644
--- a/src/compiler/x86/insts.lisp
+++ b/src/compiler/x86/insts.lisp
@@ -556,7 +556,8 @@
 
 (defun prefilter-reg-r (value dstate)
   (declare (type reg value)
-           (type disassem:disassem-state dstate))
+           (type disassem:disassem-state dstate)
+	   (ignore dstate))
   value)
 
 ;;; This is a sort of bogus prefilter that just
@@ -3115,6 +3116,7 @@
   (imm :type 'imm-data))
 
 (defun emit-sse-inst (segment dst src prefix opcode &key operand-size)
+  (declare (ignore operand-size))
   (when prefix
     (emit-byte segment prefix))
   (emit-byte segment #x0f)
@@ -3223,11 +3225,13 @@
 ;; MOVHPS (respectively).  I (rtoy) don't know how to fix that;
 ;; instead. just print a note with the correct instruction name.
 (defun movlps-control (chunk inst stream dstate)
+  (declare (ignore inst))
   (when stream
     (when (>= (ldb (byte 8 16) chunk) #xc0)
       (disassem:note "MOVHLPS" dstate))))
 
 (defun movhps-control (chunk inst stream dstate)
+  (declare (ignore inst))
   (when stream
     (when (>= (ldb (byte 8 16) chunk) #xc0)
       (disassem:note "MOVLHPS" dstate))))
diff --git a/src/compiler/x86/sse2-c-call.lisp b/src/compiler/x86/sse2-c-call.lisp
index 811de988324e205b485632e7c0627601950324d0..a5bd80f596522461e7f8e3e3396c21b95099388e 100644
--- a/src/compiler/x86/sse2-c-call.lisp
+++ b/src/compiler/x86/sse2-c-call.lisp
@@ -34,7 +34,6 @@
 		   :from :eval :to :result) ecx)
   (:temporary (:sc unsigned-reg :offset edx-offset
 		   :from :eval :to :result) edx)
-  (:temporary (:sc double-stack) temp)
   (:node-var node)
   (:vop-var vop)
   (:save-p t)
@@ -77,7 +76,6 @@
 (define-vop (alloc-number-stack-space)
   (:info amount)
   (:results (result :scs (sap-reg any-reg)))
-  (:node-var node)
   (:generator 0
     (assert (location= result esp-tn))
 
@@ -98,7 +96,6 @@
 
 (define-vop (dealloc-number-stack-space)
   (:info amount)
-  (:node-var node)
   (:generator 0
     (unless (zerop amount)
       (let ((delta (logandc2 (+ amount 3) 3)))