Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AArch64][TTI] Cost model FADD/FSUB/FNEG
This lowers the cost for FADD, FSUB, and FNEG. The motivation is to avoid over-eager SLP vectorisation, that makes it look like SLP vectorisation is profitable but results in significant slow downs. Lowering the cost for scalar FADD/FSUB costs helps the profitability decision to favour the scalar version where vectorisation isn't beneficial. Lowering the cost for these floating point operations makes sense because a lot of other instructions including many shuffles have only a cost of 1; these FADD/FSUB/FNEG instructions should not be twice the cost. Performance results show a 7% improvement for Imagick from SPEC FP 2017, a small improvement in Blender, and unchanged results for the other apps in SPEC. RAJAPerf is neutral and mostly shows no changes. Differential Revision: https://reviews.llvm.org/D146033
- Loading branch information
1 parent
a79ddac
commit d0027e0
Showing
10 changed files
with
228 additions
and
128 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.