Commit f48f3ede71a43520e0eb71756dc33052aab41837
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++]; | ... | ... |