[AArch64] Use faddp to implement fadd reductions.
authorSander de Smalen <sander.desmalen@arm.com>
Tue, 5 Jan 2021 09:39:59 +0000 (09:39 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Wed, 6 Jan 2021 09:36:51 +0000 (09:36 +0000)
commita9f5e4375b36e5316b8d6f9731be6bfa5a70e276
treec6f4972c188b33a0b9610eafc838ede2d03eb7a8
parent30d314aae10eee1e66aff6515a764ee696a03e8d
[AArch64] Use faddp to implement fadd reductions.

Custom-expand legal VECREDUCE_FADD SDNodes
to benefit from pair-wise faddp instructions.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D59259
llvm/include/llvm/Target/TargetSelectionDAG.td
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
llvm/test/CodeGen/AArch64/vecreduce-fadd.ll