tcg/arm: Fix runtime overalignment test
authorRichard Henderson <rth@twiddle.net>
Fri, 28 Jul 2017 18:24:17 +0000 (11:24 -0700)
committerRichard Henderson <rth@twiddle.net>
Thu, 3 Aug 2017 17:56:44 +0000 (10:56 -0700)
Patch 85aa80813dd changed the IF emitting the TST instruction,
but failed to change the ?: converting CMP to CMPEQ, so the
result of the TST is ignored.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/arm/tcg-target.inc.c

index d1793ec77d1f877e66b952ce0c92edc43d65809b..37efcf06af7e076f840f8866517ba5eb0e0f00d2 100644 (file)
@@ -1223,7 +1223,7 @@ static TCGReg tcg_out_tlb_read(TCGContext *s, TCGReg addrlo, TCGReg addrhi,
     /* Load the tlb addend.  */
     tcg_out_ld32_12(s, COND_AL, TCG_REG_R2, TCG_REG_R2, add_off);
 
-    tcg_out_dat_reg(s, (s_bits ? COND_EQ : COND_AL), ARITH_CMP, 0,
+    tcg_out_dat_reg(s, (a_bits ? COND_EQ : COND_AL), ARITH_CMP, 0,
                     TCG_REG_R0, TCG_REG_TMP, SHIFT_IMM_LSL(TARGET_PAGE_BITS));
 
     if (TARGET_LONG_BITS == 64) {