[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