]> granicus.if.org Git - llvm/commit
[X86][AVX512VPOPCNTDQ] Improve support for v16i8/v8i16/v16i16/ CTPOP
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 2 Jul 2017 19:32:37 +0000 (19:32 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 2 Jul 2017 19:32:37 +0000 (19:32 +0000)
commitafebd3ffb54e5250d2a44a7a8c47f3dd0d5a604b
tree7fd690c35be55ebf5b1d1b52e375c8a9b65c0165
parent7b3091fec413a5d3f1d8d8be4d193ee6624f0607
[X86][AVX512VPOPCNTDQ] Improve support for v16i8/v8i16/v16i16/ CTPOP

Zero extend to v16i32/v8i64, use VPOPCNTDQ instructions and truncate back.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306990 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-popcnt-128.ll
test/CodeGen/X86/vector-popcnt-256.ll
test/CodeGen/X86/vector-popcnt-512.ll
test/CodeGen/X86/vector-tzcnt-128.ll
test/CodeGen/X86/vector-tzcnt-256.ll
test/CodeGen/X86/vector-tzcnt-512.ll