OSDN Git Service

[X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD....
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 10 Jul 2020 10:20:46 +0000 (11:20 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 10 Jul 2020 11:13:34 +0000 (12:13 +0100)
llvm/lib/Target/X86/X86ISelLowering.cpp

index 4d3b0ed..695b6ef 100644 (file)
@@ -39301,8 +39301,7 @@ static SDValue combineReductionToHorizontal(SDNode *ExtElt, SelectionDAG &DAG,
   }
 
   // Only use (F)HADD opcodes if they aren't microcoded or minimizes codesize.
-  bool OptForSize = DAG.shouldOptForSize();
-  if (!Subtarget.hasFastHorizontalOps() && !OptForSize)
+  if (!shouldUseHorizontalOp(true, DAG, Subtarget))
     return SDValue();
 
   unsigned HorizOpcode = Opc == ISD::ADD ? X86ISD::HADD : X86ISD::FHADD;