[SVE] Lower scalable vector ISD::FNEG operations.
authorPaul Walker <paul.walker@arm.com>
Fri, 21 Aug 2020 18:00:36 +0000 (19:00 +0100)
committerPaul Walker <paul.walker@arm.com>
Tue, 25 Aug 2020 10:22:28 +0000 (11:22 +0100)
commit73ac3c0ede4ca08b72618620f92f1efcb76f2c89
tree6259f4ac41c1de3615ab67c0b9f713ba753e429c
parentda4ada116ea4e2ca710ca993a3be7f646030d7ae
[SVE] Lower scalable vector ISD::FNEG operations.

Also updates isConstOrConstSplatFP to allow the mul(A,-1) -> neg(A)
transformation when -1 is expressed as an ISD::SPLAT_VECTOR.

Differential Revision: https://reviews.llvm.org/D86415
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve-fp.ll