[arm, patch] generic coprocessor register names in MaverickCrunch instructions
Vladimir Ivanov
vladitx@nucleusys.com
Sun Sep 26 09:52:00 GMT 2004
Hello,
This small patch adds GAS support for using generic coprocessor register
names (c0..c15) in MaverickCrunch instructions.
Currently, it is something like:
cfaddd mvd2, mvd0, mvd1
Now it is also possible to use:
cfaddd c2, c0, c1
This is due to customers request and EP93xx User Manual.
-- Vladimir
2004-09-26 Vladimir Ivanov <vladitx@nucleusys.com>
* gas/config/tc-arm.c (mav_reg_required_here): Allow REG_TYPE_CN as
alternative when REG_TYPE_MVF, REG_TYPE_MVD, REG_TYPE_MVFX or
REG_TYPE_MVDX is expected.
-------------- next part --------------
--- /tmp/tc-arm.c 2004-09-26 12:10:14.000000000 +0300
+++ gas/config/tc-arm.c 2004-09-26 12:19:52.000000000 +0300
@@ -10250,9 +10250,27 @@ mav_reg_required_here (str, shift, regty
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. */
More information about the Binutils
mailing list