[PATCH] D40335: [WIP] X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 25 12:17:51 PST 2017


craig.topper added a comment.

Is this really testing both ways of doing this? There's one from shuffles and one from build_vector.

According to the coverage build bot, the build_vector path of fmaddsub isn't tested today.

http://lab.llvm.org:8080/coverage/coverage-reports/llvm/coverage/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/lib/Target/X86/X86ISelLowering.cpp.html#L7505



================
Comment at: lib/Target/X86/X86ISelLowering.cpp:7330
+/// parameters \p Opnd0 and \p Opnd1.
 static bool isAddSub(const BuildVectorSDNode *BV,
                      const X86Subtarget &Subtarget, SelectionDAG &DAG,
----------------
Rename to isAddSubOrSubAdd?


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:7333
+                     SDValue &Opnd0, SDValue &Opnd1,
+                     bool isSubAdd = false) {
 
----------------
Call this matchSubAdd instead of isSubAdd.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:29730
   // If we have legalized the vector types, look for blends of FADD and FSUB
-  // nodes that we can fuse into an ADDSUB node.
+  // nodes that we can fuse into an ADDSUB or SUBADD node.
   if (TLI.isTypeLegal(VT)) {
----------------
This should probably be "ADDSUB, FMADDSUB, or FMSUBADD"


https://reviews.llvm.org/D40335





More information about the llvm-commits mailing list