[AArch64] Check fmul node single use in fused multiply patterns
authorAna Pazos <apazos@codeaurora.org>
Tue, 24 Dec 2013 00:47:29 +0000 (00:47 +0000)
committerAna Pazos <apazos@codeaurora.org>
Tue, 24 Dec 2013 00:47:29 +0000 (00:47 +0000)
commit25f4d51bcb628434a8c61d007fad0f4c86480795
tree0be76902e19c5b6b7e3e9c2deea1c2bfcb83d0cb
parentf5bfe97875de91fa9eabc23b0e8abb76965d1aa7
[AArch64] Check fmul node single use in fused multiply patterns

Check for single use of fmul node in fused multiply patterns
to allow generation of fused multiply add/sub instructions.
Otherwise fmul operation ends up being repeated more than
once which does not help peformance on targets with
only one MAC unit, as for example cortex-a53.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197929 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64InstrInfo.td
lib/Target/AArch64/AArch64InstrNEON.td
test/CodeGen/AArch64/fp-dp3.ll
test/CodeGen/AArch64/neon-fma.ll