summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64/AArch64InstructionSelector.cpp
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2016-10-11 00:21:14 +0000
committerQuentin Colombet <qcolombet@apple.com>2016-10-11 00:21:14 +0000
commit7d96c0b8ac965418f4afebbbf458262eb8e13708 (patch)
treebc3880e6b1c82414a3630139dc0d936f7e565fc5 /lib/Target/AArch64/AArch64InstructionSelector.cpp
parent082e838555b1ebe4055cd1bf8bb3e95012c753b6 (diff)
[AArch64][InstructionSelector] Teach how to select FP load/store.
This patch allows to select 32 and 64-bit FP load and store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283832 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64InstructionSelector.cpp')
-rw-r--r--lib/Target/AArch64/AArch64InstructionSelector.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64InstructionSelector.cpp b/lib/Target/AArch64/AArch64InstructionSelector.cpp
index c8a00199e27..4aa02f56bd2 100644
--- a/lib/Target/AArch64/AArch64InstructionSelector.cpp
+++ b/lib/Target/AArch64/AArch64InstructionSelector.cpp
@@ -201,6 +201,13 @@ static unsigned selectLoadStoreUIOp(unsigned GenericOpc, unsigned RegBankID,
case 64:
return isStore ? AArch64::STRXui : AArch64::LDRXui;
}
+ case AArch64::FPRRegBankID:
+ switch (OpSize) {
+ case 32:
+ return isStore ? AArch64::STRSui : AArch64::LDRSui;
+ case 64:
+ return isStore ? AArch64::STRDui : AArch64::LDRDui;
+ }
};
return GenericOpc;
}