[ARM GlobalISel] Support G_FMUL for s32 and s64
authorDiana Picus <diana.picus@linaro.org>
Thu, 23 Nov 2017 12:44:20 +0000 (12:44 +0000)
committerDiana Picus <diana.picus@linaro.org>
Thu, 23 Nov 2017 12:44:20 +0000 (12:44 +0000)
commit9faa09b21e15fdb548abc26cb561d0773fc19798
tree85c629e635ba6c210e0782b72c5832c1bdfdb156
parentda488a65e2239c568b3994d69537f13c719822ad
[ARM GlobalISel] Support G_FMUL for s32 and s64

TableGen already generates code for selecting a G_FMUL, so we only need
to add a test for that part.

For the legalizer and reg bank select, we do the same thing as the other
floating point binary operators: either mark as legal if we have a FP
unit or lower to a libcall, and map to the floating point registers.

llvm-svn: 318910
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
llvm/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
llvm/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir