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

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 15 07:41:03 PST 2020


cameron.mcinally added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:13375
+      DenormalMode DenormMode = DAG.getDenormalMode(VT);
+      if (DenormMode == DenormalMode::getIEEE()) {
+        if (SDValue NegN1 =
----------------
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.


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