[PATCH 10/10] x86: correct VFPCLASSP{S,D} operand size handling

H.J. Lu hjl.tools@gmail.com
Wed Aug 7 18:01:00 GMT 2019


On Wed, Aug 7, 2019 at 1:29 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> 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.
>

When I look at such instruction, I should be able to tell what it is without
checking if AVX512VL is enabled.

-- 
H.J.



More information about the Binutils mailing list