[llvm] [X86] Honor rewrite semantics of `contract` in X86ISel combines (PR #174440)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 6 06:08:05 PST 2026
================
@@ -56639,6 +56602,10 @@ static SDValue combineFMA(SDNode *N, SelectionDAG &DAG,
// Combine FMSUBADD(A, B, FNEG(C)) -> FMADDSUB(A, B, C)
static SDValue combineFMADDSUB(SDNode *N, SelectionDAG &DAG,
TargetLowering::DAGCombinerInfo &DCI) {
+ // FIXME: We should check for contract to perform this combine; but this
+ // breaks lowering of certain intrinsics that depend on this combine being
+ // perfomed (i.e.llvm.x86.avx512.mask3.vfmsubadd).
----------------
RKSimon wrote:
is this still relevant? its purely about negating the accumulator operand
https://github.com/llvm/llvm-project/pull/174440
More information about the llvm-commits
mailing list