[PATCH] D44370: [X86] Combine vXi64 multiplies to MULDQ/MULUDQ during DAG combine instead of lowering.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 7 06:22:32 PDT 2018


RKSimon accepted this revision.
RKSimon added a comment.
This revision is now accepted and ready to land.

LGTM - with a few minors



================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:14981
+        return C->getZExtValue();
+    return -1;
+  };
----------------
You're setting the return type as uint64_t but returning -1 ?


================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:15001
+  for (unsigned i = 1; i != NumElems; ++i) {
+    if (Offset + i != checkElem(N->getOperand(i)))
+      return SDValue();
----------------
(Offset + i) for clarity


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:33117
+  if (DAG.MaskedValueIsZero(N0, Mask) && DAG.MaskedValueIsZero(N1, Mask)) {
+    auto PMULDQBuilder = [](SelectionDAG &DAG, const SDLoc &DL,
+                            ArrayRef<SDValue> Ops) {
----------------
RKSimon wrote:
> PMULUDQBuilder ?
PMULUDQBuilder ?


https://reviews.llvm.org/D44370





More information about the llvm-commits mailing list