[X86][SSE] Remove most of vector CTTZ custom lowering and use LegalizeDAG instead.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 13 Oct 2018 16:11:15 +0000 (16:11 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 13 Oct 2018 16:11:15 +0000 (16:11 +0000)
commitc5d7c6e5f68476fae3144fb2500bbf6d807555b3
treea317237ec8367ca93550704485cc31ed9ba44ccd
parent3d22fbd785eb934d94133020195bd9f268f654f4
[X86][SSE] Remove most of vector CTTZ custom lowering and use LegalizeDAG instead.

There is one remnant - AVX1 custom splitting of 256-bit vectors - which is due to a regression where the X86ISD::ANDNP is still performed as a YMM.

I've also tightened the CTLZ or CTPOP lowering in SelectionDAGLegalize::ExpandBitCount to require a legal CTLZ - it doesn't affect existing users and fixes an issue with AVX512 codegen.

llvm-svn: 344457
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp