[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/84] tcg: Decode the operand to INDEX_op_mb in dumps
From: |
Richard Henderson |
Subject: |
[PULL 11/84] tcg: Decode the operand to INDEX_op_mb in dumps |
Date: |
Sun, 5 Mar 2023 16:38:41 -0800 |
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/tcg.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index cd8f356adb..f9e1afd926 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -2192,6 +2192,85 @@ static void tcg_dump_ops(TCGContext *s, FILE *f, bool
have_prefs)
arg_label(op->args[k])->id);
i++, k++;
break;
+ case INDEX_op_mb:
+ {
+ TCGBar membar = op->args[k];
+ const char *b_op, *m_op;
+
+ switch (membar & TCG_BAR_SC) {
+ case 0:
+ b_op = "none";
+ break;
+ case TCG_BAR_LDAQ:
+ b_op = "acq";
+ break;
+ case TCG_BAR_STRL:
+ b_op = "rel";
+ break;
+ case TCG_BAR_SC:
+ b_op = "seq";
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ switch (membar & TCG_MO_ALL) {
+ case 0:
+ m_op = "none";
+ break;
+ case TCG_MO_LD_LD:
+ m_op = "rr";
+ break;
+ case TCG_MO_LD_ST:
+ m_op = "rw";
+ break;
+ case TCG_MO_ST_LD:
+ m_op = "wr";
+ break;
+ case TCG_MO_ST_ST:
+ m_op = "ww";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_LD_ST:
+ m_op = "rr+rw";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_ST_LD:
+ m_op = "rr+wr";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_ST_ST:
+ m_op = "rr+ww";
+ break;
+ case TCG_MO_LD_ST | TCG_MO_ST_LD:
+ m_op = "rw+wr";
+ break;
+ case TCG_MO_LD_ST | TCG_MO_ST_ST:
+ m_op = "rw+ww";
+ break;
+ case TCG_MO_ST_LD | TCG_MO_ST_ST:
+ m_op = "wr+ww";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_LD_ST | TCG_MO_ST_LD:
+ m_op = "rr+rw+wr";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_LD_ST | TCG_MO_ST_ST:
+ m_op = "rr+rw+ww";
+ break;
+ case TCG_MO_LD_LD | TCG_MO_ST_LD | TCG_MO_ST_ST:
+ m_op = "rr+wr+ww";
+ break;
+ case TCG_MO_LD_ST | TCG_MO_ST_LD | TCG_MO_ST_ST:
+ m_op = "rw+wr+ww";
+ break;
+ case TCG_MO_ALL:
+ m_op = "all";
+ break;
+ default:
+ g_assert_not_reached();
+ }
+
+ col += ne_fprintf(f, "%s%s:%s", (k ? "," : ""), b_op,
m_op);
+ i++, k++;
+ }
+ break;
default:
break;
}
--
2.34.1
- [PULL 08/84] accel/tcg: Trigger watchpoints from atomic_mmu_lookup, (continued)
- [PULL 08/84] accel/tcg: Trigger watchpoints from atomic_mmu_lookup, Richard Henderson, 2023/03/05
- [PULL 18/84] target/arm: Drop DisasContext.tmp_a64, Richard Henderson, 2023/03/05
- [PULL 17/84] target/arm: Drop tcg_temp_free from translator.c, Richard Henderson, 2023/03/05
- [PULL 09/84] include/qemu/cpuid: Introduce xgetbv_low, Richard Henderson, 2023/03/05
- [PULL 16/84] target/arm: Remove value_global from DisasCompare, Richard Henderson, 2023/03/05
- [PULL 30/84] target/avr: Drop R from trans_COM, Richard Henderson, 2023/03/05
- [PULL 13/84] accel/tcg: Remove translator_loop_temp_check, Richard Henderson, 2023/03/05
- [PULL 04/84] target/sparc: Use tlb_set_page_full, Richard Henderson, 2023/03/05
- [PULL 07/84] softmmu: Check watchpoints for read+write at once, Richard Henderson, 2023/03/05
- [PULL 10/84] tcg/i386: Mark Win64 call-saved vector regs as reserved, Richard Henderson, 2023/03/05
- [PULL 11/84] tcg: Decode the operand to INDEX_op_mb in dumps,
Richard Henderson <=
- [PULL 14/84] target/alpha: Drop tcg_temp_free, Richard Henderson, 2023/03/05
- [PULL 19/84] target/arm: Drop new_tmp_a64, Richard Henderson, 2023/03/05
- [PULL 22/84] target/arm: Drop tcg_temp_free from translator-m-nocp.c, Richard Henderson, 2023/03/05
- [PULL 25/84] target/arm: Drop tcg_temp_free from translator-sme.c, Richard Henderson, 2023/03/05
- [PULL 26/84] target/arm: Drop tcg_temp_free from translator-sve.c, Richard Henderson, 2023/03/05
- [PULL 24/84] target/arm: Drop tcg_temp_free from translator-neon.c, Richard Henderson, 2023/03/05
- [PULL 27/84] target/arm: Drop tcg_temp_free from translator-vfp.c, Richard Henderson, 2023/03/05
- [PULL 29/84] target/avr: Drop DisasContext.free_skip_var0, Richard Henderson, 2023/03/05
- [PULL 28/84] target/arm: Drop tcg_temp_free from translator.h, Richard Henderson, 2023/03/05
- [PULL 34/84] target/cris: Drop addr from dec10_ind_move_m_pr, Richard Henderson, 2023/03/05