[PATCH] D69111: [X86] Emit KTEST when possible

David Zarzycki via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 17 11:11:23 PDT 2019


davezarzycki added a comment.

I agree that masked compare instructions are an important code density optimization. That being said, over reliance on this optimization can decrease overall instruction parallelism due to over-serialization of the instruction stream. If we can trust Agner Fog's data, the AVX512 comparison instructions have 3 cycle latency and a throughput of 1 instruction per cycle on SKX (and later), and 2 cycle latency and 2 instructions/cycle on KNL (and later). Therefore code before this change would needlessly serialize comparison instructions when they could run in parallel.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69111/new/

https://reviews.llvm.org/D69111





More information about the llvm-commits mailing list