summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-07-28 17:11:01 +0000
committerTim Northover <tnorthover@apple.com>2017-07-28 17:11:01 +0000
commita7f583e33bb5432f9c03ae87411e741d7ac3c2c4 (patch)
treebfcd8d99e0efbb9f8444226eb1c8b5a2c394c5b4 /llvm/lib/Target
parentc99209b4b24b407f8ededd3efe5b2a911ec87e5f (diff)
downloadbcm5719-llvm-a7f583e33bb5432f9c03ae87411e741d7ac3c2c4.tar.gz
bcm5719-llvm-a7f583e33bb5432f9c03ae87411e741d7ac3c2c4.zip
GlobalISel: map 128-bit values to an FPR by default.
Eventually we may want to allow a pair of GPRs but absolutely nothing in the entire world is ready for that yet. llvm-svn: 309404
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp b/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
index 69124dbd0f8..69f3ff6cc8c 100644
--- a/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
@@ -488,7 +488,8 @@ AArch64RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
// As a top-level guess, vectors go in FPRs, scalars and pointers in GPRs.
// For floating-point instructions, scalars go in FPRs.
- if (Ty.isVector() || isPreISelGenericFloatingPointOpcode(Opc))
+ if (Ty.isVector() || isPreISelGenericFloatingPointOpcode(Opc) ||
+ Ty.getSizeInBits() > 64)
OpRegBankIdx[Idx] = PMI_FirstFPR;
else
OpRegBankIdx[Idx] = PMI_FirstGPR;
OpenPOWER on IntegriCloud