[PATCH] D67240: [NOT FOR REVIEW][NOT FOR COMMIT] X86 machine instruction counting

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 5 14:52:25 PDT 2019


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86CountMIAnalysis.cpp:202
+  case X86::CMOV_VR512:
+  case X86::VPCLMULQDQrr:
+  case X86::VPCMOVYrmr:
----------------
Why VPCLMULQDQ?


================
Comment at: llvm/lib/Target/X86/X86CountMIAnalysis.cpp:203
+  case X86::VPCLMULQDQrr:
+  case X86::VPCMOVYrmr:
+  case X86::VPCMOVYrrm:
----------------
VPCMOV is a very different instruction than CMOV_*. VPCMOV is "c ? a : b" evaluated independently for each bit. In IR it would be (c & a) | (~c & b)


================
Comment at: llvm/lib/Target/X86/X86CountMIAnalysis.cpp:211
+  case X86::VPCMOVrrr_REV:
+  case X86::VPCMPBZ128rmi:
+    LLVM_DEBUG(dbgs() << "Found vector conditional move: " << MI << "\n");
----------------
Why is there a CMP in here?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67240





More information about the llvm-commits mailing list