diff options
author | Hal Finkel <hfinkel@anl.gov> | 2014-04-04 23:51:18 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2014-04-04 23:51:18 +0000 |
commit | de0b413ec03d7df83cb2e0896b4ce2c19c6373cf (patch) | |
tree | 6ec2df6c43a2a90c10c55b8150304263bcc1ba49 /llvm/lib/Support/DynamicLibrary.cpp | |
parent | b1308d525c133f256ac8e2f13ec2d3b589a2f3fc (diff) | |
download | llvm-de0b413ec03d7df83cb2e0896b4ce2c19c6373cf.zip llvm-de0b413ec03d7df83cb2e0896b4ce2c19c6373cf.tar.gz llvm-de0b413ec03d7df83cb2e0896b4ce2c19c6373cf.tar.bz2 |
[PowerPC] Adjust load/store costs in PPCTTI
This provides more realistic costs for the insert/extractelement instructions
(which are load/store pairs), accounts for the cheap unaligned Altivec load
sequence, and for unaligned VSX load/stores.
Bad news:
MultiSource/Applications/sgefa/sgefa - 35% slowdown (this will require more investigation)
SingleSource/Benchmarks/McGill/queens - 20% slowdown (we no longer vectorize this, but it was a constant store that was scalarized)
MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2 - 2% slowdown
Good news:
SingleSource/Benchmarks/Shootout/ary3 - 54% speedup
SingleSource/Benchmarks/Shootout-C++/ary - 40% speedup
MultiSource/Benchmarks/Ptrdist/ks/ks - 35% speedup
MultiSource/Benchmarks/FreeBench/neural/neural - 30% speedup
MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt - 20% speedup
Unfortunately, estimating the costs of the stack-based scalarization sequences
is hard, and adjusting these costs is like a game of whac-a-mole :( I'll
revisit this again after we have better codegen for vector extloads and
truncstores and unaligned load/stores.
llvm-svn: 205658
Diffstat (limited to 'llvm/lib/Support/DynamicLibrary.cpp')
0 files changed, 0 insertions, 0 deletions