[ARM] Sink splats to fma intrinsics
authorDavid Green <david.green@arm.com>
Wed, 13 May 2020 09:08:16 +0000 (10:08 +0100)
committerDavid Green <david.green@arm.com>
Wed, 13 May 2020 13:58:30 +0000 (14:58 +0100)
commit87c56594dd98bc4fe6932713325f410a1b68e962
treec6dbea4c3c6ef0a8335b5d628308752564c9b5bf
parent2fe6672498d60074fd34e2770659d5526e53e093
[ARM] Sink splats to fma intrinsics

Similar to fmul/fadd, we can sink a splat into a loop containing a fma
in order to use more register instruction variants. For that there are
also adjustments to the sinking code to handle more than 2 arguments.

Differential Revision: https://reviews.llvm.org/D78386
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/Thumb2/mve-fma-loops.ll
llvm/test/CodeGen/Thumb2/mve-vldst4.ll