diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-09-22 21:26:13 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-09-22 21:26:13 +0000 |
commit | a01eda858f5dc30309e79650b4cc9775416665af (patch) | |
tree | a9cc1ad7fd5226927ff82ed3ee2cc12bd0f5f44c /gas/config | |
parent | efda024297b5add28bbcb35d3a8d9261d1fdac55 (diff) | |
download | gdb-a01eda858f5dc30309e79650b4cc9775416665af.zip gdb-a01eda858f5dc30309e79650b4cc9775416665af.tar.gz gdb-a01eda858f5dc30309e79650b4cc9775416665af.tar.bz2 |
gas: blackfin: fix DBG/DBGCMPLX insn encoding
Some extended registers when given to the DBG/DBGCMPLX pseudo insns are
not encoded properly. So fix them, fix the display of them when being
disassembled, and add testcases.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/bfin-parse.y | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gas/config/bfin-parse.y b/gas/config/bfin-parse.y index f8bb744..a520226 100644 --- a/gas/config/bfin-parse.y +++ b/gas/config/bfin-parse.y @@ -3578,7 +3578,7 @@ asm_1: | DBG REG { notethat ("pseudoDEBUG: DBG allregs\n"); - $$ = bfin_gen_pseudodbg (0, $2.regno & CODE_MASK, $2.regno & CLASS_MASK); + $$ = bfin_gen_pseudodbg (0, $2.regno & CODE_MASK, ($2.regno & CLASS_MASK) >> 4); } | DBGCMPLX LPAREN REG RPAREN @@ -3586,7 +3586,7 @@ asm_1: if (!IS_DREG ($3)) return yyerror ("Dregs expected"); notethat ("pseudoDEBUG: DBGCMPLX (dregs )\n"); - $$ = bfin_gen_pseudodbg (3, 6, $3.regno & CODE_MASK); + $$ = bfin_gen_pseudodbg (3, 6, ($3.regno & CODE_MASK) >> 4); } | DBGHALT |