summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
diff options
context:
space:
mode:
authorPetar Avramovic <Petar.Avramovic@rt-rk.com>2019-04-03 14:12:59 +0000
committerPetar Avramovic <Petar.Avramovic@rt-rk.com>2019-04-03 14:12:59 +0000
commitafa3afa384aa98b9a4557154fe0be42c62d6ae80 (patch)
treefdca6a5ed824dad5fb23e6c8f14e92def514d4ba /llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
parent5820db93c925eeb3b7f4fa47f6a3cfecaf1fa2aa (diff)
downloadbcm5719-llvm-afa3afa384aa98b9a4557154fe0be42c62d6ae80.tar.gz
bcm5719-llvm-afa3afa384aa98b9a4557154fe0be42c62d6ae80.zip
[MIPS GlobalISel] Select floating point arithmetic operations
Select 32 and 64 bit floating point add, sub, mul and div for MIPS32. Differential Revision: https://reviews.llvm.org/D60191 llvm-svn: 357584
Diffstat (limited to 'llvm/lib/Target/Mips/MipsLegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsLegalizerInfo.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
index 23d8eb24d15..fcad2a9a857 100644
--- a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
+++ b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
@@ -81,9 +81,6 @@ MipsLegalizerInfo::MipsLegalizerInfo(const MipsSubtarget &ST) {
.legalFor({s32})
.clampScalar(0, s32, s32);
- getActionDefinitionsBuilder(G_FCONSTANT)
- .legalFor({s32, s64});
-
getActionDefinitionsBuilder(G_GEP)
.legalFor({{p0, s32}});
@@ -93,6 +90,13 @@ MipsLegalizerInfo::MipsLegalizerInfo(const MipsSubtarget &ST) {
getActionDefinitionsBuilder(G_GLOBAL_VALUE)
.legalFor({p0});
+ // FP instructions
+ getActionDefinitionsBuilder(G_FCONSTANT)
+ .legalFor({s32, s64});
+
+ getActionDefinitionsBuilder({G_FADD, G_FSUB, G_FMUL, G_FDIV})
+ .legalFor({s32, s64});
+
computeTables();
verify(*ST.getInstrInfo());
}
OpenPOWER on IntegriCloud