summaryrefslogtreecommitdiff
path: root/opcodes/cr16-dis.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-05-21 07:50:55 +0000
committerNick Clifton <nickc@redhat.com>2008-05-21 07:50:55 +0000
commit3ce6fddb771a3c25ec8b7bfac40d85d52bd917ab (patch)
tree3ca30dee4b74730124bee19bf7459885b91c2091 /opcodes/cr16-dis.c
parentf52cb1b84b03e4d5da175d69d2e32ff34a683cc7 (diff)
downloadbinutils-gdb-3ce6fddb771a3c25ec8b7bfac40d85d52bd917ab.tar.gz
* cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond.
Diffstat (limited to 'opcodes/cr16-dis.c')
-rw-r--r--opcodes/cr16-dis.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/opcodes/cr16-dis.c b/opcodes/cr16-dis.c
index ad0c586f5d3..de3eb753bf0 100644
--- a/opcodes/cr16-dis.c
+++ b/opcodes/cr16-dis.c
@@ -1,5 +1,5 @@
/* Disassembler code for CR16.
- Copyright 2007 Free Software Foundation, Inc.
+ Copyright 2007, 2008 Free Software Foundation, Inc.
Contributed by M R Swami Reddy (MR.Swami.Reddy@nsc.com).
This file is part of GAS, GDB and the GNU binutils.
@@ -307,6 +307,11 @@ static unsigned long
build_mask (void)
{
unsigned long mask = SBM (instruction->match_bits);
+
+ /* Adjust mask for bcond with 32-bit size instruction. */
+ if ((IS_INSN_MNEMONIC("b") && instruction->size == 2))
+ mask = 0xff0f0000;
+
return mask;
}