OSDN Git Service

[ARM GlobalISel] Support G_FDIV for s32 and s64
authorDiana Picus <diana.picus@linaro.org>
Thu, 23 Nov 2017 13:26:07 +0000 (13:26 +0000)
committerDiana Picus <diana.picus@linaro.org>
Thu, 23 Nov 2017 13:26:07 +0000 (13:26 +0000)
commitffb04cb1776fad962bf542ec0c341b3bb38a44c4
tree20151537bd7e4890ba6cbe0443c6bba9e04cec9e
parenta16d2613ab4a4e7855d301c2ba4365ce2a2fba94
[ARM GlobalISel] Support G_FDIV for s32 and s64

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

For the legalizer and reg bank select, we do the same thing as for the
other floating point binary operations: 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@318915 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