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 5/9] x86: replace NoRex64 on VEX-encoded insns


On Wed, Mar 4, 2020 at 2:06 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> When the template specifies any of the possible VexW settings, we can
> use this instead of a separate NoRex64 to suppress the setting of REX_W.
> Note that this ends up addressing an inconsistency between VEX- and
> EVEX-encoded VEXTRACTPS, VPEXTR{B,W}, and VPINSR{B,W} - while the former
> avoided setting VEX.W, the latter pointlessly set EVEX.W when there is a
> 64-bit GPR operand. Adjust the testcase to cover both cases.
>
> Convert VexW= to their respective VexW* on lines touched anyway.
>
> gas/
> 2020-03-XX  Jan Beulich  <jbeulich@suse.com>
>
>         * config/tc-i386.c (process_suffix): Exlucde !vexw insns
>         alongside !norex64 ones.
>         * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
>         with both 32- and 64-bit GPR operands.
>         * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
>         32- and 64-bit GPR operands.
>         * testsuite/gas/i386/x86-64-avx512bw-intel.d,
>         testsuite/gas/i386/x86-64-avx512bw.d,
>         testsuite/gas/i386/x86-64-avx512f-intel.d,
>         testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
>
> opcodes/
> 2020-03-XX  Jan Beulich  <jbeulich@suse.com>
>
>         * i386-opc.tbl (movq): Drop NoRex64 from XMM/XMM SSE2AVX variants.
>         (movmskps, pextrw, pinsrw, pmovmskb, movmskpd, extractps,
>         pextrb, pinsrb, roundsd): Drop NoRex64 and where applicable use
>         VexW0 on SSE2AVX variants.
>         (vmovq): Drop NoRex64 from XMM/XMM variants.
>         (vextractps, vmovmskpd, vmovmskps, vpextrb, vpextrw, vpinsrb,
>         vpinsrw, vpmovmskb, vroundsd, vpmovmskb): Drop NoRex64 and where
>         applicable use VexW0.
>         * i386-tbl.h: Re-generate.
> ---
> In principle this paves the way for folding NoRex64 with some VEX-only
> attribute bit, as there's no VEX-or-alike insn left with NoRex64 set
> (and following the underlying model there also isn't going to be).

OK.

Thanks.

-- 
H.J.


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