OSDN Git Service

[ARM GlobalISel] Legalize G_FMA
authorDiana Picus <diana.picus@linaro.org>
Fri, 12 Jan 2018 11:30:45 +0000 (11:30 +0000)
committerDiana Picus <diana.picus@linaro.org>
Fri, 12 Jan 2018 11:30:45 +0000 (11:30 +0000)
commit6ee561bf04f65405961d686c46f971360b011857
tree2a069172c88f70f3f5306bd723ca85b478a33984
parent203daf128effc4f449e204e8b79913722e2d000c
[ARM GlobalISel] Legalize G_FMA

For hard float with VFP4, it is legal. Otherwise, we use libcalls.

This needs a bit of support in the LegalizerHelper for soft float
because we didn't handle G_FMA libcalls yet. The support is trivial, as
the only difference between G_FMA and other libcalls that we already
handle is that it has 3 input operands rather than just 2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@322366 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/Target/ARM/ARMLegalizerInfo.cpp
test/CodeGen/ARM/GlobalISel/arm-legalize-vfp4.mir [new file with mode: 0644]