This is an archive of the discontinued LLVM Phabricator instance.

[CostModel][ARM] Increase cost of insert/extract operations
ClosedPublic

Authored by sbaranga on Aug 14 2015, 4:45 AM.

Details

Summary

This change limits the minimum cost of an insert/extract
element operation to 2 in cases where this would result
in mixing of NEON and VFP code.

Diff Detail

Event Timeline

sbaranga updated this revision to Diff 32148.Aug 14 2015, 4:45 AM
sbaranga retitled this revision from to [CostModel][ARM] Increase cost of insert/extract operations.
sbaranga updated this object.
sbaranga added a subscriber: llvm-commits.

Tested with lnt/spec2000 on Cortex-A57 and Cortex-A53. I've seen only improvements (and some noise):

Cortex-A57:
lnt.MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt -18.69%
lnt.MultiSource/Benchmarks/Bullet/bullet -1.59%

Cortex-A53:
spec.cpu2000.ref.300_twolf -2.40% -- This could be noise?

rengolin accepted this revision.Aug 14 2015, 7:45 AM
rengolin added a reviewer: rengolin.

LGTM. Thanks!

lib/Target/ARM/ARMTargetTransformInfo.cpp
266

Excellent! I meant to look at that 2.5 years ago! :)

This revision is now accepted and ready to land.Aug 14 2015, 7:45 AM
mcrosier edited edge metadata.Aug 14 2015, 7:49 AM
mcrosier added a subscriber: mssimpso.
sbaranga closed this revision.Aug 17 2015, 8:57 AM

Thanks, r245225

-Silviu