Commit f48f3ede71a43520e0eb71756dc33052aab41837

Authored by blueswir1
1 parent ac41a620

Display TCGCond name in tcg dumper (original patch by Tristan Gingold)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5208 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 30 additions and 1 deletions
tcg/tcg.c
... ... @@ -730,6 +730,20 @@ static TCGHelperInfo *tcg_find_helper(TCGContext *s, tcg_target_ulong val)
730 730 return NULL;
731 731 }
732 732  
  733 +static const char * const cond_name[] =
  734 +{
  735 + [TCG_COND_EQ] = "eq",
  736 + [TCG_COND_NE] = "ne",
  737 + [TCG_COND_LT] = "lt",
  738 + [TCG_COND_GE] = "ge",
  739 + [TCG_COND_LE] = "le",
  740 + [TCG_COND_GT] = "gt",
  741 + [TCG_COND_LTU] = "ltu",
  742 + [TCG_COND_GEU] = "geu",
  743 + [TCG_COND_LEU] = "leu",
  744 + [TCG_COND_GTU] = "gtu"
  745 +};
  746 +
733 747 void tcg_dump_ops(TCGContext *s, FILE *outfile)
734 748 {
735 749 const uint16_t *opc_ptr;
... ... @@ -841,7 +855,22 @@ void tcg_dump_ops(TCGContext *s, FILE *outfile)
841 855 fprintf(outfile, "%s",
842 856 tcg_get_arg_str_idx(s, buf, sizeof(buf), args[k++]));
843 857 }
844   - for(i = 0; i < nb_cargs; i++) {
  858 + if (c == INDEX_op_brcond_i32
  859 +#if TCG_TARGET_REG_BITS == 32
  860 + || c == INDEX_op_brcond2_i32
  861 +#elif TCG_TARGET_REG_BITS == 64
  862 + || c == INDEX_op_brcond_i64
  863 +#endif
  864 + ) {
  865 + if (args[k] < ARRAY_SIZE(cond_name) && cond_name[args[k]])
  866 + fprintf(outfile, ",%s", cond_name[args[k++]]);
  867 + else
  868 + fprintf(outfile, ",$0x%" TCG_PRIlx, args[k++]);
  869 + i = 1;
  870 + }
  871 + else
  872 + i = 0;
  873 + for(; i < nb_cargs; i++) {
845 874 if (k != 0)
846 875 fprintf(outfile, ",");
847 876 arg = args[k++];
... ...