From 1d46a6979a3969fd39274f67a80a3dc3fa90797c Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 26 Apr 2010 01:09:19 -0700 Subject: libmach: disassemble MOVLQZX correctly R=ken2 CC=golang-dev http://codereview.appspot.com/1007041 --- src/libmach/8db.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') 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; } } -- cgit v1.2.3