https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122320
Hongtao Liu <liuhongt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |liuhongt at gcc dot gnu.org
--- Comment #2 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> ```
> Trying 17 -> 27:
> 17: r115:V64QI=const_vector
> 27: r121:DI=unspec[r115:V64QI,r115:V64QI,0x4] 60
> REG_DEAD r115:V64QI
> REG_EQUAL unspec[const_vector,const_vector,0x4] 60
> Failed to match this instruction:
> (set (reg:DI 121)
> (unspec:DI [
> (const_vector:V64QI [
> (const_int 0 [0]) repeated x64
> ]) repeated x2
> (const_int 4 [0x4])
> ] UNSPEC_PCMP))
>
> ```
Yes, for any 2 same integer operands for avx512 kmask comparison, it can should
be simplified.(floating pointing could raise exception for NAN or denormal
values).