From: H.J. Lu Date: Wed, 12 Jan 2005 19:40:20 +0000 (+0000) Subject: 2005-01-12 H.J. Lu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9df48ba9fdf995d2d8c082e568010e817ec684fe;p=binutils-gdb.git 2005-01-12 H.J. Lu * i386-dis.c (OP_E): Don't ignore scale in SIB for 64 bit mode. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1b9fc940e04..f4edcb3dcad 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2005-01-12 H.J. Lu + + * i386-dis.c (OP_E): Don't ignore scale in SIB for 64 bit mode. + 2005-01-12 H.J. Lu * i386-dis.c (OP_E): Ignore scale when index == 0x4 in SIB. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index c24c6561e1a..0e9ce49e253 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -3192,8 +3192,8 @@ OP_E (int bytemode, int sizeflag) havesib = 1; FETCH_DATA (the_info, codep + 1); index = (*codep >> 3) & 7; - if (index != 0x4) - /* When INDEX == 0x4, scale is ignored. */ + if (mode_64bit || index != 0x4) + /* When INDEX == 0x4 in 32 bit mode, SCALE is ignored. */ scale = (*codep >> 6) & 3; base = *codep & 7; USED_REX (REX_EXTY);