opcodes/
[deliverable/binutils-gdb.git] / opcodes / microblaze-dis.c
index bdbf8317d018f8f8cf96544cdb7f305217ebdaad..e204e36310db34650bf9b3bd662c6c74b94f193a 100644 (file)
@@ -64,6 +64,15 @@ get_field_imm5 (long instr)
   return (strdup (tmpstr));
 }
 
+static char *
+get_field_imm5_mbar (long instr)
+{
+  char tmpstr[25];
+
+  sprintf(tmpstr, "%d", (short)((instr & IMM5_MBAR_MASK) >> IMM_MBAR));
+  return(strdup(tmpstr));
+}
+
 static char *
 get_field_rfsl (long instr)
 {
@@ -374,6 +383,13 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
        case INST_TYPE_RD_IMM15:
          print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_imm15 (inst));
          break;
+        /* For mbar insn.  */
+        case INST_TYPE_IMM5:
+          print_func (stream, "\t%s", get_field_imm5_mbar (inst));
+          break;
+        /* For mbar 16 or sleep insn.  */
+        case INST_TYPE_NONE:
+          break;
        /* For tuqula instruction */
        case INST_TYPE_RD:
          print_func (stream, "\t%s", get_field_rd (inst));
This page took 0.025325 seconds and 4 git commands to generate.