This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: x86: correct operand type checks
- 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: Thu, 14 Dec 2017 04:12:07 -0800
- Subject: Re: x86: correct operand type checks
- Authentication-results: sourceware.org; auth=none
- References: <5A3247B80200007800197451@prv-mh.provo.novell.com>
On Thu, Dec 14, 2017 at 12:43 AM, Jan Beulich <JBeulich@suse.com> wrote:
> Again these look to be typos: No template currently allows for any two
> (or all three) of RegXMM, RegYMM, and RegZMM in a single operand. Quite
> clearly ! are missing, after the addition of which the checks for the
> first and (if present) second operands also fully match up.
>
> gas/
> 2017-12-14 Jan Beulich <jbeulich@suse.com>
>
> * config/tc-i386.c (match_template): Add missing ! to
> reg{x,y,z}mm checks in q- and l-suffix handling.
>
> --- a/gas/config/tc-i386.c
> +++ b/gas/config/tc-i386.c
> @@ -4968,9 +4968,9 @@ match_template (char mnem_suffix)
> && !operand_types[0].bitfield.regymm
> && !operand_types[0].bitfield.regzmm)
> || (!operand_types[t->operands > 1].bitfield.regmmx
> - && operand_types[t->operands > 1].bitfield.regxmm
> - && operand_types[t->operands > 1].bitfield.regymm
> - && operand_types[t->operands > 1].bitfield.regzmm))
> + && !operand_types[t->operands > 1].bitfield.regxmm
> + && !operand_types[t->operands > 1].bitfield.regymm
> + && !operand_types[t->operands > 1].bitfield.regzmm))
> && (t->base_opcode != 0x0fc7
> || t->extension_opcode != 1 /* cmpxchg8b */))
> continue;
> @@ -4985,7 +4985,7 @@ match_template (char mnem_suffix)
> && ((!operand_types[0].bitfield.regmmx
> && !operand_types[0].bitfield.regxmm)
> || (!operand_types[t->operands > 1].bitfield.regmmx
> - && operand_types[t->operands > 1].bitfield.regxmm)))
> + && !operand_types[t->operands > 1].bitfield.regxmm)))
> continue;
>
> /* Do not verify operands when there are none. */
>
>
>
OK.
Thanks.
--
H.J.