diff options
author | Kirill Yukhin <kirill.yukhin@gmail.com> | 2017-12-01 06:25:26 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2017-12-01 06:25:26 +0000 |
commit | bddb9bb1c7c4b7c7973ddde13c4f52121db923ea (patch) | |
tree | 19b089df05ba01e17c93f14dab2795170cdee6ef | |
parent | 1d1e69e934d629a1cf0cfa728cd13bd9a43b7ffe (diff) | |
download | gcc-bddb9bb1c7c4b7c7973ddde13c4f52121db923ea.zip gcc-bddb9bb1c7c4b7c7973ddde13c4f52121db923ea.tar.gz gcc-bddb9bb1c7c4b7c7973ddde13c4f52121db923ea.tar.bz2 |
Replace __popcntq with two _popcnt32.
gcc/testsuite/
* gcc.target/i386/avx512f-vpcompressb-2.c: Fix popcnt for 64b case.
From-SVN: r255292
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/avx512f-vpcompressb-2.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7421118..66ca1d2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-11-17 Kirill Yukhin <kirill.yukhin@gmail.com> + + * gcc.target/i386/avx512f-vpcompressb-2.c: Fix popcnt for 32-bit mode. + 2017-12-01 Jakub Jelinek <jakub@redhat.com> PR c/83222 diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpcompressb-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpcompressb-2.c index bd1fb45..4f15963 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-vpcompressb-2.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-vpcompressb-2.c @@ -4,7 +4,7 @@ /* { dg-require-effective-target avx512vbmi2 } */ #define AVX512F - +#include <stdio.h> #define AVX512VBMI2 #include "avx512f-helper.h" @@ -47,7 +47,8 @@ TEST (void) // Swt if (AVX512F_LEN == 512) - mask_bit_count = __popcntq(mask); + mask_bit_count = _popcnt32((int)(mask & (((long long)1 << 32) - 1))) + + _popcnt32((int)((long long)mask >> 32)); else mask_bit_count = __popcntd(mask); compressed_mask = ((long long)1 << mask_bit_count) - 1; |