summaryrefslogtreecommitdiff
path: root/gen_x86.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-05-21 01:14:59 -0700
committerMike Pavone <pavone@retrodev.com>2013-05-21 01:14:59 -0700
commit2a6ceedb55239477f6b5887f595cdfa3512d1399 (patch)
treec9fd6518352b6693a239640069060d8af4d867bc /gen_x86.c
parent60a4f8174b28688a59932e7a083a38e906d243db (diff)
Fix some minor copy pasta bugs that resulted in an unnecessary REX prefix being generated for some instructions
Diffstat (limited to 'gen_x86.c')
-rw-r--r--gen_x86.c8
1 files changed, 4 insertions, 4 deletions
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;