[X86] Prefer `vpternlog` instead of `blendv` for `vselect` on masks.
authorNoah Goldstein <goldstein.w.n@gmail.com>
Tue, 4 Apr 2023 05:14:02 +0000 (00:14 -0500)
committerNoah Goldstein <goldstein.w.n@gmail.com>
Tue, 4 Apr 2023 15:34:42 +0000 (10:34 -0500)
commit4b2be144e170504f62362e044a3c4ad3b24da880
treecdf917736d75a588b5ab5baa267c9c5eb9b52477
parent443825c517c862920756bc2c797e5426df57ce73
[X86] Prefer `vpternlog` instead of `blendv` for `vselect` on masks.

This rarely comes up because most `vselect` are lowered with actually
avx512 mask instructions, but is an improvement in the rare cases.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D145221
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll
llvm/test/CodeGen/X86/var-permute-256.ll
llvm/test/CodeGen/X86/vector-shuffle-v1.ll
llvm/test/CodeGen/X86/vselect-avx.ll
llvm/test/CodeGen/X86/vselect-pcmp.ll