[PATCH] D43515: More math intrinsics for conservative math handling

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 4 10:51:08 PDT 2018


craig.topper added inline comments.


================
Comment at: docs/LangRef.rst:14035
+The '``llvm.experimental.constrained.fptrunc``' intrinsic returns the result of
+a truncating of a floating point operand into a smaller floating point result.
+
----------------
kpn wrote:
> craig.topper wrote:
> > This reads funny. I think it should maybe be "result of truncating a floating point"
> How about if I just copy the text used by the normal fptrunc instruction?
Sure


================
Comment at: docs/LangRef.rst:14069
+The '``llvm.experimental.constrained.fpext``' intrinsic returns the result of
+an enlarging of a floating point operand.
+
----------------
kpn wrote:
> craig.topper wrote:
> > This also reads funny
> Same as fptrunc. I could just copy the text from the fpext instruction?
Sure


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7355
+  if (!IsChained)
+    Res = MorphNodeTo(Node, NewOpc, VTs, { Node->getOperand(0) });
+  else if (IsUnary)
----------------
This doesn't copy the second argument to FP_ROUJND over does it?


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:6376
   SDValue Result;
-  if (FPI.isUnaryOp())
+  if (Opcode == ISD::STRICT_FP_ROUND || Opcode == ISD::STRICT_FP_EXTEND)
+    Result = DAG.getNode(Opcode, sdl, VTs, 
----------------
Is this adding a second argument to STRICT_FP_EXTEND as well? I don't think the non-strict FP_EXTEND has two arguments.


https://reviews.llvm.org/D43515





More information about the llvm-commits mailing list