diff options
author | Nick Clifton <nickc@redhat.com> | 2004-09-30 13:18:53 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2004-09-30 13:18:53 +0000 |
commit | 3631a3c82fe991ff19b1e3a41b0a6395c2ac4b60 (patch) | |
tree | bc49ab3fe4304c0208cc9a2daf14b004235a84c1 /gas | |
parent | 4e455bf5eaa3e6097272b8d53fbb3dd225056269 (diff) | |
download | gdb-3631a3c82fe991ff19b1e3a41b0a6395c2ac4b60.zip gdb-3631a3c82fe991ff19b1e3a41b0a6395c2ac4b60.tar.gz gdb-3631a3c82fe991ff19b1e3a41b0a6395c2ac4b60.tar.bz2 |
(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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 22 |
2 files changed, 26 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d0cb403..f448c34 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2004-09-30 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. + 2004-09-29 Marc Bevand <m.bevand@gmail.com> * doc/c-i386.texi (i386-Mnemonics): Fix typo. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index b0dbff7..940abcd 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -10254,6 +10254,24 @@ mav_reg_required_here (str, shift, regtype) /* 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; + + return reg; + } + + /* Restore the start point. */ + *str = start; + } + /* In the few cases where we might be able to accept something else this error can be overridden. */ inst.error = _(all_reg_maps[regtype].expected); @@ -10494,7 +10512,7 @@ do_mav_quad_6a (str) char * str; { do_mav_quad (str, MAV_MODE6, REG_TYPE_MVAX, REG_TYPE_MVFX, REG_TYPE_MVFX, - REG_TYPE_MVFX); + REG_TYPE_MVFX); } static void @@ -10502,7 +10520,7 @@ do_mav_quad_6b (str) char * str; { do_mav_quad (str, MAV_MODE6, REG_TYPE_MVAX, REG_TYPE_MVAX, REG_TYPE_MVFX, - REG_TYPE_MVFX); + REG_TYPE_MVFX); } /* cfmvsc32<cond> DSPSC,MVDX[15:0]. */ |