[ARM] Split large widening MVE loads
commit5cca0bd17edea54fc4e8c0ce59decce0fc92187f
authorDavid Green <david.green@arm.com>
Tue, 24 Sep 2019 10:53:09 +0000 (24 10:53 +0000)
committerDavid Green <david.green@arm.com>
Tue, 24 Sep 2019 10:53:09 +0000 (24 10:53 +0000)
treedeac62c54f0cffb52ae9f79364b4688e739227ab
parent73485f3e48145bd0b77148cc64ca5ea8662c281b
[ARM] Split large widening MVE loads

Similar to rL372717, we can force the splitting of extends of vector loads in
MVE, in order to use the better widening loads as opposed to going through
expensive extends. This adds a combine to early-on detect extends of loads and
split the load in two, from where normal legalisation will kick in and we get a
series of widening loads.

Differential Revision: https://reviews.llvm.org/D67909

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372721 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/Thumb2/mve-widen-narrow.ll