Distribute (A + B) * C to (A * C) + (B * C) to make use of NEON multiplier
authorEvan Cheng <evan.cheng@apple.com>
Thu, 31 Mar 2011 19:38:48 +0000 (19:38 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 31 Mar 2011 19:38:48 +0000 (19:38 +0000)
commit463d358f1dfdd28a6900f2f109a160be71d2a8ef
tree59c104ce5689ba7b4afe0fabc7d067a3c2703c8b
parenta52d7da1d8c424276f79b80c89ed045166083730
Distribute (A + B) * C to (A * C) + (B * C) to make use of NEON multiplier
accumulator forwarding:
vadd d3, d0, d1
vmul d3, d3, d2
=>
vmul d3, d0, d2
vmla d3, d1, d2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128665 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARM.td
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMSubtarget.h
test/CodeGen/ARM/vmul.ll