llvm-project/llvm/test/Analysis/CostModel
Charlie Turner 7968b981bf [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
2015-11-17 17:25:15 +00:00
..
AArch64 [CostModel][AArch64] Remove amortization factor for some of the vector select instructions 2015-09-09 15:35:02 +00:00
ARM [ARM] Don't pessimize i32 vselect. 2015-11-17 17:25:15 +00:00
PowerPC [PowerPC] Include the permutation cost for unaligned vector loads 2015-09-03 21:23:18 +00:00
X86 [CostModel] Fixed AVX integer shift costs 2015-10-17 13:23:38 +00:00
no_info.ll Roll forward r243250 2015-07-26 19:10:03 +00:00