https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98348

--- Comment #24 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by hongtao Liu
<liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:d5e7b9fd184c22464d8724ff748e1f7ce0cd6bce

commit r11-9455-gd5e7b9fd184c22464d8724ff748e1f7ce0cd6bce
Author: liuhongt <hongtao....@intel.com>
Date:   Mon Aug 30 15:05:14 2021 +0800

    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:

            PR target/98348
            * 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.

    gcc/testsuite/ChangeLog:

            PR target/98348
            * gcc.target/i386/avx512bw-vpcmpeqb-1.c: Adjust testcase.
            * gcc.target/i386/avx512bw-vpcmpeqw-1.c: Ditto.
            * gcc.target/i386/avx512bw-vpcmpgtb-1.c: Ditto.
            * gcc.target/i386/avx512bw-vpcmpgtw-1.c: Ditto.
            * gcc.target/i386/avx512f-vpcmpeqd-1.c: Ditto.
            * gcc.target/i386/avx512f-vpcmpeqq-1.c: Ditto.
            * gcc.target/i386/avx512f-vpcmpgtd-1.c: Ditto.
            * gcc.target/i386/avx512f-vpcmpgtq-1.c: Ditto.
            * gcc.target/i386/avx512vl-vpcmpeqd-1.c: Ditto.
            * gcc.target/i386/avx512vl-vpcmpeqq-1.c: Ditto.
            * gcc.target/i386/avx512vl-vpcmpgtd-1.c: Ditto.
            * gcc.target/i386/avx512vl-vpcmpgtq-1.c: Ditto.
            * gcc.target/i386/bitwise_mask_op-1.c: Ditto.
            * gcc.target/i386/bitwise_mask_op-2.c: Ditto.

Reply via email to