[Bug target/100648] Optimize away x<0 as mask argument of a blend for AVX512 mask

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jun 28 01:28:38 GMT 2021


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

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuhongt@gcc.gnu.org>:

https://gcc.gnu.org/g:3f1a08d9d731975d4061c306837ab28d52f37c7e

commit r12-1835-g3f1a08d9d731975d4061c306837ab28d52f37c7e
Author: liuhongt <hongtao.liu@intel.com>
Date:   Mon May 24 10:57:52 2021 +0800

    For 128/256-bit vec_cond_expr, When mask operands is lt reg const0_rtx,
blendv can be used instead of avx512 mask.

    gcc/ChangeLog:

            PR target/100648
            * config/i386/sse.md (*avx_cmp<mode>3_lt): New
            define_insn_and_split.
            (*avx_cmp<mode>3_ltint): Ditto.
            (*avx2_pcmp<mode>3_3): Ditto.
            (*avx2_pcmp<mode>3_4): Ditto.
            (*avx2_pcmp<mode>3_5): Ditto.

    gcc/testsuite/ChangeLog:

            PR target/100648
            * g++.target/i386/avx2-pr54700-2.C: Adjust testcase.
            * g++.target/i386/avx512vl-pr54700-1a.C: New test.
            * g++.target/i386/avx512vl-pr54700-1b.C: New test.
            * g++.target/i386/avx512vl-pr54700-2a.C: New test.
            * g++.target/i386/avx512vl-pr54700-2b.C: New test.
            * gcc.target/i386/avx512vl-pr100648.c: New test.
            * gcc.target/i386/avx512vl-blendv-1.c: New test.
            * gcc.target/i386/avx512vl-blendv-2.c: New test.


More information about the Gcc-bugs mailing list