[AArch64] Convert mul x, -(pow2 +/- 1) to shift + add/sub.
authorChad Rosier <mcrosier@codeaurora.org>
Mon, 30 Jun 2014 14:51:14 +0000 (14:51 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Mon, 30 Jun 2014 14:51:14 +0000 (14:51 +0000)
commite7dfa85e85b697c1587b8a1adc208e9fda699885
treeb781601faa02829258378d7926e4abdf356e9f39
parent12a261e117f0e638362550cc675e266ceefceddd
[AArch64] Convert mul x, -(pow2 +/- 1) to shift + add/sub.

The combine for mul x, pow2 +/- 1 is unchanged. Test cases for
both combines as well as mul x, pow2 have been added as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212044 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/mul_pow2.ll [new file with mode: 0644]