diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-09 14:10:43 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-07-09 14:10:43 +0000 |
| commit | 8b8eee5904ca677bf5336da01160ee9bd3f98444 (patch) | |
| tree | def85f4015eaf8464c1653ba284c31f2d4c56d77 /llvm/lib/Target/AMDGPU | |
| parent | e509af3cd6c92fd9607415fa40d158254fe93fec (diff) | |
| download | bcm5719-llvm-8b8eee5904ca677bf5336da01160ee9bd3f98444.tar.gz bcm5719-llvm-8b8eee5904ca677bf5336da01160ee9bd3f98444.zip | |
AMDGPU/GlobalISel: Make s16 G_ICMP legal
llvm-svn: 365486
Diffstat (limited to 'llvm/lib/Target/AMDGPU')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
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) |

