tcg/tci: Split out tci_args_l
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 30 Jan 2021 07:18:45 +0000 (21:18 -1000)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 17 Mar 2021 13:24:44 +0000 (07:24 -0600)
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/tci.c

index dd9bcd74f3a776551f5cb7226c5b51d74bef55c7..e323351b7566e6c1cc342b38bafffaa824003d7a 100644 (file)
--- a/tcg/tci.c
+++ b/tcg/tci.c
@@ -181,10 +181,16 @@ static tcg_target_ulong tci_read_label(const uint8_t **tb_ptr)
  * where arguments is a sequence of
  *
  *   c = condition (TCGCond)
+ *   l = label or pointer
  *   r = register
  *   s = signed ldst offset
  */
 
+static void tci_args_l(const uint8_t **tb_ptr, void **l0)
+{
+    *l0 = (void *)tci_read_label(tb_ptr);
+}
+
 static void tci_args_rr(const uint8_t **tb_ptr,
                         TCGReg *r0, TCGReg *r1)
 {
@@ -418,9 +424,9 @@ uintptr_t QEMU_DISABLE_CFI tcg_qemu_tb_exec(CPUArchState *env,
 #endif
             break;
         case INDEX_op_br:
-            label = tci_read_label(&tb_ptr);
+            tci_args_l(&tb_ptr, &ptr);
             tci_assert(tb_ptr == old_code_ptr + op_size);
-            tb_ptr = (uint8_t *)label;
+            tb_ptr = ptr;
             continue;
         case INDEX_op_setcond_i32:
             tci_args_rrrc(&tb_ptr, &r0, &r1, &r2, &condition);