]> granicus.if.org Git - llvm/commitdiff
[X86] Add a couple TODOs about missing coverage/features motivated by D40335
authorCraig Topper <craig.topper@intel.com>
Tue, 12 Dec 2017 18:39:04 +0000 (18:39 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 12 Dec 2017 18:39:04 +0000 (18:39 +0000)
D40335 was wanting to add FMSUBADD support, but it discovered that there are two pieces of code to make FMADDSUB and only one of those is tested. So I've asked that review to implement the one path until we get tests that test the existing code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320507 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index cb98850133ad5a6f21a1f422e1c63fa0baf32c21..166a5a9a252932aefd7e68bf641d0dc9f3273949 100644 (file)
@@ -7499,6 +7499,8 @@ static SDValue lowerToAddSubOrFMAddSub(const BuildVectorSDNode *BV,
 
   // Try to generate X86ISD::FMADDSUB node here.
   SDValue Opnd2;
+  // TODO: According to coverage reports, the FMADDSUB transform is not
+  // triggered by any tests.
   if (isFMAddSub(Subtarget, DAG, Opnd0, Opnd1, Opnd2))
     return DAG.getNode(X86ISD::FMADDSUB, DL, VT, Opnd0, Opnd1, Opnd2);
 
@@ -7844,6 +7846,8 @@ X86TargetLowering::LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const {
     return VectorConstant;
 
   BuildVectorSDNode *BV = cast<BuildVectorSDNode>(Op.getNode());
+  // TODO: Support FMSUBADD here if we ever get tests for the FMADDSUB
+  // transform here.
   if (SDValue AddSub = lowerToAddSubOrFMAddSub(BV, Subtarget, DAG))
     return AddSub;
   if (SDValue HorizontalOp = LowerToHorizontalOp(BV, Subtarget, DAG))