From 996c48869350236f33e9e443378bb3395557b868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Wed, 19 Jun 2013 21:10:35 +0200 Subject: [PATCH] [amd64] Reorder the arguments to cmp_reg_reg(). cmp_reg_reg() now compares its arguments in the same order as the cmp_reg*_imm() variants. Fixes F_POP_TO_MARK. Probably fixes index overruns in F_INDEX and F_LOCAL_INDEX. --- src/code/amd64.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/code/amd64.c b/src/code/amd64.c index 104a7e7b44..98631654e0 100644 --- a/src/code/amd64.c +++ b/src/code/amd64.c @@ -652,9 +652,9 @@ static void cmp_reg32_imm( enum amd64_reg reg, int imm32 ) static void cmp_reg_reg( enum amd64_reg reg1, enum amd64_reg reg2 ) { - rex(1, reg1, 0, reg2); + rex(1, reg2, 0, reg1); opcode( 0x39 ); - modrm( 3, reg1, reg2 ); + modrm( 3, reg2, reg1 ); } static int jmp_rel_imm32( int addr ) @@ -3094,7 +3094,7 @@ void ins_f_byte_with_2_args(unsigned int a, INT32 b, INT32 c) amd64_push_int(0, c); LABEL_A; cmp_reg_reg(sp_reg, ARG1_REG); - jg(&label_B); + jl(&label_B); } return; -- GitLab