[PATCH] D123147: [X86] Enable enableAggressiveFMAFusion to true for FMA capable targets (PR36826)

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 5 12:26:42 PDT 2022


RKSimon added inline comments.


================
Comment at: llvm/test/CodeGen/X86/dag-fmf-cse.ll:12
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    vmulss %xmm1, %xmm0, %xmm0
-; CHECK-NEXT:    vaddss %xmm0, %xmm0, %xmm0
+; CHECK-NEXT:    vmulss %xmm1, %xmm0, %xmm2
+; CHECK-NEXT:    vfmadd213ss {{.*#+}} xmm0 = (xmm1 * xmm0) + xmm2
----------------
craig.topper wrote:
> I guess this was the flaw you were referring to?
> 
> This looks like a regression on Haswell and Broadwell.
> 
> Latencies
> | | HSW | BDW | SKL |
> | vaddss | 3 | 3 | 4 |
> | vmulss | 5 | 3 | 4 |
> | fma | 5 | 5 | 4 |
Yes, I'm not convinced DAGCombine should be folding the fadd(fmul(x,y),fmul(x,y)) case for any target tbh.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D123147



More information about the llvm-commits mailing list