This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86: Add NoXmmWordMem


>>> 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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]