mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-03 18:32:50 +00:00
Fixed logic to enable complex FMA formation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235508 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d311051513
commit
829fcadede
@ -7164,7 +7164,7 @@ SDValue DAGCombiner::visitFADDForFMACombine(SDNode *N) {
|
||||
N0));
|
||||
}
|
||||
|
||||
if (LookThroughFPExt) {
|
||||
if (UnsafeFPMath && LookThroughFPExt) {
|
||||
// fold (fadd (fma x, y, (fpext (fmul u, v))), z)
|
||||
// -> (fma x, y, (fma (fpext u), (fpext v), z))
|
||||
auto FoldFAddFMAFPExtFMul = [&] (
|
||||
@ -7415,7 +7415,7 @@ SDValue DAGCombiner::visitFSUBForFMACombine(SDNode *N) {
|
||||
N21, N0));
|
||||
}
|
||||
|
||||
if (LookThroughFPExt) {
|
||||
if (UnsafeFPMath && LookThroughFPExt) {
|
||||
// fold (fsub (fma x, y, (fpext (fmul u, v))), z)
|
||||
// -> (fma x, y (fma (fpext u), (fpext v), (fneg z)))
|
||||
if (N0.getOpcode() == PreferredFusedOpcode) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user