[PATCH] D109953: [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
LiuChen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 17 01:54:33 PDT 2021
- Previous message: [PATCH] D109953: [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
- Next message: [PATCH] D109953: [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
LiuChen3 added inline comments.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:47481
// Try to combine the following nodes
// t21: v16f32 = X86ISD::VFMULC/VFCMULC t7, t8
----------------
xbolva00 wrote:
> Do we really need this output here? Simplify it a bit? Something like you wrote "Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)"?
Good idea.
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:47522
SDValue RHS = N->getOperand(1);
SDValue CFmul, FAddOp1;
+ auto GetCFmulFrom = [&CFmul, &AllowContract, &DAG](SDValue N) -> bool {
----------------
pengfei wrote:
> I think we can use `bool IsConj`, `SDValue MulOp0, MulOp0` instead of `CFmul`. Then you don't need to create a temp mul node.
It seems we create more temp node. Is it better?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109953/new/
https://reviews.llvm.org/D109953
- Previous message: [PATCH] D109953: [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
- Next message: [PATCH] D109953: [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the llvm-commits
mailing list