{
     assert(unknown || mnemonic != NULL);
     if (unknown) {
-        panic("Attempted to execute unknown instruction "
-              "(inst 0x%08x, opcode 0x%x, binary:%s)",
-              machInst, machInst.opcode, inst2string(machInst));
+        panic("Attempted to execute unknown instruction (inst 0x%08x)",
+              machInst);
     } else {
-        panic("Attempted to execute unimplemented instruction '%s' "
-              "(inst 0x%08x, opcode 0x%x, binary:%s)",
-              mnemonic, machInst, machInst.opcode, inst2string(machInst));
+        panic("Attempted to execute unimplemented instruction "
+                "'%s' (inst 0x%08x)", mnemonic, machInst);
     }
 }
 
 
 std::string
 UnknownOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
 {
-    return csprintf("%-10s (inst 0x%x, opcode 0x%x, binary:%s)",
-                    "unknown", machInst, machInst.opcode,
-                    inst2string(machInst));
+    return csprintf("%-10s (inst %#08x)", "unknown", machInst);
 }
 
     std::string
     Breakpoint::generateDisassembly(Addr pc, const SymbolTable *symtab) const
     {
-        return csprintf("%-10s (inst 0x%x, opcode 0x%x, binary:%s)",
-                        "Breakpoint", machInst, OPCODE, inst2string(machInst));
+        return csprintf("%-10s (inst 0x%x)", "Breakpoint", machInst);
     }
 }};
 
 
         return (tc->readMiscRegNoEffect(MISCREG_CPSR) & 0x1f) == MODE_USER;
     }
 
-    static inline std::string
-    inst2string(MachInst machInst)
-    {
-        std::string str = "";
-        uint32_t mask = (1 << 31);
-
-        while (mask) {
-            str += ((machInst & mask) ? "1" : "0");
-            mask = mask >> 1;
-        }
-
-        return str;
-    }
-
 uint64_t getArgument(ThreadContext *tc, int number, bool fp);
     
 Fault setCp15Register(uint32_t &Rd, int CRn, int opc1, int CRm, int opc2);