diff options
author | Jay Foad <jay.foad@amd.com> | 2020-02-25 10:31:37 +0000 |
---|---|---|
committer | Jay Foad <jay.foad@amd.com> | 2020-02-25 16:00:43 +0000 |
commit | 33cbd5ee080ecbc1775751d7f5d930ae9b83c8ec (patch) | |
tree | ae784ad5f6a850c2b91da10f12408ae7e15d8033 /llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | |
parent | 93331a17e8b3d6205efc8f1d4e7a74523f3b7035 (diff) | |
download | llvm-33cbd5ee080ecbc1775751d7f5d930ae9b83c8ec.zip llvm-33cbd5ee080ecbc1775751d7f5d930ae9b83c8ec.tar.gz llvm-33cbd5ee080ecbc1775751d7f5d930ae9b83c8ec.tar.bz2 |
AMDGPU/GlobalISel: Legalize s64 min/max by lowering
Reviewers: arsenm, rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75108
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp index 722b803..c0c1fab 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp @@ -635,15 +635,17 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_, .legalFor({S32, S16, V2S16}) .moreElementsIf(isSmallOddVector(0), oneMoreElement(0)) .clampMaxNumElements(0, S16, 2) - .clampScalar(0, S16, S32) + .minScalar(0, S16) .widenScalarToNextPow2(0) - .scalarize(0); + .scalarize(0) + .lower(); } else { getActionDefinitionsBuilder({G_SMIN, G_SMAX, G_UMIN, G_UMAX}) .legalFor({S32, S16}) .widenScalarToNextPow2(0) - .clampScalar(0, S16, S32) - .scalarize(0); + .minScalar(0, S16) + .scalarize(0) + .lower(); } } else { // TODO: Should have same legality without v_perm_b32 @@ -659,9 +661,10 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_, getActionDefinitionsBuilder({G_SMIN, G_SMAX, G_UMIN, G_UMAX}) .legalFor({S32}) - .clampScalar(0, S32, S32) + .minScalar(0, S32) .widenScalarToNextPow2(0) - .scalarize(0); + .scalarize(0) + .lower(); } getActionDefinitionsBuilder(G_INTTOPTR) |