--- binutils-2.17/gas/config/tc-arm.c.orig	2006-09-05 14:59:25.000000000 +0100
+++ binutils-2.17/gas/config/tc-arm.c	2006-09-05 14:59:25.000000000 +0100
@@ -1252,13 +1252,15 @@
     }
 
   /* Undo polymorphism when a set of register types may be accepted.  */
-  if ((type == REG_TYPE_NDQ
-       && (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
-      || (type == REG_TYPE_VFSD
-          && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
-      || (type == REG_TYPE_NSDQ
-          && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
-              || reg->type == REG_TYPE_NQ)))
+  if (((type == REG_TYPE_NDQ
+	&& (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
+       || (type == REG_TYPE_VFSD
+	   && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
+       || (type == REG_TYPE_NSDQ
+	   && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
+	       || reg->type == REG_TYPE_NQ)))
+      ||(type == REG_TYPE_MMXWC
+	 && (reg->type == REG_TYPE_MMXWCG)))
     type = reg->type;
 
   if (type != reg->type)
