[SVE] Fix VLS FMA matching for CodeGenOpt::Aggressive.
authorCameron McInally <cmcinally@nvidia.com>
Mon, 1 Nov 2021 16:51:16 +0000 (09:51 -0700)
committerCameron McInally <cmcinally@nvidia.com>
Mon, 1 Nov 2021 17:43:52 +0000 (10:43 -0700)
commit702fd3d323aa88303381ef4244083c1aed84bfc3
tree23e8ac0658297c4312962f65c7ef3a2cc18cdd52
parent77eafb8430d505d7e5f3dd84ea84fc0fc1f32647
[SVE] Fix VLS FMA matching for CodeGenOpt::Aggressive.

For NEON, FMA matching is done in the MachineCombiner, and not the
DAGCombiner. That causes problems with VLS lowering, since the
vectors are fixed width at the DAGCombiner, but are scalable in
the MachineCombiner. This patch corrects it by matching FMAs for
VLS vectors in the DAGCombiner.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D112557
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-fixed-length-fp-fma.ll [new file with mode: 0644]