From 3ce6fddb771a3c25ec8b7bfac40d85d52bd917ab Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 21 May 2008 07:50:55 +0000 Subject: [PATCH] * cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond. --- opcodes/ChangeLog | 4 ++++ opcodes/cr16-dis.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index a20e120c638..67204565064 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2008-05-21 M R Swami Reddy + + * cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond. + 2008-05-14 Alan Modra * Makefile.am: Run "make dep-am". 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; } -- 2.30.2