Add popcount<mode> expander to enable popcount auto vectorization under AVX512BITALG...
commit81d590760c31e11e3a09135f4e182aea232035f2
authorHongyu Wang <hongyu.wang@intel.com>
Wed, 11 Nov 2020 01:41:13 +0000 (11 09:41 +0800)
committerliuhongt <hongtao.liu@intel.com>
Thu, 3 Dec 2020 02:02:14 +0000 (3 10:02 +0800)
tree57f48ec126c1f100e1a9a314df215499a497a6ed
parentc05ece92c6153289fd6055e31e791e59b8ac4121
Add popcount<mode> expander to enable popcount auto vectorization under AVX512BITALG/AVX512POPCNTDQ target.

gcc/ChangeLog

PR target/97770
* config/i386/sse.md (popcount<mode>2): New expander
for SI/DI vector modes.
(popcount<mode>2): Likewise for QI/HI vector modes.

gcc/testsuite/ChangeLog

PR target/97770
* gcc.target/i386/avx512bitalg-pr97770-1.c: New test.
* gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Likewise.
* gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Likewise.
* gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Likewise.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/avx512bitalg-pr97770-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vpopcntdq-pr97770-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vpopcntdq-pr97770-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c [new file with mode: 0644]