summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libmach/8db.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libmach/8db.c b/src/libmach/8db.c
index dfa87da29..ba14dfc3c 100644
--- a/src/libmach/8db.c
+++ b/src/libmach/8db.c
@@ -1131,7 +1131,7 @@ static Optable optabFF[8] =
[0x06] 0,0, "PUSHL %e",
};
-static Optable optable[256+1] =
+static Optable optable[256+2] =
{
[0x00] RMB,0, "ADDB %r,%e",
[0x01] RM,0, "ADD%S %r,%e",
@@ -1387,6 +1387,7 @@ static Optable optable[256+1] =
[0xfe] RMOPB,0, optabFE,
[0xff] RMOP,0, optabFF,
[0x100] RM,0, "MOVLQSX %e,%r",
+[0x101] RM,0, "MOVLQZX %e,%r",
};
/*
@@ -1590,7 +1591,10 @@ newop:
return 0;
}
if(c == 0x63){
- op = &obase[0x100]; /* MOVLQSX */
+ if(ip->rex&REXW)
+ op = &obase[0x100]; /* MOVLQSX */
+ else
+ op = &obase[0x101]; /* MOVLQZX */
goto hack;
}
}