This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] x86: drop stray VEX opcode 82 references
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Beulich <JBeulich at suse dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Wed, 22 Feb 2017 08:15:40 -0800
- Subject: Re: [PATCH] x86: drop stray VEX opcode 82 references
- Authentication-results: sourceware.org; auth=none
- References: <58AC280C020000780013C35D@prv-mh.provo.novell.com>
On Tue, Feb 21, 2017 at 2:44 AM, Jan Beulich <JBeulich@suse.com> wrote:
> No such ModR/M-less opcode has ever existed in public documentation
> afaict, so I can't see why it had been added in the first place.
> Furthermore opcode 77 is special only with implied prefix 0F.
>
> opcodes/
> 2017-02-21 Jan Beulich <jbeulich@suse.com>
>
> * i386-dis.c (get_valid_dis386): Don't special case VEX opcode
> 82. For 3-byte VEX only special case opcode 77 in VEX_0F space.
>
> --- 2017-02-21/opcodes/i386-dis.c
> +++ 2017-02-21/opcodes/i386-dis.c
> @@ -12771,8 +12771,8 @@ get_valid_dis386 (const struct dis386 *d
> vindex = *codep++;
> dp = &vex_table[vex_table_index][vindex];
> end_codep = codep;
> - /* There is no MODRM byte for VEX [82|77]. */
> - if (vindex != 0x77 && vindex != 0x82)
> + /* There is no MODRM byte for VEX0F 77. */
> + if (vex_table_index != VEX_0F || vindex != 0x77)
> {
> FETCH_DATA (info, codep + 1);
> modrm.mod = (*codep >> 6) & 3;
> @@ -12814,8 +12814,8 @@ get_valid_dis386 (const struct dis386 *d
> vindex = *codep++;
> dp = &vex_table[dp->op[1].bytemode][vindex];
> end_codep = codep;
> - /* There is no MODRM byte for VEX [82|77]. */
> - if (vindex != 0x77 && vindex != 0x82)
> + /* There is no MODRM byte for VEX 77. */
> + if (vindex != 0x77)
> {
> FETCH_DATA (info, codep + 1);
> modrm.mod = (*codep >> 6) & 3;
>
>
>
OK.
Thanks.
--
H.J.