[PATCH] D30866: [X86] Recognize AVX2 gather instructions during lowering so we can modify the source input when the mask is all ones
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 11 10:06:33 PST 2017
craig.topper created this revision.
This patch implements AVX2 gather lowering the same way we do for AVX-512. This way we can recognize when the mask is all ones and change the source to undef. I also copied the forcing the source to zero if it was undef and the mask is not all ones. Not sure how important that is for either avx2 or avx512.
Unfortunately, due to the way fast isel works we are unable to recognize the mask being all ones and instead ended up forcing the source to zero even though the mask is all ones.
https://reviews.llvm.org/D30866
Files:
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86IntrinsicsInfo.h
test/CodeGen/X86/avx2-gather.ll
test/CodeGen/X86/avx2-intrinsics-fast-isel.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30866.91476.patch
Type: text/x-patch
Size: 17620 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170311/0be0b7cb/attachment.bin>
More information about the llvm-commits
mailing list