[llvm] f12f9be - [x86] propagate FMF from x86-specific intrinsic nodes to others during combining
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Wed May 19 11:25:16 PDT 2021
Author: Sanjay Patel
Date: 2021-05-19T14:25:09-04:00
New Revision: f12f9beb04289f3ea1c1e9112609172e0b1b749b
URL: https://github.com/llvm/llvm-project/commit/f12f9beb04289f3ea1c1e9112609172e0b1b749b
DIFF: https://github.com/llvm/llvm-project/commit/f12f9beb04289f3ea1c1e9112609172e0b1b749b.diff
LOG: [x86] propagate FMF from x86-specific intrinsic nodes to others during combining
This is another FMF gap exposed by D90901, but I don't see a way
to show the difference in a regression test as with:
f66ba4c
6025663
We will see an asm difference if we add a test as part of D90901.
Added:
Modified:
llvm/lib/Target/X86/X86ISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 4b05415df61d..893c7ab20782 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -48063,6 +48063,8 @@ static SDValue combineFMA(SDNode *N, SelectionDAG &DAG,
unsigned NewOpcode =
negateFMAOpcode(N->getOpcode(), NegA != NegB, NegC, false);
+ // Propagate fast-math-flags to new FMA node.
+ SelectionDAG::FlagInserter FlagsInserter(DAG, Flags);
if (IsStrict) {
assert(N->getNumOperands() == 4 && "Shouldn't be greater than 4");
return DAG.getNode(NewOpcode, dl, {VT, MVT::Other},
More information about the llvm-commits
mailing list