[llvm-dev] AArch64 fmul/fadd fusion
Meador Inge via llvm-dev
llvm-dev at lists.llvm.org
Mon Sep 21 05:56:15 PDT 2015
On Sun, Sep 20, 2015 at 9:37 PM, Tim Northover <t.p.northover at gmail.com> wrote:
> (Having just checked lib/CodeGen/SelectionDAG) I believe it's mostly
> covered before target-specific code gets involved, in the generic DAG
> logic at the moment. ISD::FMA nodes should only be formed from paired
> mul/add based on "AllowFPOpFusion" checks (and other similar explicit
> permissions).
Ah, I see it in the DAG combiner now. Thanks.
> So I think the status quo is that generic code does any permissible
> fusion, and AArch64 code really doesn't have any freedom to fuse more
> operations on top of that.
Yeah. I originally got thrown off because the integer version is AArch64
specific. There doesn't seem to be any generic handling for that.
> If you can find a missing-but-allowed case, adding it to the generic
> handling would probably be better than making it AArch64 only.
The cases that I was looking into all seem to be handled.
Thanks!
-- Meador
More information about the llvm-dev
mailing list