Index: i386.h
===================================================================
--- i386.h	(revision 114461)
+++ i386.h	(working copy)
@@ -868,9 +868,12 @@
     ((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode	\
      || (MODE) == V2SImode || (MODE) == SImode)
 
-/* ??? No autovectorization into MMX or 3DNOW until we can reliably
-   place emms and femms instructions.  */
-#define UNITS_PER_SIMD_WORD (TARGET_SSE ? 16 : UNITS_PER_WORD)
+/* ??? Autovectorize into MMX or 3DNOW only when 80387 is explicitly
+   switched off, until we can reliably place emms and femms
+   instructions.  */
+#define UNITS_PER_SIMD_WORD (TARGET_SSE ? 16				\
+			     : TARGET_MMX && !TARGET_80387 ? 8		\
+			     : UNITS_PER_WORD)
 
 #define VALID_FP_MODE_P(MODE)						\
     ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode		\
