This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] x86: Add NoXmmWordMem
- From: "Jan Beulich" <JBeulich at suse dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: "Igor V Tsimbalist" <igor dot v dot tsimbalist at intel dot com>, <binutils at sourceware dot org>
- Date: Wed, 18 Jul 2018 00:10:43 -0600
- Subject: Re: [PATCH] x86: Add NoXmmWordMem
- References: <20180717195836.GA10930@intel.com>
>>> On 17.07.18 at 21:58, <hongjiu.lu@intel.com> wrote:
> After
>
> commit 1b54b8d7e4fc8055f9220a5287e8a94d8a65a88d
> Author: Jan Beulich <jbeulich@novell.com>
> Date: Mon Dec 18 09:36:14 2017 +0100
>
> x86: fold RegXMM/RegYMM/RegZMM into RegSIMD
>
> ... qualified by their respective sizes, allowing to drop FirstXmm0 at
> the same time.
>
> folded RegXMM, RegYMM and RegZMM into RegSIMD, it's no longer impossible
> to distinguish if XMMWORD can represent a memory reference when operand
> specification contains SIMD register. For example, template operands
> specification like these
>
> RegXMM|...|Xmmword|...
>
> and
>
> RegXMM|...
>
> The Xmmword bitfield is always set by RegXMM which is represented by
> "RegSIMD|Xmmword". This patch adds NoXmmWordMem to opcode_modifiers
> to indicate that Xmmword memory isn't allowed.
Well, I had fixed a few other similar ones before, and I simply wasn't
aware there are some left. The prior approach to fixing this was to
split the templates. I'd prefer to go that route instead of adding
further extremely ad-hoc attributes. After all a fair part of my recent
work was to get rid of such random / rarely used attributes.
Jan