Revision r128665 added an optimization to make use of NEON multiplier
authorChad Rosier <mcrosier@apple.com>
Thu, 16 Jun 2011 01:21:54 +0000 (01:21 +0000)
committerChad Rosier <mcrosier@apple.com>
Thu, 16 Jun 2011 01:21:54 +0000 (01:21 +0000)
commit689edc8b2845f7a6cf9403722de2000598f68489
tree396e45022d75ee68d919f41a76a1ed5a6c8c804e
parentc06b5bf34004a9b01048905c8750761146094586
Revision r128665 added an optimization to make use of NEON multiplier
accumulator forwarding.  Specifically (from SVN log entry):

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

Make sure it catches cases where operand 1 is add/fadd/sub/fsub, which was
intended in the original revision.

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