target/mips: Use tcg_constant_tl() in gen_compute_compact_branch()
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Sun, 3 Oct 2021 12:25:14 +0000 (14:25 +0200)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Sun, 17 Oct 2021 22:41:36 +0000 (00:41 +0200)
The offset is constant and read-only: move it to the constant pool.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211003175743.3738710-9-f4bug@amsat.org>

target/mips/tcg/translate.c

index 0e59b97190f7467f893fa003548b1d305854e603..5fdeb67e82b71bdc15315d47054e2f7b7b192c89 100644 (file)
@@ -11857,13 +11857,11 @@ static void gen_compute_compact_branch(DisasContext *ctx, uint32_t opc,
         } else {
             /* OPC_JIC, OPC_JIALC */
             TCGv tbase = tcg_temp_new();
-            TCGv toffset = tcg_temp_new();
+            TCGv toffset = tcg_constant_tl(offset);
 
             gen_load_gpr(tbase, rt);
-            tcg_gen_movi_tl(toffset, offset);
             gen_op_addr_add(ctx, btarget, tbase, toffset);
             tcg_temp_free(tbase);
-            tcg_temp_free(toffset);
         }
         break;
     default: