[PATCH] D27825: [AVX-512][InstCombine] Teach InstCombine to converted masked vpermv intrinsics into shufflevector instructions

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 09:16:03 PST 2016


RKSimon accepted this revision.
RKSimon added a comment.
This revision is now accepted and ready to land.

In https://reviews.llvm.org/D27825#628861, @craig.topper wrote:

> Simon, you mean turning other shuffles into VPERMV/VPERMV3? This patch would tend to prevent usage of VPERMV/VPERMV3 in favor of other shuffles. But may breaking masking so to recover masking we'd need to turn those other shuffles in to VPERMV/VPERMV3.


I meant using combineBitcastForMaskedOp to rescale VPERMV/VPERMV3 constant shuffle masks (if legal) so that they can combine with a select mask if its there - so a vpermv <8 x i64> becomes <16 x i32> etc.

Anyway, this would be a separate task and shouldn't have that much effect on this, but would allow us to relax the strict bail out at the start of combineX86ShuffleChain.

LGTM


https://reviews.llvm.org/D27825





More information about the llvm-commits mailing list