[PATCH] x86/Intel: test non-legacy VCVT{,U}SI2SH insn forms
Cui, Lili
lili.cui@intel.com
Thu May 19 01:21:40 GMT 2022
> -----Original Message-----
> From: Binutils <binutils-bounces+lili.cui=intel.com@sourceware.org> On
> Behalf Of H.J. Lu via Binutils
> Sent: Thursday, May 19, 2022 1:39 AM
> To: Beulich, Jan <JBeulich@suse.com>
> Cc: Binutils <binutils@sourceware.org>
> Subject: Re: [PATCH] x86/Intel: test non-legacy VCVT{,U}SI2SH insn forms
>
> On Mon, Apr 11, 2022 at 11:57 PM Jan Beulich <jbeulich@suse.com> wrote:
> >
> > For an unclear reason corresponding AVX512F tests were apparently not
> > cloned or used as reference here, and instead the bogus legacy forms
> > of the insns (with the embedded rounding specifier not last) were used.
> > ---
> > Ideally the legacy forms wouldn't have been supported by gas in the
> > first place, but I guess it's too late now for correcting this mistake.
> >
> > Note that in some other (pre-FP16) tests we also have some legacy
> > instances left. Perhaps we want to retain those for making sure they
> > continue to work even if modern code better wouldn't use them.
> > Ultimately even those forms aren't MASM-compatible, but I'll get to
> > that later.
> >
Hi Jan, I also found some other similar cases, and I will create a patch to fix them later. Thanks!
gas/testsuite/gas/i386/evex-lig.s: vcvtsi2ss xmm6, xmm5, {rn-sae}, eax # AVX512
gas/testsuite/gas/i386/evex-lig.s: vcvtsi2ss xmm6, xmm5, {rn-sae}, ebp # AVX512
gas/testsuite/gas/i386/evex-lig.s: vcvtusi2ss xmm6, xmm5, {rn-sae}, eax # AVX512
gas/testsuite/gas/i386/evex-lig.s: vcvtusi2ss xmm6, xmm5, {rn-sae}, ebp # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2sd xmm30, xmm29, {rn-sae}, rax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2sd xmm30, xmm29, {rn-sae}, r8 # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2ss xmm30, xmm29, {rn-sae}, eax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2ss xmm30, xmm29, {rn-sae}, ebp # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2ss xmm30, xmm29, {rn-sae}, r13d # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2ss xmm30, xmm29, {rn-sae}, rax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtsi2ss xmm30, xmm29, {rn-sae}, r8 # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2sd xmm30, xmm29, {rn-sae}, rax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2sd xmm30, xmm29, {rn-sae}, r8 # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2ss xmm30, xmm29, {rn-sae}, eax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2ss xmm30, xmm29, {rn-sae}, ebp # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2ss xmm30, xmm29, {rn-sae}, r13d # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2ss xmm30, xmm29, {rn-sae}, rax # AVX512
gas/testsuite/gas/i386/x86-64-evex-lig.s: vcvtusi2ss xmm30, xmm29, {rn-sae}, r8 # AVX512
Lili.
> > --- a/gas/testsuite/gas/i386/avx512_fp16.s
> > +++ b/gas/testsuite/gas/i386/avx512_fp16.s
> > @@ -891,7 +891,7 @@ _start:
> > vcvtsh2usi edx, WORD PTR [ecx+254] #AVX512-FP16 Disp8(7f)
> > vcvtsh2usi edx, WORD PTR [edx-256] #AVX512-FP16 Disp8(80)
> > vcvtsi2sh xmm6, xmm5, edx #AVX512-FP16
> > - vcvtsi2sh xmm6, xmm5, {rn-sae}, edx #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtsi2sh xmm6, xmm5, edx, {rn-sae} #AVX512-FP16 HAS_SAE
> RC_CTRL
> > vcvtsi2sh xmm6, xmm5, DWORD PTR [esp+esi*8+0x10000000]
> #AVX512-FP16
> > vcvtsi2sh xmm6, xmm5, DWORD PTR [ecx] #AVX512-FP16
> > vcvtsi2sh xmm6, xmm5, DWORD PTR [ecx+508] #AVX512-FP16
> Disp8(7f)
> > @@ -972,7 +972,7 @@ _start:
> > vcvtuqq2ph xmm6, ZMMWORD PTR [ecx+8128] #AVX512-FP16
> Disp8(7f)
> > vcvtuqq2ph xmm6{k7}{z}, QWORD PTR [edx-1024]{1to8} #AVX512-
> FP16 BROADCAST_EN Disp8(80) MASK_ENABLING ZEROCTL
> > vcvtusi2sh xmm6, xmm5, edx #AVX512-FP16
> > - vcvtusi2sh xmm6, xmm5, {rn-sae}, edx #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtusi2sh xmm6, xmm5, edx, {rn-sae} #AVX512-FP16 HAS_SAE
> RC_CTRL
> > vcvtusi2sh xmm6, xmm5, DWORD PTR [esp+esi*8+0x10000000]
> #AVX512-FP16
> > vcvtusi2sh xmm6, xmm5, DWORD PTR [ecx] #AVX512-FP16
> > vcvtusi2sh xmm6, xmm5, DWORD PTR [ecx+508] #AVX512-FP16
> Disp8(7f)
> > --- a/gas/testsuite/gas/i386/x86-64-avx512_fp16.s
> > +++ b/gas/testsuite/gas/i386/x86-64-avx512_fp16.s
> > @@ -933,9 +933,9 @@ _start:
> > vcvtsh2usi r12, WORD PTR [rcx+254] #AVX512-FP16 Disp8(7f)
> > vcvtsh2usi r12, WORD PTR [rdx-256] #AVX512-FP16 Disp8(80)
> > vcvtsi2sh xmm30, xmm29, r12 #AVX512-FP16
> > - vcvtsi2sh xmm30, xmm29, {rn-sae}, r12 #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtsi2sh xmm30, xmm29, r12, {rn-sae} #AVX512-FP16 HAS_SAE
> RC_CTRL
> > vcvtsi2sh xmm30, xmm29, edx #AVX512-FP16
> > - vcvtsi2sh xmm30, xmm29, {rn-sae}, edx #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtsi2sh xmm30, xmm29, edx, {rn-sae} #AVX512-FP16 HAS_SAE
> RC_CTRL
> > vcvtsi2sh xmm30, xmm29, DWORD PTR [rbp+r14*8+0x10000000]
> #AVX512-FP16
> > vcvtsi2sh xmm30, xmm29, DWORD PTR [r9] #AVX512-FP16
> > vcvtsi2sh xmm30, xmm29, DWORD PTR [rcx+508] #AVX512-
> FP16 Disp8(7f)
> > @@ -1030,9 +1030,9 @@ _start:
> > vcvtuqq2ph xmm30, ZMMWORD PTR [rcx+8128] #AVX512-FP16
> Disp8(7f)
> > vcvtuqq2ph xmm30{k7}{z}, QWORD PTR [rdx-1024]{1to8}
> #AVX512-FP16 BROADCAST_EN Disp8(80) MASK_ENABLING ZEROCTL
> > vcvtusi2sh xmm30, xmm29, r12 #AVX512-FP16
> > - vcvtusi2sh xmm30, xmm29, {rn-sae}, r12 #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtusi2sh xmm30, xmm29, r12, {rn-sae} #AVX512-FP16 HAS_SAE
> RC_CTRL
> > vcvtusi2sh xmm30, xmm29, edx #AVX512-FP16
> > - vcvtusi2sh xmm30, xmm29, {rn-sae}, edx #AVX512-FP16 HAS_SAE
> RC_CTRL
> > + vcvtusi2sh xmm30, xmm29, edx, {rn-sae} #AVX512-FP16
> HAS_SAE RC_CTRL
> > vcvtusi2sh xmm30, xmm29, DWORD PTR [rbp+r14*8+0x10000000]
> #AVX512-FP16
> > vcvtusi2sh xmm30, xmm29, DWORD PTR [r9] #AVX512-FP16
> > vcvtusi2sh xmm30, xmm29, DWORD PTR [rcx+508] #AVX512-
> FP16 Disp8(7f)
> >
>
> OK.
>
> Thanks.
>
> --
> H.J.
More information about the Binutils
mailing list