This patch adds MachineCombiner patterns for transforming
(fsub (fmul x y) z) into (fma x y (fneg z)). This has a lower
latency on micro architectures where fneg is cheap.
Patch based on work by George Steed.
Paths
| Differential D40306
[AArch64] Add patterns to replace fsub fmul with fma fneg. ClosedPublic Authored by fhahn on Nov 21 2017, 7:51 AM.
Details Summary This patch adds MachineCombiner patterns for transforming Patch based on work by George Steed.
Diff Detail Event TimelineHerald added subscribers: kristof.beyls, javed.absar, aemerson. · View Herald TranscriptNov 21 2017, 7:51 AM fhahn added a parent revision: D40307: [MachineCombiner] Add up latencies of all instructions in new pattern..Nov 21 2017, 7:54 AM Comment Actions LGTM
This revision is now accepted and ready to land.Nov 27 2017, 8:28 AM
Revision Contents
Diff 124373 include/llvm/CodeGen/MachineCombinerPattern.h
lib/Target/AArch64/AArch64InstrInfo.cpp
test/CodeGen/AArch64/aarch64-combine-fmul-fsub.mir
|
Please, sort the 2 lines above alphabetically.