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: accept SSE* insns accessing MMX registers with ".arch .nommx"


On Thu, Feb 13, 2020 at 1:24 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> These are regular SSE/SSE2 insns, and hence should be accepted
> irrespective of MMX as a feature being enabled. Since the MMX CPU
> feature is intentionally not implicitly enabled by ".arch .sse", MMX

This begs the question if ".arch .sse" should enable MMX.

> registers may be left unrecognized only when both MMX and SSE are
> disabled. The errors previously generated on most of these insns in this
> mode perhaps wasn't actually the biggest problem - in "noprefix" mode,
> mm<N> source operands would silently have been taken as memory operands
> of those names, i.e. wrong code was silently generated.

This is the real problem.  What happens if YMM/ZMM are used with
AVX disabled?

> gas/
> 2020-02-XX  Jan Beulich  <jbeulich@suse.com>
>
>         * config/tc-i386.c (parse_real_register): Accept MMX registers
>         also when SSE is enabled.
>         * testsuite/gas/i386/nommx-4.s, testsuite/gas/i386/nommx-4.l:
>         New.
>         * testsuite/gas/i386/i386.exp: Run new test.
>


-- 
H.J.


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