[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