Unify UNSPEC_MASKED_EQ/GT to the form of UNSPEC_PCMP.
Currently for evex vpcmpeqb instruction, we have two forms of rtl
template representation, one is (unspec [op1 op2] UNSPEC_MASK_EQ), the
other is (unspec [op1, op2, const_int 0] UNSPEC_PCMP), which increases
the maintenance burden, such as optimization (not: vpcmpeqb)
to (vpcmpneqb) requires two define_insn_and_split to match the two
forms respectively, this patch removes UNSPEC_MASK_EQ/GT, unifying
them into the form of UNSPEC_PCMP.
gcc/ChangeLog:
* config/i386/sse.md (*<avx512>_ucmp<mode>3_1): Change from
define_split to define_insn_and_split.
(*avx2_eq<mode>3): Removed.
(<avx512>_eq<mode>3<mask_scalar_merge_name>): Adjust pattern
(<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Rename to ..
(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): .. this, and
adjust pattern.
(*avx2_gt<mode>3): Removed.
(<avx512>_gt<mode>3<mask_scalar_merge_name>): Change from
define_insn to define_expand, and adjust pattern.
(UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT): Removed.