diff -ruN ../binutils-2.15/gas/config/tc-arm.c binutils-2.15/gas/config/tc-arm.c --- ../binutils-2.15/gas/config/tc-arm.c 2004-05-17 22:36:08.000000000 +0300 +++ binutils-2.15/gas/config/tc-arm.c 2004-12-14 18:51:05.000000000 +0200 @@ -10313,9 +10313,27 @@ return reg; } + else + /* Restore the start point. */ + *str = start; + + /* Try generic coprocessor name if applicable. */ + if (regtype == REG_TYPE_MVF || + regtype == REG_TYPE_MVD || + regtype == REG_TYPE_MVFX || + regtype == REG_TYPE_MVDX) + { + if ((reg = arm_reg_parse (str, all_reg_maps[REG_TYPE_CN].htab)) != FAIL) + { + if (shift >= 0) + inst.instruction |= reg << shift; - /* Restore the start point. */ - *str = start; + return reg; + } + else + /* Restore the start point. */ + *str = start; + } /* In the few cases where we might be able to accept something else this error can be overridden. */