aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-09-22 21:26:13 +0000
committerMike Frysinger <vapier@gentoo.org>2010-09-22 21:26:13 +0000
commita01eda858f5dc30309e79650b4cc9775416665af (patch)
treea9cc1ad7fd5226927ff82ed3ee2cc12bd0f5f44c /gas/config
parentefda024297b5add28bbcb35d3a8d9261d1fdac55 (diff)
downloadgdb-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.y4
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