bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/18700] Wrong code generated on i386 for instructions with AVX-5


From: lili.cui at intel dot com
Subject: [Bug gas/18700] Wrong code generated on i386 for instructions with AVX-512 {sae}
Date: Wed, 06 Nov 2024 08:48:25 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18700

--- Comment #4 from lili.cui at intel dot com <lili.cui at intel dot com> ---
This is not an issue anymore.

I tested these instructions on a machine with AVX512 and they are correct.

0000000000001222 <foo>:
    1222:       f3 0f 1e fa             endbr64
    1226:       55                      push   %rbp
    1227:       48 89 e5                mov    %rsp,%rbp
    122a:       62 f1 f5 18 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1
    1231:       62 f1 f5 48 c2 ca 00    vcmpeqpd %zmm2,%zmm1,%k1
    1238:       62 f1 f7 18 c2 ca 00    vcmpeqsd {sae},%xmm2,%xmm1,%k1
    123f:       62 f1 f7 08 c2 ca 00    vcmpeqsd %xmm2,%xmm1,%k1
    1246:       62 f1 f5 38 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1
    124d:       5d                      pop    %rbp
    124e:       c3                      ret

For "62 f1 f5 38 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1"

I think when reg-reg and EVEX.b is 1, vcmpeqpd will ignore EVEX.L'L(I tested
them in the foo), and when EVEX.b is 0,  EVEX.L'L makes sense.

Thanks to Michael for pointing out the inconsistencies in SDM. I checked them
one by one in SDM and found that they have all been corrected. Now the logic is
clearer.


For vcmpeqpd :
  1c:   62 f1 f5 18 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1
  23:   62 f1 f5 38 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1
  2a:   62 f1 f5 58 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1
  31:   62 f1 f5 78 c2 ca 00    vcmpeqpd {sae},%zmm2,%zmm1,%k1

I think when reg-reg and EVEX.b is 1, vcmpeqpd will ignore EVEX.L'L(I tested
them in the foo), and when EVEX.b is 0,  EVEX.L'L makes sense.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]