summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMRegisterBanks.td
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2017-02-08 13:23:04 +0000
committerDiana Picus <diana.picus@linaro.org>2017-02-08 13:23:04 +0000
commit4fa83c03fd7b33bf826bfc05d370df038329e826 (patch)
tree65a90fd4f781b245a0bea87f2629bb0c27fb68c4 /llvm/lib/Target/ARM/ARMRegisterBanks.td
parente22fbcb2640354f042fb355bfc426d515cf8a67a (diff)
downloadbcm5719-llvm-4fa83c03fd7b33bf826bfc05d370df038329e826.tar.gz
bcm5719-llvm-4fa83c03fd7b33bf826bfc05d370df038329e826.zip
[ARM] GlobalISel: Add FPR reg bank
Add a register bank for floating point values and select simple instructions using them (add, copies from GPR). This assumes that the hardware can cope with a single precision add (VADDS) instruction, so the legalizer will treat G_FADD as legal and the instruction selector will refuse to select if the hardware doesn't support it. In the future we'll want to be more careful about this, and legalize to libcalls if we have to use soft float. llvm-svn: 294442
Diffstat (limited to 'llvm/lib/Target/ARM/ARMRegisterBanks.td')
-rw-r--r--llvm/lib/Target/ARM/ARMRegisterBanks.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMRegisterBanks.td b/llvm/lib/Target/ARM/ARMRegisterBanks.td
index a2b3a7943c1..b8e0347ef62 100644
--- a/llvm/lib/Target/ARM/ARMRegisterBanks.td
+++ b/llvm/lib/Target/ARM/ARMRegisterBanks.td
@@ -11,3 +11,4 @@
//===----------------------------------------------------------------------===//
def GPRRegBank : RegisterBank<"GPRB", [GPR, GPRwithAPSR]>;
+def FPRRegBank : RegisterBank<"FPRB", [SPR]>;
OpenPOWER on IntegriCloud