[ARM] bottom-top mul support ARMParallelDSP
authorSam Parker <sam.parker@arm.com>
Mon, 24 Sep 2018 09:34:06 +0000 (09:34 +0000)
committerSam Parker <sam.parker@arm.com>
Mon, 24 Sep 2018 09:34:06 +0000 (09:34 +0000)
commita7b2405b06c97d1610ec4c212028e362c36c1473
treea039d661d2dc9cb55fc7dd93f515030f7c8cc07f
parentc0ba5dc47b55ee91976f05eb955799b320640299
[ARM] bottom-top mul support ARMParallelDSP

Originally committed in rL342210 but was reverted in rL342260 because
it was causing issues in vectorized code, because I had forgotten to
ensure that we're operating on scalar values.

Original commit message:

On failing to find sequences that can be converted into dual macs,
try to find sequential 16-bit loads that are used by muls which we
can then use smultb, smulbt, smultt with a wide load.

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

llvm-svn: 342870
llvm/lib/Target/ARM/ARMParallelDSP.cpp
llvm/test/CodeGen/ARM/paralleldsp-top-bottom-neg-vec.ll [new file with mode: 0644]
llvm/test/CodeGen/ARM/paralleldsp-top-bottom-neg.ll [new file with mode: 0644]
llvm/test/CodeGen/ARM/paralleldsp-top-bottom.ll [new file with mode: 0644]