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 10/10] x86: correct VFPCLASSP{S,D} operand size handling


On 06.08.2019 23:11,  H.J. Lu  wrote:
On Tue, Aug 6, 2019 at 7:29 AM Jan Beulich <jbeulich@suse.com> wrote:

With AVX512VL disabled (e.g. when writing code for the Knights family
of processors) these insns aren't ambiguous when used with a memory
source, and hence should be accepted without suffix or operand size
specifier. When AVX512VL is enabled, to be consistent with this as
well as other ambiguous operand size handling it seems better to just
wanrn about the ambiguity in AT&T mode, and still default to 512-bit
operands (on the assumption that the code may have been written without
AVX512VL in mind yet).

gas/
2019-08-XX  Jan Beulich  <jbeulich@suse.com>

         * config/tc-i386.c (avx512): New (at file scope), moved from
         (check_VecOperands): ... here.
         (process_suffix): Add [XYZ]MMword operand size handling.
         * testsuite/gas/i386/noavx512-2.s, testsuite/gas/i386/noreg16.s,
         testsuite/gas/i386/noreg32.s, testsuite/gas/i386/noreg64.s: Add
         VFPCLASS tests.
         * testsuite/gas/i386/noavx512-2.l, testsuite/gas/i386/noreg16.d,
         testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.d,
         testsuite/gas/i386/noreg32.l, testsuite/gas/i386/noreg64.d,
         testsuite/gas/i386/noreg64.l: Adjust expectations.

opcodes/
2019-08-XX  Jan Beulich  <jbeulich@suse.com>

         * i386-opc.tbl (vfpclasspd, vfpclassps): Add Unspecified.
         * i386-tbl.h: Re-generate.


We should keep the suffix even if AVX512VL isn't enabled so that
we don't need to check if AVX512VL isn't enabled to interpret the
instruction.

But that's wrong (and fixing this is the whole point of this patch).
As you've said elsewhere, unambiguous (SIMD in particular) insns
should not require any use of suffixes.

Jan


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