summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-01-25 03:23:04 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-01-25 03:23:04 +0000
commit5d622fbcc166eeb31dcb1d06bc2ec49a1833817c (patch)
treeb392f1cf7f41d6b0ca05a24c8a0395ffbd6ccaae /llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
parent9d70f2b9391edb5e9659c0fa94c305d9f5c28c61 (diff)
downloadbcm5719-llvm-5d622fbcc166eeb31dcb1d06bc2ec49a1833817c.tar.gz
bcm5719-llvm-5d622fbcc166eeb31dcb1d06bc2ec49a1833817c.zip
AMDGPU/GlobalISel: Legalize smulh/umulh and scalarize mul
llvm-svn: 352162
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
index 7c8cc49d40f..6bf378293bf 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
@@ -97,7 +97,10 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST,
setAction({G_ASHR, S32}, Legal);
setAction({G_ASHR, 1, S32}, Legal);
setAction({G_SUB, S32}, Legal);
- setAction({G_MUL, S32}, Legal);
+
+ getActionDefinitionsBuilder({G_MUL, G_UMULH, G_SMULH})
+ .legalFor({S32})
+ .scalarize(0);
// FIXME: 64-bit ones only legal for scalar
getActionDefinitionsBuilder({G_AND, G_OR, G_XOR})
OpenPOWER on IntegriCloud