[PATCH] D93243: [FPEnv][AMDGPU] Disable FSUB(-0,X)->FNEG(X) DAGCombine when subnormals are flushed

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 15 14:02:58 PST 2020


arsenm added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:13375
+      DenormalMode DenormMode = DAG.getDenormalMode(VT);
+      if (DenormMode == DenormalMode::getIEEE()) {
+        if (SDValue NegN1 =
----------------
cameron.mcinally wrote:
> arsenm wrote:
> > This will also change the behavior on signaling nans, which will no longer quiet
> Good catch. 
> 
> I'm playing with a change to only allow this transform when NoNaNs are present, but it's breaking a lot of tests across a number of targets. How would you feel about leaving that change to a separate patch? I think this subnormal Diff is a step in the right direction, and doesn't regress from the current behavior.
Should get a fixme at least (we also have an isKnownNeverSNan although it's fairly limited)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93243



More information about the llvm-commits mailing list