Use getters/setters to access ARM branch type
[binutils-gdb.git] / opcodes / mips-dis.c
index e152876646131099027e6b5cc328c8274e926a94..7822295eceb629c2997840619ffbe0aa9a34fe43 100644 (file)
@@ -1894,11 +1894,13 @@ print_mips16_insn_arg (struct disassemble_info *info,
                {
                  operand = ext_operand;
                  if (operand->size == 16)
-                   uval |= ((extend & 0x1f) << 11) | (extend & 0x7e0);
+                   uval = (((extend & 0x1f) << 11) | (extend & 0x7e0)
+                           | (uval & 0x1f));
                  else if (operand->size == 15)
                    uval |= ((extend & 0xf) << 11) | (extend & 0x7f0);
                  else
-                   uval = ((extend >> 6) & 0x1f) | (extend & 0x20);
+                   uval = ((((extend >> 6) & 0x1f) | (extend & 0x20))
+                           & ((1U << operand->size) - 1));
                }
            }
        }