[AArch64] Generate FADDP from shuffled fadd
authorDavid Green <david.green@arm.com>
Sat, 11 Jun 2022 13:16:37 +0000 (14:16 +0100)
committerDavid Green <david.green@arm.com>
Sat, 11 Jun 2022 13:16:37 +0000 (14:16 +0100)
commit338fd211e7c36d7a2e0eee4c3530ed656c893a9d
treebd3fceefd72864812dccc84b3db7e23fd16dede9
parent82fcd7397a5939a9f0148513cc7b6883a00a16b0
[AArch64] Generate FADDP from shuffled fadd

As a follow up to D126686, this does the same fold for floating point
add and shuffle. In this case it is limited to reassoc either x[0]+x[1]
or x[1]+x[0] for both result[0] and results[1].

Differential Revision: https://reviews.llvm.org/D127087
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/faddp-half.ll
llvm/test/CodeGen/AArch64/faddp.ll