]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/binutils-tumbl.git/blobdiff - opcodes/microblaze-dis.c
MBTumbl: More constraints
[fpga/lx-cpu1/binutils-tumbl.git] / opcodes / microblaze-dis.c
index bdbf8317d018f8f8cf96544cdb7f305217ebdaad..eb215a4cd49fc7d220caa041c84bd91f78f40012 100644 (file)
@@ -64,6 +64,8 @@ get_field_imm5 (long instr)
   return (strdup (tmpstr));
 }
 
+#ifndef ARCH_mbtumbl
+
 static char *
 get_field_rfsl (long instr)
 {
@@ -83,6 +85,8 @@ get_field_imm15 (long instr)
   return (strdup (tmpstr));
 }
 
+#endif
+
 static char *
 get_field_special (long instr, struct op_code_struct * op)
 {
@@ -97,6 +101,7 @@ get_field_special (long instr, struct op_code_struct * op)
     case REG_PC_MASK :
       strcpy (spr, "pc");
       break;
+#ifndef ARCH_mbtumbl
     case REG_EAR_MASK :
       strcpy (spr, "ear");
       break;
@@ -142,7 +147,12 @@ get_field_special (long instr, struct op_code_struct * op)
       else
         strcpy (spr, "pc");
       break;
+#else
+    default :
+        strcpy (spr, "pc");
+      break;
     }
+#endif
 
    sprintf (tmpstr, "%s%s", register_prefix, spr);
    return (strdup (tmpstr));
@@ -263,12 +273,14 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
          print_func (stream, "\t%s, %s, %s", get_field_rd (inst),
                   get_field_r1(inst), get_field_imm5 (inst));
          break;
+#ifndef ARCH_mbtumbl
        case INST_TYPE_RD_RFSL:
          print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_rfsl (inst));
          break;
        case INST_TYPE_R1_RFSL:
          print_func (stream, "\t%s, %s", get_field_r1 (inst), get_field_rfsl (inst));
          break;
+#endif
        case INST_TYPE_RD_SPECIAL:
          print_func (stream, "\t%s, %s", get_field_rd (inst),
                   get_field_special (inst, op));
@@ -371,6 +383,7 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
        case INST_TYPE_RD_R1_SPECIAL:
          print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_r2 (inst));
          break;
+#ifndef ARCH_mbtumbl
        case INST_TYPE_RD_IMM15:
          print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_imm15 (inst));
          break;
@@ -381,6 +394,7 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
        case INST_TYPE_RFSL:
          print_func (stream, "\t%s", get_field_rfsl (inst));
          break;
+#endif
        default:
          /* If the disassembler lags the instruction set.  */
          print_func (stream, "\tundecoded operands, inst is 0x%04x", (unsigned int) inst);