]> granicus.if.org Git - llvm/commit
[ARM] GlobalISel: Support G_SELECT for i32
authorDiana Picus <diana.picus@linaro.org>
Tue, 27 Jun 2017 09:19:51 +0000 (09:19 +0000)
committerDiana Picus <diana.picus@linaro.org>
Tue, 27 Jun 2017 09:19:51 +0000 (09:19 +0000)
commit99b52fe13c3b09fd06ce2da7234f2682a5644bd7
treecb2becdffb3256e932b60c71db349edb7e89fe3c
parent84b5668c1777e0d8762e46126e9b9ca6842e0213
[ARM] GlobalISel: Support G_SELECT for i32

* Mark as legal for (s32, i1, s32, s32)
* Map everything into GPRs
* Select to two instructions: a CMP of the condition against 0, to set
  the flags, and a MOVCCr to select between the two inputs based on the
  flags that we've just set

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306382 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstructionSelector.cpp
lib/Target/ARM/ARMLegalizerInfo.cpp
lib/Target/ARM/ARMRegisterBankInfo.cpp
test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
test/CodeGen/ARM/GlobalISel/arm-isel.ll
test/CodeGen/ARM/GlobalISel/arm-legalizer.mir
test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir