diff options
author | Charlie Turner <charlie.turner@arm.com> | 2015-11-17 17:25:15 +0000 |
---|---|---|
committer | Charlie Turner <charlie.turner@arm.com> | 2015-11-17 17:25:15 +0000 |
commit | 7968b981bf094f7bb2942a8389de4bf496676cc4 (patch) | |
tree | 2ab42375471481e475a82934e37160e0a6c38e0c /clang/lib/Driver/Tools.cpp | |
parent | 431e1143ec79b0f05a98a32ad028a1e26e1ecd2e (diff) | |
download | llvm-7968b981bf094f7bb2942a8389de4bf496676cc4.zip llvm-7968b981bf094f7bb2942a8389de4bf496676cc4.tar.gz llvm-7968b981bf094f7bb2942a8389de4bf496676cc4.tar.bz2 |
[ARM] Don't pessimize i32 vselect.
The underlying issues surrounding codegen for 32-bit vselects have been resolved. The pessimistic costs for 64-bit vselects remain due to the bad
scalarization that is still happening there.
I tested this on A57 in T32, A32 and A64 modes. I saw no regressions, and some improvements.
From my benchmarks, I saw these improvements in A57 (T32)
spec.cpu2000.ref.177_mesa 5.95%
lnt.SingleSource/Benchmarks/Shootout/strcat 12.93%
lnt.MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32 11.89%
I also measured A57 A32, A53 T32 and A9 T32 and found no performance regressions. I see much bigger wins in third-party benchmarks with this change
Differential Revision: http://reviews.llvm.org/D14743
llvm-svn: 253349
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions