Index: /trunk/source/compiler/X86/X8632/x8632-vinsns.lisp
===================================================================
--- /trunk/source/compiler/X86/X8632/x8632-vinsns.lisp	(revision 15454)
+++ /trunk/source/compiler/X86/X8632/x8632-vinsns.lisp	(revision 15455)
@@ -921,4 +921,9 @@
   :bad
   (:anchored-uuo (uuo-error-reg-not-type (:%l src) (:$ub arch::error-object-not-signed-byte-8))))
+
+(define-x8632-vinsn %unbox-s8 (((dest :s8))
+                               ((src :lisp)))
+  (movl (:%l src) (:%l dest))
+  (sarl (:$ub x8632::fixnumshift) (:%l dest)))
 
 (define-x8632-vinsn unbox-u16 (((dest :u16))
Index: /trunk/source/compiler/X86/X8664/x8664-vinsns.lisp
===================================================================
--- /trunk/source/compiler/X86/X8664/x8664-vinsns.lisp	(revision 15454)
+++ /trunk/source/compiler/X86/X8664/x8664-vinsns.lisp	(revision 15455)
@@ -1024,4 +1024,9 @@
   :bad
   (:anchored-uuo (uuo-error-reg-not-type (:%q src) (:$ub arch::error-object-not-signed-byte-8))))
+
+(define-x8664-vinsn %unbox-s8 (((dest :s8))
+                               ((src :lisp)))
+  (movq (:%q src) (:%q dest))
+  (sarq (:$ub x8664::fixnumshift) (:%q dest)))
 
 (define-x8664-vinsn unbox-u16 (((dest :u16))
