summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorPetar Avramovic <Petar.Avramovic@rt-rk.com>2019-06-06 10:00:41 +0000
committerPetar Avramovic <Petar.Avramovic@rt-rk.com>2019-06-06 10:00:41 +0000
commit81132ce0e95af7ecbd07862ff82c00903ba4a8df (patch)
treed810734c863c6ea9922da523b622ece1d5e52b49 /llvm/lib
parentcff7d2fdc9efe576f788b5a5a117c0f75fa86f52 (diff)
downloadbcm5719-llvm-81132ce0e95af7ecbd07862ff82c00903ba4a8df.tar.gz
bcm5719-llvm-81132ce0e95af7ecbd07862ff82c00903ba4a8df.zip
[MIPS GlobalISel] Select sqrt
Select G_FSQRT for MIPS32. Differential Revision: https://reviews.llvm.org/D62905 llvm-svn: 362692
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/MipsLegalizerInfo.cpp2
-rw-r--r--llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
index 9161a0fb38b..c48b6da4de6 100644
--- a/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
+++ b/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
@@ -94,7 +94,7 @@ MipsLegalizerInfo::MipsLegalizerInfo(const MipsSubtarget &ST) {
getActionDefinitionsBuilder(G_FCONSTANT)
.legalFor({s32, s64});
- getActionDefinitionsBuilder({G_FADD, G_FSUB, G_FMUL, G_FDIV, G_FABS})
+ getActionDefinitionsBuilder({G_FADD, G_FSUB, G_FMUL, G_FDIV, G_FABS, G_FSQRT})
.legalFor({s32, s64});
getActionDefinitionsBuilder(G_FCMP)
diff --git a/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp b/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
index 3ac81f74c62..9adc1b983bd 100644
--- a/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
+++ b/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
@@ -134,7 +134,8 @@ MipsRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
case G_FSUB:
case G_FMUL:
case G_FDIV:
- case G_FABS: {
+ case G_FABS:
+ case G_FSQRT:{
unsigned Size = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits();
assert((Size == 32 || Size == 64) && "Unsupported floating point size");
OperandsMapping = Size == 32 ? &Mips::ValueMappings[Mips::SPRIdx]
OpenPOWER on IntegriCloud