[PATCH] D33169: [X86] Adding vpopcntd and vpopcntq instructions

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 15 13:29:08 PDT 2017


craig.topper added a comment.

Do we have a generic ctpop test like we do for tzcnt and lzcnt? If so should we just add command lines to that instead of a new intrinsic test?



================
Comment at: lib/Support/Host.cpp:1401
   Features["avx512vl"] = HasLeaf7 && ((EBX >> 31) & 1) && HasAVX512Save;
+  Features["avx512vpopcntdq"] = HasLeaf7 && ((EBX >> 14) & 1) && HasAVX512Save;
 
----------------
I think we're trying to keep the checks in order by bit position here. Can you move this up?


================
Comment at: lib/Target/X86/X86InstrInfo.cpp:7042
+  case X86::VPOPCNTDZrr:   case X86::VPOPCNTDZrm:
+  case X86::VPOPCNTQZrr:   case X86::VPOPCNTQZrm:
   case X86::TZCNT16rr: case X86::TZCNT16rm:
----------------
I think this also an EFLAGS related piece of code. So the vector pop br shouldn't be here.


Repository:
  rL LLVM

https://reviews.llvm.org/D33169





More information about the llvm-commits mailing list