From 67d80c46fe7f6932941c58e8e2753e79f0db3fe2 Mon Sep 17 00:00:00 2001 From: Per Hedbor <ph@opera.com> Date: Mon, 18 Aug 2014 15:28:39 +0200 Subject: [PATCH] Checking using tst_reg32 is not optimal in branch_if_non_zero. --- src/code/amd64.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/code/amd64.c b/src/code/amd64.c index 5fad0a848e..e883c8273c 100644 --- a/src/code/amd64.c +++ b/src/code/amd64.c @@ -2247,7 +2247,7 @@ int amd64_ins_f_jump(unsigned int op, int backward_jump) amd64_add_sp(-1); LABEL_B; /* Branch or not? */ - test_reg32( P_REG_RBX ); + test_reg( P_REG_RBX ); if( op == F_BRANCH_WHEN_ZERO ) return jz_imm_rel32(0); return jnz_imm_rel32(0); @@ -2314,7 +2314,7 @@ int amd64_ins_f_jump(unsigned int op, int backward_jump) LABEL_A; mov_imm_reg( 0, P_REG_RBX ); LABEL_B; - test_reg32(P_REG_RBX); + test_reg(P_REG_RBX); return jnz_imm_rel32(0); case F_LOOP: @@ -3117,7 +3117,8 @@ int amd64_ins_f_jump_with_arg(unsigned int op, INT32 a, int backward_jump) checked. That is not nessasarily true. */ mov_sval_type( ARG1_REG, P_REG_RCX ); - cmp_reg32_imm( P_REG_RCX, PIKE_T_INT ); je( &label_C ); + cmp_reg32_imm( P_REG_RCX, PIKE_T_INT ); + je( &label_C ); mov_imm_reg( 1, P_REG_RAX ); shl_reg32_reg( P_REG_RAX, P_REG_RCX ); and_reg32_imm( P_REG_RAX, BIT_FUNCTION|BIT_OBJECT ); -- GitLab