* cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond.
authorNick Clifton <nickc@redhat.com>
Wed, 21 May 2008 07:50:55 +0000 (07:50 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 21 May 2008 07:50:55 +0000 (07:50 +0000)
opcodes/ChangeLog
opcodes/cr16-dis.c

index a20e120c638d122f9828e15a7792201f9a1ef2dc..67204565064a398f7b47d59d56008b8211570f0d 100644 (file)
@@ -1,3 +1,7 @@
+2008-05-21  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+       * cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond.
+
 2008-05-14  Alan Modra  <amodra@bigpond.net.au>
 
        * Makefile.am: Run "make dep-am".
index ad0c586f5d38674427840cb94ba1484af4689a23..de3eb753bf0f39c86aed8a94ee583d256f3ae0b2 100644 (file)
@@ -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;
 }