From 2a6ceedb55239477f6b5887f595cdfa3512d1399 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Tue, 21 May 2013 01:14:59 -0700 Subject: Fix some minor copy pasta bugs that resulted in an unnecessary REX prefix being generated for some instructions --- gen_x86.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gen_x86.c') diff --git a/gen_x86.c b/gen_x86.c index 4733e73..8ba2136 100644 --- a/gen_x86.c +++ b/gen_x86.c @@ -486,7 +486,7 @@ uint8_t * x86_irdisp8(uint8_t * out, uint8_t opcode, uint8_t op_ex, int32_t val, *(out++) = PRE_SIZE; } - if (size == SZ_Q || dst >= R8 || (size == SZ_B && dst >= RSP && dst <= RDI)) { + if (size == SZ_Q || dst >= R8) { *out = PRE_REX; if (size == SZ_Q) { *out |= REX_QUAD; @@ -551,7 +551,7 @@ uint8_t * x86_shiftrot_irdisp8(uint8_t * out, uint8_t op_ex, uint8_t val, uint8_ if (size == SZ_W) { *(out++) = PRE_SIZE; } - if (size == SZ_Q || dst >= R8 || (size == SZ_B && dst >= RSP && dst <= RDI)) { + if (size == SZ_Q || dst >= R8) { *out = PRE_REX; if (size == SZ_Q) { *out |= REX_QUAD; @@ -605,7 +605,7 @@ uint8_t * x86_shiftrot_clrdisp8(uint8_t * out, uint8_t op_ex, uint8_t dst, int8_ if (size == SZ_W) { *(out++) = PRE_SIZE; } - if (size == SZ_Q || dst >= R8 || (size == SZ_B && dst >= RSP && dst <= RDI)) { + if (size == SZ_Q || dst >= R8) { *out = PRE_REX; if (size == SZ_Q) { *out |= REX_QUAD; @@ -1140,7 +1140,7 @@ uint8_t * mov_irdisp8(uint8_t * out, int32_t val, uint8_t dst, int8_t disp, uint if (size == SZ_W) { *(out++) = PRE_SIZE; } - if (size == SZ_Q || dst >= R8 || (size == SZ_B && dst >= RSP && dst <= RDI)) { + if (size == SZ_Q || dst >= R8) { *out = PRE_REX; if (size == SZ_Q) { *out |= REX_QUAD; -- cgit v1.2.3