From 8b8eee5904ca677bf5336da01160ee9bd3f98444 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Tue, 9 Jul 2019 14:10:43 +0000 Subject: AMDGPU/GlobalISel: Make s16 G_ICMP legal llvm-svn: 365486 --- llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Target') diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp index 368cf3e0041..e65e56dc7e6 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp @@ -337,10 +337,16 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_, setAction({G_BLOCK_ADDR, CodePtr}, Legal); - getActionDefinitionsBuilder(G_ICMP) + auto &CmpBuilder = + getActionDefinitionsBuilder(G_ICMP) .legalForCartesianProduct( {S1}, {S32, S64, GlobalPtr, LocalPtr, ConstantPtr, PrivatePtr, FlatPtr}) - .legalFor({{S1, S32}, {S1, S64}}) + .legalFor({{S1, S32}, {S1, S64}}); + if (ST.has16BitInsts()) { + CmpBuilder.legalFor({{S1, S16}}); + } + + CmpBuilder .widenScalarToNextPow2(1) .clampScalar(1, S32, S64) .scalarize(0) -- cgit v1.2.3