summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86LegalizerInfo.cpp
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2018-08-31 09:38:27 +0000
committerAlexander Ivchenko <alexander.ivchenko@intel.com>2018-08-31 09:38:27 +0000
commita26a364e757162faf29b8db435305c4471d49d86 (patch)
tree01f1c5cc0fe5f6d689ec47b565bb98f6cccb88f2 /llvm/lib/Target/X86/X86LegalizerInfo.cpp
parent43b15cddac7597f86ce9f93f23b8b2f28878f5c6 (diff)
downloadbcm5719-llvm-a26a364e757162faf29b8db435305c4471d49d86.tar.gz
bcm5719-llvm-a26a364e757162faf29b8db435305c4471d49d86.zip
[GlobalIsel][X86] Support for G_FCMP
Differential Revision: https://reviews.llvm.org/D49172 llvm-svn: 341193
Diffstat (limited to 'llvm/lib/Target/X86/X86LegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86LegalizerInfo.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86LegalizerInfo.cpp b/llvm/lib/Target/X86/X86LegalizerInfo.cpp
index d372cada8de..2ba00708836 100644
--- a/llvm/lib/Target/X86/X86LegalizerInfo.cpp
+++ b/llvm/lib/Target/X86/X86LegalizerInfo.cpp
@@ -222,6 +222,12 @@ void X86LegalizerInfo::setLegalizerInfo64bit() {
// Comparison
setAction({G_ICMP, 1, s64}, Legal);
+ getActionDefinitionsBuilder(G_FCMP)
+ .legalForCartesianProduct({s8}, {s32, s64})
+ .clampScalar(0, s8, s8)
+ .clampScalar(1, s32, s64)
+ .widenScalarToNextPow2(1);
+
// Shifts and SDIV
getActionDefinitionsBuilder({G_SHL, G_LSHR, G_ASHR, G_SDIV})
.legalFor({s8, s16, s32, s64})
OpenPOWER on IntegriCloud