[AArch64][LoadStoreOptimizer] Generate LDP + SXTW instead of LD[U]R + LD[U]RSW.
authorQuentin Colombet <qcolombet@apple.com>
Fri, 6 Mar 2015 22:42:10 +0000 (22:42 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Fri, 6 Mar 2015 22:42:10 +0000 (22:42 +0000)
commit05a3f9120a394d095c031a2d1b6d19ff90f7e8ba
treef8efa0c796c381b56d181f7eb6e7e6c07318cd38
parent5bac8f9b9535d9fa8d7827efad2296f315145d13
[AArch64][LoadStoreOptimizer] Generate LDP + SXTW instead of LD[U]R + LD[U]RSW.
Teach the load store optimizer how to sign extend a result of a load pair when
it helps creating more pairs.
The rational is that loads are more expensive than sign extensions, so if we
gather some in one instruction this is better!

<rdar://problem/20072968>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231527 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
test/CodeGen/AArch64/arm64-ldp.ll