This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/82855] AVX512: replace OP+movemask with OP_mask+ktest
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 06 Nov 2017 13:00:41 +0000
- Subject: [Bug target/82855] AVX512: replace OP+movemask with OP_mask+ktest
- Auto-submitted: auto-generated
- References: <bug-82855-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82855
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 42550
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42550&action=edit
gcc8-pr82855-1.patch
Untested patch, part 3. With these 3, I get for the second function
with -O2 -mavx512{vl,dq} -mtune=intel:
vpxord %xmm0, %xmm0, %xmm0
xorl %eax, %eax
vpcmpeqd (%rdi), %ymm0, %k1
ktestb %k1, %k1
sete %al
With the generic tuning, the load is performed separately from the comparison.