[PATCH] D70867: [FPEnv] [PowerPC] Alternative lowering ppc_fp128 StrictFP Nodes to libcalls

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 08:50:49 PST 2019


uweigand added a comment.

Otherwise, this all looks good to me.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:1405
+    Hi = DAG.getNode(ISD::STRICT_FP_EXTEND, dl, { NVT, MVT::Other },
+                     { N->getOperand(0), N->getOperand(1) });
+  else
----------------
Do we need to short-circuit this if the source type is already double (like below in the FP_ROUND case)?


================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp:1747
+  ReplaceValueWith(SDValue(N, 0), Expansion);
+  return SDValue();
 }
----------------
I guess this isn't fully correct in the strict case: we should raise an "inexact" exception if the Lo part is nonzero.   On the other hand, the whole ppc_fp128 arithmetic isn't IEEE compliant anyway (and the libcall impementations ignore exceptions AFAIK), so we probably don't care.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70867/new/

https://reviews.llvm.org/D70867





More information about the llvm-commits mailing list