diff options
author | Richard Henderson <rth@twiddle.net> | 2015-06-01 14:38:56 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2015-06-09 06:35:53 -0700 |
commit | 59c4b7e8dfab0cdc41434fedbf2686222f541e57 (patch) | |
tree | 34faaa3c99551aa356c6c4da07a1fe5e637a2691 /tcg/tcg.c | |
parent | 2b7ec66f025263a5331f37d5ad78a625496fd7bd (diff) |
tcg: Handle MO_AMASK in tcg_dump_ops
Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com>
Tested-by: Yongbok Kim <yongbok.kim@imgtec.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r-- | tcg/tcg.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -1076,10 +1076,19 @@ void tcg_dump_ops(TCGContext *s) TCGMemOp op = get_memop(oi); unsigned ix = get_mmuidx(oi); - if (op < ARRAY_SIZE(ldst_name) && ldst_name[op]) { - qemu_log(",%s,%u", ldst_name[op], ix); - } else { + if (op & ~(MO_AMASK | MO_BSWAP | MO_SSIZE)) { qemu_log(",$0x%x,%u", op, ix); + } else { + const char *s_al = "", *s_op; + if (op & MO_AMASK) { + if ((op & MO_AMASK) == MO_ALIGN) { + s_al = "al+"; + } else { + s_al = "un+"; + } + } + s_op = ldst_name[op & (MO_BSWAP | MO_SSIZE)]; + qemu_log(",%s%s,%u", s_al, s_op, ix); } i = 1; } |