[PATCH] D36335: Add ‘llvm.experimental.constrained.fma‘ Intrinsic

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 21 14:10:58 PDT 2017


craig.topper added a comment.

I'm wondering if X86 really needs X86ISD::FMADD opcode at all. We definitely need FNMADD, FMSUB, and FNMSUB. But I don't think there's any real difference between X86ISD::FMADD and ISD::FMA.



================
Comment at: include/llvm/CodeGen/ISDOpcodes.h:266
     STRICT_FADD, STRICT_FSUB, STRICT_FMUL, STRICT_FDIV, STRICT_FREM,
-
+    STRICT_FMA,
     /// Constrained versions of libm-equivalent floating point intrinsics.
----------------
Please keep the blank line here.


================
Comment at: lib/Target/X86/X86ISelDAGToDAG.cpp:2016
+  case ISD::FMA: {
+    SDValue ISDFMA = CurDAG->getNode(X86ISD::FMADD, SDLoc(Node),
+                                     Node->getValueType(0), Node->getOperand(0),
----------------
Add a comment that this is here because STRICT_FMA is turned into FMA after legalization and DAG combine.


Repository:
  rL LLVM

https://reviews.llvm.org/D36335





More information about the llvm-commits mailing list