OSDN Git Service

[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)
commit30e25c33bc96066d1ed550e870a86b88766b97f1
treee02043f1b689a0bdbe71856de8f4a6003750b828
parenta1660efdc41379a11922650820b674a8082a49ba
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318910 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/Target/ARM/ARMLegalizerInfo.cpp
lib/Target/ARM/ARMRegisterBankInfo.cpp
test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir