diff options
author | Petar Avramovic <Petar.Avramovic@rt-rk.com> | 2019-04-03 14:12:59 +0000 |
---|---|---|
committer | Petar Avramovic <Petar.Avramovic@rt-rk.com> | 2019-04-03 14:12:59 +0000 |
commit | afa3afa384aa98b9a4557154fe0be42c62d6ae80 (patch) | |
tree | fdca6a5ed824dad5fb23e6c8f14e92def514d4ba /llvm/lib/Target/Mips/MipsLegalizerInfo.cpp | |
parent | 5820db93c925eeb3b7f4fa47f6a3cfecaf1fa2aa (diff) | |
download | bcm5719-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.cpp | 10 |
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()); } |