diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2018-08-31 09:38:27 +0000 |
---|---|---|
committer | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2018-08-31 09:38:27 +0000 |
commit | a26a364e757162faf29b8db435305c4471d49d86 (patch) | |
tree | 01f1c5cc0fe5f6d689ec47b565bb98f6cccb88f2 /llvm/lib/Target/X86/X86LegalizerInfo.cpp | |
parent | 43b15cddac7597f86ce9f93f23b8b2f28878f5c6 (diff) | |
download | bcm5719-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.cpp | 6 |
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}) |